<?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>171267</bug_id>
          
          <creation_ts>2017-04-25 03:13:42 -0700</creation_ts>
          <short_desc>[GTK] Remote inspector should support inspecting targets with previous version of backend commands</short_desc>
          <delta_ts>2017-04-27 09:56:52 -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>WebKitGTK</component>
          <version>WebKit 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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>joepeck</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1300947</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-25 03:13:42 -0700</bug_when>
    <thetext>There&apos;s a FIXME for this in the code. The remote inspector proxy allows to pass a backend commands URL when inspecting a target. That URL is not empty is used as Protocol/InspectorBackendCommands.js in the inspector instead of the local copy. We are currently assuming that both ends use the same version of that file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1300952</commentid>
    <comment_count>1</comment_count>
      <attachid>308081</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-25 03:29:25 -0700</bug_when>
    <thetext>Created attachment 308081
Patch

I&apos;m using SHA1, and not SHA256, to compute the backend commands hash because we don&apos;t have access to PAL from JavaScriptCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302042</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-04-27 05:28:58 -0700</bug_when>
    <thetext>Committed r215862: &lt;http://trac.webkit.org/changeset/215862&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302144</commentid>
    <comment_count>3</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2017-04-27 09:56:52 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #1)
&gt; Created attachment 308081 [details]
&gt; Patch
&gt; 
&gt; I&apos;m using SHA1, and not SHA256, to compute the backend commands hash because
&gt; we don&apos;t have access to PAL from JavaScriptCore.

Should we move those things into WTF?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308081</attachid>
            <date>2017-04-25 03:29:25 -0700</date>
            <delta_ts>2017-04-25 07:35:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-remote-inspector-backend-commands.diff</filename>
            <type>text/plain</type>
            <size>18753</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI2NzU0OTUxOGE0Li5kOGY4ZWJkOGFlOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTctMDQtMjUgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIFJl
