<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>225570</bug_id>
          
          <creation_ts>2021-05-08 18:03:47 -0700</creation_ts>
          <short_desc>Remove uses of the WTF::String::toInt family of functions from WebKit framework sources</short_desc>
          <delta_ts>2021-05-08 21:10:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1758247</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-08 18:03:47 -0700</bug_when>
    <thetext>Remove uses of the WTF::String::toInt family of functions from WebKit framework sources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758249</commentid>
    <comment_count>1</comment_count>
      <attachid>428104</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-08 18:18:47 -0700</bug_when>
    <thetext>Created attachment 428104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758263</commentid>
    <comment_count>2</comment_count>
      <attachid>428104</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-05-08 19:13:58 -0700</bug_when>
    <thetext>Comment on attachment 428104
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428104&amp;action=review

&gt; Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:88
&gt; -    clientSDKVersion = charactersToUIntStrict(reinterpret_cast&lt;const LChar*&gt;(string), string ? std::strlen(string) : 0, &amp;ok);
&gt; -    return ok;
&gt; +    auto version = parseIntegerAllowingTrailingJunk&lt;uint32_t&gt;(xpc_dictionary_get_string(m_initializerMessage, &quot;client-sdk-version&quot;));
&gt; +    clientSDKVersion = version.valueOr(0);
&gt; +    return version.hasValue();

It&apos;s not immediately clear to me why the AllowingTrailingJunk version is needed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758269</commentid>
    <comment_count>3</comment_count>
      <attachid>428104</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-08 20:42:57 -0700</bug_when>
    <thetext>Comment on attachment 428104
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428104&amp;action=review

&gt;&gt; Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceEntryPoint.mm:88
&gt;&gt; +    return version.hasValue();
&gt; 
&gt; It&apos;s not immediately clear to me why the AllowingTrailingJunk version is needed here.

Oops, a mistake. Will fix before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758276</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-08 21:09:25 -0700</bug_when>
    <thetext>Committed r277239 (237508@main): &lt;https://commits.webkit.org/237508@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758277</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-08 21:10:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/77704010&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428104</attachid>
            <date>2021-05-08 18:18:47 -0700</date>
            <delta_ts>2021-05-08 20:42:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225570-20210508181846.patch</filename>
            <type>text/plain</type>
            <size>14722</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdkZTFhMDE4ODc2YWM2NTk5
