<?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>229787</bug_id>
          
          <creation_ts>2021-09-01 18:12:39 -0700</creation_ts>
          <short_desc>[JSC] ScriptExecutable::newCodeBlockFor should handle exceptions more predictably</short_desc>
          <delta_ts>2021-09-02 11:35:28 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1789572</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-09-01 18:12:39 -0700</bug_when>
    <thetext>[JSC] ScriptExecutable::newCodeBlockFor should handle exceptions more predictably</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789574</commentid>
    <comment_count>1</comment_count>
      <attachid>437100</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-09-01 18:25:56 -0700</bug_when>
    <thetext>Created attachment 437100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789615</commentid>
    <comment_count>2</comment_count>
      <attachid>437100</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-09-02 00:55:18 -0700</bug_when>
    <thetext>Comment on attachment 437100
Patch

The code is so much cleaner and more concise now.  r=me if the EWS bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789801</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-02 11:34:09 -0700</bug_when>
    <thetext>Committed r281939 (241248@main): &lt;https://commits.webkit.org/241248@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437100.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789802</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-02 11:35:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/82685492&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437100</attachid>
            <date>2021-09-01 18:25:56 -0700</date>
            <delta_ts>2021-09-02 11:34:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229787-20210901182554.patch</filename>
            <type>text/plain</type>
            <size>26618</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZjAzNWQxNWNiNWVhNjgwNGJmOTIyOWYxNGNmYTFlMmZkN2NkYTZmLi41MDcwOWMyMzc0YzFjNTcy