bW90ZSBpbnNwZWN0b3Igc2hvdWxkIHN1cHBvcnQgaW5zcGVjdGluZyB0YXJnZXRzIHdpdGggcHJl
dmlvdXMgdmVyc2lvbiBvZiBiYWNrZW5kIGNvbW1hbmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgR2V0VGFyZ2V0TGlzdCBEQnVzIG1ldGhv
ZCBhcyBTZXR1cEluc3BlY3RvckNsaWVudCBzaW5jZSB0aGlzIG1ldGhvZCBpcyBhY3R1YWxseSBj
YWxsZWQgb25seSBvbmNlIGJ5CisgICAgICAgIGNsaWVudCByaWdodCBhZnRlciBjb25uZWN0aW5n
IHRvIHRoZSBzZXJ2ZXIuIFRoZSBtZXRob2Qgbm93IHJlY2VpdmVzIHRoZSBjbGllbnQgYmFja2Vu
ZCBjb21tYW5kcyBoYXNoIGFzCisgICAgICAgIGFyZ3VtZW50IGFuZCByZXR1cm5zIHRoZSBjb250
ZW50cyBvZiB0aGUgYmFja2VuZCBjb21tYW5kcyBmaWxlIGluIGNhc2UgdGhlIGhhc2ggZG9lc24n
dCBtYXRjaCB3aXRoIHRoZSBsb2NhbAorICAgICAgICB2ZXJzaW9uLgorCisgICAgICAgICogUGxh
dGZvcm1HVEsuY21ha2U6IEFkZCBSZW1vdGVJbnNwZWN0b3JVdGlscyB0byBjb21waWxhdGlvbi4K
KyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNw
cDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1cEluc3Bl
Y3RvckNsaWVudCk6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3Bl
Y3RvclNlcnZlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVJbnNw
ZWN0b3JVdGlscy5jcHA6IEFkZGVkLgorICAgICAgICAoSW5zcGVjdG9yOjpiYWNrZW5kQ29tbWFu
ZHMpOgorICAgICAgICAoSW5zcGVjdG9yOjpiYWNrZW5kQ29tbWFuZHNIYXNoKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yVXRpbHMuaDogQWRkZWQuCisK
IDIwMTctMDQtMjQgIEFuZHkgVmFuV2Fnb25lciAgPHRoZXRhbGVjcmFmdGVyQGdtYWlsLmNvbT4K
IAogICAgICAgICBDbGVhbiB1cCBJQ1UgaGVhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRm
b3JtR1RLLmNtYWtlCmluZGV4IDUzNGE4ZWJmMzcwLi4yMGUxMzc4NjdkMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTgsNiArMTgsNyBAQCBsaXN0KEFQUEVO
RCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90
ZUNvbm5lY3Rpb25Ub1RhcmdldEdsaWIuY3BwCiAgICAgaW5zcGVjdG9yL3JlbW90ZS9nbGliL1Jl
bW90ZUluc3BlY3RvckdsaWIuY3BwCiAgICAgaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUlu
c3BlY3RvclNlcnZlci5jcHAKKyAgICBpbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVj
dG9yVXRpbHMuY3BwCiApCiAKIGFkZF9jdXN0b21fY29tbWFuZCgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yU2Vy
dmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVt
b3RlSW5zcGVjdG9yU2VydmVyLmNwcAppbmRleCBiNjY5YmY0YmQxNi4uNDQ3YmFlOWQzOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVt
b3RlSW5zcGVjdG9yU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKIAogI2luY2x1ZGUgIlJlbW90ZUluc3Bl
Y3Rvci5oIgorI2luY2x1ZGUgIlJlbW90ZUluc3BlY3RvclV0aWxzLmgiCiAjaW5jbHVkZSA8Z2lv
L2dpby5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5p
cXVlUHRyLmg+CkBAIC01Nyw3ICs1OCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciBpbnRyb3NwZWN0
aW9uWE1MW10gPQogICAgICIgICAgICA8YXJnIHR5cGU9J2EodHNzc2IpJyBuYW1lPSdsaXN0JyBk
aXJlY3Rpb249J2luJy8+IgogICAgICIgICAgICA8YXJnIHR5cGU9J2InIG5hbWU9J3JlbW90ZUF1
dG9tYXRpb25FbmFibGVkJyBkaXJlY3Rpb249J2luJy8+IgogICAgICIgICAgPC9tZXRob2Q+Igot
ICAgICIgICAgPG1ldGhvZCBuYW1lPSdHZXRUYXJnZXRMaXN0Jy8+IgorICAgICIgICAgPG1ldGhv
ZCBuYW1lPSdTZXR1cEluc3BlY3RvckNsaWVudCc+IgorICAgICIgICAgICA8YXJnIHR5cGU9J2F5
JyBuYW1lPSdiYWNrZW5kQ29tbWFuZHNIYXNoJyBkaXJlY3Rpb249J2luJy8+IgorICAgICIgICAg
ICA8YXJnIHR5cGU9J2F5JyBuYW1lPSdiYWNrZW5kQ29tbWFuZHMnIGRpcmVjdGlvbj0nb3V0Jy8+
IgorICAgICIgICAgPC9tZXRob2Q+IgogICAgICIgICAgPG1ldGhvZCBuYW1lPSdTZXR1cCc+Igog
ICAgICIgICAgICA8YXJnIHR5cGU9J3QnIG5hbWU9J2Nvbm5lY3Rpb24nIGRpcmVjdGlvbj0naW4n
Lz4iCiAgICAgIiAgICAgIDxhcmcgdHlwZT0ndCcgbmFtZT0ndGFyZ2V0JyBkaXJlY3Rpb249J2lu
Jy8+IgpAQCAtODgsOSArOTIsMTEgQEAgY29uc3QgR0RCdXNJbnRlcmZhY2VWVGFibGUgUmVtb3Rl
SW5zcGVjdG9yU2VydmVyOjpzX2ludGVyZmFjZVZUYWJsZSA9IHsKICAgICAgICAgaWYgKCFnX3N0
cmNtcDAobWV0aG9kTmFtZSwgIlNldFRhcmdldExpc3QiKSkgewogICAgICAgICAgICAgaW5zcGVj
dG9yU2VydmVyLT5zZXRUYXJnZXRMaXN0KGNvbm5lY3Rpb24sIHBhcmFtZXRlcnMpOwogICAgICAg
ICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0aW9uLCBu
dWxscHRyKTsKLSAgICAgICAgfSBlbHNlIGlmICghZ19zdHJjbXAwKG1ldGhvZE5hbWUsICJHZXRU
YXJnZXRMaXN0IikpIHsKLSAgICAgICAgICAgIGluc3BlY3RvclNlcnZlci0+Z2V0VGFyZ2V0TGlz
dChjb25uZWN0aW9uKTsKLSAgICAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1
cm5fdmFsdWUoaW52b2NhdGlvbiwgbnVsbHB0cik7CisgICAgICAgIH0gZWxzZSBpZiAoIWdfc3Ry
Y21wMChtZXRob2ROYW1lLCAiU2V0dXBJbnNwZWN0b3JDbGllbnQiKSkgeworICAgICAgICAgICAg
R1JlZlB0cjxHVmFyaWFudD4gYmFja2VuZENvbW1hbmRzSGFzaDsKKyAgICAgICAgICAgIGdfdmFy
aWFudF9nZXQocGFyYW1ldGVycywgIihAYXkpIiwgJmJhY2tlbmRDb21tYW5kc0hhc2gub3V0UHRy
KCkpOworICAgICAgICAgICAgYXV0byogYmFja2VuZENvbW1hbmRzID0gaW5zcGVjdG9yU2VydmVy
LT5zZXR1cEluc3BlY3RvckNsaWVudChjb25uZWN0aW9uLCBnX3ZhcmlhbnRfZ2V0X2J5dGVzdHJp
bmcoYmFja2VuZENvbW1hbmRzSGFzaC5nZXQoKSkpOworICAgICAgICAgICAgZ19kYnVzX21ldGhv
ZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZShpbnZvY2F0aW9uLCBnX3ZhcmlhbnRfbmV3KCIoQGF5
KSIsIGJhY2tlbmRDb21tYW5kcykpOwogICAgICAgICB9IGVsc2UgaWYgKCFnX3N0cmNtcDAobWV0
aG9kTmFtZSwgIlNldHVwIikpIHsKICAgICAgICAgICAgIGd1aW50NjQgY29ubmVjdGlvbklELCB0
YXJnZXRJRDsKICAgICAgICAgICAgIGdfdmFyaWFudF9nZXQocGFyYW1ldGVycywgIih0dCkiLCAm
Y29ubmVjdGlvbklELCAmdGFyZ2V0SUQpOwpAQCAtMjMwLDE0ICsyMzYsMjAgQEAgdm9pZCBSZW1v
dGVJbnNwZWN0b3JTZXJ2ZXI6OmNsaWVudENvbm5lY3Rpb25DbG9zZWRDYWxsYmFjayhHREJ1c0Nv
bm5lY3Rpb24qIGNvbm4KICAgICBzZXJ2ZXItPmNsaWVudENvbm5lY3Rpb25DbG9zZWQoY29ubmVj
dGlvbik7CiB9CiAKLXZvaWQgUmVtb3RlSW5zcGVjdG9yU2VydmVyOjpnZXRUYXJnZXRMaXN0KEdE
QnVzQ29ubmVjdGlvbiogY2xpZW50Q29ubmVjdGlvbikKK0dWYXJpYW50KiBSZW1vdGVJbnNwZWN0
b3JTZXJ2ZXI6OnNldHVwSW5zcGVjdG9yQ2xpZW50KEdEQnVzQ29ubmVjdGlvbiogY2xpZW50Q29u
bmVjdGlvbiwgY29uc3QgY2hhciogY2xpZW50QmFja2VuZENvbW1hbmRzSGFzaCkKIHsKLSAgICBp
ZiAoIW1fY2xpZW50Q29ubmVjdGlvbikgewotICAgICAgICBtX2NsaWVudENvbm5lY3Rpb24gPSBj
bGllbnRDb25uZWN0aW9uOwotICAgICAgICBnX3NpZ25hbF9jb25uZWN0KG1fY2xpZW50Q29ubmVj
dGlvbi5nZXQoKSwgImNsb3NlZCIsIEdfQ0FMTEJBQ0soY2xpZW50Q29ubmVjdGlvbkNsb3NlZENh
bGxiYWNrKSwgdGhpcyk7Ci0gICAgfQotICAgIEFTU0VSVChtX2NsaWVudENvbm5lY3Rpb24uZ2V0
KCkgPT0gY2xpZW50Q29ubmVjdGlvbik7Ci0KKyAgICBBU1NFUlQoIW1fY2xpZW50Q29ubmVjdGlv
bik7CisgICAgbV9jbGllbnRDb25uZWN0aW9uID0gY2xpZW50Q29ubmVjdGlvbjsKKyAgICBnX3Np
Z25hbF9jb25uZWN0KG1fY2xpZW50Q29ubmVjdGlvbi5nZXQoKSwgImNsb3NlZCIsIEdfQ0FMTEJB
Q0soY2xpZW50Q29ubmVjdGlvbkNsb3NlZENhbGxiYWNrKSwgdGhpcyk7CisKKyAgICBHVmFyaWFu
dCogYmFja2VuZENvbW1hbmRzOworICAgIGlmIChzdHJjbXAoY2xpZW50QmFja2VuZENvbW1hbmRz
SGFzaCwgYmFja2VuZENvbW1hbmRzSGFzaCgpLmRhdGEoKSkpIHsKKyAgICAgICAgYXV0byBieXRl
cyA9IEluc3BlY3Rvcjo6YmFja2VuZENvbW1hbmRzKCk7CisgICAgICAgIGJhY2tlbmRDb21tYW5k
cyA9IGdfdmFyaWFudF9uZXdfYnl0ZXN0cmluZyhzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oZ19i
eXRlc19nZXRfZGF0YShieXRlcy5nZXQoKSwgbnVsbHB0cikpKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgYmFja2VuZENvbW1hbmRzID0gZ192YXJpYW50X25ld19ieXRlc3RyaW5nKCIiKTsKKworICAg
IC8vIEFzayBhbGwgcmVtb3RlIGluc3BlY3RvcnMgdG8gcHVzaCB0aGVpciB0YXJnZXQgbGlzdHMg
dG8gbm90aWZ5IHRoZSBuZXcgY2xpZW50LgogICAgIGZvciAoYXV0byogcmVtb3RlSW5zcGVjdG9y
Q29ubmVjdGlvbiA6IG1fcmVtb3RlSW5zcGVjdG9yQ29ubmVjdGlvblRvSURNYXAua2V5cygpKSB7
CiAgICAgICAgIGdfZGJ1c19jb25uZWN0aW9uX2NhbGwocmVtb3RlSW5zcGVjdG9yQ29ubmVjdGlv
biwgbnVsbHB0ciwKICAgICAgICAgICAgIFJFTU9URV9JTlNQRUNUT1JfREJVU19PQkpFQ1RfUEFU
SCwKQEAgLTI0Nyw2ICsyNTksOCBAQCB2b2lkIFJlbW90ZUluc3BlY3RvclNlcnZlcjo6Z2V0VGFy
Z2V0TGlzdChHREJ1c0Nvbm5lY3Rpb24qIGNsaWVudENvbm5lY3Rpb24pCiAgICAgICAgICAgICBu
dWxscHRyLCBHX0RCVVNfQ0FMTF9GTEFHU19OT19BVVRPX1NUQVJULAogICAgICAgICAgICAgLTEs
IG1fY2FuY2VsbGFibGUuZ2V0KCksIGRidXNDb25uZWN0aW9uQ2FsbEFzeW5jUmVhZHlDYWxsYmFj
aywgbnVsbHB0cik7CiAgICAgfQorCisgICAgcmV0dXJuIGJhY2tlbmRDb21tYW5kczsKIH0KIAog
dm9pZCBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNldHVwKEdEQnVzQ29ubmVjdGlvbiogY2xpZW50
Q29ubmVjdGlvbiwgdWludDY0X3QgY29ubmVjdGlvbklELCB1aW50NjRfdCB0YXJnZXRJRCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVt
b3RlSW5zcGVjdG9yU2VydmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9nbGliL1JlbW90ZUluc3BlY3RvclNlcnZlci5oCmluZGV4IDIzYzhlMWIxMWE5Li42ZDg4
NDgyNzlmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3BlY3RvclNlcnZlci5oCkBAIC01OSw3
ICs1OSw3IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgY29uc3QgR0RCdXNJbnRlcmZhY2VWVGFi
bGUgc19pbnRlcmZhY2VWVGFibGU7CiAgICAgdm9pZCBzZXRUYXJnZXRMaXN0KEdEQnVzQ29ubmVj
dGlvbiosIEdWYXJpYW50Kik7Ci0gICAgdm9pZCBnZXRUYXJnZXRMaXN0KEdEQnVzQ29ubmVjdGlv
biopOworICAgIEdWYXJpYW50KiBzZXR1cEluc3BlY3RvckNsaWVudChHREJ1c0Nvbm5lY3Rpb24q
LCBjb25zdCBjaGFyKiBjbGllbnRCYWNrZW5kQ29tbWFuZHNIYXNoKTsKICAgICB2b2lkIHNldHVw
KEdEQnVzQ29ubmVjdGlvbiosIHVpbnQ2NF90IGNvbm5lY3Rpb25JRCwgdWludDY0X3QgdGFyZ2V0
SUQpOwogICAgIHZvaWQgY2xvc2UoR0RCdXNDb25uZWN0aW9uKiwgdWludDY0X3QgY29ubmVjdGlv
bklELCB1aW50NjRfdCB0YXJnZXRJRCk7CiAgICAgdm9pZCBjbGllbnRDb25uZWN0aW9uQ2xvc2Vk
KEdEQnVzQ29ubmVjdGlvbiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JVdGlscy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3BlY3RvclV0aWxzLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzQ5MTk2MjEyNWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9n
bGliL1JlbW90ZUluc3BlY3RvclV0aWxzLmNwcApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlJlbW90ZUluc3BlY3RvclV0aWxzLmgiCisKKyNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKKworI2luY2x1ZGUgPGdpby9naW8uaD4KKyNpbmNsdWRlIDx3dGYvU0hBMS5oPgor
CisjaWYgUExBVEZPUk0oR1RLKQorI2RlZmluZSBJTlNQRUNUT1JfQkFDS0VORF9DT01NQU5EU19Q
QVRIICIvb3JnL3dlYmtpdGd0ay9pbnNwZWN0b3IvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMiCisjZW5kaWYKKworbmFtZXNwYWNlIEluc3BlY3RvciB7
CisKK0dSZWZQdHI8R0J5dGVzPiBiYWNrZW5kQ29tbWFuZHMoKQoreworICAgIEdSZWZQdHI8R0J5
dGVzPiBieXRlcyA9IGFkb3B0R1JlZihnX3Jlc291cmNlc19sb29rdXBfZGF0YShJTlNQRUNUT1Jf
QkFDS0VORF9DT01NQU5EU19QQVRILCBHX1JFU09VUkNFX0xPT0tVUF9GTEFHU19OT05FLCBudWxs
cHRyKSk7CisgICAgQVNTRVJUKGJ5dGVzKTsKKyAgICByZXR1cm4gYnl0ZXM7Cit9CisKK2NvbnN0
IENTdHJpbmcmIGJhY2tlbmRDb21tYW5kc0hhc2goKQoreworICAgIHN0YXRpYyBDU3RyaW5nIGhl
eERpZ2VzdDsKKyAgICBpZiAoaGV4RGlnZXN0LmlzTnVsbCgpKSB7CisgICAgICAgIGF1dG8gYnl0
ZXMgPSBiYWNrZW5kQ29tbWFuZHMoKTsKKyAgICAgICAgc2l6ZV90IGRhdGFTaXplOworICAgICAg
ICBnY29uc3Rwb2ludGVyIGRhdGEgPSBnX2J5dGVzX2dldF9kYXRhKGJ5dGVzLmdldCgpLCAmZGF0
YVNpemUpOworICAgICAgICBBU1NFUlQoZGF0YVNpemUpOworICAgICAgICBTSEExIHNoYTE7Cisg
ICAgICAgIHNoYTEuYWRkQnl0ZXMoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEpLCBk
YXRhU2l6ZSk7CisgICAgICAgIGhleERpZ2VzdCA9IHNoYTEuY29tcHV0ZUhleERpZ2VzdCgpOwor
ICAgIH0KKyAgICByZXR1cm4gaGV4RGlnZXN0OworfQorCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKKworI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JV
dGlscy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvZ2xpYi9SZW1v
dGVJbnNwZWN0b3JVdGlscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li42Zjk1YWI1YzUyYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcmVtb3RlL2dsaWIvUmVtb3RlSW5zcGVjdG9yVXRpbHMuaApAQCAtMCwwICsxLDQy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKworI2luY2x1ZGUgPHd0Zi9n
bGliL0dSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK3R5cGVkZWYg
c3RydWN0IF9HQnl0ZXMgR0J5dGVzOworCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKKworR1JlZlB0
cjxHQnl0ZXM+IGJhY2tlbmRDb21tYW5kcygpOworY29uc3QgQ1N0cmluZyYgYmFja2VuZENvbW1h
bmRzSGFzaCgpOworCit9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKKworI2VuZGlmIC8vIEVOQUJM
RShSRU1PVEVfSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggZjY4ODNhMDEx
ZTQuLmQ1YTZhNzhkN2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNy0wNC0yNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0dUS10gUmVtb3RlIGluc3BlY3RvciBzaG91bGQgc3VwcG9ydCBpbnNwZWN0
aW5nIHRhcmdldHMgd2l0aCBwcmV2aW91cyB2ZXJzaW9uIG9mIGJhY2tlbmQgY29tbWFuZHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI2NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHRvIHVz
ZSBkYXRhIFVSTHMgZm9yIHNjcmlwdC1zcmMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01h
aW4uaHRtbDoKKwogMjAxNy0wNC0yNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRE9NL1hIUiBicmVha3BvaW50IHNlY3Rpb25zIHNo
b3VsZCBiZSBjb2xsYXBzZWQgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IGZmOTZkMTJjNDg3Li5lYmNmNTk1ZGYxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtMjYs
NyArMjYsNyBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50
LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Ci0gICAgPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9ImRlZmF1bHQtc3JjICdz
ZWxmJzsgaW1nLXNyYyAqIGZpbGU6IGJsb2I6IHJlc291cmNlOjsgY29ubmVjdC1zcmMgKiB3czo7
IG1lZGlhLXNyYyAqIGJsb2I6OyBmb250LXNyYyAqIGJsb2I6OyBzdHlsZS1zcmMgJ3NlbGYnICd1
bnNhZmUtaW5saW5lJzsgc2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIj4KKyAgICA8
bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0iZGVmYXVs
dC1zcmMgJ3NlbGYnOyBpbWctc3JjICogZmlsZTogYmxvYjogcmVzb3VyY2U6OyBjb25uZWN0LXNy
YyAqIHdzOjsgbWVkaWEtc3JjICogYmxvYjo7IGZvbnQtc3JjICogYmxvYjo7IHN0eWxlLXNyYyAn
c2VsZicgJ3Vuc2FmZS1pbmxpbmUnOyBzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZScg
ZGF0YToiPgogCiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJFeHRlcm5hbC9Db2Rl
TWlycm9yL2NvZGVtaXJyb3IuY3NzIj4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDQxMGE1ZTMzZmJmLi44YWYx
ODcyYTVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE3LTA0LTI1ICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1RLXSBSZW1v
dGUgaW5zcGVjdG9yIHNob3VsZCBzdXBwb3J0IGluc3BlY3RpbmcgdGFyZ2V0cyB3aXRoIHByZXZp
b3VzIHZlcnNpb24gb2YgYmFja2VuZCBjb21tYW5kcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUncyBhIEZJWE1FIGZvciB0aGlzIGluIHRoZSBj
b2RlLiBUaGUgcmVtb3RlIGluc3BlY3RvciBwcm94eSBhbGxvd3MgdG8gcGFzcyBhIGJhY2tlbmQg
Y29tbWFuZHMgVVJMIHdoZW4KKyAgICAgICAgaW5zcGVjdGluZyBhIHRhcmdldC4gVGhhdCBVUkws
IGlmIG5vdCBlbXB0eSwgaXMgdXNlZCBhcyBQcm90b2NvbC9JbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuanMgaW4gdGhlIGluc3BlY3RvcgorICAgICAgICBjb2RlIGluc3RlYWQgb2YgdGhlIGxvY2Fs
IGNvcHkuIFdlIGFyZSBjdXJyZW50bHkgYXNzdW1pbmcgdGhhdCBib3RoIGVuZHMgdXNlIHRoZSBz
YW1lIHZlcnNpb24gb2YgdGhhdCBmaWxlLgorCisgICAgICAgICogVUlQcm9jZXNzL2dsaWIvUmVt
b3RlSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW5zcGVjdG9y
UHJveHk6OmxvYWQpOiBQYXNzIFJlbW90ZUluc3BlY3RvckNsaWVudDo6YmFja2VuZENvbW1hbmRz
VVJMKCkgdG8gbG9hZCgpLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbnNwZWN0b3JDbGllbnQ6
OnNldHVwQ29ubmVjdGlvbik6IEdldCB0aGUgbG9jYWwgYmFja2VuZCBjb21tYW5kcyBoYXNoIGFu
ZCBwYXNzIGl0IHRvCisgICAgICAgIFNldHVwSW5zcGVjdG9yQ2xpZW50IG1ldGhvZC4gRXh0cmFj
dCB0aGUgc2VydmVyIGJhY2tlbmQgY29tbWFuZHMgZnJvbSB0aGUgcmVzdWx0IGFuZCBjYWxsIHNl
dEJhY2tlbmRDb21tYW5kcygpLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbnNwZWN0b3JDbGll
bnQ6OnNldEJhY2tlbmRDb21tYW5kcyk6IENyZWF0ZSBhIGRhdGEgVVJMIGZvciB0aGUgc2VydmVy
IGJhY2tlbmQgY29tbWFuZHMgZmlsZQorICAgICAgICBjb25lbnRzIGlmIG5lZWRlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvZ2xpYi9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpiYWNrZW5kQ29tbWFuZHNVUkwpOgorCisyMDE3
LTA0LTI1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKwogICAg
ICAgICBbR1RLXSBBZGQgV2ViS2l0SW5zcGVjdG9yV2luZG93IHRvIGNyZWF0ZSBpbnNwZWN0b3Ig
d2luZG93cyBmcm9tIGxvY2FsIGFuZCByZW1vdGUgaW5zcGVjdG9yCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEyNjEKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2dsaWIvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9nbGliL1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAKaW5k
ZXggYmZlOWI3ZjAyOGMuLmRmODdhZDVkOTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZ2xpYi9SZW1vdGVJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9nbGliL1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAKQEAgLTI5LDggKzI5
LDEwIEBACiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAKICNpbmNsdWRlICJSZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eS5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3Bl
Y3RvclV0aWxzLmg+CiAjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dV
bmlxdWVQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9CYXNlNjQuaD4KIAogI2lmIFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgUkVNT1RFX0lOU1BFQ1RPUl9DTElFTlRfREJVU19JTlRFUkZBQ0UgIm9y
Zy53ZWJraXRndGsuUmVtb3RlSW5zcGVjdG9yQ2xpZW50IgpAQCAtNjEsOCArNjMsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGxvYWQoKQogICAgIHsKLSAgICAgICAgLy8gRklYTUU6IHN1cHBvcnQg
b2xkIGJhY2tlbmQgY29tbWFuZHMgVVJMLgotICAgICAgICBtX3Byb3h5LT5sb2FkKCJ3ZWIiLCBT
dHJpbmcoKSk7CisgICAgICAgIG1fcHJveHktPmxvYWQoIndlYiIsIG1faW5zcGVjdG9yQ2xpZW50
LmJhY2tlbmRDb21tYW5kc1VSTCgpKTsKICAgICB9CiAKICAgICB2b2lkIHNob3coKQpAQCAtMjA0
LDEwICsyMDUsMzYgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldHVwQ29ubmVjdGlv
bihHUmVmUHRyPEdEQnVzQ29ubmVjdGlvbj4mJiBjb25uZWN0aW8KICAgICBnX2RidXNfY29ubmVj
dGlvbl9jYWxsKG1fZGJ1c0Nvbm5lY3Rpb24uZ2V0KCksIG51bGxwdHIsCiAgICAgICAgIElOU1BF
Q1RPUl9EQlVTX09CSkVDVF9QQVRILAogICAgICAgICBJTlNQRUNUT1JfREJVU19JTlRFUkZBQ0Us
Ci0gICAgICAgICJHZXRUYXJnZXRMaXN0IiwKLSAgICAgICAgbnVsbHB0ciwKKyAgICAgICAgIlNl
dHVwSW5zcGVjdG9yQ2xpZW50IiwKKyAgICAgICAgZ192YXJpYW50X25ldygiKEBheSkiLCBnX3Zh
cmlhbnRfbmV3X2J5dGVzdHJpbmcoSW5zcGVjdG9yOjpiYWNrZW5kQ29tbWFuZHNIYXNoKCkuZGF0
YSgpKSksCiAgICAgICAgIG51bGxwdHIsIEdfREJVU19DQUxMX0ZMQUdTX05PX0FVVE9fU1RBUlQs
Ci0gICAgICAgIC0xLCBtX2NhbmNlbGxhYmxlLmdldCgpLCBkYnVzQ29ubmVjdGlvbkNhbGxBc3lu
Y1JlYWR5Q2FsbGJhY2ssIG51bGxwdHIpOworICAgICAgICAtMSwgbV9jYW5jZWxsYWJsZS5nZXQo
KSwgW10oR09iamVjdCogc291cmNlLCBHQXN5bmNSZXN1bHQqIHJlc3VsdCwgZ3BvaW50ZXIgdXNl
ckRhdGEpIHsKKyAgICAgICAgICAgIEdVbmlxdWVPdXRQdHI8R0Vycm9yPiBlcnJvcjsKKyAgICAg
ICAgICAgIEdSZWZQdHI8R1ZhcmlhbnQ+IHJlc3VsdFZhcmlhbnQgPSBhZG9wdEdSZWYoZ19kYnVz
X2Nvbm5lY3Rpb25fY2FsbF9maW5pc2goR19EQlVTX0NPTk5FQ1RJT04oc291cmNlKSwgcmVzdWx0
LCAmZXJyb3Iub3V0UHRyKCkpKTsKKyAgICAgICAgICAgIGlmIChnX2Vycm9yX21hdGNoZXMoZXJy
b3IuZ2V0KCksIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfQ0FOQ0VMTEVEKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICBpZiAoIXJlc3VsdFZhcmlhbnQpIHsKKyAgICAgICAg
ICAgICAgICBXVEZMb2dBbHdheXMoIlJlbW90ZUluc3BlY3RvckNsaWVudCBmYWlsZWQgdG8gc2Vu
ZCBEQnVzIG1lc3NhZ2U6ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgYXV0byogY2xpZW50ID0gc3RhdGlj
X2Nhc3Q8UmVtb3RlSW5zcGVjdG9yQ2xpZW50Kj4odXNlckRhdGEpOworICAgICAgICAgICAgR1Jl
ZlB0cjxHVmFyaWFudD4gYmFja2VuZENvbW1hbmRzVmFyaWFudDsKKyAgICAgICAgICAgIGdfdmFy
aWFudF9nZXQocmVzdWx0VmFyaWFudC5nZXQoKSwgIihAYXkpIiwgJmJhY2tlbmRDb21tYW5kc1Zh
cmlhbnQub3V0UHRyKCkpOworICAgICAgICAgICAgY2xpZW50LT5zZXRCYWNrZW5kQ29tbWFuZHMo
Z192YXJpYW50X2dldF9ieXRlc3RyaW5nKGJhY2tlbmRDb21tYW5kc1ZhcmlhbnQuZ2V0KCkpKTsK
KyAgICAgICAgfSwgdGhpcyk7Cit9CisKK3ZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRC
YWNrZW5kQ29tbWFuZHMoY29uc3QgY2hhciogYmFja2VuZENvbW1hbmRzKQoreworICAgIGlmICgh
YmFja2VuZENvbW1hbmRzIHx8ICFiYWNrZW5kQ29tbWFuZHNbMF0pIHsKKyAgICAgICAgbV9iYWNr
ZW5kQ29tbWFuZHNVUkwgPSBTdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IFZlY3RvcjxjaGFyPiBiYXNlNjREYXRhOworICAgIGJhc2U2NEVuY29kZShiYWNrZW5kQ29tbWFu
ZHMsIHN0cmxlbihiYWNrZW5kQ29tbWFuZHMpLCBiYXNlNjREYXRhKTsKKyAgICBtX2JhY2tlbmRD
b21tYW5kc1VSTCA9ICJkYXRhOnRleHQvamF2YXNjcmlwdDtiYXNlNjQsIiArIGJhc2U2NERhdGE7
CiB9CiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50Ojpjb25uZWN0aW9uQ2xvc2VkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9nbGliL1JlbW90ZUluc3BlY3RvckNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2dsaWIvUmVtb3RlSW5zcGVjdG9yQ2xp
ZW50LmgKaW5kZXggNzEwYmJmNDk1MjIuLjY4ODE4Y2YwMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ2xpYi9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ2xpYi9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaApAQCAtNjUs
NiArNjUsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBIYXNoTWFwPHVpbnQ2NF90LCBWZWN0b3I8
VGFyZ2V0Pj4mIHRhcmdldHMoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldHM7IH0KICAgICBjb25z
dCBTdHJpbmcmIGhvc3RBbmRQb3J0KCkgY29uc3QgeyByZXR1cm4gbV9ob3N0QW5kUG9ydDsgfQor
ICAgIGNvbnN0IFN0cmluZyYgYmFja2VuZENvbW1hbmRzVVJMKCkgY29uc3QgeyByZXR1cm4gbV9i
YWNrZW5kQ29tbWFuZHNVUkw7IH0KIAogICAgIHZvaWQgaW5zcGVjdCh1aW50NjRfdCBjb25uZWN0
aW9uSUQsIHVpbnQ2NF90IHRhcmdldElEKTsKICAgICB2b2lkIHNlbmRNZXNzYWdlVG9CYWNrZW5k
KHVpbnQ2NF90IGNvbm5lY3Rpb25JRCwgdWludDY0X3QgdGFyZ2V0SUQsIGNvbnN0IFN0cmluZyYp
OwpAQCAtNzYsMTAgKzc3LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25uZWN0aW9uQ2xvc2Vk
KCk7CiAKICAgICBzdGF0aWMgY29uc3QgR0RCdXNJbnRlcmZhY2VWVGFibGUgc19pbnRlcmZhY2VW
VGFibGU7CisgICAgdm9pZCBzZXRCYWNrZW5kQ29tbWFuZHMoY29uc3QgY2hhciopOwogICAgIHZv
aWQgc2V0VGFyZ2V0TGlzdCh1aW50NjRfdCBjb25uZWN0aW9uSUQsIFZlY3RvcjxUYXJnZXQ+JiYp
OwogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb0Zyb250ZW5kKHVpbnQ2NF90IGNvbm5lY3Rpb25JRCwg
dWludDY0X3QgdGFyZ2V0SUQsIGNvbnN0IGNoYXIqKTsKIAogICAgIFN0cmluZyBtX2hvc3RBbmRQ
b3J0OworICAgIFN0cmluZyBtX2JhY2tlbmRDb21tYW5kc1VSTDsKICAgICBSZW1vdGVJbnNwZWN0
b3JPYnNlcnZlciYgbV9vYnNlcnZlcjsKICAgICBHUmVmUHRyPEdEQnVzQ29ubmVjdGlvbj4gbV9k
YnVzQ29ubmVjdGlvbjsKICAgICBHUmVmUHRyPEdDYW5jZWxsYWJsZT4gbV9jYW5jZWxsYWJsZTsK
</data>
<flag name="review"
          id="329272"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>