YWRjY2Q3ZWVmNTIzYzI1N2E3ZGY1MTQuLjVmNGE5MGFiZjM5YjgwM2ZiOTc0NDNmNTVkMjExMTBj
MWNkMDY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMjEtMDUtMDggIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1c2VzIG9mIHRoZSBXVEY6
OlN0cmluZzo6dG9JbnQgZmFtaWx5IG9mIGZ1bmN0aW9ucyBmcm9tIFdlYktpdCBmcmFtZXdvcmsg
c291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI1NTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6cmVhZFNpemVGaWxlKTogVXNlIHBhcnNlSW50
ZWdlcjx1aW50NjRfdD4KKyAgICAgICAgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzVG9VSW50U3RyaWN0
LiBBbHNvIHNpbXBsaWZpZWQgdGhlIGNvZGUgYSBiaXQgYnkKKyAgICAgICAgcmVkdWNpbmcgdGhl
IG1peGluZyBvZiBpbnRlZ2VyIHR5cGVzIGluIHRoZSBmdW5jdGlvbi4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OmRlbGV0ZU9sZFZlcnNpb25zKTogVXNlIHBhcnNl
SW50ZWdlcjx1bnNpZ25lZD4KKyAgICAgICAgaW5zdGVhZCBvZiBTdHJpbmc6OnRvVUludFN0cmlj
dC4gQWxzbyB1c2UgU3RyaW5nVmlldzo6c3Vic3RyaW5nIHNvIHdlIGRvbid0CisgICAgICAgIGhh
dmUgdG8gYWxsb2NhdGUgYSBjb3B5IG9mIGEgc3Vic3RyaW5nIGp1c3QgdG8gcGFyc2UgaXQuCisK
KyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9YUENTZXJ2aWNlL1hQ
Q1NlcnZpY2VFbnRyeVBvaW50Lm1tOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlSW5pdGlh
bGl6ZXJEZWxlZ2F0ZTo6Z2V0Q2xpZW50U0RLVmVyc2lvbik6IFVzZQorICAgICAgICBwYXJzZUlu
dGVnZXJBbGxvd2luZ1RyYWlsaW5nSnVuazx1aW50MzJfdD4gaW5zdGVhZCBvZiBjaGFyYWN0ZXJz
VG9VSW50U3RyaWN0LgorICAgICAgICBBbHNvIGxldCB0aGUgU3RyaW5nVmlldyBjb25zdHJ1Y3Rv
ciB0YWtlIGNhcmUgb2YgY29udmVydGluZyB0aGUgY29uc3QgY2hhcioKKyAgICAgICAgc28gd2Ug
ZG9uJ3QgaGF2ZSB0byB3cml0ZSBleHBsaWNpdCBjYWxscyB0byBzdGQ6OnN0cmxlbiBoZXJlLgor
ICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZTo6Z2V0UHJvY2Vz
c0lkZW50aWZpZXIpOiBVc2UKKyAgICAgICAgcGFyc2VJbnRlZ2VyPHVpbnQ2NF90PiBpbnN0ZWFk
IG9mIFN0cmluZzo6dG9VSW50NjRTdHJpY3QuIEFsc28gcGFzcyB0aGUKKyAgICAgICAgY29uc3Qg
Y2hhciogYXMgYSBTdHJpbmdWaWV3IHJhdGhlciB0aGFuIGNvbnZlcnRpbmcgaXQgdG8gYSBTdHJp
bmcgc28gd2UKKyAgICAgICAgZG9uJ3QgaGF2ZSB0byBhbGxvY2F0ZSBhIGNvcHkgb2YgdGhlIHN0
cmluZyBqdXN0IHRvIHBhcnNlIGl0LgorCisgICAgICAgICogU2hhcmVkL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5WZXJzaW9uOjpwYXJzZSk6IFVzZSBwYXJzZUludGVnZXJBbGxvd2luZ1RyYWlsaW5nSnVuazx1
bnNpZ25lZD4KKyAgICAgICAgaW5zdGVhZCBvZiBTdHJpbmc6OnRvVUludC4gQWxzbyB1c2UgU3Ry
aW5nVmlldzo6c3BsaXQgaW5zdGVhZCBvZiBTdHJpbmc6OnNwbGl0CisgICAgICAgIHNvIHdlIGRv
bid0IGhhdmUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBhbGwgdGhlIHN1YnN0cmluZ3MgYW5kIGEg
cmFuZ2UtYmFzZWQKKyAgICAgICAgZm9yIGxvb3AgZm9yIHNpbXBsaWNpdHkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKGNvcmVUZXh0TWFu
aXB1bGF0aW9uSXRlbUlkZW50aWZpZXJGcm9tU3RyaW5nKTogVXNlIC1bTlNTdHJpbmcgbG9uZ0xv
bmdWYWx1ZV0KKyAgICAgICAgaW5zdGVhZCBvZiBTdHJpbmc6OnRvVUludDY0LiBUaGVyZSdzIG5v
IG5lZWQgdG8gcGFyc2UgdGhpcyB1bnNpZ25lZCBiZWNhdXNlCisgICAgICAgIHRoZSB2YWx1ZXMg
d2lsbCBmaXQgaW4gNjMgYml0cyBqdXN0IGZpbmUsIGFuZCBpdCdzIG5pY2UgdG8gdXNlIE5TU3Ry
aW5nCisgICAgICAgIGRpcmVjdGx5IHJhdGhlciB0aGFuIGNvcHlpbmcgdGhlIHN0cmluZyBqdXN0
IHRvIHBhcnNlIHRoZSBpbnRlZ2VyIGluIGl0LgorICAgICAgICAoY29yZVRleHRNYW5pcHVsYXRp
b25Ub2tlbklkZW50aWZpZXJGcm9tU3RyaW5nKTogRGl0dG8uCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpwYXJzZVBvc3RCdWZmZXIpOiBVc2UgcGFyc2VJbnRlZ2VyQWxsb3dpbmdUcmFpbGlu
Z0p1bms8dW5zaWduZWQ+CisgICAgICAgIGluc3RlYWQgb2YgU3RyaW5nOjp0b0ludC4gVGhlIGxl
bmd0aCBjYW4ndCBiZSBuZWdhdGl2ZTsgaXQgd2FzIG5vdCBoZWxwZnVsCisgICAgICAgIHRvIHBh
cnNlIG5lZ2F0aXZlIG51bWJlcnMgYmVmb3JlIGFuZCB0aGlzIGlzIGEgc21hbGwgYnVnIGZpeCwg
YnV0IGluIGEgY29kZQorICAgICAgICBwYXRoIHRoYXQgaXMgcHJvYmFibHkgbm90IHVzZWQgZm9y
IG11Y2ggb2YgYW55dGhpbmcgYW55IG1vcmUuCisKIDIwMjEtMDUtMDggIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBVc2UgdGhlIG5l
dyBsaWJzb3VwIG5ldHdvcmsgbWV0cmljcyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAppbmRleCBjOTI4
NjZiZjIxZDQ1YjBiMWI1MGRiYWU3MTY3MmY3NGQxNmIxOTk4Li5kNWVlMmEwM2UyZDFhZmYyM2Zk
MTZjNzc3M2M3NTVlYmJkZDIxYjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBAIC0zOSw2ICszOSw3
IEBACiAjaW5jbHVkZSA8d3RmL1Njb3BlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVp
bGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdUb0ludGVnZXJDb252ZXJzaW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC01NzAsMTYgKzU3MSwxNyBAQCBPcHRpb25hbDx1aW50NjRfdD4gRW5naW5lOjpyZWFkU2l6
ZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQogICAgIGlmICghRmlsZVN5c3RlbTo6Z2V0RmlsZVNp
emUocGF0aCwgZmlsZVNpemUpIHx8ICFmaWxlU2l6ZSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKIAotICAgIHNpemVfdCBieXRlc1RvUmVhZDsKKyAgICB1bnNpZ25lZCBieXRlc1RvUmVh
ZDsKICAgICBpZiAoIVdURjo6Y29udmVydFNhZmVseShmaWxlU2l6ZSwgYnl0ZXNUb1JlYWQpKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgVmVjdG9yPHVuc2lnbmVkIGNoYXI+
IGJ1ZmZlcihieXRlc1RvUmVhZCk7Ci0gICAgc2l6ZV90IHRvdGFsQnl0ZXNSZWFkID0gRmlsZVN5
c3RlbTo6cmVhZEZyb21GaWxlKGZpbGVIYW5kbGUsIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGJ1
ZmZlci5kYXRhKCkpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICAvLyBGSVhNRTogTm8gcmVhc29uIHdl
IG5lZWQgYSBoZWFwIGJ1ZmZlciB0byByZWFkIGFuIGFyYml0cmFyeSBudW1iZXIgb2YgYnl0ZXMg
d2hlbiB3ZSBvbmx5IHN1cHBvcnQgc21hbGwgZmlsZXMgdGhhdCBjb250YWluIG51bWVyYWxzLgor
ICAgIFZlY3RvcjxjaGFyPiBidWZmZXIoYnl0ZXNUb1JlYWQpOworICAgIHVuc2lnbmVkIHRvdGFs
Qnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGZpbGVIYW5kbGUsIGJ1ZmZlci5k
YXRhKCksIGJ1ZmZlci5zaXplKCkpOwogICAgIGlmICh0b3RhbEJ5dGVzUmVhZCAhPSBieXRlc1Rv
UmVhZCkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJldHVybiBjaGFyYWN0
ZXJzVG9VSW50U3RyaWN0KGJ1ZmZlci5kYXRhKCksIHRvdGFsQnl0ZXNSZWFkKTsKKyAgICByZXR1
cm4gcGFyc2VJbnRlZ2VyPHVpbnQ2NF90Pih7IGJ1ZmZlci5kYXRhKCksIHRvdGFsQnl0ZXNSZWFk
IH0pOwogfQogCiBjbGFzcyBSZWFkT3JpZ2luc1Rhc2tDb3VudGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8UmVhZE9yaWdpbnNUYXNrQ291bnRlcj4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggN2Fl
ZmIzMWMxYWZhNjI3MjQ4NThkODE5NDdhOTFiZDNlOThmNWYxYS4uMDhlMjIwNmJmMzI0YmQxY2M3
NzdiODYwZDFlMjE4MjY3OTFmMmY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCkBAIC00MCw2ICs0
MCw3IEBACiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJzLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVG9JbnRlZ2VyQ29udmVyc2lvbi5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBOZXR3b3JrQ2FjaGUgewpAQCAtMTE4MywxNyArMTE4NCwx
MSBAQCB2b2lkIFN0b3JhZ2U6OmRlbGV0ZU9sZFZlcnNpb25zKCkKICAgICAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgICAgICBpZiAoIXN1YmRpck5hbWUuc3RhcnRzV2l0aCh2ZXJzaW9uRGly
ZWN0b3J5UHJlZml4KSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBhdXRv
IHZlcnNpb25TdHJpbmcgPSBzdWJkaXJOYW1lLnN1YnN0cmluZyhzdHJsZW4odmVyc2lvbkRpcmVj
dG9yeVByZWZpeCkpOwotICAgICAgICAgICAgYm9vbCBzdWNjZXNzOwotICAgICAgICAgICAgdW5z
aWduZWQgZGlyZWN0b3J5VmVyc2lvbiA9IHZlcnNpb25TdHJpbmcudG9VSW50U3RyaWN0KCZzdWNj
ZXNzKTsKLSAgICAgICAgICAgIGlmICghc3VjY2VzcykKKyAgICAgICAgICAgIGF1dG8gZGlyZWN0
b3J5VmVyc2lvbiA9IHBhcnNlSW50ZWdlcjx1bnNpZ25lZD4oU3RyaW5nVmlldyB7IHN1YmRpck5h
bWUgfS5zdWJzdHJpbmcoc3RybGVuKHZlcnNpb25EaXJlY3RvcnlQcmVmaXgpKSk7CisgICAgICAg
ICAgICBpZiAoIWRpcmVjdG9yeVZlcnNpb24gfHwgKmRpcmVjdG9yeVZlcnNpb24gPj0gdmVyc2lv
bikKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBpZiAoZGlyZWN0b3J5VmVy
c2lvbiA+PSB2ZXJzaW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICAgICAg
YXV0byBvbGRWZXJzaW9uUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVu
dChjYWNoZVBhdGgsIHN1YmRpck5hbWUpOwogICAgICAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVN0
b3JhZ2UsICIoTmV0d29ya1Byb2Nlc3MpIGRlbGV0aW5nIG9sZCBjYWNoZSB2ZXJzaW9uLCBwYXRo
ICVzIiwgb2xkVmVyc2lvblBhdGgudXRmOCgpLmRhdGEoKSk7Ci0KICAgICAgICAgICAgIEZpbGVT
eXN0ZW06OmRlbGV0ZU5vbkVtcHR5RGlyZWN0b3J5KG9sZFZlcnNpb25QYXRoKTsKICAgICAgICAg
fSk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50
VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL0NvY29hL1hQQ1NlcnZpY2UvWFBD
U2VydmljZUVudHJ5UG9pbnQubW0KaW5kZXggZTQ3YTVjN2Y4MGQ1Y2M2YWVlNzMwOTE0MTk0MjZm
YTlmYjM2ZjcxOS4uMTU5OWUxOTI3ZGE0MGZmOTAwZjg5NDhiMmNjMjAwYzlhNmU3ZWQzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9Db2NvYS9Y
UENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvQ29jb2EvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQ
b2ludC5tbQpAQCAtMzEsOSArMzEsOSBAQAogI2ltcG9ydCA8V2ViQ29yZS9Qcm9jZXNzSWRlbnRp
Zmllci5oPgogI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgorI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nVG9JbnRl
Z2VyQ29udmVyc2lvbi5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKLXVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCiBYUENTZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZTo6flhQQ1NlcnZpY2VJbml0
aWFsaXplckRlbGVnYXRlKCkKIHsKQEAgLTgzLDMzICs4MywyNSBAQCBib29sIFhQQ1NlcnZpY2VJ
bml0aWFsaXplckRlbGVnYXRlOjpnZXRDbGllbnRCdW5kbGVJZGVudGlmaWVyKFN0cmluZyYgY2xp
ZW50QnVuZAogCiBib29sIFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlOjpnZXRDbGllbnRT
REtWZXJzaW9uKHVpbnQzMl90JiBjbGllbnRTREtWZXJzaW9uKQogewotICAgIGF1dG8gc3RyaW5n
ID0geHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhtX2luaXRpYWxpemVyTWVzc2FnZSwgImNsaWVu
dC1zZGstdmVyc2lvbiIpOwotICAgIGJvb2wgb2s7Ci0gICAgY2xpZW50U0RLVmVyc2lvbiA9IGNo
YXJhY3RlcnNUb1VJbnRTdHJpY3QocmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+KHN0cmlu
ZyksIHN0cmluZyA/IHN0ZDo6c3RybGVuKHN0cmluZykgOiAwLCAmb2spOwotICAgIHJldHVybiBv
azsKKyAgICBhdXRvIHZlcnNpb24gPSBwYXJzZUludGVnZXJBbGxvd2luZ1RyYWlsaW5nSnVuazx1
aW50MzJfdD4oeHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhtX2luaXRpYWxpemVyTWVzc2FnZSwg
ImNsaWVudC1zZGstdmVyc2lvbiIpKTsKKyAgICBjbGllbnRTREtWZXJzaW9uID0gdmVyc2lvbi52
YWx1ZU9yKDApOworICAgIHJldHVybiB2ZXJzaW9uLmhhc1ZhbHVlKCk7CiB9CiAKIGJvb2wgWFBD
U2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6OmdldFByb2Nlc3NJZGVudGlmaWVyKFByb2Nlc3NJ
ZGVudGlmaWVyJiBpZGVudGlmaWVyKQogewotICAgIFN0cmluZyBwcm9jZXNzSWRlbnRpZmllclN0
cmluZyA9IHhwY19kaWN0aW9uYXJ5X2dldF9zdHJpbmcobV9pbml0aWFsaXplck1lc3NhZ2UsICJw
cm9jZXNzLWlkZW50aWZpZXIiKTsKLSAgICBpZiAocHJvY2Vzc0lkZW50aWZpZXJTdHJpbmcuaXNF
bXB0eSgpKQorICAgIGF1dG8gcGFyc2VkSWRlbnRpZmllciA9IHBhcnNlSW50ZWdlcjx1aW50NjRf
dD4oeHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhtX2luaXRpYWxpemVyTWVzc2FnZSwgInByb2Nl
c3MtaWRlbnRpZmllciIpKTsKKyAgICBpZiAoIXBhcnNlZElkZW50aWZpZXIpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIGJvb2wgb2s7Ci0gICAgYXV0byBwYXJzZWRJZGVudGlmaWVyID0g
cHJvY2Vzc0lkZW50aWZpZXJTdHJpbmcudG9VSW50NjRTdHJpY3QoJm9rKTsKLSAgICBpZiAoIW9r
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZGVudGlmaWVyID0gbWFrZU9iamVjdElk
ZW50aWZpZXI8UHJvY2Vzc0lkZW50aWZpZXJUeXBlPihwYXJzZWRJZGVudGlmaWVyKTsKKyAgICBp
ZGVudGlmaWVyID0gbWFrZU9iamVjdElkZW50aWZpZXI8UHJvY2Vzc0lkZW50aWZpZXJUeXBlPigq
cGFyc2VkSWRlbnRpZmllcik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgWFBDU2Vydmlj
ZUluaXRpYWxpemVyRGVsZWdhdGU6OmdldENsaWVudFByb2Nlc3NOYW1lKFN0cmluZyYgY2xpZW50
UHJvY2Vzc05hbWUpCiB7CiAgICAgY2xpZW50UHJvY2Vzc05hbWUgPSB4cGNfZGljdGlvbmFyeV9n
ZXRfc3RyaW5nKG1faW5pdGlhbGl6ZXJNZXNzYWdlLCAidWktcHJvY2Vzcy1uYW1lIik7Ci0gICAg
aWYgKGNsaWVudFByb2Nlc3NOYW1lLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiAhY2xpZW50UHJvY2Vzc05hbWUuaXNFbXB0eSgp
OwogfQogCiBib29sIFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlOjpnZXRFeHRyYUluaXRp
YWxpemF0aW9uRGF0YShIYXNoTWFwPFN0cmluZywgU3RyaW5nPiYgZXh0cmFJbml0aWFsaXphdGlv
bkRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9QbHVnaW5zL05ldHNjYXBl
L21hYy9OZXRzY2FwZVBsdWdpbk1vZHVsZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCmluZGV4IGNkMGNm
NTI3ZTBjYmMzODFlYzRjN2VmMzlhYWYzZjRjZWYxMzY0YTMuLmIzZWFlMjhhNmFhZGQwMTkwNjIw
YTQxYTQ0OTAzODdkNDQxM2EzZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Bs
dWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTW9kdWxl
TWFjLm1tCkBAIC0zMyw5ICszMyw5IEBACiAjaW1wb3J0IDx3dGYvSGFzaFNldC5oPgogI2ltcG9y
dCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9zcGkvY2YvQ0ZCdW5kbGVTUEkuaD4K
KyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ1RvSW50ZWdlckNvbnZlcnNpb24uaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGJvb2wgZ2V0
UGx1Z2luQXJjaGl0ZWN0dXJlKENGQnVuZGxlUmVmIGJ1bmRsZSwgUGx1Z2luTW9kdWxlSW5mbyYg
cGx1Z2luKQogewpAQCAtODgsNyArODgsNyBAQCBzdGF0aWMgYm9vbCBnZXRQbHVnaW5JbmZvRnJv
bVByb3BlcnR5TGlzdHMoQ0ZCdW5kbGVSZWYgYnVuZGxlLCBQbHVnaW5Nb2R1bGVJbmZvJgogICAg
IENGRGljdGlvbmFyeUdldEtleXNBbmRWYWx1ZXMobWltZVR5cGVzLmdldCgpLCByZWludGVycHJl
dF9jYXN0PGNvbnN0IHZvaWQqKj4obWltZVR5cGVzVmVjdG9yLmRhdGEoKSksIHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3Qgdm9pZCoqPihtaW1lVHlwZUluZm9WZWN0b3IuZGF0YSgpKSk7CiAgICAgCiAg
ICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgbnVtTWltZVR5cGVzOyArK2kpIHsKLSAgICAgICAg
TWltZUNsYXNzSW5mbyBtaW1lQ2xhc3NJbmZvOworICAgICAgICBXZWJDb3JlOjpNaW1lQ2xhc3NJ
bmZvIG1pbWVDbGFzc0luZm87CiAgICAgICAgIAogICAgICAgICAvLyBJZiB0aGlzIE1JTUUgdHlw
ZSBpcyBpbnZhbGlkLCBpZ25vcmUgaXQuCiAgICAgICAgIENGU3RyaW5nUmVmIG1pbWVUeXBlID0g
bWltZVR5cGVzVmVjdG9yW2ldOwpAQCAtMTk0LDcgKzE5NCw3IEBAIGJvb2wgTmV0c2NhcGVQbHVn
aW5Nb2R1bGU6OmdldFBsdWdpbkluZm8oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW5N
b2R1bGVJCiAgICAgICAgIHBsdWdpbi5pbmZvLmRlc2MgPSBwbHVnaW4uaW5mby5maWxlOwogCiAg
ICAgcGx1Z2luLmluZm8uaXNBcHBsaWNhdGlvblBsdWdpbiA9IGZhbHNlOwotICAgIHBsdWdpbi5p
bmZvLmNsaWVudExvYWRQb2xpY3kgPSBQbHVnaW5Mb2FkQ2xpZW50UG9saWN5OjpVbmRlZmluZWQ7
CisgICAgcGx1Z2luLmluZm8uY2xpZW50TG9hZFBvbGljeSA9IFdlYkNvcmU6OlBsdWdpbkxvYWRD
bGllbnRQb2xpY3k6OlVuZGVmaW5lZDsKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGx1Z2luLmlu
Zm8uYnVuZGxlSWRlbnRpZmllciA9IHBsdWdpbi5idW5kbGVJZGVudGlmaWVyOwogICAgIHBsdWdp
bi5pbmZvLnZlcnNpb25TdHJpbmcgPSBwbHVnaW4udmVyc2lvblN0cmluZzsKQEAgLTIyMiwxNyAr
MjIyLDEyIEBAIHByaXZhdGU6CiBQbHVnaW5WZXJzaW9uIFBsdWdpblZlcnNpb246OnBhcnNlKGNv
bnN0IFN0cmluZyYgdmVyc2lvblN0cmluZykKIHsKICAgICBQbHVnaW5WZXJzaW9uIHZlcnNpb247
Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiB2ZXJzaW9uU3RyaW5nQ29tcG9uZW50cyA9IHZlcnNpb25T
dHJpbmcuc3BsaXQoJy4nKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHZlcnNpb25TdHJp
bmdDb21wb25lbnRzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGJvb2wgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gZmFsc2U7Ci0gICAgICAgIHVuc2lnbmVkIHZlcnNpb25Db21wb25lbnQgPSB2ZXJzaW9u
U3RyaW5nQ29tcG9uZW50c1tpXS50b1VJbnQoJnN1Y2Nlc3NmdWxseVBhcnNlZCk7Ci0gICAgICAg
IGlmICghc3VjY2Vzc2Z1bGx5UGFyc2VkKQotICAgICAgICAgICAgcmV0dXJuIFBsdWdpblZlcnNp
b24oKTsKLQotICAgICAgICB2ZXJzaW9uLm1fdmVyc2lvbkNvbXBvbmVudHMuYXBwZW5kKHZlcnNp
b25Db21wb25lbnQpOworICAgIGZvciAoYXV0byBjb21wb25lbnQgOiBTdHJpbmdWaWV3IHsgdmVy
c2lvblN0cmluZyB9LnNwbGl0KCcuJykpIHsKKyAgICAgICAgYXV0byB2ZXJzaW9uQ29tcG9uZW50
ID0gcGFyc2VJbnRlZ2VyQWxsb3dpbmdUcmFpbGluZ0p1bms8dW5zaWduZWQ+KGNvbXBvbmVudCk7
CisgICAgICAgIGlmICghdmVyc2lvbkNvbXBvbmVudCkKKyAgICAgICAgICAgIHJldHVybiB7IH07
CisgICAgICAgIHZlcnNpb24ubV92ZXJzaW9uQ29tcG9uZW50cy5hcHBlbmQoKnZlcnNpb25Db21w
b25lbnQpOwogICAgIH0KLQogICAgIHJldHVybiB2ZXJzaW9uOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBmMjk5OWNkMGI1MWI1
YTk2ZWYwMDFmNWEzNDk0MDgwZDI4OWUxZjc2Li4yYjZjNmY4ZWNiYjFlNTBlMjExN2QyNmYxYzA4
MmJjYTA4YTJkMjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTE5NTUsMTQgKzE5NTUsMTQgQEAgLSAodm9pZClfc3RhcnRUZXh0TWFu
aXB1bGF0aW9uc1dpdGhDb25maWd1cmF0aW9uOihfV0tUZXh0TWFuaXB1bGF0aW9uQ29uZmlndXJh
dGkKICAgICB9KTsKIH0KIAotc3RhdGljIFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9s
bGVyOjpJdGVtSWRlbnRpZmllciBjb3JlVGV4dE1hbmlwdWxhdGlvbkl0ZW1JZGVudGlmaWVyRnJv
bVN0cmluZyhOU1N0cmluZyogaWRlbnRpZmllcikKK3N0YXRpYyBXZWJDb3JlOjpUZXh0TWFuaXB1
bGF0aW9uQ29udHJvbGxlcjo6SXRlbUlkZW50aWZpZXIgY29yZVRleHRNYW5pcHVsYXRpb25JdGVt
SWRlbnRpZmllckZyb21TdHJpbmcoTlNTdHJpbmcgKmlkZW50aWZpZXIpCiB7Ci0gICAgcmV0dXJu
IG1ha2VPYmplY3RJZGVudGlmaWVyPFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVy
OjpJdGVtSWRlbnRpZmllclR5cGU+KFN0cmluZyhpZGVudGlmaWVyKS50b1VJbnQ2NCgpKTsKKyAg
ICByZXR1cm4gbWFrZU9iamVjdElkZW50aWZpZXI8V2ViQ29yZTo6VGV4dE1hbmlwdWxhdGlvbkNv
bnRyb2xsZXI6Okl0ZW1JZGVudGlmaWVyVHlwZT4oaWRlbnRpZmllci5sb25nTG9uZ1ZhbHVlKTsK
IH0KIAotc3RhdGljIFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250cm9sbGVyOjpUb2tlbklk
ZW50aWZpZXIgY29yZVRleHRNYW5pcHVsYXRpb25Ub2tlbklkZW50aWZpZXJGcm9tU3RyaW5nKE5T
U3RyaW5nKiBpZGVudGlmaWVyKQorc3RhdGljIFdlYkNvcmU6OlRleHRNYW5pcHVsYXRpb25Db250
cm9sbGVyOjpUb2tlbklkZW50aWZpZXIgY29yZVRleHRNYW5pcHVsYXRpb25Ub2tlbklkZW50aWZp
ZXJGcm9tU3RyaW5nKE5TU3RyaW5nICppZGVudGlmaWVyKQogewotICAgIHJldHVybiBtYWtlT2Jq
ZWN0SWRlbnRpZmllcjxXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6VG9rZW5J
ZGVudGlmaWVyVHlwZT4oU3RyaW5nKGlkZW50aWZpZXIpLnRvVUludDY0KCkpOworICAgIHJldHVy
biBtYWtlT2JqZWN0SWRlbnRpZmllcjxXZWJDb3JlOjpUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxl
cjo6VG9rZW5JZGVudGlmaWVyVHlwZT4oaWRlbnRpZmllci5sb25nTG9uZ1ZhbHVlKTsKIH0KIAog
LSAodm9pZClfY29tcGxldGVUZXh0TWFuaXB1bGF0aW9uOihfV0tUZXh0TWFuaXB1bGF0aW9uSXRl
bSAqKWl0ZW0gY29tcGxldGlvbjoodm9pZCheKShCT09MIHN1Y2Nlc3MpKWNvbXBsZXRpb25IYW5k
bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAKaW5kZXggZDczZjFmMTZmODkw
NzY5YzcyY2M5ZGQ0NDBkMjI5MjFmZjVmZmE5OS4uYjJlYjQ3ZTM5MTFlNTQ2NmZjNjgzNTVjN2Mx
ZGFlYzZiMjM3MzY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcApAQCAt
NDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx1dGlsaXR5PgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdUb0ludGVnZXJDb252ZXJzaW9uLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRl
IDx3dGYvTWFjaFNlbmRSaWdodC5oPgpAQCAtMjM3LDE2ICsyMzgsMTYgQEAgc3RhdGljIE5QRXJy
b3IgcGFyc2VQb3N0QnVmZmVyKGJvb2wgaXNGaWxlLCBjb25zdCBjaGFyICpidWZmZXIsIHVpbnQz
Ml90IGxlbmd0aCwKICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYmxhbmsgbGluZSBpcyBzb21l
d2hlcmUgaW4gdGhlIG1pZGRsZSBvZiB0aGUgYnVmZmVyLCBldmVyeXRoaW5nIGJlZm9yZSBpcyB0
aGUgaGVhZGVyCiAgICAgICAgICAgICAgICAgaGVhZGVyRmllbGRzID0gcGFyc2VSRkM4MjJIZWFk
ZXJGaWVsZHMocG9zdEJ1ZmZlciwgbG9jYXRpb24pOwogICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGRhdGFMZW5ndGggPSBwb3N0QnVmZmVyU2l6ZSAtIGxvY2F0aW9uOwotICAgICAgICAgICAgICAg
IAorCiAgICAgICAgICAgICAgICAgLy8gU29tZXRpbWVzIHBsdWdpbnMgbGlrZSB0byBzZXQgQ29u
dGVudC1MZW5ndGggdGhlbXNlbHZlcyB3aGVuIHRoZXkgcG9zdCwKICAgICAgICAgICAgICAgICAv
LyBidXQgV2ViRm91bmRhdGlvbiBkb2VzIG5vdCBsaWtlIHRoYXQuIFNvIHdlIHdpbGwgcmVtb3Zl
IHRoZSBoZWFkZXIKICAgICAgICAgICAgICAgICAvLyBhbmQgaW5zdGVhZCB0cnVuY2F0ZSB0aGUg
ZGF0YSB0byB0aGUgcmVxdWVzdGVkIGxlbmd0aC4KICAgICAgICAgICAgICAgICBTdHJpbmcgY29u
dGVudExlbmd0aCA9IGhlYWRlckZpZWxkcy5nZXQoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRMZW5n
dGgpOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgaWYgKCFjb250ZW50TGVu
Z3RoLmlzTnVsbCgpKQotICAgICAgICAgICAgICAgICAgICBkYXRhTGVuZ3RoID0gc3RkOjptaW4o
Y29udGVudExlbmd0aC50b0ludCgpLCAoaW50KWRhdGFMZW5ndGgpOworICAgICAgICAgICAgICAg
ICAgICBkYXRhTGVuZ3RoID0gc3RkOjptaW4ocGFyc2VJbnRlZ2VyQWxsb3dpbmdUcmFpbGluZ0p1
bms8dW5zaWduZWQ+KGNvbnRlbnRMZW5ndGgpLnZhbHVlT3IoMCksIGRhdGFMZW5ndGgpOwogICAg
ICAgICAgICAgICAgIGhlYWRlckZpZWxkcy5yZW1vdmUoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRM
ZW5ndGgpOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgcG9zdEJ1ZmZlciAr
PSBsb2NhdGlvbjsKICAgICAgICAgICAgICAgICBwb3N0QnVmZmVyU2l6ZSA9IGRhdGFMZW5ndGg7
CiAgICAgICAgICAgICB9Cg==
</data>
<flag name="review"
          id="448923"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="448930"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>