N2NkNGFhOGI1MTYyODYyM2E3ZTE5OWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAyMS0wOS0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gU2NyaXB0RXhlY3V0YWJsZTo6bmV3Q29kZUJsb2NrRm9y
IHNob3VsZCBoYW5kbGUgZXhjZXB0aW9ucyBtb3JlIHByZWRpY3RhYmx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk3ODcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTY3JpcHRFeGVjdXRhYmxlOjpuZXdD
b2RlQmxvY2tGb3IgaGFzIGZvdXIgY29kZXBhdGhzIC0tIG9uZSBmb3IgZWFjaCBvZiBFdmFsRXhl
Y3V0YWJsZSwgUHJvZ3JhbUV4ZWN1dGFibGUsCisgICAgICAgIE1vZHVsZVByb2dyYW1FeGVjdXRh
YmxlLCBhbmQgRnVuY3Rpb25FeGVjdXRhYmxlLiBUaGVzZSBhbGwgZW5kIHVwIGluIGJvb2wgQ29k
ZUJsb2NrOjpmaW5pc2hDcmVhdGlvbiguLi4pLAorICAgICAgICBidXQgdGhlIGZpcnN0IHRocmVl
IG92ZXJ3cml0ZSB0aGUgY3VycmVudCBleGNlcHRpb24gd2l0aCBhbiBPT00gZXJyb3Igd2hpbGUg
dGhlIGxhc3QgZG9lcyBub3QuCisgICAgICAgIEZ1cnRoZXJtb3JlLCBuZXdDb2RlQmxvY2tGb3Ig
aGFuZGxlcyBleGNlcHRpb25zIHZpYSBhbiBvdXQgcGFyYW0sIHdoaWNoIGlzIHRoZW4gcmV0dXJu
ZWQgYnkgaXRzIHNpbmdsZSBjYWxsZXIsCisgICAgICAgIHByZXBhcmVGb3JFeGVjdXRpb25JbXBs
LgorCisgICAgICAgIEFsdG9nZXRoZXIsIHRoaXMgcmVzdWx0cyBpbiBzb21lIHF1ZXN0aW9uYWJs
ZSBjaGVja2luZyBvZiB0aGUgcmV0dXJuZWQgZXhjZXB0aW9uIGFnYWluc3QgdGhyb3dTY29wZS5l
eGNlcHRpb24oKQorICAgICAgICBhdCBwcmVwYXJlRm9yRXhlY3V0aW9uJ3MgY2FsbHNpdGVzIGlu
IEludGVycHJldGVyIGFuZCBlbHNld2hlcmUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhaW1zIHRv
IG1ha2UgdGhpcyBleGNlcHRpb24gaGFuZGxpbmcgY2xlYXJlciBhbmQgbW9yZSBjb25zaXN0ZW50
IGJ5OgorICAgICAgICAxLiBub3Qgb3ZlcndyaXRpbmcgYW4gZXhpc3RpbmcgZXhjZXB0aW9uIHdp
dGggYW4gT09NIGVycm9yCisgICAgICAgIDIuIGRvaW5nIGF3YXkgd2l0aCB0aGUgb3V0IHBhcmFt
IGluIGZhdm9yIG9mIFJFVFVSTl9JRl9FWENFUFRJT04KKworICAgICAgICAqIGJ5dGVjb2RlL0Nv
ZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpTY3JpcHRFeGVjdXRhYmxlOjpwcmVwYXJlRm9yRXhl
Y3V0aW9uKToKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6SlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9J
bnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpleGVjdXRlUHJvZ3Jh
bSk6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpleGVjdXRlQ2FsbCk6CisgICAgICAgIChK
U0M6OkludGVycHJldGVyOjpleGVjdXRlQ29uc3RydWN0KToKKyAgICAgICAgKEpTQzo6SW50ZXJw
cmV0ZXI6OnByZXBhcmVGb3JSZXBlYXRDYWxsKToKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6
OmV4ZWN1dGUpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZU1vZHVsZVByb2dy
YW0pOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVySW5saW5lcy5oOgorICAgICAg
ICAoSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZSk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0pJVF9PUEVSQVRJT04pOgorICAgICAg
ICAoSlNDOjp2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKToKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpzZXRVcENhbGwpOgorICAgICAgICAq
IHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1
dGFibGU6Om5ld0NvZGVCbG9ja0Zvcik6CisgICAgICAgIChKU0M6OlNjcmlwdEV4ZWN1dGFibGU6
OnByZXBhcmVGb3JFeGVjdXRpb25JbXBsKToKKyAgICAgICAgKiBydW50aW1lL1NjcmlwdEV4ZWN1
dGFibGUuaDoKKwogMjAyMS0wOS0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBleGNlcHRpb24gc2NvcGUgdmVyaWZpY2F0aW9u
IGZpeCBmb3IgcjI0MTE3MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCA0ZjcwZmE5ZmY4MWIzM2M3YmYwNDY5MWRiNTIxZjY5M2FhM2Y5NGI3Li5hNjNm
NDc3M2FmY2Q5YWM0NGFmZTA2OTIyNTRlMWY5NDA0NGEzODAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0xMDQ5LDI5ICsxMDQ5LDIzIEBAIHByaXZh
dGU6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgRXhlY3V0YWJsZVR5cGU+Ci1FeGNlcHRpb24q
IFNjcmlwdEV4ZWN1dGFibGU6OnByZXBhcmVGb3JFeGVjdXRpb24oVk0mIHZtLCBKU0Z1bmN0aW9u
KiBmdW5jdGlvbiwgSlNTY29wZSogc2NvcGUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwg
Q29kZUJsb2NrKiYgcmVzdWx0Q29kZUJsb2NrKQordm9pZCBTY3JpcHRFeGVjdXRhYmxlOjpwcmVw
YXJlRm9yRXhlY3V0aW9uKFZNJiB2bSwgSlNGdW5jdGlvbiogZnVuY3Rpb24sIEpTU2NvcGUqIHNj
b3BlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIENvZGVCbG9jayomIHJlc3VsdENvZGVC
bG9jaykKIHsKICAgICBpZiAoaGFzSklUQ29kZUZvcihraW5kKSkgewotICAgICAgICBpZiBjb25z
dGV4cHIgKHN0ZDo6aXNfc2FtZTxFeGVjdXRhYmxlVHlwZSwgRXZhbEV4ZWN1dGFibGU+Ojp2YWx1
ZSkgeworICAgICAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZTxFeGVjdXRhYmxlVHlwZSwg
RXZhbEV4ZWN1dGFibGU+Ojp2YWx1ZSkKICAgICAgICAgICAgIHJlc3VsdENvZGVCbG9jayA9IGpz
Q2FzdDxDb2RlQmxvY2sqPihqc0Nhc3Q8RXhlY3V0YWJsZVR5cGUqPih0aGlzKS0+Y29kZUJsb2Nr
KCkpOwotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
Y29uc3RleHByIChzdGQ6OmlzX3NhbWU8RXhlY3V0YWJsZVR5cGUsIFByb2dyYW1FeGVjdXRhYmxl
Pjo6dmFsdWUpIHsKKyAgICAgICAgZWxzZSBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfc2FtZTxFeGVj
dXRhYmxlVHlwZSwgUHJvZ3JhbUV4ZWN1dGFibGU+Ojp2YWx1ZSkKICAgICAgICAgICAgIHJlc3Vs
dENvZGVCbG9jayA9IGpzQ2FzdDxDb2RlQmxvY2sqPihqc0Nhc3Q8RXhlY3V0YWJsZVR5cGUqPih0
aGlzKS0+Y29kZUJsb2NrKCkpOwotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAg
IH0KLSAgICAgICAgaWYgY29uc3RleHByIChzdGQ6OmlzX3NhbWU8RXhlY3V0YWJsZVR5cGUsIE1v
ZHVsZVByb2dyYW1FeGVjdXRhYmxlPjo6dmFsdWUpIHsKKyAgICAgICAgZWxzZSBpZiBjb25zdGV4
cHIgKHN0ZDo6aXNfc2FtZTxFeGVjdXRhYmxlVHlwZSwgTW9kdWxlUHJvZ3JhbUV4ZWN1dGFibGU+
Ojp2YWx1ZSkKICAgICAgICAgICAgIHJlc3VsdENvZGVCbG9jayA9IGpzQ2FzdDxDb2RlQmxvY2sq
Pihqc0Nhc3Q8RXhlY3V0YWJsZVR5cGUqPih0aGlzKS0+Y29kZUJsb2NrKCkpOwotICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgY29uc3RleHByIChzdGQ6
OmlzX3NhbWU8RXhlY3V0YWJsZVR5cGUsIEZ1bmN0aW9uRXhlY3V0YWJsZT46OnZhbHVlKSB7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3NhbWU8RXhl
Y3V0YWJsZVR5cGUsIEZ1bmN0aW9uRXhlY3V0YWJsZT46OnZhbHVlKTsKICAgICAgICAgICAgIHJl
c3VsdENvZGVCbG9jayA9IGpzQ2FzdDxDb2RlQmxvY2sqPihqc0Nhc3Q8RXhlY3V0YWJsZVR5cGUq
Pih0aGlzKS0+Y29kZUJsb2NrRm9yKGtpbmQpKTsKLSAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICB9Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHJldHVybiBw
cmVwYXJlRm9yRXhlY3V0aW9uSW1wbCh2bSwgZnVuY3Rpb24sIHNjb3BlLCBraW5kLCByZXN1bHRD
b2RlQmxvY2spOworCisgICAgcHJlcGFyZUZvckV4ZWN1dGlvbkltcGwodm0sIGZ1bmN0aW9uLCBz
Y29wZSwga2luZCwgcmVzdWx0Q29kZUJsb2NrKTsKIH0KIAogI2RlZmluZSBDT0RFQkxPQ0tfTE9H
X0VWRU5UKGNvZGVCbG9jaywgc3VtbWFyeSwgZGV0YWlscykgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKaW5kZXggNjA5NjZjMzMyNjEwNzc3NzU1NWUzOWVm
MGMwZGNhOTBiMzRjMjY1NS4uMDRhMTMwNjkwYzMyNTkwZjI3NmFmYmExMjQ3M2U0N2Q0MTY4ZWFl
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCkBAIC0z
NzYzLDEzICszNzYzLDExIEBAIEpTQ19ERUZJTkVfSklUX09QRVJBVElPTihvcGVyYXRpb25MaW5r
RGlyZWN0Q2FsbCwgdm9pZCwgKENhbGxMaW5rSW5mbyogY2FsbExpbmtJCiAgICAgICAgIGNvZGVQ
dHIgPSBleGVjdXRhYmxlLT5lbnRyeXBvaW50Rm9yKGtpbmQsIE11c3RDaGVja0FyaXR5KTsKICAg
ICBlbHNlIHsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUg
PSBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihleGVjdXRhYmxlKTsKLQogICAgICAg
ICBSRUxFQVNFX0FTU0VSVChpc0NhbGwoa2luZCkgfHwgZnVuY3Rpb25FeGVjdXRhYmxlLT5jb25z
dHJ1Y3RBYmlsaXR5KCkgIT0gQ29uc3RydWN0QWJpbGl0eTo6Q2Fubm90Q29uc3RydWN0KTsKLSAg
ICAgICAgCi0gICAgICAgIEV4Y2VwdGlvbiogZXJyb3IgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPnBy
ZXBhcmVGb3JFeGVjdXRpb248RnVuY3Rpb25FeGVjdXRhYmxlPih2bSwgY2FsbGVlLCBzY29wZSwg
a2luZCwgY29kZUJsb2NrKTsKLSAgICAgICAgRVhDRVBUSU9OX0FTU0VSVF9VTlVTRUQodGhyb3dT
Y29wZSwgdGhyb3dTY29wZS5leGNlcHRpb24oKSA9PSBlcnJvcik7Ci0gICAgICAgIGlmIChVTkxJ
S0VMWShlcnJvcikpCi0gICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZnVuY3Rpb25FeGVj
dXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhlY3V0YWJsZT4odm0sIGNhbGxl
ZSwgc2NvcGUsIGtpbmQsIGNvZGVCbG9jayk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgdm9pZCgpKTsKKwogICAgICAgICB1bnNpZ25lZCBhcmd1bWVudFN0YWNrU2xv
dHMgPSBjYWxsTGlua0luZm8tPm1heEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKCk7CiAgICAg
ICAgIGlmIChhcmd1bWVudFN0YWNrU2xvdHMgPCBzdGF0aWNfY2FzdDxzaXplX3Q+KGNvZGVCbG9j
ay0+bnVtUGFyYW1ldGVycygpKSkKICAgICAgICAgICAgIGNvZGVQdHIgPSBmdW5jdGlvbkV4ZWN1
dGFibGUtPmVudHJ5cG9pbnRGb3Ioa2luZCwgTXVzdENoZWNrQXJpdHkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggODNmZjI4
ZjIzMTE5NzAyNTNkMGIyMGJmZDZkNzdjNWRmOTI1OWY4Mi4uOGQ0NzJmYjUxNGU1M2Y1MGM2YjA4
YzY4ZTQ5MzBiMTM0Yjc4NzhlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC04MTQsMTIgKzgxNCwxMSBAQCBmYWlsZWRKU09O
UDoKICAgICBQcm9ncmFtQ29kZUJsb2NrKiBjb2RlQmxvY2s7CiAgICAgewogICAgICAgICBDb2Rl
QmxvY2sqIHRlbXBDb2RlQmxvY2s7Ci0gICAgICAgIEV4Y2VwdGlvbiogZXJyb3IgPSBwcm9ncmFt
LT5wcmVwYXJlRm9yRXhlY3V0aW9uPFByb2dyYW1FeGVjdXRhYmxlPih2bSwgbnVsbHB0ciwgc2Nv
cGUsIENvZGVGb3JDYWxsLCB0ZW1wQ29kZUJsb2NrKTsKLSAgICAgICAgRVhDRVBUSU9OX0FTU0VS
VCh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpID09IGVycm9yKTsKLSAgICAgICAgaWYgKFVOTElLRUxZ
KGVycm9yKSkKLSAgICAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGVycm9yKTsKKyAgICAg
ICAgcHJvZ3JhbS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxQcm9ncmFtRXhlY3V0YWJsZT4odm0sIG51
bGxwdHIsIHNjb3BlLCBDb2RlRm9yQ2FsbCwgdGVtcENvZGVCbG9jayk7CisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgY2hlY2tlZFJldHVybih0aHJvd1Njb3BlLmV4Y2Vw
dGlvbigpKSk7CisKICAgICAgICAgY29kZUJsb2NrID0ganNDYXN0PFByb2dyYW1Db2RlQmxvY2sq
Pih0ZW1wQ29kZUJsb2NrKTsKLSAgICAgICAgQVNTRVJUKGNvZGVCbG9jay0+bnVtUGFyYW1ldGVy
cygpID09IDEpOyAvLyAxIHBhcmFtZXRlciBmb3IgJ3RoaXMnLgorICAgICAgICBBU1NFUlQoY29k
ZUJsb2NrICYmIGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpID09IDEpOyAvLyAxIHBhcmFtZXRl
ciBmb3IgJ3RoaXMnLgogICAgIH0KIAogICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2RlOwpAQCAt
ODc3LDEyICs4NzYsMTAgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZUNhbGwoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTT2JqZWN0KgogICAgIENvZGVCbG9jayog
bmV3Q29kZUJsb2NrID0gbnVsbHB0cjsKICAgICBpZiAoaXNKU0NhbGwpIHsKICAgICAgICAgLy8g
Q29tcGlsZSB0aGUgY2FsbGVlOgotICAgICAgICBFeGNlcHRpb24qIGNvbXBpbGVFcnJvciA9IGNh
bGxEYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlv
bkV4ZWN1dGFibGU+KHZtLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGZ1bmN0aW9uKSwgc2NvcGUsIENv
ZGVGb3JDYWxsLCBuZXdDb2RlQmxvY2spOwotICAgICAgICBFWENFUFRJT05fQVNTRVJUKHRocm93
U2NvcGUuZXhjZXB0aW9uKCkgPT0gY29tcGlsZUVycm9yKTsKLSAgICAgICAgaWYgKFVOTElLRUxZ
KCEhY29tcGlsZUVycm9yKSkKLSAgICAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGNvbXBp
bGVFcnJvcik7CisgICAgICAgIGNhbGxEYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFy
ZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLCBqc0Nhc3Q8SlNGdW5jdGlvbio+
KGZ1bmN0aW9uKSwgc2NvcGUsIENvZGVGb3JDYWxsLCBuZXdDb2RlQmxvY2spOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGNoZWNrZWRSZXR1cm4odGhyb3dTY29wZS5l
eGNlcHRpb24oKSkpOwogCi0gICAgICAgIEFTU0VSVCghIW5ld0NvZGVCbG9jayk7CisgICAgICAg
IEFTU0VSVChuZXdDb2RlQmxvY2spOwogICAgICAgICBuZXdDb2RlQmxvY2stPm1fc2hvdWxkQWx3
YXlzQmVJbmxpbmVkID0gZmFsc2U7CiAgICAgfQogCkBAIC05NTUsMTIgKzk1MiwxMCBAQCBKU09i
amVjdCogSW50ZXJwcmV0ZXI6OmV4ZWN1dGVDb25zdHJ1Y3QoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTTwogICAgIENvZGVCbG9jayogbmV3Q29kZUJsb2NrID0gbnVsbHB0
cjsKICAgICBpZiAoaXNKU0NvbnN0cnVjdCkgewogICAgICAgICAvLyBDb21waWxlIHRoZSBjYWxs
ZWU6Ci0gICAgICAgIEV4Y2VwdGlvbiogY29tcGlsZUVycm9yID0gY29uc3RydWN0RGF0YS5qcy5m
dW5jdGlvbkV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb248RnVuY3Rpb25FeGVjdXRhYmxl
Pih2bSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciksIHNjb3BlLCBDb2RlRm9yQ29u
c3RydWN0LCBuZXdDb2RlQmxvY2spOwotICAgICAgICBFWENFUFRJT05fQVNTRVJUKHRocm93U2Nv
cGUuZXhjZXB0aW9uKCkgPT0gY29tcGlsZUVycm9yKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKCEh
Y29tcGlsZUVycm9yKSkKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBjb25z
dHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5j
dGlvbkV4ZWN1dGFibGU+KHZtLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKSwgc2Nv
cGUsIENvZGVGb3JDb25zdHJ1Y3QsIG5ld0NvZGVCbG9jayk7CisgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgbnVsbHB0cik7CiAKLSAgICAgICAgQVNTRVJUKCEhbmV3Q29k
ZUJsb2NrKTsKKyAgICAgICAgQVNTRVJUKG5ld0NvZGVCbG9jayk7CiAgICAgICAgIG5ld0NvZGVC
bG9jay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQgPSBmYWxzZTsKICAgICB9CiAKQEAgLTk5NSwx
NiArOTkwLDE2IEBAIENhbGxGcmFtZUNsb3N1cmUgSW50ZXJwcmV0ZXI6OnByZXBhcmVGb3JSZXBl
YXRDYWxsKEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FCiAgICAgVk0mIHZtID0gc2NvcGUt
PnZtKCk7CiAgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAg
ICAgdGhyb3dTY29wZS5hc3NlcnROb0V4Y2VwdGlvbigpOwotICAgIAorCiAgICAgaWYgKHZtLmlz
Q29sbGVjdG9yQnVzeU9uQ3VycmVudFRocmVhZCgpKQotICAgICAgICByZXR1cm4gQ2FsbEZyYW1l
Q2xvc3VyZSgpOworICAgICAgICByZXR1cm4geyB9OwogCiAgICAgLy8gQ29tcGlsZSB0aGUgY2Fs
bGVlOgogICAgIENvZGVCbG9jayogbmV3Q29kZUJsb2NrOwotICAgIEV4Y2VwdGlvbiogZXJyb3Ig
PSBmdW5jdGlvbkV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb248RnVuY3Rpb25FeGVjdXRh
YmxlPih2bSwgZnVuY3Rpb24sIHNjb3BlLCBDb2RlRm9yQ2FsbCwgbmV3Q29kZUJsb2NrKTsKLSAg
ICBFWENFUFRJT05fQVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgPT0gZXJyb3IpOwotICAg
IGlmIChVTkxJS0VMWShlcnJvcikpCi0gICAgICAgIHJldHVybiBDYWxsRnJhbWVDbG9zdXJlKCk7
CisgICAgZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhl
Y3V0YWJsZT4odm0sIGZ1bmN0aW9uLCBzY29wZSwgQ29kZUZvckNhbGwsIG5ld0NvZGVCbG9jayk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOworCisgICAgQVNTRVJU
KG5ld0NvZGVCbG9jayk7CiAgICAgbmV3Q29kZUJsb2NrLT5tX3Nob3VsZEFsd2F5c0JlSW5saW5l
ZCA9IGZhbHNlOwogCiAgICAgc2l6ZV90IGFyZ3NDb3VudCA9IGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzOwpAQCAtMTA2NiwyMyArMTA2MSwxNCBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpleGVj
dXRlKEV2YWxFeGVjdXRhYmxlKiBldmFsLCBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbAog
ICAgICAgICAgICAgcmV0dXJuIHRocm93U2NvcGUuZXhjZXB0aW9uKCk7CiAgICAgfQogCi0gICAg
YXV0byBsb2FkQ29kZUJsb2NrID0gWyZdKEV4Y2VwdGlvbiomIGNvbXBpbGVFcnJvcikgLT4gRXZh
bENvZGVCbG9jayogewotICAgICAgICBDb2RlQmxvY2sqIHRlbXBDb2RlQmxvY2s7Ci0gICAgICAg
IGNvbXBpbGVFcnJvciA9IGV2YWwtPnByZXBhcmVGb3JFeGVjdXRpb248RXZhbEV4ZWN1dGFibGU+
KHZtLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwsIHRlbXBDb2RlQmxvY2spOwotICAgICAg
ICBFWENFUFRJT05fQVNTRVJUKHRocm93U2NvcGUuZXhjZXB0aW9uKCkgPT0gY29tcGlsZUVycm9y
KTsKLSAgICAgICAgaWYgKFVOTElLRUxZKCEhY29tcGlsZUVycm9yKSkKLSAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOwotICAgICAgICByZXR1cm4ganNDYXN0PEV2YWxDb2RlQmxvY2sqPih0ZW1w
Q29kZUJsb2NrKTsKLSAgICB9OwotCiAgICAgRXZhbENvZGVCbG9jayogY29kZUJsb2NrOwogICAg
IHsKLSAgICAgICAgRXhjZXB0aW9uKiBjb21waWxlRXJyb3IgPSBudWxscHRyOwotICAgICAgICBj
b2RlQmxvY2sgPSBsb2FkQ29kZUJsb2NrKGNvbXBpbGVFcnJvcik7Ci0gICAgICAgIEVYQ0VQVElP
Tl9BU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSA9PSBjb21waWxlRXJyb3IpOwotICAgICAg
ICBpZiAoVU5MSUtFTFkoISFjb21waWxlRXJyb3IpKQotICAgICAgICAgICAgcmV0dXJuIGNoZWNr
ZWRSZXR1cm4oY29tcGlsZUVycm9yKTsKLSAgICAgICAgQVNTRVJUKGNvZGVCbG9jay0+bnVtUGFy
YW1ldGVycygpID09IDEpOyAvLyAxIHBhcmFtZXRlciBmb3IgJ3RoaXMnLgorICAgICAgICBDb2Rl
QmxvY2sqIHRlbXBDb2RlQmxvY2s7CisgICAgICAgIGV2YWwtPnByZXBhcmVGb3JFeGVjdXRpb248
RXZhbEV4ZWN1dGFibGU+KHZtLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwsIHRlbXBDb2Rl
QmxvY2spOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGNoZWNrZWRS
ZXR1cm4odGhyb3dTY29wZS5leGNlcHRpb24oKSkpOworCisgICAgICAgIGNvZGVCbG9jayA9IGpz
Q2FzdDxFdmFsQ29kZUJsb2NrKj4odGVtcENvZGVCbG9jayk7CisgICAgICAgIEFTU0VSVChjb2Rl
QmxvY2sgJiYgY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgPT0gMSk7IC8vIDEgcGFyYW1ldGVy
IGZvciAndGhpcycuCiAgICAgfQogICAgIFVubGlua2VkRXZhbENvZGVCbG9jayogdW5saW5rZWRD
b2RlQmxvY2sgPSBjb2RlQmxvY2stPnVubGlua2VkRXZhbENvZGVCbG9jaygpOwogCkBAIC0xMTcz
LDEyICsxMTU5LDEyIEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoRXZhbEV4ZWN1dGFi
bGUqIGV2YWwsIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsCiAKICAgICAvLyBSZWxvYWQg
Q29kZUJsb2NrLiBJdCBpcyBwb3NzaWJsZSB0aGF0IHdlIHJlcGxhY2VkIENvZGVCbG9jayB3aGls
ZSBzZXR0aW5nIHVwIHRoZSBlbnZpcm9ubWVudC4KICAgICB7Ci0gICAgICAgIEV4Y2VwdGlvbiog
Y29tcGlsZUVycm9yID0gbnVsbHB0cjsKLSAgICAgICAgY29kZUJsb2NrID0gbG9hZENvZGVCbG9j
ayhjb21waWxlRXJyb3IpOwotICAgICAgICBFWENFUFRJT05fQVNTRVJUKHRocm93U2NvcGUuZXhj
ZXB0aW9uKCkgPT0gY29tcGlsZUVycm9yKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKCEhY29tcGls
ZUVycm9yKSkKLSAgICAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGNvbXBpbGVFcnJvcik7
Ci0gICAgICAgIEFTU0VSVChjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSA9PSAxKTsgLy8gMSBw
YXJhbWV0ZXIgZm9yICd0aGlzJy4KKyAgICAgICAgQ29kZUJsb2NrKiB0ZW1wQ29kZUJsb2NrOwor
ICAgICAgICBldmFsLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEV2YWxFeGVjdXRhYmxlPih2bSwgbnVs
bHB0ciwgc2NvcGUsIENvZGVGb3JDYWxsLCB0ZW1wQ29kZUJsb2NrKTsKKyAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBjaGVja2VkUmV0dXJuKHRocm93U2NvcGUuZXhjZXB0
aW9uKCkpKTsKKworICAgICAgICBjb2RlQmxvY2sgPSBqc0Nhc3Q8RXZhbENvZGVCbG9jayo+KHRl
bXBDb2RlQmxvY2spOworICAgICAgICBBU1NFUlQoY29kZUJsb2NrICYmIGNvZGVCbG9jay0+bnVt
UGFyYW1ldGVycygpID09IDEpOyAvLyAxIHBhcmFtZXRlciBmb3IgJ3RoaXMnLgogICAgIH0KIAog
ICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2RlOwpAQCAtMTIzMSwxMiArMTIxNywxMSBAQCBKU1Zh
bHVlIEludGVycHJldGVyOjpleGVjdXRlTW9kdWxlUHJvZ3JhbShKU01vZHVsZVJlY29yZCogcmVj
b3JkLCBNb2R1bGVQcm9ncmFtRQogICAgIE1vZHVsZVByb2dyYW1Db2RlQmxvY2sqIGNvZGVCbG9j
azsKICAgICB7CiAgICAgICAgIENvZGVCbG9jayogdGVtcENvZGVCbG9jazsKLSAgICAgICAgRXhj
ZXB0aW9uKiBjb21waWxlRXJyb3IgPSBleGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPE1v
ZHVsZVByb2dyYW1FeGVjdXRhYmxlPih2bSwgbnVsbHB0ciwgc2NvcGUsIENvZGVGb3JDYWxsLCB0
ZW1wQ29kZUJsb2NrKTsKLSAgICAgICAgRVhDRVBUSU9OX0FTU0VSVCh0aHJvd1Njb3BlLmV4Y2Vw
dGlvbigpID09IGNvbXBpbGVFcnJvcik7Ci0gICAgICAgIGlmIChVTkxJS0VMWSghIWNvbXBpbGVF
cnJvcikpCi0gICAgICAgICAgICByZXR1cm4gY2hlY2tlZFJldHVybihjb21waWxlRXJyb3IpOwor
ICAgICAgICBleGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPE1vZHVsZVByb2dyYW1FeGVj
dXRhYmxlPih2bSwgbnVsbHB0ciwgc2NvcGUsIENvZGVGb3JDYWxsLCB0ZW1wQ29kZUJsb2NrKTsK
KyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBjaGVja2VkUmV0dXJuKHRo
cm93U2NvcGUuZXhjZXB0aW9uKCkpKTsKKwogICAgICAgICBjb2RlQmxvY2sgPSBqc0Nhc3Q8TW9k
dWxlUHJvZ3JhbUNvZGVCbG9jayo+KHRlbXBDb2RlQmxvY2spOwotICAgICAgICBBU1NFUlQoY29k
ZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgPT0gbnVtYmVyT2ZBcmd1bWVudHMgKyAxKTsKKyAgICAg
ICAgQVNTRVJUKGNvZGVCbG9jayAmJiBjb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSA9PSBudW1i
ZXJPZkFyZ3VtZW50cyArIDEpOwogICAgIH0KIAogICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2Rl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVySW5saW5lcy5oCmluZGV4IDVlNmNiZmU4NGExNTQzOTJlNjYwMDNjN2YyYWIxZDViNWMyOGQw
NDguLjlmZmM5NDMyODM4YWVkNmY0OWJiMmMyOTAyMWY2OWI3MWY2YmQ2MTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlcklubGluZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXJJbmxpbmVz
LmgKQEAgLTg4LDEwICs4OCwxMCBAQCBBTFdBWVNfSU5MSU5FIEpTVmFsdWUgSW50ZXJwcmV0ZXI6
OmV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xvc3VyZSkKIAogICAgIC8vIFJlbG9hZCBDb2Rl
QmxvY2sgc2luY2UgR0MgY2FuIHJlcGxhY2UgQ29kZUJsb2NrIG93bmVkIGJ5IEV4ZWN1dGFibGUu
CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2s7Ci0gICAgRXhjZXB0aW9uKiBlcnJvciA9IGNsb3N1
cmUuZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhlY3V0
YWJsZT4odm0sIGNsb3N1cmUuZnVuY3Rpb24sIGNsb3N1cmUuc2NvcGUsIENvZGVGb3JDYWxsLCBj
b2RlQmxvY2spOwotICAgIEVYQ0VQVElPTl9BU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSA9
PSBlcnJvcik7Ci0gICAgaWYgKFVOTElLRUxZKGVycm9yKSkKLSAgICAgICAgcmV0dXJuIGNoZWNr
ZWRSZXR1cm4oZXJyb3IpOworICAgIGNsb3N1cmUuZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJl
Rm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhlY3V0YWJsZT4odm0sIGNsb3N1cmUuZnVuY3Rpb24sIGNs
b3N1cmUuc2NvcGUsIENvZGVGb3JDYWxsLCBjb2RlQmxvY2spOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgY2hlY2tlZFJldHVybih0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSk7
CisKKyAgICBBU1NFUlQoY29kZUJsb2NrKTsKICAgICBjb2RlQmxvY2stPm1fc2hvdWxkQWx3YXlz
QmVJbmxpbmVkID0gZmFsc2U7CiAgICAgewogICAgICAgICBEaXNhbGxvd0dDIGRpc2FsbG93R0M7
IC8vIEVuc3VyZSBubyBHQyBoYXBwZW5zLiBHQyBjYW4gcmVwbGFjZSBDb2RlQmxvY2sgaW4gRXhl
Y3V0YWJsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDFlNWFjZDQ4Mzg4Yjg3MGM3MGUyMGQzNWVkNWQzZTk5OWE0Yjg1MjIuLjIwMzJkYjk3YWFh
ODVhMzkyODE3NGFhOGYyZGVkZmRiMWZlY2YyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMTU2MCwxMSArMTU2MCwxMiBAQCBKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uTGlua0NhbGwsIFNsb3dQYXRoUmV0dXJuVHlwZSwgKENh
bGxGcmFtZSogY2FsbAogICAgICAgICB9CiAKICAgICAgICAgQ29kZUJsb2NrKiogY29kZUJsb2Nr
U2xvdCA9IGNhbGxlZUZyYW1lLT5hZGRyZXNzT2ZDb2RlQmxvY2soKTsKLSAgICAgICAgRXhjZXB0
aW9uKiBlcnJvciA9IGZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5j
dGlvbkV4ZWN1dGFibGU+KHZtLCBjYWxsZWUsIHNjb3BlLCBraW5kLCAqY29kZUJsb2NrU2xvdCk7
Ci0gICAgICAgIEVYQ0VQVElPTl9BU1NFUlQodGhyb3dTY29wZS5leGNlcHRpb24oKSA9PSBlcnJv
cik7Ci0gICAgICAgIGlmIChVTkxJS0VMWShlcnJvcikpCi0gICAgICAgICAgICByZXR1cm4gaGFu
ZGxlVGhyb3dFeGNlcHRpb24oKTsKKyAgICAgICAgZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJl
Rm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhlY3V0YWJsZT4odm0sIGNhbGxlZSwgc2NvcGUsIGtpbmQs
ICpjb2RlQmxvY2tTbG90KTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCBoYW5kbGVUaHJvd0V4Y2VwdGlvbigpKTsKKwogICAgICAgICBjb2RlQmxvY2sgPSAqY29kZUJs
b2NrU2xvdDsKKyAgICAgICAgQVNTRVJUKGNvZGVCbG9jayk7CisKICAgICAgICAgQXJpdHlDaGVj
a01vZGUgYXJpdHk7CiAgICAgICAgIGlmIChjYWxsZWVGcmFtZS0+YXJndW1lbnRDb3VudEluY2x1
ZGluZ1RoaXMoKSA8IHN0YXRpY19jYXN0PHNpemVfdD4oY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJz
KCkpIHx8IGNhbGxMaW5rSW5mby0+aXNWYXJhcmdzKCkpCiAgICAgICAgICAgICBhcml0eSA9IE11
c3RDaGVja0FyaXR5OwpAQCAtMTYwNywyMSArMTYwOCwxOSBAQCBpbmxpbmUgU2xvd1BhdGhSZXR1
cm5UeXBlIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgQwogICAgIGlmIChVTkxJS0VMWSghZXhlY3V0YWJsZS0+aGFzSklUQ29kZUZvcihraW5kKSkp
IHsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBzdGF0
aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihleGVjdXRhYmxlKTsKIAorICAgICAgICBhdXRv
IGhhbmRsZVRocm93RXhjZXB0aW9uID0gWyZdICgpIHsKKyAgICAgICAgICAgIHZvaWQqIHRocm93
VGFyZ2V0ID0gdm0uZ2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5l
cmF0b3IpLnJldGFnZ2VkQ29kZTxKU0VudHJ5UHRyVGFnPigpLmV4ZWN1dGFibGVBZGRyZXNzKCk7
CisgICAgICAgICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KHRocm93VGFyZ2V0LCByZWludGVycHJl
dF9jYXN0PHZvaWQqPihLZWVwVGhlRnJhbWUpKTsKKyAgICAgICAgfTsKKwogICAgICAgICBpZiAo
IWlzQ2FsbChraW5kKSAmJiBmdW5jdGlvbkV4ZWN1dGFibGUtPmNvbnN0cnVjdEFiaWxpdHkoKSA9
PSBDb25zdHJ1Y3RBYmlsaXR5OjpDYW5ub3RDb25zdHJ1Y3QpIHsKICAgICAgICAgICAgIHRocm93
RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgY3JlYXRlTm90QUNvbnN0cnVjdG9y
RXJyb3IoZ2xvYmFsT2JqZWN0LCBmdW5jdGlvbikpOwotICAgICAgICAgICAgcmV0dXJuIGVuY29k
ZVJlc3VsdCgKLSAgICAgICAgICAgICAgICB2bS5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJv
bUNhbGxTbG93UGF0aEdlbmVyYXRvcikucmV0YWdnZWRDb2RlPEpTRW50cnlQdHJUYWc+KCkuZXhl
Y3V0YWJsZUFkZHJlc3MoKSwKLSAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQq
PihLZWVwVGhlRnJhbWUpKTsKKyAgICAgICAgICAgIHJldHVybiBoYW5kbGVUaHJvd0V4Y2VwdGlv
bigpOwogICAgICAgICB9CiAKICAgICAgICAgQ29kZUJsb2NrKiogY29kZUJsb2NrU2xvdCA9IGNh
bGxlZUZyYW1lLT5hZGRyZXNzT2ZDb2RlQmxvY2soKTsKLSAgICAgICAgRXhjZXB0aW9uKiBlcnJv
ciA9IGZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1
dGFibGU+KHZtLCBmdW5jdGlvbiwgc2NvcGUsIGtpbmQsICpjb2RlQmxvY2tTbG90KTsKLSAgICAg
ICAgRVhDRVBUSU9OX0FTU0VSVCh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpID09IGVycm9yKTsKLSAg
ICAgICAgaWYgKFVOTElLRUxZKGVycm9yKSkgewotICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJl
c3VsdCgKLSAgICAgICAgICAgICAgICB2bS5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcikucmV0YWdnZWRDb2RlPEpTRW50cnlQdHJUYWc+KCkuZXhlY3V0
YWJsZUFkZHJlc3MoKSwKLSAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihL
ZWVwVGhlRnJhbWUpKTsKLSAgICAgICAgfQorICAgICAgICBmdW5jdGlvbkV4ZWN1dGFibGUtPnBy
ZXBhcmVGb3JFeGVjdXRpb248RnVuY3Rpb25FeGVjdXRhYmxlPih2bSwgZnVuY3Rpb24sIHNjb3Bl
LCBraW5kLCAqY29kZUJsb2NrU2xvdCk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgaGFuZGxlVGhyb3dFeGNlcHRpb24oKSk7CiAgICAgfQogICAgIC8vIEZJWE1FOiBT
dXBwb3J0IHdhc20gSUMuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMDMzOQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKaW5kZXggNTYxNTc0NDIzNjE2MjI3M2RjZWUwZjUwODE0MzMyMDJmYjc3NDliMS4u
NmQ0MDgyNWFjODE2NzY1YjkzZGNiN2NhZWY2MTBlNDZmZGRiOGZjMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0xODczLDE3ICsxODcz
LDE2IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBDYWxsKENhbGxGcmFtZSogY2Fs
bGVlRnJhbWUsIENvZGVTcGVjaWFsaXphdGlvbktpCiAgICAgICAgIGNvZGVQdHIgPSBleGVjdXRh
YmxlLT5lbnRyeXBvaW50Rm9yKGtpbmQsIE11c3RDaGVja0FyaXR5KTsKICAgICBlbHNlIHsKICAg
ICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBzdGF0aWNfY2Fz
dDxGdW5jdGlvbkV4ZWN1dGFibGUqPihleGVjdXRhYmxlKTsKLQogICAgICAgICBpZiAoIWlzQ2Fs
bChraW5kKSAmJiBmdW5jdGlvbkV4ZWN1dGFibGUtPmNvbnN0cnVjdEFiaWxpdHkoKSA9PSBDb25z
dHJ1Y3RBYmlsaXR5OjpDYW5ub3RDb25zdHJ1Y3QpCiAgICAgICAgICAgICBMTElOVF9DQUxMX1RI
Uk9XKGdsb2JhbE9iamVjdCwgY3JlYXRlTm90QUNvbnN0cnVjdG9yRXJyb3IoZ2xvYmFsT2JqZWN0
LCBjYWxsZWUpKTsKIAogICAgICAgICBDb2RlQmxvY2sqKiBjb2RlQmxvY2tTbG90ID0gY2FsbGVl
RnJhbWUtPmFkZHJlc3NPZkNvZGVCbG9jaygpOwotICAgICAgICBFeGNlcHRpb24qIGVycm9yID0g
ZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhlY3V0YWJs
ZT4odm0sIGNhbGxlZSwgc2NvcGUsIGtpbmQsICpjb2RlQmxvY2tTbG90KTsKLSAgICAgICAgRVhD
RVBUSU9OX0FTU0VSVCh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpID09IGVycm9yKTsKLSAgICAgICAg
aWYgKFVOTElLRUxZKGVycm9yKSkKLSAgICAgICAgICAgIExMSU5UX0NBTExfVEhST1coZ2xvYmFs
T2JqZWN0LCBlcnJvcik7CisgICAgICAgIGZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4
ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFibGU+KHZtLCBjYWxsZWUsIHNjb3BlLCBraW5kLCAqY29k
ZUJsb2NrU2xvdCk7CisgICAgICAgIExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKGdsb2JhbE9i
amVjdCk7CisKICAgICAgICAgY29kZUJsb2NrID0gKmNvZGVCbG9ja1Nsb3Q7CiAgICAgICAgIEFT
U0VSVChjb2RlQmxvY2spOworCiAgICAgICAgIEFyaXR5Q2hlY2tNb2RlIGFyaXR5OwogICAgICAg
ICBpZiAoY2FsbGVlRnJhbWUtPmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKCkgPCBzdGF0aWNf
Y2FzdDxzaXplX3Q+KGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSkKICAgICAgICAgICAgIGFy
aXR5ID0gTXVzdENoZWNrQXJpdHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NjcmlwdEV4ZWN1dGFibGUuY3BwCmluZGV4IDM1ZjIwOTc1MWZkYjZhOTkzNTVjNjhkMDI3
MjFiMjE2NzU5ZDg1YWEuLjMzNmM1ZWMzNmViNmQ5ODI1NmZjOWQ5ZGEyNTUyMjBmZGVkMTAxOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFi
bGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFi
bGUuY3BwCkBAIC0yNDYsOCArMjQ2LDcgQEAgYm9vbCBTY3JpcHRFeGVjdXRhYmxlOjpoYXNDbGVh
cmFibGVDb2RlKFZNJiB2bSkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUNvZGVCbG9j
ayogU2NyaXB0RXhlY3V0YWJsZTo6bmV3Q29kZUJsb2NrRm9yKAotICAgIENvZGVTcGVjaWFsaXph
dGlvbktpbmQga2luZCwgSlNGdW5jdGlvbiogZnVuY3Rpb24sIEpTU2NvcGUqIHNjb3BlLCBFeGNl
cHRpb24qJiBleGNlcHRpb24pCitDb2RlQmxvY2sqIFNjcmlwdEV4ZWN1dGFibGU6Om5ld0NvZGVC
bG9ja0ZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIEpTRnVuY3Rpb24qIGZ1bmN0aW9u
LCBKU1Njb3BlKiBzY29wZSkKIHsKICAgICBWTSYgdm0gPSBzY29wZS0+dm0oKTsKICAgICBhdXRv
IHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKQEAgLTI2MiwzMyArMjYxLDE1
IEBAIENvZGVCbG9jayogU2NyaXB0RXhlY3V0YWJsZTo6bmV3Q29kZUJsb2NrRm9yKAogICAgICAg
ICBSRUxFQVNFX0FTU0VSVChraW5kID09IENvZGVGb3JDYWxsKTsKICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoIWV4ZWN1dGFibGUtPm1fZXZhbENvZGVCbG9jayk7CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKCFmdW5jdGlvbik7Ci0gICAgICAgIGF1dG8qIGNvZGVCbG9jayA9IEV2YWxDb2RlQmxvY2s6
OmNyZWF0ZSh2bSwKLSAgICAgICAgICAgIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUtPm1fdW5saW5r
ZWRFdmFsQ29kZUJsb2NrLmdldCgpLCBzY29wZSk7Ci0gICAgICAgIEVYQ0VQVElPTl9BU1NFUlQo
dGhyb3dTY29wZS5leGNlcHRpb24oKSB8fCBjb2RlQmxvY2spOwotICAgICAgICBpZiAoIWNvZGVC
bG9jaykgewotICAgICAgICAgICAgZXhjZXB0aW9uID0gdGhyb3dFeGNlcHRpb24oCi0gICAgICAg
ICAgICAgICAgZ2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLAotICAgICAgICAgICAgICAgIGNyZWF0
ZU91dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0KSk7Ci0gICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY29kZUJsb2NrOworICAgICAgICBSRUxF
QVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgRXZhbENvZGVCbG9jazo6Y3JlYXRlKHZtLCBleGVj
dXRhYmxlLCBleGVjdXRhYmxlLT5tX3VubGlua2VkRXZhbENvZGVCbG9jay5nZXQoKSwgc2NvcGUp
KTsKICAgICB9Ci0gICAgCisKICAgICBpZiAoY2xhc3NJbmZvKHZtKSA9PSBQcm9ncmFtRXhlY3V0
YWJsZTo6aW5mbygpKSB7CiAgICAgICAgIFByb2dyYW1FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0g
anNDYXN0PFByb2dyYW1FeGVjdXRhYmxlKj4odGhpcyk7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGtpbmQgPT0gQ29kZUZvckNhbGwpOwogICAgICAgICBSRUxFQVNFX0FTU0VSVCghZXhlY3V0YWJs
ZS0+bV9wcm9ncmFtQ29kZUJsb2NrKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWZ1bmN0aW9u
KTsKLSAgICAgICAgYXV0byogY29kZUJsb2NrID0gUHJvZ3JhbUNvZGVCbG9jazo6Y3JlYXRlKHZt
LAotICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+bV91bmxpbmtlZFByb2dyYW1D
b2RlQmxvY2suZ2V0KCksIHNjb3BlKTsKLSAgICAgICAgRVhDRVBUSU9OX0FTU0VSVCh0aHJvd1Nj
b3BlLmV4Y2VwdGlvbigpIHx8IGNvZGVCbG9jayk7Ci0gICAgICAgIGlmICghY29kZUJsb2NrKSB7
Ci0gICAgICAgICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKLSAgICAgICAgICAgICAg
ICBnbG9iYWxPYmplY3QsIHRocm93U2NvcGUsCi0gICAgICAgICAgICAgICAgY3JlYXRlT3V0T2ZN
ZW1vcnlFcnJvcihnbG9iYWxPYmplY3QpKTsKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjb2RlQmxvY2s7CisgICAgICAgIFJFTEVBU0VfQU5E
X1JFVFVSTih0aHJvd1Njb3BlLCBQcm9ncmFtQ29kZUJsb2NrOjpjcmVhdGUodm0sIGV4ZWN1dGFi
bGUsIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRQcm9ncmFtQ29kZUJsb2NrLmdldCgpLCBzY29wZSkp
OwogICAgIH0KIAogICAgIGlmIChjbGFzc0luZm8odm0pID09IE1vZHVsZVByb2dyYW1FeGVjdXRh
YmxlOjppbmZvKCkpIHsKQEAgLTI5NiwxNiArMjc3LDcgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVj
dXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IoCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGtpbmQgPT0g
Q29kZUZvckNhbGwpOwogICAgICAgICBSRUxFQVNFX0FTU0VSVCghZXhlY3V0YWJsZS0+bV9tb2R1
bGVQcm9ncmFtQ29kZUJsb2NrKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWZ1bmN0aW9uKTsK
LSAgICAgICAgYXV0byogY29kZUJsb2NrID0gTW9kdWxlUHJvZ3JhbUNvZGVCbG9jazo6Y3JlYXRl
KHZtLAotICAgICAgICAgICAgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+bV91bmxpbmtlZE1vZHVs
ZVByb2dyYW1Db2RlQmxvY2suZ2V0KCksIHNjb3BlKTsKLSAgICAgICAgRVhDRVBUSU9OX0FTU0VS
VCh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpIHx8IGNvZGVCbG9jayk7Ci0gICAgICAgIGlmICghY29k
ZUJsb2NrKSB7Ci0gICAgICAgICAgICBleGNlcHRpb24gPSB0aHJvd0V4Y2VwdGlvbigKLSAgICAg
ICAgICAgICAgICBnbG9iYWxPYmplY3QsIHRocm93U2NvcGUsCi0gICAgICAgICAgICAgICAgY3Jl
YXRlT3V0T2ZNZW1vcnlFcnJvcihnbG9iYWxPYmplY3QpKTsKLSAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjb2RlQmxvY2s7CisgICAgICAgIFJF
TEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrOjpjcmVh
dGUodm0sIGV4ZWN1dGFibGUsIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRNb2R1bGVQcm9ncmFtQ29k
ZUJsb2NrLmdldCgpLCBzY29wZSkpOwogICAgIH0KIAogICAgIFJFTEVBU0VfQVNTRVJUKGNsYXNz
SW5mbyh2bSkgPT0gRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpOwpAQCAtMzMzLDE2ICszMDUs
MTEgQEAgQ29kZUJsb2NrKiBTY3JpcHRFeGVjdXRhYmxlOjpuZXdDb2RlQmxvY2tGb3IoCiAgICAg
ICAgIGV4ZWN1dGFibGUtPm1fdW5saW5rZWRFeGVjdXRhYmxlLT5oYXNDYXB0dXJlZFZhcmlhYmxl
cygpLAogICAgICAgICBsYXN0TGluZSgpLCBlbmRDb2x1bW4oKSk7IAogICAgIGlmICghdW5saW5r
ZWRDb2RlQmxvY2spIHsKLSAgICAgICAgZXhjZXB0aW9uID0gdGhyb3dFeGNlcHRpb24oCi0gICAg
ICAgICAgICBnbG9iYWxPYmplY3QsIHRocm93U2NvcGUsCi0gICAgICAgICAgICBlcnJvci50b0Vy
cm9yT2JqZWN0KGdsb2JhbE9iamVjdCwgZXhlY3V0YWJsZS0+c291cmNlKCkpKTsKKyAgICAgICAg
dGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBlcnJvci50b0Vycm9yT2Jq
ZWN0KGdsb2JhbE9iamVjdCwgZXhlY3V0YWJsZS0+c291cmNlKCkpKTsKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCi0gICAgYXV0byogY29kZUJsb2NrID0gRnVuY3Rpb25Db2RlQmxv
Y2s6OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgdW5saW5rZWRDb2RlQmxvY2ssIHNjb3BlKTsKLSAg
ICBpZiAodGhyb3dTY29wZS5leGNlcHRpb24oKSkKLSAgICAgICAgZXhjZXB0aW9uID0gdGhyb3dT
Y29wZS5leGNlcHRpb24oKTsKLSAgICByZXR1cm4gY29kZUJsb2NrOworICAgIFJFTEVBU0VfQU5E
X1JFVFVSTih0aHJvd1Njb3BlLCBGdW5jdGlvbkNvZGVCbG9jazo6Y3JlYXRlKHZtLCBleGVjdXRh
YmxlLCB1bmxpbmtlZENvZGVCbG9jaywgc2NvcGUpKTsKIH0KIAogQ29kZUJsb2NrKiBTY3JpcHRF
eGVjdXRhYmxlOjpuZXdSZXBsYWNlbWVudENvZGVCbG9ja0ZvcigKQEAgLTQwOSwzNCArMzc2LDMy
IEBAIHN0YXRpYyB2b2lkIHNldHVwSklUKFZNJiB2bSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAj
ZW5kaWYKIH0KIAotRXhjZXB0aW9uKiBTY3JpcHRFeGVjdXRhYmxlOjpwcmVwYXJlRm9yRXhlY3V0
aW9uSW1wbCgKLSAgICBWTSYgdm0sIEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBKU1Njb3BlKiBzY29w
ZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBDb2RlQmxvY2sqJiByZXN1bHRDb2RlQmxv
Y2spCit2b2lkIFNjcmlwdEV4ZWN1dGFibGU6OnByZXBhcmVGb3JFeGVjdXRpb25JbXBsKFZNJiB2
bSwgSlNGdW5jdGlvbiogZnVuY3Rpb24sIEpTU2NvcGUqIHNjb3BlLCBDb2RlU3BlY2lhbGl6YXRp
b25LaW5kIGtpbmQsIENvZGVCbG9jayomIHJlc3VsdENvZGVCbG9jaykKIHsKICAgICBhdXRvIHRo
cm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBEZWZlckdDRm9yQVdoaWxl
IGRlZmVyR0Modm0uaGVhcCk7CiAKICAgICBpZiAoVU5MSUtFTFkodm0uZ2V0QW5kQ2xlYXJGYWls
TmV4dE5ld0NvZGVCbG9jaygpKSkgewogICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gc2NvcGUtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgICAgIHJldHVybiB0aHJvd0V4Y2Vw
dGlvbihnbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNyZWF0ZUVycm9yKGdsb2JhbE9iamVjdCwg
IkZvcmNlZCBGYWlsdXJlIl9zKSk7CisgICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgY3JlYXRlRXJyb3IoZ2xvYmFsT2JqZWN0LCAiRm9yY2VkIEZhaWx1cmUi
X3MpKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEV4Y2VwdGlvbiogZXhjZXB0aW9u
ID0gbnVsbHB0cjsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IG5ld0NvZGVCbG9ja0Zvcihr
aW5kLCBmdW5jdGlvbiwgc2NvcGUsIGV4Y2VwdGlvbik7CisgICAgQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBuZXdDb2RlQmxvY2tGb3Ioa2luZCwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHZvaWQoKSk7CisKKyAgICBBU1NFUlQoY29kZUJsb2Nr
KTsKICAgICByZXN1bHRDb2RlQmxvY2sgPSBjb2RlQmxvY2s7Ci0gICAgRVhDRVBUSU9OX0FTU0VS
VCghIXRocm93U2NvcGUuZXhjZXB0aW9uKCkgPT0gIWNvZGVCbG9jayk7Ci0gICAgaWYgKFVOTElL
RUxZKCFjb2RlQmxvY2spKQotICAgICAgICByZXR1cm4gZXhjZXB0aW9uOwotICAgIAorCiAgICAg
aWYgKE9wdGlvbnM6OnZhbGlkYXRlQnl0ZWNvZGUoKSkKICAgICAgICAgY29kZUJsb2NrLT52YWxp
ZGF0ZSgpOwotICAgIAorCiAgICAgaWYgKE9wdGlvbnM6OnVzZUxMSW50KCkpCiAgICAgICAgIHNl
dHVwTExJbnQoY29kZUJsb2NrKTsKICAgICBlbHNlCiAgICAgICAgIHNldHVwSklUKHZtLCBjb2Rl
QmxvY2spOwotICAgIAorCiAgICAgaW5zdGFsbENvZGUodm0sIGNvZGVCbG9jaywgY29kZUJsb2Nr
LT5jb2RlVHlwZSgpLCBjb2RlQmxvY2stPnNwZWNpYWxpemF0aW9uS2luZCgpKTsKLSAgICByZXR1
cm4gbnVsbHB0cjsKIH0KIAogU2NyaXB0RXhlY3V0YWJsZSogU2NyaXB0RXhlY3V0YWJsZTo6dG9w
TGV2ZWxFeGVjdXRhYmxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NjcmlwdEV4ZWN1dGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nj
cmlwdEV4ZWN1dGFibGUuaAppbmRleCAxNGFmZDU4OTU2NWJlZTk2ZDVmYWIwOWU5ZDAzYjU0MmIw
NDBiNzZiLi5mMzFiZDMzZjZlZTFkMTgyMDI2N2YzM2JiYTE4NDM4YWM5YjI3N2E2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY3JpcHRFeGVjdXRhYmxlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5oCkBAIC04
OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlY29yZFBhcnNlKENvZGVGZWF0dXJlcywg
TGV4aWNhbFNjb3BlRmVhdHVyZXMsIGJvb2wgaGFzQ2FwdHVyZWRWYXJpYWJsZXMsIGludCBsYXN0
TGluZSwgdW5zaWduZWQgZW5kQ29sdW1uKTsKICAgICB2b2lkIGluc3RhbGxDb2RlKENvZGVCbG9j
ayopOwogICAgIHZvaWQgaW5zdGFsbENvZGUoVk0mLCBDb2RlQmxvY2sqLCBDb2RlVHlwZSwgQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCk7Ci0gICAgQ29kZUJsb2NrKiBuZXdDb2RlQmxvY2tGb3IoQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCwgSlNGdW5jdGlvbiosIEpTU2NvcGUqLCBFeGNlcHRpb24qJik7
CisgICAgQ29kZUJsb2NrKiBuZXdDb2RlQmxvY2tGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCwg
SlNGdW5jdGlvbiosIEpTU2NvcGUqKTsKICAgICBDb2RlQmxvY2sqIG5ld1JlcGxhY2VtZW50Q29k
ZUJsb2NrRm9yKENvZGVTcGVjaWFsaXphdGlvbktpbmQpOwogCiAgICAgdm9pZCBjbGVhckNvZGUo
SXNvQ2VsbFNldCYpOwpAQCAtMTE0LDE0ICsxMTQsMTQgQEAgcHVibGljOgogICAgIC8vIHRvIHBv
aW50IHRvIGl0LiBUaGlzIGZvcmNlcyBjYWxsZXJzIHRvIGhhdmUgYSBDb2RlQmxvY2sqIGluIGEg
cmVnaXN0ZXIgb3Igb24gdGhlIHN0YWNrIHRoYXQgd2lsbCBiZSBtYXJrZWQKICAgICAvLyBieSBj
b25zZXJ2YXRpdmUgR0MgaWYgYSBHQyBoYXBwZW5zIGFmdGVyIHdlIGNyZWF0ZSB0aGUgQ29kZUJs
b2NrLgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBFeGVjdXRhYmxlVHlwZT4KLSAgICBFeGNlcHRp
b24qIHByZXBhcmVGb3JFeGVjdXRpb24oVk0mLCBKU0Z1bmN0aW9uKiwgSlNTY29wZSosIENvZGVT
cGVjaWFsaXphdGlvbktpbmQsIENvZGVCbG9jayomIHJlc3VsdENvZGVCbG9jayk7CisgICAgdm9p
ZCBwcmVwYXJlRm9yRXhlY3V0aW9uKFZNJiwgSlNGdW5jdGlvbiosIEpTU2NvcGUqLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kLCBDb2RlQmxvY2sqJik7CiAKICAgICBTY3JpcHRFeGVjdXRhYmxlKiB0
b3BMZXZlbEV4ZWN1dGFibGUoKTsKICAgICBKU0FycmF5KiBjcmVhdGVUZW1wbGF0ZU9iamVjdChK
U0dsb2JhbE9iamVjdCosIEpTVGVtcGxhdGVPYmplY3REZXNjcmlwdG9yKik7CiAKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1dGFibGVCYXNlOwotICAgIEV4Y2VwdGlvbiogcHJlcGFy
ZUZvckV4ZWN1dGlvbkltcGwoVk0mLCBKU0Z1bmN0aW9uKiwgSlNTY29wZSosIENvZGVTcGVjaWFs
aXphdGlvbktpbmQsIENvZGVCbG9jayomKTsKKyAgICB2b2lkIHByZXBhcmVGb3JFeGVjdXRpb25J
bXBsKFZNJiwgSlNGdW5jdGlvbiosIEpTU2NvcGUqLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLCBD
b2RlQmxvY2sqJik7CiAKICAgICBib29sIGhhc0NsZWFyYWJsZUNvZGUoVk0mKSBjb25zdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>