<?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>94630</bug_id>
          
          <creation_ts>2012-08-21 13:15:34 -0700</creation_ts>
          <short_desc>[WK2] Support posting injected bundle messages to a page</short_desc>
          <delta_ts>2012-09-05 12:46:00 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>701042</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-21 13:15:34 -0700</bug_when>
    <thetext>A message targeted at a page should not be sent to all processes in a context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701056</commentid>
    <comment_count>1</comment_count>
      <attachid>159754</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-21 13:25:35 -0700</bug_when>
    <thetext>Created attachment 159754
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701234</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-08-21 16:05:54 -0700</bug_when>
    <thetext>You should add an API test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702007</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-22 09:37:19 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/126311&gt;.

Support for the new message has been added to TestWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702113</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-08-22 11:36:48 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed &lt;http://trac.webkit.org/changeset/126311&gt;.
&gt; 
&gt; Support for the new message has been added to TestWebKitAPI.

Thank you Alexey!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159754</attachid>
            <date>2012-08-21 13:25:35 -0700</date>
            <delta_ts>2012-08-21 16:05:31 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>MessageToPageOpenSource.txt</filename>
            <type>text/plain</type>
            <size>23132</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjE4MSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA4LTIxICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFN1cHBvcnQgcG9z
dGluZyBpbmplY3RlZCBidW5kbGUgbWVzc2FnZXMgdG8gYSBwYWdlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDYzMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5j
cHA6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oOgorICAgICAgICAqIFNoYXJl
ZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlUG9zdE1lc3NhZ2VU
b0luamVjdGVkQnVuZGxlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6cG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6ZGlk
UmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVD
bGllbnQ6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50Lmg6CisgICAgICAgIChJbmplY3RlZEJ1
bmRsZUNsaWVudCk6CisgICAgICAgIEFkZGVkIGEgUG9zdE1lc3NhZ2VUb1BhZ2UgaW5qZWN0ZWQg
YnVuZGxlIG1lc3NhZ2UgdHlwZSwgd2l0aCBhbGwgYXNzb2NpYXRlZAorICAgICAgICBtYWNoaW5l
cnkuIEFQSSBpcyBXS1BhZ2VQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUoKSwgYW5kIGFuIGFz
c29jaWF0ZWQKKyAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoKSBpbmplY3RlZCBidW5k
bGUgY2xpZW50IGZ1bmN0aW9uLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9xdC9RdEJ1aWx0aW5C
dW5kbGUuY3BwOiAoV2ViS2l0OjpRdEJ1aWx0aW5CdW5kbGU6OmluaXRpYWxpemUpOgorICAgICAg
ICBVcGRhdGVkIGZvciBuZXcgY2xpZW50IEFQSS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcDogKFdlYktpdDo6V2ViQ29udGV4dDo6cG9zdE1lc3NhZ2VUb0luamVjdGVkQnVu
ZGxlKToKKyAgICAgICAgSW1wbGVtZW50ZWQgbXVsdGlwbGUgcHJvY2VzcyBtb2RlbCBjYXNlLgor
CiAyMDEyLTA4LTIxICBKZXNzZSB2YW4gZGVuIEtpZWJvb20gIDxqZXNzZXZka0Bnbm9tZS5vcmc+
IGFuZCBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1RLXSBBZGQgZGVzdHJveSBub3RpZnkgZm9yIHJlZ2lzdGVyX3VyaV9zY2hlbWUKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCShyZXZpc2lvbiAxMjYx
MDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNiArMzEsMTEgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NvbnN0
IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tCdW5kbGVDbGllbnQ+OjppbnRlcmZhY2VTaXplc0J5
VmVyc2lvbltdID0geworICAgIG9mZnNldG9mKFdLQnVuZGxlQ2xpZW50LCBkaWRSZWNlaXZlTWVz
c2FnZVRvUGFnZSksCisgICAgc2l6ZW9mKFdLQnVuZGxlQ2xpZW50KQorfTsKKwogY29uc3Qgc2l6
ZV90IEFQSUNsaWVudFRyYWl0czxXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQ+OjppbnRlcmZhY2VT
aXplc0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLQnVuZGxlUGFnZUxvYWRlckNsaWVu
dCwgZGlkTGF5b3V0Rm9yRnJhbWUpLAogICAgIG9mZnNldG9mKFdLQnVuZGxlUGFnZUxvYWRlckNs
aWVudCwgZGlkRmluaXNoUHJvZ3Jlc3MpLApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SUNsaWVudFRyYWl0cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuaAkocmV2aXNpb24gMTI2MTA0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSUNsaWVudFRyYWl0cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIEFQSUNsaWVudFRyYWl0c19oCiAjZGVmaW5lIEFQSUNsaWVudFRyYWl0c19oCiAKKyNpbmNs
dWRlICJXS0J1bmRsZS5oIgogI2luY2x1ZGUgIldLQnVuZGxlUGFnZS5oIgogI2luY2x1ZGUgIldL
Q29udGV4dC5oIgogI2luY2x1ZGUgIldLUGFnZS5oIgpAQCAtMzcsNiArMzgsMTAgQEAgdGVtcGxh
dGUgPHR5cGVuYW1lIENsaWVudEludGVyZmFjZT4gc3RydQogfTsKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBDbGllbnRJbnRlcmZhY2U+IGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8Q2xpZW50SW50
ZXJmYWNlPjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsgc2l6ZW9mKENsaWVudEludGVy
ZmFjZSkgfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlQ2xp
ZW50PiB7CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblsy
XTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxXS0J1bmRsZVBhZ2VM
b2FkZXJDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlW
ZXJzaW9uWzRdOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9y
dC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oCShy
ZXZpc2lvbiAxMjYxMDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQv
SW5qZWN0ZWRCdW5kbGVNZXNzYWdlS2luZHMuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMs
OCBAQAogbmFtZXNwYWNlIEluamVjdGVkQnVuZGxlTWVzc2FnZSB7CiAKIGVudW0gS2luZCB7Ci0g
ICAgUG9zdE1lc3NhZ2UKKyAgICBQb3N0TWVzc2FnZSwKKyAgICBQb3N0TWVzc2FnZVRvUGFnZQog
fTsKIAogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkocmV2
aXNpb24gMTI2MTA0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MTQsMTcgKzUxNCwxOSBAQCBEb3dubG9hZFByb3h5KiBXZWJD
b250ZXh0Ojpkb3dubG9hZChXZWJQCiAKIHZvaWQgV2ViQ29udGV4dDo6cG9zdE1lc3NhZ2VUb0lu
amVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9iamVjdCogbWVzc2Fn
ZUJvZHkpCiB7Ci0gICAgaWYgKG1fcHJvY2Vzc01vZGVsID09IFByb2Nlc3NNb2RlbFNoYXJlZFNl
Y29uZGFyeVByb2Nlc3MpIHsKLSAgICAgICAgaWYgKG1fcHJvY2Vzc2VzLmlzRW1wdHkoKSB8fCAh
bV9wcm9jZXNzZXNbMF0tPmNhblNlbmRNZXNzYWdlKCkpIHsKKyAgICBpZiAobV9wcm9jZXNzZXMu
aXNFbXB0eSgpKSB7CisgICAgICAgIG1fcGVuZGluZ01lc3NhZ2VzVG9Qb3N0VG9JbmplY3RlZEJ1
bmRsZS5hcHBlbmQoc3RkOjptYWtlX3BhaXIobWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcHJv
Y2Vzc2VzLnNpemUoKTsgKytpKSB7CisgICAgICAgIC8vIEZJWE1FIChNdWx0aS1XZWJQcm9jZXNz
KTogRXZvbHZlIG1fcGVuZGluZ01lc3NhZ2VzVG9Qb3N0VG9JbmplY3RlZEJ1bmRsZSB0byB3b3Jr
IHdpdGggbXVsdGlwbGUgc2Vjb25kYXJ5IHByb2Nlc3Nlcy4KKyAgICAgICAgaWYgKCFtX3Byb2Nl
c3Nlc1tpXS0+Y2FuU2VuZE1lc3NhZ2UoKSkgewogICAgICAgICAgICAgbV9wZW5kaW5nTWVzc2Fn
ZXNUb1Bvc3RUb0luamVjdGVkQnVuZGxlLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihtZXNzYWdlTmFt
ZSwgbWVzc2FnZUJvZHkpKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9Ci0KLSAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBy
ZXR1cm5pbmcgZmFsc2UgZnJvbSB0aGlzIGZ1bmN0aW9uIGlmIHRoZSBtZXNzYWdlQm9keSBjYW5u
b3QKLSAgICAgICAgLy8gYmUgZW5jb2RlZC4KLSAgICAgICAgbV9wcm9jZXNzZXNbMF0tPmRlcHJl
Y2F0ZWRTZW5kKEluamVjdGVkQnVuZGxlTWVzc2FnZTo6UG9zdE1lc3NhZ2UsIDAsIENvcmVJUEM6
OkluKG1lc3NhZ2VOYW1lLCBXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyKG1lc3NhZ2VCb2R5
KSkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIEZJWE1FIChNdWx0aS1XZWJQcm9jZXNzKTog
SW1wbGVtZW50LgorICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGNvbnNpZGVyIHJldHVybmlu
ZyBmYWxzZSBmcm9tIHRoaXMgZnVuY3Rpb24gaWYgdGhlIG1lc3NhZ2VCb2R5IGNhbm5vdCBiZSBl
bmNvZGVkLgorICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+ZGVwcmVjYXRlZFNlbmQoSW5qZWN0ZWRC
dW5kbGVNZXNzYWdlOjpQb3N0TWVzc2FnZSwgMCwgQ29yZUlQQzo6SW4obWVzc2FnZU5hbWUsIFdl
YkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkpKSk7CiAgICAgfQogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNpb24g
MTI2MTA0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5
LmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJGaW5k
SW5kaWNhdG9yLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVNZXNzYWdlS2luZHMuaCIKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVzc2FnZUlELmgiCiAjaW5jbHVkZSAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgpAQCAtMjg4Nyw2ICsyODg4LDEyIEBAIE5hdGl2ZVdlYk1v
dXNlRXZlbnQqIFdlYlBhZ2VQcm94eTo6Y3VycmUKICAgICByZXR1cm4gbV9jdXJyZW50bHlQcm9j
ZXNzZWRNb3VzZURvd25FdmVudC5nZXQoKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnBvc3RN
ZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElPYmpl
Y3QqIG1lc3NhZ2VCb2R5KQoreworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgY29uc2lkZXIgcmV0
dXJuaW5nIGZhbHNlIGZyb20gdGhpcyBmdW5jdGlvbiBpZiB0aGUgbWVzc2FnZUJvZHkgY2Fubm90
IGJlIGVuY29kZWQuCisgICAgcHJvY2VzcygpLT5kZXByZWNhdGVkU2VuZChJbmplY3RlZEJ1bmRs
ZU1lc3NhZ2U6OlBvc3RNZXNzYWdlVG9QYWdlLCBtX3BhZ2VJRCwgQ29yZUlQQzo6SW4obWVzc2Fn
ZU5hbWUsIFdlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkpKSk7Cit9CisK
ICNpZiBQTEFURk9STShHVEspCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZmFpbGVkVG9TaG93UG9wdXBN
ZW51KCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJl
dmlzaW9uIDEyNjEwNCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtNzE1LDYgKzcxNSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFN1cHByZXNzVmlzaWJpbGl0eVVwZGF0ZXMoYm9vbCBmbGFnKSB7IG1fc3VwcHJlc3NWaXNpYmls
aXR5VXBkYXRlcyA9IGZsYWc7IH0KICAgICBib29sIHN1cHByZXNzVmlzaWJpbGl0eVVwZGF0ZXMo
KSB7IHJldHVybiBtX3N1cHByZXNzVmlzaWJpbGl0eVVwZGF0ZXM7IH0KIAorICAgIHZvaWQgcG9z
dE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9i
amVjdCogbWVzc2FnZUJvZHkpOworCiBwcml2YXRlOgogICAgIFdlYlBhZ2VQcm94eShQYWdlQ2xp
ZW50KiwgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+LCBXZWJQYWdlR3JvdXAqLCB1aW50NjRf
dCBwYWdlSUQpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcAkocmV2aXNpb24gMTI2MTA0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxMiwzICs3MTIsOSBAQCB2b2lkIFdLUGFn
ZVNldE1lZGlhVm9sdW1lKFdLUGFnZVJlZiBwYWdlCiB7CiAgICAgdG9JbXBsKHBhZ2UpLT5zZXRN
ZWRpYVZvbHVtZSh2b2x1bWUpOyAgICAKIH0KKwordm9pZCBXS1BhZ2VQb3N0TWVzc2FnZVRvSW5q
ZWN0ZWRCdW5kbGUoV0tQYWdlUmVmIHBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lUmVm
LCBXS1R5cGVSZWYgbWVzc2FnZUJvZHlSZWYpCit7CisgICAgdG9JbXBsKHBhZ2VSZWYpLT5wb3N0
TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUodG9JbXBsKG1lc3NhZ2VOYW1lUmVmKS0+c3RyaW5nKCks
IHRvSW1wbChtZXNzYWdlQm9keVJlZikpOworfQorCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5oCShyZXZpc2lvbiAxMjYxMDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4OSw2ICs0ODksOCBA
QCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VWYWxpZGF0ZUNvbW1hbmRDYWxsCiBXS19FWFBPUlQgdm9p
ZCBXS1BhZ2VWYWxpZGF0ZUNvbW1hbmQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGNvbW1h
bmQsIHZvaWQqIGNvbnRleHQsIFdLUGFnZVZhbGlkYXRlQ29tbWFuZENhbGxiYWNrIGNhbGxiYWNr
KTsKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZUV4ZWN1dGVDb21tYW5kKFdLUGFnZVJlZiBwYWdlLCBX
S1N0cmluZ1JlZiBjb21tYW5kKTsKIAorV0tfRVhQT1JUIHZvaWQgV0tQYWdlUG9zdE1lc3NhZ2VU
b0luamVjdGVkQnVuZGxlKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwg
V0tUeXBlUmVmIG1lc3NhZ2VCb2R5KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAxMjYxMDQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDc4LDYgKzQ3OCwxMSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRS
ZWNlaXZlTWVzc2FnZShjCiAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodGhpcywgbWVz
c2FnZU5hbWUsIG1lc3NhZ2VCb2R5KTsKIH0KIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2VUb1BhZ2UoV2ViUGFnZSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFt
ZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkKK3sKKyAgICBtX2NsaWVudC5kaWRSZWNlaXZlTWVz
c2FnZVRvUGFnZSh0aGlzLCBwYWdlLCBtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOworfQorCiB2
b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1
bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKICAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8SW5q
ZWN0ZWRCdW5kbGVNZXNzYWdlOjpLaW5kPigpKSB7CkBAIC00OTEsNiArNDk2LDI1IEBAIHZvaWQg
SW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlKEMKICAgICAgICAgICAgIGRpZFJlY2Vp
dmVNZXNzYWdlKG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keS5nZXQoKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KKworICAgICAgICBjYXNlIEluamVjdGVkQnVuZGxlTWVzc2FnZTo6
UG9zdE1lc3NhZ2VUb1BhZ2U6IHsKKyAgICAgICAgICAgIHVpbnQ2NF90IHBhZ2VJRCA9IGFyZ3Vt
ZW50cy0+ZGVzdGluYXRpb25JRCgpOworICAgICAgICAgICAgaWYgKCFwYWdlSUQpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAgICAgICAgICBXZWJQYWdlKiBwYWdl
ID0gV2ViUHJvY2Vzczo6c2hhcmVkKCkud2ViUGFnZShwYWdlSUQpOworICAgICAgICAgICAgaWYg
KCFwYWdlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgU3RyaW5nIG1l
c3NhZ2VOYW1lOworICAgICAgICAgICAgUmVmUHRyPEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7Cisg
ICAgICAgICAgICBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRGVjb2RlciBtZXNzYWdlRGVjb2Rl
cihtZXNzYWdlQm9keSk7CisgICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy0+ZGVjb2RlKENvcmVJ
UEM6Ok91dChtZXNzYWdlTmFtZSwgbWVzc2FnZURlY29kZXIpKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKHBhZ2UsIG1lc3Nh
Z2VOYW1lLCBtZXNzYWdlQm9keS5nZXQoKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmgJKHJldmlzaW9uIDEyNjEwNCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1
Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdpbGxEZXN0cm95UGFnZShXZWJQYWdlKik7CiAgICAg
dm9pZCBkaWRJbml0aWFsaXplUGFnZUdyb3VwKFdlYlBhZ2VHcm91cFByb3h5Kik7CiAgICAgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZShjb25zdCBTdHJpbmcmLCBBUElPYmplY3QqKTsKKyAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdlYlBhZ2UqLCBjb25zdCBTdHJpbmcmLCBBUElPYmpl
Y3QqKTsKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbios
IENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVD
bGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCShyZXZpc2lvbiAxMjYxMDQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xp
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsNCArNjIsMTIgQEAgdm9pZCBJbmplY3RlZEJ1
bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lcwogICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdl
KHRvQVBJKGJ1bmRsZSksIHRvQVBJKG1lc3NhZ2VOYW1lLmltcGwoKSksIHRvQVBJKG1lc3NhZ2VC
b2R5KSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGll
bnQ6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKEluamVjdGVkQnVuZGxlKiBidW5kbGUsIFdlYlBh
Z2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9iamVjdCogbWVzc2FnZUJv
ZHkpCit7CisgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UodG9BUEko
YnVuZGxlKSwgdG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2VOYW1lLmltcGwoKSksIHRvQVBJKG1l
c3NhZ2VCb2R5KSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuaAkocmV2aXNpb24gMTI2MTA0
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHdpbGxEZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2UqKTsKICAgICB2
b2lkIGRpZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUqLCBXZWJQYWdlR3JvdXBQ
cm94eSopOwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGUqLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElPYmplY3QqIG1lc3NhZ2VCb2R5KTsKKyAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKEluamVjdGVkQnVuZGxlKiwgV2ViUGFnZSosIGNvbnN0
IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSU9iamVjdCogbWVzc2FnZUJvZHkpOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5oCShyZXZpc2lvbiAxMjYx
MDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAgdHlwZWRlZiB2b2lkICgq
V0tCdW5kbGVEaWRDcmVhdGVQYWdlQ2FsbAogdHlwZWRlZiB2b2lkICgqV0tCdW5kbGVXaWxsRGVz
dHJveVBhZ2VDYWxsYmFjaykoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VSZWYgcGFn
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZURpZElu
aXRpYWxpemVQYWdlR3JvdXBDYWxsYmFjaykoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBh
Z2VHcm91cFJlZiBwYWdlR3JvdXAsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2
b2lkICgqV0tCdW5kbGVEaWRSZWNlaXZlTWVzc2FnZUNhbGxiYWNrKShXS0J1bmRsZVJlZiBidW5k
bGUsIFdLU3RyaW5nUmVmIG5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS0J1bmRsZURpZFJlY2VpdmVNZXNzYWdlVG9Q
YWdlQ2FsbGJhY2spKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdL
U3RyaW5nUmVmIG5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiAKIHN0cnVjdCBXS0J1bmRsZUNsaWVudCB7CiAgICAgaW50ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9u
OwpAQCAtNDYsMTQgKzQ3LDE3IEBAIHN0cnVjdCBXS0J1bmRsZUNsaWVudCB7CiAgICAgV0tCdW5k
bGVXaWxsRGVzdHJveVBhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB3aWxsRGVzdHJveVBhZ2U7CiAgICAgV0tCdW5kbGVEaWRJbml0aWFsaXplUGFnZUdyb3Vw
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRJbml0aWFsaXplUGFnZUdy
b3VwOwogICAgIFdLQnVuZGxlRGlkUmVjZWl2ZU1lc3NhZ2VDYWxsYmFjayAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2U7CisKKyAgICAvLyBWZXJzaW9u
IDEuCisgICAgV0tCdW5kbGVEaWRSZWNlaXZlTWVzc2FnZVRvUGFnZUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZTsKIH07CiB0eXBlZGVm
IHN0cnVjdCBXS0J1bmRsZUNsaWVudCBXS0J1bmRsZUNsaWVudDsKIAotZW51bSB7IGtXS0J1bmRs
ZUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OworZW51bSB7IGtXS0J1bmRsZUNsaWVudEN1cnJl
bnRWZXJzaW9uID0gMSB9OwogCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5kbGVHZXRUeXBlSUQo
KTsKIAotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRDbGllbnQoV0tCdW5kbGVSZWYgYnVuZGxl
LCBXS0J1bmRsZUNsaWVudCAqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldENs
aWVudChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlQ2xpZW50KiBjbGllbnQpOwogCiBXS19F
WFBPUlQgdm9pZCBXS0J1bmRsZVBvc3RNZXNzYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tTdHJp
bmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSk7CiBXS19FWFBPUlQgdm9p
ZCBXS0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1N0
cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBXS1R5cGVSZWYqIHJl
dHVybkRhdGEpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9xdC9RdEJ1aWx0aW5C
dW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvcXQvUXRC
dWlsdGluQnVuZGxlLmNwcAkocmV2aXNpb24gMTI2MTA0KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9xdC9RdEJ1aWx0aW5CdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1
OCw4IEBAIHZvaWQgUXRCdWlsdGluQnVuZGxlOjppbml0aWFsaXplKFdLQnVuZGwKICAgICAgICAg
ZGlkQ3JlYXRlUGFnZSwKICAgICAgICAgd2lsbERlc3Ryb3lQYWdlLAogICAgICAgICAwLCAvLyBk
aWRJbml0aWFsaXplUGFnZUdyb3VwCi0gICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlCisgICAgICAg
IGRpZFJlY2VpdmVNZXNzYWdlLAorICAgICAgICAwIC8vIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdl
CiAgICAgfTsKICAgICBXS0J1bmRsZVNldENsaWVudChtX2J1bmRsZSwgJmNsaWVudCk7CiB9Cklu
ZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMjYxODEpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMi0wOC0yMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
KworICAgICAgICBbV0syXSBTdXBwb3J0IHBvc3RpbmcgaW5qZWN0ZWQgYnVuZGxlIG1lc3NhZ2Vz
IHRvIGEgcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTQ2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIE1pbmlCcm93c2VyL21hYy9XZWJCdW5kbGUvV2ViQnVuZGxlTWFpbi5tOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OkluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRpZFJlY2VpdmVN
ZXNzYWdlVG9QYWdlKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29u
dHJvbGxlci5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVUZXN0Lmg6
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZVRlc3Q6OmRpZFJlY2VpdmVN
ZXNzYWdlVG9QYWdlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmRpZFJl
Y2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVN
ZXNzYWdlVG9QYWdlKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxpemUp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaDoKKyAgICAgICAgVXBkYXRlZCBmb3IgbmV3IGNsaWVudCBBUEkgY2FsbC4KKwogMjAxMi0w
OC0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIGZy
ZWUgZnVuY3Rpb25zIGluIHRlc3RfZXhwZWN0YXRpb25zIHRvIFRlc3RFeHBlY3RhdGlvbnMgY2xh
c3MKSW5kZXg6IFRvb2xzL01pbmlCcm93c2VyL21hYy9XZWJCdW5kbGUvV2ViQnVuZGxlTWFpbi5t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL01pbmlCcm93c2VyL21hYy9XZWJCdW5kbGUvV2ViQnVuZGxl
TWFpbi5tCShyZXZpc2lvbiAxMjYxMDQpCisrKyBUb29scy9NaW5pQnJvd3Nlci9tYWMvV2ViQnVu
ZGxlL1dlYkJ1bmRsZU1haW4ubQkod29ya2luZyBjb3B5KQpAQCAtOTksNyArOTksOCBAQCB2b2lk
IFdLQnVuZGxlSW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBidW5kCiAgICAgICAgIGRpZENyZWF0ZVBh
Z2UsCiAgICAgICAgIHdpbGxEZXN0cm95UGFnZSwKICAgICAgICAgMCwgLy8gZGlkSW5pdGlhbGl6
ZVBhZ2VHcm91cAotICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZQorICAgICAgICBkaWRSZWNlaXZl
TWVzc2FnZSwKKyAgICAgICAgMCAvLyBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZQogICAgIH07CiAg
ICAgV0tCdW5kbGVTZXRDbGllbnQoYnVuZGxlLCAmY2xpZW50KTsKIH0KSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDEyNjEwNCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsOCBAQCB2b2lkIEluamVjdGVkQnVuZGxl
Q29udHJvbGxlcjo6aW5pdGlhbGl6CiAgICAgICAgIGRpZENyZWF0ZVBhZ2UsCiAgICAgICAgIHdp
bGxEZXN0cm95UGFnZSwKICAgICAgICAgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cCwKLSAgICAgICAg
ZGlkUmVjZWl2ZU1lc3NhZ2UKKyAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UsCisgICAgICAgIGRp
ZFJlY2VpdmVNZXNzYWdlVG9QYWdlCiAgICAgfTsKICAgICBXS0J1bmRsZVNldENsaWVudChtX2J1
bmRsZSwgJmNsaWVudCk7CiAKQEAgLTEwMyw2ICsxMDQsMTMgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZUNvbnRyb2xsZXI6OmRpZFJlY2VpdgogICAgIHNlbGYtPm1fY3VycmVudFRlc3QtPmRpZFJlY2Vp
dmVNZXNzYWdlKGJ1bmRsZSwgbWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KTsKIH0KIAordm9pZCBJ
bmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdLQnVuZGxl
UmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1l
LCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAg
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyKiBzZWxmID0gc3RhdGljX2Nhc3Q8SW5qZWN0ZWRCdW5k
bGVDb250cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOworICAgIGFzc2Vy
dChzZWxmLT5tX2N1cnJlbnRUZXN0KTsKKyAgICBzZWxmLT5tX2N1cnJlbnRUZXN0LT5kaWRSZWNl
aXZlTWVzc2FnZVRvUGFnZShidW5kbGUsIHBhZ2UsIG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7
Cit9CisKIHZvaWQgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpkdW1wVGVzdE5hbWVzKCkKIHsK
ICAgICBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgQ3JlYXRlSW5qZWN0ZWRCdW5kbGVUZXN0RnVuY3Rp
b24+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fY3JlYXRlSW5qZWN0ZWRCdW5kbGVUZXN0RnVuY3Rp
b25zLmJlZ2luKCk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29u
dHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5k
bGVDb250cm9sbGVyLmgJKHJldmlzaW9uIDEyNjEwNCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV0tCdW5kbGVSZWYs
IFdLQnVuZGxlUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgc3RhdGljIHZv
aWQgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBS
ZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKFdLQnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1l
c3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmlu
Z1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKIAogICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVJbmplY3RlZEJ1bmRs
ZVRlc3RGdW5jdGlvbj4gbV9jcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbnM7CiAgICAg
V0tCdW5kbGVSZWYgbV9idW5kbGU7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVk
QnVuZGxlVGVzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRC
dW5kbGVUZXN0LmgJKHJldmlzaW9uIDEyNjEwNCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvSW5q
ZWN0ZWRCdW5kbGVUZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxl
UGFnZVJlZikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEluaXRpYWxpemVQYWdlR3JvdXAoV0tC
dW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoV0tCdW5kbGVSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5
cGVSZWYgbWVzc2FnZUJvZHkpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZVRvUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdl
TmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KSB7IH0KIAogICAgIHN0ZDo6c3RyaW5nIG5hbWUo
KSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICAKSW5kZXg6IFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCShyZXZpc2lvbiAxMjYxMDQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzIsMTEgKzcyLDE2
IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZEluaXRpYWxpemVQYWdlR3IKICAgICBzdGF0aWNf
Y2FzdDxJbmplY3RlZEJ1bmRsZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+ZGlk
SW5pdGlhbGl6ZVBhZ2VHcm91cChwYWdlR3JvdXApOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxl
OjpkaWRSZWNlaXZlTWVzc2FnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmIG1lc3Nh
Z2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCit2
b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZShXS0J1bmRsZVJlZiBidW5kbGUs
IFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCiB7CiAgICAgc3RhdGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGUqPihjb25z
dF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSktPmRpZFJlY2VpdmVNZXNzYWdlKG1lc3NhZ2VOYW1l
LCBtZXNzYWdlQm9keSk7CiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNz
YWdlVG9QYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3Ry
aW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pCit7CisgICAgc3RhdGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGUqPihjb25zdF9jYXN0
PHZvaWQqPihjbGllbnRJbmZvKSktPmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKHBhZ2UsIG1lc3Nh
Z2VOYW1lLCBtZXNzYWdlQm9keSk7Cit9CisKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmluaXRpYWxp
emUoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1R5cGVSZWYgaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSkK
IHsKICAgICBtX2J1bmRsZSA9IGJ1bmRsZTsKQEAgLTg4LDcgKzkzLDggQEAgdm9pZCBJbmplY3Rl
ZEJ1bmRsZTo6aW5pdGlhbGl6ZShXS0J1bmRsZQogICAgICAgICBkaWRDcmVhdGVQYWdlLAogICAg
ICAgICB3aWxsRGVzdHJveVBhZ2UsCiAgICAgICAgIGRpZEluaXRpYWxpemVQYWdlR3JvdXAsCi0g
ICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlCisgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlLAorICAg
ICAgICBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZQogICAgIH07CiAgICAgV0tCdW5kbGVTZXRDbGll
bnQobV9idW5kbGUsICZjbGllbnQpOwogCkBAIC0xOTAsNiArMTk2LDEzIEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlKFcKICAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1f
YnVuZGxlLCBlcnJvck1lc3NhZ2VOYW1lLmdldCgpLCBlcnJvck1lc3NhZ2VCb2R5LmdldCgpKTsK
IH0KIAordm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2Fn
ZUJvZHkpCit7CisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGVycm9yTWVzc2FnZU5hbWUo
QWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkVycm9yIikpOworICAgIFdL
UmV0YWluUHRyPFdLU3RyaW5nUmVmPiBlcnJvck1lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJVbmtub3duIikpOworICAgIFdLQnVuZGxlUG9zdE1lc3Nh
Z2UobV9idW5kbGUsIGVycm9yTWVzc2FnZU5hbWUuZ2V0KCksIGVycm9yTWVzc2FnZUJvZHkuZ2V0
KCkpOworfQorCiBib29sIEluamVjdGVkQnVuZGxlOjpib29sZWFuRm9yS2V5KFdLRGljdGlvbmFy
eVJlZiBkaWN0aW9uYXJ5LCBjb25zdCBjaGFyKiBrZXkpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tT
dHJpbmdSZWY+IHdrS2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGtl
eSkpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAkocmV2aXNpb24gMTI2MTA0KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC05NywxMSArOTcsMTMgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJv
eVBhZ2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5m
byk7CiAgICAgc3RhdGljIHZvaWQgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChXS0J1bmRsZVJlZiwg
V0tCdW5kbGVQYWdlR3JvdXBSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRp
YyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKFdLQnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdl
TmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAg
ICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5k
bGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogICAgIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1
bmRsZVBhZ2VSZWYpOwogICAgIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUGFnZVJlZik7
CiAgICAgdm9pZCBkaWRJbml0aWFsaXplUGFnZUdyb3VwKFdLQnVuZGxlUGFnZUdyb3VwUmVmKTsK
ICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5
cGVSZWYgbWVzc2FnZUJvZHkpOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tC
dW5kbGVQYWdlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VC
b2R5KTsKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKFdLVHlwZVJlZiBpbml0aWFsaXph
dGlvblVzZXJEYXRhKTsKICAgICB2b2lkIHJlc2V0TG9jYWxTZXR0aW5ncygpOwo=
</data>
<flag name="review"
          id="170154"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>