<?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>152333</bug_id>
          
          <creation_ts>2015-12-16 04:45:01 -0800</creation_ts>
          <short_desc>REGRESSION(r194135): due to missing OSR exit materialization support in FTL (Requested by yusukesuzuki on #webkit).</short_desc>
          <delta_ts>2015-12-16 04:48:24 -0800</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>152227</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1149589</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-16 04:45:01 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/194135 broke the build:
due to missing OSR exit materialization support in FTL (Requested by yusukesuzuki on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149591</commentid>
    <comment_count>1</comment_count>
      <attachid>267456</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-16 04:45:35 -0800</bug_when>
    <thetext>Created attachment 267456
ROLLOUT of r194135

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149596</commentid>
    <comment_count>2</comment_count>
      <attachid>267456</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-16 04:48:22 -0800</bug_when>
    <thetext>Comment on attachment 267456
ROLLOUT of r194135

Clearing flags on attachment: 267456

Committed r194141: &lt;http://trac.webkit.org/changeset/194141&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149597</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-16 04:48:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267456</attachid>
            <date>2015-12-16 04:45:35 -0800</date>
            <delta_ts>2015-12-16 04:48:22 -0800</delta_ts>
            <desc>ROLLOUT of r194135</desc>
            <filename>bug-152333-20151216044457.patch</filename>
            <type>text/plain</type>
            <size>37703</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YTk4ZGVmMTA2MGI3NmNiOWI2ZDUxNzMyZmFmYzJlYzg4ZGM5Mzc4Li5hY2U1MDE3N2E4NDBjMzVj
OWNhMzYyNjg0ODQ1ZjMyODJmMTM2MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNS0xMi0xNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5NDEzNS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjMzMworCisgICAg
ICAgIGR1ZSB0byBtaXNzaW5nIE9TUiBleGl0IG1hdGVyaWFsaXphdGlvbiBzdXBwb3J0IGluIEZU
TAorICAgICAgICAoUmVxdWVzdGVkIGJ5IHl1c3VrZXN1enVraSBvbiAjd2Via2l0KS4KKworICAg
ICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIltFUzZdIEhhbmRsZSBuZXdfZ2Vu
ZXJhdG9yX2Z1bmMgLyBuZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwIGluCisgICAgICAgIERGRyAvIEZU
TCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjIy
NworICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTQxMzUKKwogMjAx
NS0xMi0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAg
ICAgICAgIFtGZXRjaCBBUEldIEFkZCBmZXRjaCBBUEkgY29tcGlsZSB0aW1lIGZsYWcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaAppbmRleCBmYmFlY2EwMjVmNjdiMDM3NTQ5NzA3ODRhZmRjMDI4YTE4ZTI1ZTUx
Li4zMWI1NDhiOGNkYmQ5ZDlhYzgzZGVlOThjNDYzMmJmYmJiZTNlZWE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5s
aW5lcy5oCkBAIC0xNzYwLDEyICsxNzYwLDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFi
c3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAg
ICAgICAgZm9yTm9kZShub2RlKS5zZXQoCiAgICAgICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9j
ay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25T
dHJ1Y3R1cmUoKSk7CiAgICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5j
dGlvbjoKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCi0gICAgICAgICAgICBtX2dyYXBoLCBt
X2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmdlbmVy
YXRvckZ1bmN0aW9uU3RydWN0dXJlKCkpOwotICAgICAgICBicmVhazsKLQorICAgICAgICAgICAg
CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCiAgICAg
ICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA2YWQyMTQzMTQ4YTlhY2VkOGNh
ODQ0NjEwNjM3YzAzYTY0ODZhY2ZkLi42NjE5M2JlNmZjNDUyODU5ZDFlMzc5ZjBlNDdjOGU1OGNj
ZWU3MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcApAQCAtNDU1NywyNyArNDU1NywyMyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfcHV0X3Rv
X2FyZ3VtZW50cyk7CiAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICBjYXNlIG9wX25l
d19mdW5jOgotICAgICAgICBjYXNlIG9wX25ld19nZW5lcmF0b3JfZnVuYzogeworICAgICAgICBj
YXNlIG9wX25ld19mdW5jOiB7CiAgICAgICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGRlY2wg
PSBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2stPmZ1bmN0aW9uRGVjbChjdXJyZW50
SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKICAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96
ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9uZyhkZWNsKTsKLSAgICAgICAgICAgIE5vZGVUeXBlIG9w
ID0gKG9wY29kZUlEID09IG9wX25ld19nZW5lcmF0b3JfZnVuYykgPyBOZXdHZW5lcmF0b3JGdW5j
dGlvbiA6IE5ld0Z1bmN0aW9uOwotICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChvcCwgT3BJbmZvKGZyb3pl
biksIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkp
KSk7Ci0gICAgICAgICAgICBzdGF0aWNfYXNzZXJ0KE9QQ09ERV9MRU5HVEgob3BfbmV3X2Z1bmMp
ID09IE9QQ09ERV9MRU5HVEgob3BfbmV3X2dlbmVyYXRvcl9mdW5jKSwgIlRoZSBsZW5ndGggb2Yg
b3BfbmV3X2Z1bmMgc2hvdWxkIGVxYXVhbCB0byBvbmUgb2Ygb3BfbmV3X2dlbmVyYXRvcl9mdW5j
Iik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsx
XS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9w
SW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51
Lm9wZXJhbmQpKSkpOwogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Z1bmMpOwogICAg
ICAgICB9CiAKICAgICAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6Ci0gICAgICAgIGNhc2Ugb3Bf
bmV3X2dlbmVyYXRvcl9mdW5jX2V4cDoKICAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19l
eHA6IHsKICAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3Rh
Y2tUb3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblsz
XS51Lm9wZXJhbmQpOwogICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGgu
ZnJlZXplU3Ryb25nKGV4cHIpOwotICAgICAgICAgICAgTm9kZVR5cGUgb3AgPSAob3Bjb2RlSUQg
PT0gb3BfbmV3X2dlbmVyYXRvcl9mdW5jX2V4cCkgPyBOZXdHZW5lcmF0b3JGdW5jdGlvbiA6IE5l
d0Z1bmN0aW9uOwotICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChvcCwgT3BJbmZvKGZyb3plbiksIGdldChW
aXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CisgICAg
ICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96
ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQp
KSkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAob3Bjb2RlSUQgPT0gb3BfbmV3X2Z1
bmNfZXhwIHx8IG9wY29kZUlEID09IG9wX25ld19nZW5lcmF0b3JfZnVuY19leHApIHsKKyAgICAg
ICAgICAgIGlmIChvcGNvZGVJRCA9PSBvcF9uZXdfZnVuY19leHApIHsKICAgICAgICAgICAgICAg
ICAvLyBDdXJseSBicmFjZXMgYXJlIG5lY2Vzc2FyeQotICAgICAgICAgICAgICAgIHN0YXRpY19h
c3NlcnQoT1BDT0RFX0xFTkdUSChvcF9uZXdfZnVuY19leHApID09IE9QQ09ERV9MRU5HVEgob3Bf
bmV3X2dlbmVyYXRvcl9mdW5jX2V4cCksICJUaGUgbGVuZ3RoIG9mIG9wX25ld19mdW5jX2V4cCBz
aG91bGQgZXFhdWFsIHRvIG9uZSBvZiBvcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwIik7CiAgICAg
ICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gQ3VybHkgYnJhY2VzIGFyZSBuZWNlc3NhcnkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBkMWM5
YmNlNmJlNDgxZWZkMjFmMWY1NjdmYmUxOTJmZDVmNThiM2ZlLi5iYjViMWQxMTVkNWE3ZDE3NTNj
YzI3OTc3N2E1OTBkYTU4OWRlOTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMTUsOCArMjE1LDYgQEAgQ2FwYWJpbGl0eUxldmVsIGNh
cGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIElu
c3RydWMKICAgICBjYXNlIG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNlIG9wX25ld19mdW5j
OgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgotICAgIGNhc2Ugb3BfbmV3X2dlbmVyYXRvcl9m
dW5jOgotICAgIGNhc2Ugb3BfbmV3X2dlbmVyYXRvcl9mdW5jX2V4cDoKICAgICBjYXNlIG9wX25l
d19hcnJvd19mdW5jX2V4cDoKICAgICBjYXNlIG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50
OgogICAgIGNhc2Ugb3BfZ2V0X3BhcmVudF9zY29wZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDbG9iYmVyaXplLmgKaW5kZXggYjVkNWQyYWFmOTU3ZWI5ZDE2NTAxYzM3Mzk0ZDY3NzU0
NDM3YmVmMi4uYmE3YmY3Mjk1YmE0MzFlZWFhYWQzYmFjOTMyZTZlNTY3NDBiOGU2OCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTEwMzMsNyArMTAzMyw2
IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRG
dW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgCiAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0
aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246Ci0gICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlv
bjoKICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCkt
PnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKQogICAgICAgICAgICAgd3JpdGUo
V2F0Y2hwb2ludF9maXJlKTsKICAgICAgICAgcmVhZChIZWFwT2JqZWN0Q291bnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyc0V4aXRTdGF0ZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAppbmRl
eCBiNjlmYzVmYWQ5NzI2MTIxNDdmZjIyMWRhODQ2OWQ5MzY3YWY3NjRkLi41NGRkZTFmYTg1MTM1
MjU2YzNiMGJmMzdmNzY2YzRiNDhmYjExOTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Nsb2JiZXJzRXhpdFN0YXRlLmNwcApAQCAtNzcsNyArNzcsNiBAQCBib29s
IGNsb2JiZXJzRXhpdFN0YXRlKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKIAogICAgIGNhc2Ug
TmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgotICAgIGNhc2UgTmV3R2Vu
ZXJhdG9yRnVuY3Rpb246CiAgICAgICAgIC8vIExpa2UgYWJvdmUsIGJ1dCB3aXRoIHRoZSBKU0Z1
bmN0aW9uIGFsbG9jYXRpb24gY2F2ZWF0LgogICAgICAgICByZXR1cm4gbm9kZS0+Y2FzdE9wZXJh
bmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZh
bGlkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dD
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA1ZWZm
MmIwZDc1YWIwNDk4NTVjMWNlMTRkODc1ZThmZWU0OGYyNzUxLi5kYjRmYzIxOGUyNWZkN2Y4ZjMz
YzM2YjVhMDNhMWE1ZjAyYzA2ZWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2Vz
R0MuY3BwCkBAIC0yNDcsNyArMjQ3LDYgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlKQogICAgIGNhc2UgTWFrZVJvcGU6CiAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgog
ICAgIGNhc2UgTmV3RnVuY3Rpb246Ci0gICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlvbjoKICAg
ICBjYXNlIE5ld1R5cGVkQXJyYXk6CiAgICAgY2FzZSBUaHJvd1JlZmVyZW5jZUVycm9yOgogICAg
IGNhc2UgR2V0UHJvcGVydHlFbnVtZXJhdG9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKaW5kZXggNWMxZDQxMjYzMzU0YjNiYjcxMzM0OTE2ZGIzOWFiNmJj
ZDYyYzIzNS4uODJmYTQ4ZDA0NGM2ZWE5M2FlOGE1MjNmZDRmZTAxYTE4ZTM2ODQ0OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMzg3LDggKzEz
ODcsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgog
ICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246Ci0gICAgICAgIGNhc2UgTmV3RnVuY3Rpb246
Ci0gICAgICAgIGNhc2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246IHsKKyAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjogewogICAgICAgICAgICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTWF5RXhpdC5jcHAKaW5kZXggZGFhMjkzMzlkYmZiZGY4MGFhZDliNjQ2YTJjYjdhMDU4N2Q5
NjIzOC4uZDFlMjFlZDg0NzI5NTZkZjM4Y2Q2ZDQ4YTdjN2Y4MDU4Y2FkMWM2OSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCkBAIC0xNDMsNyArMTQzLDYgQEAgRXhp
dE1vZGUgbWF5RXhpdChHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBNYXRlcmlh
bGl6ZU5ld09iamVjdDoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKLSAgICBjYXNlIE5ld0dlbmVyYXRvckZ1bmN0aW9uOgogICAgIGNhc2UgTmV3U3Ry
aW5nT2JqZWN0OgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAgcmVzdWx0ID0g
RXhpdHNGb3JFeGNlcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCAx
MWVlYmE1YjFjMDU4YTVjOWE3Mzc4MWVkNmY2M2UxMzQ5ZjBmMDVkLi4xYjMwODNiNmY1NjM1M2Jm
ZWE2MjA2ZjM5ZjcyM2YwNWU1M2I2ZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aApAQCAtNTg1LDcgKzU4NSw3IEBAIHN0cnVjdCBOb2RlIHsKIAogICAgIHZvaWQgY29udmVydFRv
UGhhbnRvbU5ld0Z1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtX29wID09IE5ld0Z1
bmN0aW9uIHx8IG1fb3AgPT0gTmV3QXJyb3dGdW5jdGlvbiB8fCBtX29wID09IE5ld0dlbmVyYXRv
ckZ1bmN0aW9uKTsKKyAgICAgICAgQVNTRVJUKG1fb3AgPT0gTmV3RnVuY3Rpb24gfHwgbV9vcCA9
PSBOZXdBcnJvd0Z1bmN0aW9uKTsKICAgICAgICAgbV9vcCA9IFBoYW50b21OZXdGdW5jdGlvbjsK
ICAgICAgICAgbV9mbGFncyB8PSBOb2RlTXVzdEdlbmVyYXRlOwogICAgICAgICBtX29wSW5mbyA9
IDA7CkBAIC0xMzU2LDcgKzEzNTYsNiBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIGNhc2UgQ2hl
Y2tDZWxsOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Fycm93
RnVuY3Rpb246Ci0gICAgICAgIGNhc2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246CiAgICAgICAgIGNh
c2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZUNyZWF0ZUFjdGl2
YXRpb246CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE1NzUsNyArMTU3NCw2IEBAIHN0
cnVjdCBOb2RlIHsKICAgICAgICAgc3dpdGNoIChvcCgpKSB7CiAgICAgICAgIGNhc2UgTmV3QXJy
b3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKLSAgICAgICAgY2FzZSBOZXdH
ZW5lcmF0b3JGdW5jdGlvbjoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlVHlwZS5oCmluZGV4IGQ0YTkyNzE4ODA3MTkyZDgzYjExMjQxMzY3ODJjNDhjMDVkOGM4
YTEuLmFjNjk5ZTEyYzcyODFmYzVlZDdkZDY1ZTcyYWIyYWMwOTk3NGM4NDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTMxMiw3ICszMTIsNiBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1
bHRKUykgXAogICAgIFwKICAgICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMp
IFwKLSAgICBtYWNybyhOZXdHZW5lcmF0b3JGdW5jdGlvbiwgTm9kZVJlc3VsdEpTKSBcCiAgICAg
XAogICAgIC8qIFRoZXNlIGFyZW4ndCB0ZXJtaW5hbHMgYnV0IGFsd2F5cyBleGl0ICovIFwKICAg
ICBtYWNybyhUaHJvdywgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5j
cHAKaW5kZXggZmJiMGFmMjVjMmEzYzEwNDBjNTUwOGUwYzEwMGNlYTA4NDU3MjZjZS4uMTJhYjE2
MzczM2ZhMTg0MWNiOGJjNDI5MjE5NWFkNDM1YTUyMjk2YyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhh
c2UuY3BwCkBAIC0xMzksNyArMTM5LDcgQEAgcHVibGljOgogICAgIC8vIG9uY2UgaXQgaXMgZXNj
YXBlZCBpZiBpdCBzdGlsbCBoYXMgcG9pbnRlcnMgdG8gaXQgaW4gb3JkZXIgdG8KICAgICAvLyBy
ZXBsYWNlIGFueSB1c2Ugb2YgdGhvc2UgcG9pbnRlcnMgYnkgdGhlIGNvcnJlc3BvbmRpbmcKICAg
ICAvLyBtYXRlcmlhbGl6YXRpb24KLSAgICBlbnVtIGNsYXNzIEtpbmQgeyBFc2NhcGVkLCBPYmpl
Y3QsIEFjdGl2YXRpb24sIEZ1bmN0aW9uLCBBcnJvd0Z1bmN0aW9uLCBHZW5lcmF0b3JGdW5jdGlv
biB9OworICAgIGVudW0gY2xhc3MgS2luZCB7IEVzY2FwZWQsIE9iamVjdCwgQWN0aXZhdGlvbiwg
RnVuY3Rpb24sIE5ld0Fycm93RnVuY3Rpb24gfTsKIAogICAgIGV4cGxpY2l0IEFsbG9jYXRpb24o
Tm9kZSogaWRlbnRpZmllciA9IG51bGxwdHIsIEtpbmQga2luZCA9IEtpbmQ6OkVzY2FwZWQpCiAg
ICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCkBAIC0yMzMsNyArMjMzLDEyIEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgaXNGdW5jdGlvbkFsbG9jYXRpb24oKSBjb25zdAogICAgIHsKLSAg
ICAgICAgcmV0dXJuIG1fa2luZCA9PSBLaW5kOjpGdW5jdGlvbiB8fCBtX2tpbmQgPT0gS2luZDo6
QXJyb3dGdW5jdGlvbiB8fCBtX2tpbmQgPT0gS2luZDo6R2VuZXJhdG9yRnVuY3Rpb247CisgICAg
ICAgIHJldHVybiBtX2tpbmQgPT0gS2luZDo6RnVuY3Rpb24gfHwgbV9raW5kID09IEtpbmQ6Ok5l
d0Fycm93RnVuY3Rpb247CisgICAgfQorICAgIAorICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uQWxs
b2NhdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9raW5kID09IEtpbmQ6Ok5l
d0Fycm93RnVuY3Rpb247CiAgICAgfQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFsbG9j
YXRpb24mIG90aGVyKSBjb25zdApAQCAtMjY5LDEyICsyNzQsOCBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIkZ1bmN0aW9uIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgICAKLSAgICAgICAgY2FzZSBLaW5kOjpBcnJvd0Z1bmN0aW9uOgotICAgICAgICAgICAg
b3V0LnByaW50KCJBcnJvd0Z1bmN0aW9uIik7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAg
ICBjYXNlIEtpbmQ6OkdlbmVyYXRvckZ1bmN0aW9uOgotICAgICAgICAgICAgb3V0LnByaW50KCJH
ZW5lcmF0b3JGdW5jdGlvbiIpOworICAgICAgICBjYXNlIEtpbmQ6Ok5ld0Fycm93RnVuY3Rpb246
CisgICAgICAgICAgICBvdXQucHJpbnQoIk5ld0Fycm93RnVuY3Rpb24iKTsKICAgICAgICAgICAg
IGJyZWFrOwogCiAgICAgICAgIGNhc2UgS2luZDo6QWN0aXZhdGlvbjoKQEAgLTgzNiwxOSArODM3
LDEzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIE5ld0Z1
bmN0aW9uOgotICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246Ci0gICAgICAgIGNhc2UgTmV3
R2VuZXJhdG9yRnVuY3Rpb246IHsKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOiB7CiAg
ICAgICAgICAgICBpZiAobm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+
c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpIHsKICAgICAgICAgICAgICAgICBt
X2hlYXAuZXNjYXBlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChub2RlLT5v
cCgpID09IE5ld0dlbmVyYXRvckZ1bmN0aW9uKQotICAgICAgICAgICAgICAgIHRhcmdldCA9ICZt
X2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0aW9uOjpLaW5kOjpHZW5lcmF0b3JGdW5j
dGlvbik7Ci0gICAgICAgICAgICBlbHNlIGlmIChub2RlLT5vcCgpID09IE5ld0Fycm93RnVuY3Rp
b24pCi0gICAgICAgICAgICAgICAgdGFyZ2V0ID0gJm1faGVhcC5uZXdBbGxvY2F0aW9uKG5vZGUs
IEFsbG9jYXRpb246OktpbmQ6OkFycm93RnVuY3Rpb24pOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHRhcmdldCA9ICZtX2hlYXAubmV3QWxsb2NhdGlvbihub2RlLCBBbGxvY2F0
aW9uOjpLaW5kOjpGdW5jdGlvbik7CisgICAgICAgICAgICB0YXJnZXQgPSAmbV9oZWFwLm5ld0Fs
bG9jYXRpb24obm9kZSwgQWxsb2NhdGlvbjo6S2luZDo6RnVuY3Rpb24pOwogICAgICAgICAgICAg
d3JpdGVzLmFkZChGdW5jdGlvbkV4ZWN1dGFibGVQTG9jLCBMYXp5Tm9kZShub2RlLT5jZWxsT3Bl
cmFuZCgpKSk7CiAgICAgICAgICAgICB3cml0ZXMuYWRkKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2Ms
IExhenlOb2RlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOwogICAgICAgICAgICAgYnJlYWs7CkBA
IC0xNDUxLDE0ICsxNDQ2LDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgT3BJbmZvKHNl
dCksIE9wSW5mbyhkYXRhKSwgMCwgMCk7CiAgICAgICAgIH0KIAotICAgICAgICBjYXNlIEFsbG9j
YXRpb246OktpbmQ6OkFycm93RnVuY3Rpb246Ci0gICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2lu
ZDo6R2VuZXJhdG9yRnVuY3Rpb246CisgICAgICAgIGNhc2UgQWxsb2NhdGlvbjo6S2luZDo6TmV3
QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBBbGxvY2F0aW9uOjpLaW5kOjpGdW5jdGlvbjog
ewogICAgICAgICAgICAgRnJvemVuVmFsdWUqIGV4ZWN1dGFibGUgPSBhbGxvY2F0aW9uLmlkZW50
aWZpZXIoKS0+Y2VsbE9wZXJhbmQoKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgTm9kZVR5
cGUgbm9kZVR5cGUgPQotICAgICAgICAgICAgICAgIGFsbG9jYXRpb24ua2luZCgpID09IEFsbG9j
YXRpb246OktpbmQ6OkFycm93RnVuY3Rpb24gPyBOZXdBcnJvd0Z1bmN0aW9uIDoKLSAgICAgICAg
ICAgICAgICBhbGxvY2F0aW9uLmtpbmQoKSA9PSBBbGxvY2F0aW9uOjpLaW5kOjpHZW5lcmF0b3JG
dW5jdGlvbiA/IE5ld0dlbmVyYXRvckZ1bmN0aW9uIDogTmV3RnVuY3Rpb247CisgICAgICAgICAg
ICBOb2RlVHlwZSBub2RlVHlwZSA9IGFsbG9jYXRpb24ua2luZCgpID09IEFsbG9jYXRpb246Oktp
bmQ6Ok5ld0Fycm93RnVuY3Rpb24gPyBOZXdBcnJvd0Z1bmN0aW9uIDogTmV3RnVuY3Rpb247CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIHJldHVybiBtX2dyYXBoLmFkZE5vZGUoCiAgICAgICAg
ICAgICAgICAgYWxsb2NhdGlvbi5pZGVudGlmaWVyKCktPnByZWRpY3Rpb24oKSwgbm9kZVR5cGUs
CkBAIC0xNzkwLDcgKzE3ODIsNiBAQCBwcml2YXRlOgogCiAgICAgICAgICAgICAgICAgICAgIGNh
c2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlv
bjoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlvbjoKICAgICAg
ICAgICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1BoYW50b21OZXdGdW5jdGlvbigpOwog
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTIwNDIsOCArMjAzMyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246Ci0g
ICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKLSAgICAgICAgY2FzZSBOZXdHZW5lcmF0b3JG
dW5jdGlvbjogeworICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246IHsKICAgICAgICAgICAg
IFZlY3RvcjxQcm9tb3RlZEhlYXBMb2NhdGlvbj4gbG9jYXRpb25zID0gbV9sb2NhdGlvbnNGb3JB
bGxvY2F0aW9uLmdldChlc2NhcGVlKTsKICAgICAgICAgICAgIEFTU0VSVChsb2NhdGlvbnMuc2l6
ZSgpID09IDIpOwogICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCA2
MTI3NzE2MmJjMzdkNDllNWI1ZDQ5NzNiMTI5MThmMjc3NDM2YjljLi40MTNiZjg5MmI3ZjJkNWVm
MTZmNzgzZjM1ZTVmNzdjOGRmNGM5MmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtMjA5
LDggKzIwOSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgR2V0U2V0dGVyOgogICAgICAgICBj
YXNlIEdldENhbGxlZToKICAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgotICAgICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgotICAgICAgICBjYXNlIE5ld0dlbmVyYXRvckZ1bmN0aW9uOiB7Cisg
ICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJl
ZGljdGlvbihTcGVjRnVuY3Rpb24pOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYjI4Y2Zj
NTY3ZGI3ZmUyYWJlNzU1Y2M0MDNhOTgyMjgwNzI0OThlNS4uMGY0NTZjOWMxODM2NjIxMzBmOWE0
NDdlZjMzZGIwYjI2ZDJmM2FhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
YWZlVG9FeGVjdXRlLmgKQEAgLTI2OCw3ICsyNjgsNiBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJz
dHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBQdXRUb0FyZ3VtZW50czoKICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBO
ZXdGdW5jdGlvbjoKLSAgICBjYXNlIE5ld0dlbmVyYXRvckZ1bmN0aW9uOgogICAgIGNhc2UgSnVt
cDoKICAgICBjYXNlIEJyYW5jaDoKICAgICBjYXNlIFN3aXRjaDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMDJmZjgyZGFlODQxN2Nk
OWZiMjFlOTRkYzhlZmU0YTQ2MDgxOWU5OC4uZjY0NDIyMDc4Y2ZkNzkwNzEwOTM1YjdjYjI3ODcz
ZDg5ZWY0NjQ5NyAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKQEAgLTUwLDcgKzUwLDYgQEAKICNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9ubWVudFJlY29y
ZC5oIgotI2luY2x1ZGUgIkpTR2VuZXJhdG9yRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0xleGlj
YWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKICNpbmNsdWRlICJTY29w
ZWRBcmd1bWVudHMuaCIKQEAgLTUzNzMsNyArNTM3Miw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBD
bGFzc1R5cGU+IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdGdW5jdGlvbkNvbW1vbihH
UFJSCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3RnVuY3Rpb24oTm9kZSogbm9kZSkK
IHsKICAgICBOb2RlVHlwZSBub2RlVHlwZSA9IG5vZGUtPm9wKCk7Ci0gICAgQVNTRVJUKG5vZGVU
eXBlID09IE5ld0Z1bmN0aW9uIHx8IG5vZGVUeXBlID09IE5ld0Fycm93RnVuY3Rpb24gfHwgbm9k
ZVR5cGUgPT0gTmV3R2VuZXJhdG9yRnVuY3Rpb24pOworICAgIEFTU0VSVChub2RlVHlwZSA9PSBO
ZXdGdW5jdGlvbiB8fCBub2RlVHlwZSA9PSBOZXdBcnJvd0Z1bmN0aW9uKTsKICAgICAKICAgICBT
cGVjdWxhdGVDZWxsT3BlcmFuZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAjaWYgVVNF
KEpTVkFMVUU2NCkKQEAgLTU0MTEsOCArNTQxMCw2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVOZXdGdW5jdGlvbihOb2RlKiBub2RlKQogI2Vsc2UKICAgICAgICAgICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhl
Y3V0YWJsZSwgdGhpc1ZhbHVlVGFnR1BSLCB0aGlzVmFsdWVQYXlsb2FkR1BSKTsKICNlbmRpZgot
ICAgICAgICBlbHNlIGlmIChub2RlVHlwZSA9PSBOZXdHZW5lcmF0b3JGdW5jdGlvbikKLSAgICAg
ICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3R2VuZXJhdG9yRnVuY3Rpb24sIHJlc3Vs
dEdQUiwgc2NvcGVHUFIsIGV4ZWN1dGFibGUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBj
YWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCByZXN1bHRHUFIsIHNjb3BlR1BSLCBl
eGVjdXRhYmxlKTsKICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKQEAgLTU0MjAsMTAg
KzU0MTcsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3RnVuY3Rpb24oTm9kZSog
bm9kZSkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0KLSAgICAgICAgbm9kZVR5cGUgPT0gTmV3QXJyb3dGdW5jdGlvbiA/IG1faml0LmdyYXBoKCku
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1
Y3R1cmUoKSA6Ci0gICAgICAgIG5vZGVUeXBlID09IE5ld0dlbmVyYXRvckZ1bmN0aW9uID8gbV9q
aXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+Z2VuZXJh
dG9yRnVuY3Rpb25TdHJ1Y3R1cmUoKSA6Ci0gICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2Jq
ZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCk7CisgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBub2RlVHlwZSA9PSBOZXdBcnJvd0Z1bmN0aW9uCisgICAg
ICAgID8gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGlj
KS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpCisgICAgICAgIDogbV9qaXQuZ3JhcGgoKS5nbG9i
YWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKTsK
ICAgICAKICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBz
Y3JhdGNoMSh0aGlzKTsKQEAgLTU0NDAsMTIgKzU0MzYsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlTmV3RnVuY3Rpb24oTm9kZSogbm9kZSkKICAgICAgICAgICAgIAogICAgICAgICBh
ZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoc2xvd1BhdGgsIHRoaXMsIG9wZXJhdGlv
bk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCwgcmVzdWx0
R1BSLCBzY29wZUdQUiwgZXhlY3V0YWJsZSkpOwogICAgIH0KLQotICAgIGlmIChub2RlVHlwZSA9
PSBOZXdHZW5lcmF0b3JGdW5jdGlvbikgewotICAgICAgICBjb21waWxlTmV3RnVuY3Rpb25Db21t
b248SlNHZW5lcmF0b3JGdW5jdGlvbj4ocmVzdWx0R1BSLCBzdHJ1Y3R1cmUsIHNjcmF0Y2gxR1BS
LCBzY3JhdGNoMkdQUiwgc2NvcGVHUFIsIHNsb3dQYXRoLCBKU0dlbmVyYXRvckZ1bmN0aW9uOjph
bGxvY2F0aW9uU2l6ZSgwKSwgZXhlY3V0YWJsZSwgSlNHZW5lcmF0b3JGdW5jdGlvbjo6b2Zmc2V0
T2ZTY29wZUNoYWluKCksIEpTR2VuZXJhdG9yRnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgp
LCBKU0dlbmVyYXRvckZ1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpOwotCi0gICAgICAgIGFk
ZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChzbG93UGF0aCwgdGhpcywgb3BlcmF0aW9u
TmV3R2VuZXJhdG9yRnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50
LCByZXN1bHRHUFIsIHNjb3BlR1BSLCBleGVjdXRhYmxlKSk7Ci0gICAgfQogICAgIAogICAgIGlm
IChub2RlVHlwZSA9PSBOZXdBcnJvd0Z1bmN0aW9uKSB7CiAgICAgICAgIGNvbXBpbGVOZXdGdW5j
dGlvbkNvbW1vbjxKU0Fycm93RnVuY3Rpb24+KHJlc3VsdEdQUiwgc3RydWN0dXJlLCBzY3JhdGNo
MUdQUiwgc2NyYXRjaDJHUFIsIHNjb3BlR1BSLCBzbG93UGF0aCwgSlNBcnJvd0Z1bmN0aW9uOjph
bGxvY2F0aW9uU2l6ZSgwKSwgZXhlY3V0YWJsZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNj
b3BlQ2hhaW4oKSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSwgSlNBcnJv
d0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggNTI3Mzc0YWZmYmVi
ZTI0YzYzYWM3Njc4MzllNjcwMGJjODY0NDBlMy4uMmYxZDc2Zjk2OGFlYjc2OWRmNjlkODI1NDVl
ODkxNWI1OWZmNjk1OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC00NDA4LDcgKzQ0MDgsNiBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgog
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKLSAgICBjYXNlIE5ld0dlbmVyYXRvckZ1bmN0aW9u
OgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApp
bmRleCBiOTNlODY5ZDY5NTZjYTQzN2RkOGM0NDhlNDUyN2ExYzRhYzkzYzdiLi5iNDkxMTYxMGIy
NWM0NmM5NTRjYjQ3MmFiNjA4ZTYyZjM3ZGM5ZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTQzOTcsNyArNDM5Nyw2IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgIGNhc2UgTmV3
RnVuY3Rpb246CiAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgotICAgIGNhc2UgTmV3R2VuZXJh
dG9yRnVuY3Rpb246CiAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAg
YnJlYWs7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVC
YXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
dG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHAKaW5kZXggNzJmMjIwMGNlYTEwYjk4MTBkYmE4
YzdiMTlmZWZmMjRkYWE1ZGFlMy4uZDczNmVmZWJiYWM3ZTM4MWIwOTkwNzUwM2ExNjE3OWEzNWQ5
OTFhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJp
ZXJJbnNlcnRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
dG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHAKQEAgLTMwNiw3ICszMDYsNiBAQCBwcml2YXRl
OgogICAgICAgICAgICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CiAgICAgICAgICAgICBj
YXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgotICAg
ICAgICAgICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlvbjoKICAgICAgICAgICAgICAgICAvLyBO
b2RlcyB0aGF0IGFsbG9jYXRlIGdldCB0byBzZXQgdGhlaXIgZXBvY2ggYmVjYXVzZSBmb3IgdGhv
c2Ugbm9kZXMgd2Uga25vdwogICAgICAgICAgICAgICAgIC8vIHRoYXQgdGhleSB3aWxsIGJlIHRo
ZSBuZXdlc3Qgb2JqZWN0IGluIHRoZSBoZWFwLgogICAgICAgICAgICAgICAgIG1fbm9kZS0+c2V0
RXBvY2gobV9jdXJyZW50RXBvY2gpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRleCA0MzQ1ZmYy
Y2M3ZDY3MWQ0Yjg1MjVlZGNkOTU3NGFlZTFjZjdmZTJiLi5lMzkzNzJiMmQ1ODk4NDYwMjFhYTQ2
Yjk4NzgxMjcyYTk1OTExOWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAtMTQ2LDkgKzE0
Niw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAg
ICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlv
bjoKLSAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxP
YmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+Z2VuZXJhdG9yRnVuY3Rpb25TdHJ1Y3R1
cmUoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBmYmVi
Yjc1M2Y5OWEyODI2NTNlMzQ1MzcxMjE1NmQwYmY2ZWY1NzM4Li41YzNiODFjNTFjZGU1M2E3M2Vi
YmJkZjc3YjNhMzVjYzE5MzA2OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwCkBAIC0xMTEsNyArMTExLDYgQEAgaW5saW5lIENhcGFiaWxpdHlM
ZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgog
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgotICAgIGNh
c2UgTmV3R2VuZXJhdG9yRnVuY3Rpb246CiAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgogICAgIGNh
c2UgUHV0Q2xvc3VyZVZhcjoKICAgICBjYXNlIENyZWF0ZURpcmVjdEFyZ3VtZW50czoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggNjM2
OTE0N2I2YzViMWVjMDI4ZDAwYmNmMzYzZTFjY2I3MzM3NTk0ZC4uMDZiNWJjMDI1NGVjYzRhNmZi
MDVlYjcwZjQ4MjFkNzYxYTNiZDcyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAgLTUyLDcgKzUyLDYgQEAKICNpbmNsdWRlICJGVExX
ZWlnaHRlZFRhcmdldC5oIgogI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKLSNpbmNsdWRlICJKU0dlbmVyYXRvckZ1bmN0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lubGluZXMuaCIK
ICNpbmNsdWRlICJTY29wZWRBcmd1bWVudHMuaCIKQEAgLTc1NSw3ICs3NTQsNiBAQCBwcml2YXRl
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAg
IGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKLSAgICAgICAgY2FzZSBOZXdHZW5lcmF0b3JGdW5jdGlv
bjoKICAgICAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQ3JlYXRlRGlyZWN0QXJndW1lbnRzOgpAQCAtMzU2MiwzNyArMzU2MCwz
NCBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgY29tcGlsZU5ld0Z1bmN0aW9uKCkKICAgICB7
Ci0gICAgICAgIEFTU0VSVChtX25vZGUtPm9wKCkgPT0gTmV3RnVuY3Rpb24gfHwgbV9ub2RlLT5v
cCgpID09IE5ld0Fycm93RnVuY3Rpb24gfHwgbV9ub2RlLT5vcCgpID09IE5ld0dlbmVyYXRvckZ1
bmN0aW9uKTsKKyAgICAgICAgQVNTRVJUKG1fbm9kZS0+b3AoKSA9PSBOZXdGdW5jdGlvbiB8fCBt
X25vZGUtPm9wKCkgPT0gTmV3QXJyb3dGdW5jdGlvbik7CisgICAgICAgIAogICAgICAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IG1fbm9kZS0+b3AoKSA9PSBOZXdBcnJvd0Z1bmN0aW9uOwotICAg
ICAgICBib29sIGlzR2VuZXJhdG9yRnVuY3Rpb24gPSBtX25vZGUtPm9wKCkgPT0gTmV3R2VuZXJh
dG9yRnVuY3Rpb247CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1f
bm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBMVmFsdWUgdGhpc1ZhbHVlID0gaXNBcnJvd0Z1bmN0
aW9uID8gbG93Q2VsbChtX25vZGUtPmNoaWxkMigpKSA6IG51bGxwdHI7CiAgICAgICAgIAogICAg
ICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5k
PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCk7CiAgICAgICAgIGlmIChleGVjdXRhYmxlLT5zaW5nbGV0
b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgewotICAgICAgICAgICAgTFZhbHVlIGNhbGxS
ZXN1bHQgPQotICAgICAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA/IHZtQ2FsbChtX291dC5p
bnQ2NCwgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pLCBtX2NhbGxG
cmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpIDoKLSAgICAg
ICAgICAgICAgICBpc0dlbmVyYXRvckZ1bmN0aW9uID8gdm1DYWxsKG1fb3V0LmludDY0LCBtX291
dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3R2VuZXJhdG9yRnVuY3Rpb24pLCBtX2NhbGxGcmFtZSwg
c2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpKSA6Ci0gICAgICAgICAgICAgICAgdm1DYWxs
KG1fb3V0LmludDY0LCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb24pLCBtX2Nh
bGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpKTsKKyAgICAgICAgICAgIExW
YWx1ZSBjYWxsUmVzdWx0ID0gaXNBcnJvd0Z1bmN0aW9uCisgICAgICAgICAgICAgICAgPyB2bUNh
bGwobV9vdXQuaW50NjQsIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9u
KSwgbV9jYWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVl
KQorICAgICAgICAgICAgICAgIDogdm1DYWxsKG1fb3V0LmludDY0LCBtX291dC5vcGVyYXRpb24o
b3BlcmF0aW9uTmV3RnVuY3Rpb24pLCBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4
ZWN1dGFibGUpKTsKICAgICAgICAgICAgIHNldEpTVmFsdWUoY2FsbFJlc3VsdCk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0KLSAgICAgICAgICAgIGlzQXJyb3dGdW5jdGlvbiA/IG1fZ3JhcGguZ2xvYmFsT2Jq
ZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgp
IDoKLSAgICAgICAgICAgIGlzR2VuZXJhdG9yRnVuY3Rpb24gPyBtX2dyYXBoLmdsb2JhbE9iamVj
dEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmdlbmVyYXRvckZ1bmN0aW9uU3RydWN0dXJl
KCkgOgotICAgICAgICAgICAgbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmlnaW4u
c2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGlzQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgPyBtX2dyYXBoLmdsb2JhbE9iamVj
dEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKQor
ICAgICAgICAgICAgOiBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1h
bnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCk7CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9j
ayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3RnVuY3Rpb24gc2xvdyBwYXRo
IikpOwogICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1f
b3V0LCAoIk5ld0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIpKTsKICAgICAgICAgCiAgICAgICAgIExC
YXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3JlKHNsb3dQYXRo
KTsKICAgICAgICAgCi0gICAgICAgIExWYWx1ZSBmYXN0T2JqZWN0ID0KLSAgICAgICAgICAgIGlz
QXJyb3dGdW5jdGlvbiA/IGFsbG9jYXRlT2JqZWN0PEpTQXJyb3dGdW5jdGlvbj4oc3RydWN0dXJl
LCBtX291dC5pbnRQdHJaZXJvLCBzbG93UGF0aCkgOgotICAgICAgICAgICAgaXNHZW5lcmF0b3JG
dW5jdGlvbiA/IGFsbG9jYXRlT2JqZWN0PEpTR2VuZXJhdG9yRnVuY3Rpb24+KHN0cnVjdHVyZSwg
bV9vdXQuaW50UHRyWmVybywgc2xvd1BhdGgpIDoKLSAgICAgICAgICAgIGFsbG9jYXRlT2JqZWN0
PEpTRnVuY3Rpb24+KHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywgc2xvd1BhdGgpOworICAg
ICAgICBMVmFsdWUgZmFzdE9iamVjdCA9IGlzQXJyb3dGdW5jdGlvbgorICAgICAgICAgICAgPyBh
bGxvY2F0ZU9iamVjdDxKU0Fycm93RnVuY3Rpb24+KHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVy
bywgc2xvd1BhdGgpCisgICAgICAgICAgICA6IGFsbG9jYXRlT2JqZWN0PEpTRnVuY3Rpb24+KHN0
cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAg
CiAgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJpZXJzIHNpbmNlIHdlIGp1c3Qg
ZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlvbiwgc28gaXQKQEAgLTM2MjIsMTIgKzM2MTcsNiBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25zWzBdLmRpcmVjdEdQUigp
LCBsb2NhdGlvbnNbMV0uZGlyZWN0R1BSKCksCiAgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoZXhlY3V0YWJsZSksIGxvY2F0aW9uc1syXS5kaXJlY3RH
UFIoKSk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChpc0dlbmVyYXRv
ckZ1bmN0aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVMYXp5Q2FsbEdl
bmVyYXRvcigKLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbk5ld0dlbmVyYXRvckZ1
bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGxvY2F0aW9uc1swXS5kaXJlY3RHUFIoKSwgbG9jYXRpb25zWzFdLmRpcmVj
dEdQUigpLAotICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
UHRyKGV4ZWN1dGFibGUpKTsKLSAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmV0
dXJuIGNyZWF0ZUxhenlDYWxsR2VuZXJhdG9yKAogICAgICAgICAgICAgICAgICAgICBvcGVyYXRp
b25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQsCiAgICAg
ICAgICAgICAgICAgICAgIGxvY2F0aW9uc1swXS5kaXJlY3RHUFIoKSwgbG9jYXRpb25zWzFdLmRp
cmVjdEdQUigpLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9nZW5lcmF0b3ItZnVuY3Rpb24tY3JlYXRlLW9wdGltaXplZC5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9uLWNyZWF0ZS1vcHRpbWl6ZWQu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNGY0MDk3NzdhMDE4NDhlMzJlMjFj
NWIwMWE3ZDc1ZTVmNDNkYWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9nZW5lcmF0b3ItZnVu
Y3Rpb24tY3JlYXRlLW9wdGltaXplZC5qcworKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAK
LWZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKLSAgICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1
YWwpOwotfQotCi0KLWZ1bmN0aW9uICpnKCkgeyB9Ci12YXIgR2VuZXJhdG9yRnVuY3Rpb25Qcm90
b3R5cGUgPSBnLl9fcHJvdG9fXzsKLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmV0dXJuIGZ1
bmN0aW9uICpnZW4oKQotICAgIHsKLSAgICAgICAgeWllbGQgNDI7Ci0gICAgfTsKLX0KLW5vSW5s
aW5lKHRlc3QpOwotCi1mdW5jdGlvbiB0ZXN0MigpCi17Ci0gICAgZnVuY3Rpb24gKmdlbigpCi0g
ICAgewotICAgICAgICB5aWVsZCA0MjsKLSAgICB9Ci0KLSAgICByZXR1cm4gZ2VuOwotfQotbm9J
bmxpbmUodGVzdDIpOwotCi1mb3IgKHZhciBpID0gMDsgaSA8IDFlNDsgKytpKSB7Ci0gICAgc2hv
dWxkQmUodGVzdCgpLl9fcHJvdG9fXywgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUpOwotICAg
IHNob3VsZEJlKHRlc3QyKCkuX19wcm90b19fLCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSk7
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dlbmVy
YXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi1zaW5raW5nLW5vLWRvdWJsZS1hbGxvY2F0ZS5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9uLWRl
Y2xhcmF0aW9uLXNpbmtpbmctbm8tZG91YmxlLWFsbG9jYXRlLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0MTJiZGJmYzM2NWFlZDc5NDcwNDM1Zjc2ZGQyMTZiODgzMDhjNTMzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlY2xhcmF0aW9uLXNp
bmtpbmctbm8tZG91YmxlLWFsbG9jYXRlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBA
QAotZnVuY3Rpb24gc2hvdWxkQmUoYWN0dWFsLCBleHBlY3RlZCkgewotICAgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JhZCB2YWx1ZTogJyArIGFj
dHVhbCk7Ci19Ci12YXIgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUgPSAoZnVuY3Rpb24qKCl7
fSkuX19wcm90b19fOwotCi1mdW5jdGlvbiBjYWxsKG8pIHsgby54ID0gMzsgfQotbm9JbmxpbmUo
Y2FsbCk7Ci0KLWZ1bmN0aW9uIHNpbmsgKHAsIHEpIHsKLSAgICBmdW5jdGlvbiAqZigpIHsgfTsK
LSAgICBpZiAocCkgewotICAgICAgICBjYWxsKGYpOyAvLyBGb3JjZSBhbGxvY2F0aW9uIG9mIGYK
LSAgICAgICAgaWYgKHEpIHsKLSAgICAgICAgICAgIE9TUkV4aXQoKTsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gZjsKLSAgICB9Ci0gICAgcmV0dXJuIHsgJ3gnOiAyIH07Ci19Ci1ub0lubGlu
ZShzaW5rKTsKLQotZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewotICAgIHZhciBv
ID0gc2luayh0cnVlLCBmYWxzZSk7Ci0gICAgc2hvdWxkQmUoby5fX3Byb3RvX18sIEdlbmVyYXRv
ckZ1bmN0aW9uUHJvdG90eXBlKTsKLSAgICBpZiAoby54ICE9IDMpCi0gICAgICAgIHRocm93ICJF
cnJvcjogZXhwZWN0ZWQgby54IHRvIGJlIDIgYnV0IGlzICIgKyByZXN1bHQ7Ci19Ci0KLS8vIEF0
IHRoaXMgcG9pbnQsIHRoZSBmdW5jdGlvbiBzaG91bGQgYmUgY29tcGlsZWQgZG93biB0byB0aGUg
RlRMCi0KLS8vIENoZWNrIHRoYXQgdGhlIGZ1bmN0aW9uIGlzIHByb3Blcmx5IGFsbG9jYXRlZCBv
biBPU1IgZXhpdAotdmFyIGYgPSBzaW5rKHRydWUsIHRydWUpOwotc2hvdWxkQmUoZi5fX3Byb3Rv
X18sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKTsKLWlmIChmLnggIT0gMykKLSAgICB0aHJv
dyAiRXJyb3I6IGV4cGVjdGVkIG8ueCB0byBiZSAzIGJ1dCBpcyAiICsgcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9nZW5lcmF0b3ItZnVuY3Rp
b24tZGVjbGFyYXRpb24tc2lua2luZy1vc3JleGl0LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9nZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24tc2lua2luZy1vc3Jl
eGl0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmU5ZTMxZGE4OWZiNGI0OWY2
YmJjMjM0MjE0MGU0MmQxM2ZkYjdlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9y
LWZ1bmN0aW9uLWRlY2xhcmF0aW9uLXNpbmtpbmctb3NyZXhpdC5qcworKysgL2Rldi9udWxsCkBA
IC0xLDMwICswLDAgQEAKLWZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKLSAg
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQg
dmFsdWU6ICcgKyBhY3R1YWwpOwotfQotdmFyIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlID0g
KGZ1bmN0aW9uKigpe30pLl9fcHJvdG9fXzsKLQotZnVuY3Rpb24gc2luayAocCwgcSkgewotICAg
IGZ1bmN0aW9uICpnKHgpIHsgcmV0dXJuIHg7IH07Ci0gICAgaWYgKHApIHsgaWYgKHEpIE9TUkV4
aXQoKTsgcmV0dXJuIGc7IH0KLSAgICBmdW5jdGlvbiAqZih4KSB7IHJldHVybiB4OyB9OwotICAg
IHJldHVybiBmOwotfQotbm9JbmxpbmUoc2luayk7Ci0KLWZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDA7ICsraSkgewotICAgIHZhciBmID0gc2luayh0cnVlLCBmYWxzZSk7Ci0gICAgc2hvdWxkQmUo
Zi5fX3Byb3RvX18sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKTsKLSAgICB2YXIgcmVzdWx0
ID0gZig0Mik7Ci0gICAgaWYgKHJlc3VsdC5uZXh0KCkudmFsdWUgIT0gNDIpCi0gICAgdGhyb3cg
IkVycm9yOiBleHBlY3RlZCA0MiBidXQgZ290ICIgKyByZXN1bHQ7Ci19Ci0KLS8vIEF0IHRoaXMg
cG9pbnQsIHRoZSBmdW5jdGlvbiBzaG91bGQgYmUgY29tcGlsZWQgZG93biB0byB0aGUgRlRMCi0K
LS8vIENoZWNrIHRoYXQgdGhlIGZ1bmN0aW9uIGlzIHByb3Blcmx5IGFsbG9jYXRlZCBvbiBPU1Ig
ZXhpdAotdmFyIGYgPSBzaW5rKHRydWUsIHRydWUpOwotc2hvdWxkQmUoZi5fX3Byb3RvX18sIEdl
bmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKTsKLXZhciByZXN1bHQgPSBmKDQyKTsKLWlmIChyZXN1
bHQubmV4dCgpLnZhbHVlICE9IDQyKQotICAgIHRocm93ICJFcnJvcjogZXhwZWN0ZWQgNDIgYnV0
IGdvdCAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9nZW5lcmF0b3ItZnVuY3Rpb24tZGVjbGFyYXRpb24tc2lua2luZy1wdXQuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dlbmVyYXRvci1mdW5jdGlvbi1kZWNs
YXJhdGlvbi1zaW5raW5nLXB1dC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Rl
Y2E1N2QzZGE2ZDk3N2VmMGY1ZDYyZmYwOTQ1MzQ1MTFkZjliNi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2dlbmVyYXRvci1mdW5jdGlvbi1kZWNsYXJhdGlvbi1zaW5raW5nLXB1dC5qcworKysg
L2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhw
ZWN0ZWQpIHsKLSAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOwotfQotdmFyIEdlbmVyYXRvckZ1bmN0aW9u
UHJvdG90eXBlID0gKGZ1bmN0aW9uKigpe30pLl9fcHJvdG9fXzsKLQotZnVuY3Rpb24gc2luayAo
cCwgcSkgewotICAgIGZ1bmN0aW9uICpnKHgpIHsgcmV0dXJuIHg7IH07Ci0gICAgaWYgKHApIHsg
aWYgKHEpIGcuaW5uZXIgPSA0MjsgcmV0dXJuIGc7IH0KLSAgICBmdW5jdGlvbiAqZih4KSB7IHJl
dHVybiB4OyB9OwotICAgIHJldHVybiBmOwotfQotbm9JbmxpbmUoc2luayk7Ci0KLWZvciAodmFy
IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgewotICAgIHZhciBmID0gc2luayh0cnVlLCB0cnVlKTsK
LSAgICBzaG91bGRCZShmLl9fcHJvdG9fXywgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUpOwot
ICAgIHZhciByZXN1bHQgPSBmKDQyKTsKLSAgICBpZiAocmVzdWx0Lm5leHQoKS52YWx1ZSAhPSA0
MikKLSAgICB0aHJvdyAiRXJyb3I6IGV4cGVjdGVkIDQyIGJ1dCBnb3QgIiArIHJlc3VsdDsKLX0K
LQotLy8gQXQgdGhpcyBwb2ludCwgdGhlIGZ1bmN0aW9uIHNob3VsZCBiZSBjb21waWxlZCBkb3du
IHRvIHRoZSBGVEwKLQotLy8gVGVzdCB0aGUgYWxsb2NhdGlvbiBvbiB0aGUgaW1wbGljaXQgaW5u
ZXIgZWxzZSBicmFuY2gKLXZhciBmID0gc2luayh0cnVlLCBmYWxzZSk7Ci1zaG91bGRCZShmLl9f
cHJvdG9fXywgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUpOwotdmFyIHJlc3VsdCA9IGYoMTIp
OwotaWYgKHJlc3VsdC5uZXh0KCkudmFsdWUgIT0gMTIpCi0gICAgLy8gVGhpcyBzaG91bGRuJ3Qg
bWF0dGVyIGFzIGl0IHNob3VsZCBiZSBlaXRoZXIgY29ycmVjdCBvciBjb21wbGV0ZWx5IGNyYXNo
Ci0gICAgdGhyb3cgIkVycm9yOiBleHBlY3RlZCAxMiBidXQgZ290ICIgKyByZXN1bHQ7Ci0KLS8v
IENoZWNrIHRoYXQgdGhlIGFsbG9jYXRpb24gZGlkIG5vdCBzaW5rIGJleW9uZCB0aGUgcHJvcGVy
dHkgYXNzaWdubWVudAotdmFyIGYgPSBzaW5rKHRydWUsIHRydWUpOwotc2hvdWxkQmUoZi5fX3By
b3RvX18sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKTsKLXZhciByZXN1bHQgPSBmLmlubmVy
OwotaWYgKHJlc3VsdCAhPSA0MikKLSAgICB0aHJvdyAiRXJyb3I6IGlubmVyIHNob3VsZCBiZSA0
MiBidXQgaXMgIiArIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9uLWV4cHJlc3Npb24tc2lua2luZy1uby1kb3Vi
bGUtYWxsb2NhdGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dlbmVy
YXRvci1mdW5jdGlvbi1leHByZXNzaW9uLXNpbmtpbmctbm8tZG91YmxlLWFsbG9jYXRlLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjBlNmYwZTcxZTIzM2E5ZGQxYzVkODJjZDFh
ZTM1MGVlMTA4YzRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9u
LWV4cHJlc3Npb24tc2lua2luZy1uby1kb3VibGUtYWxsb2NhdGUuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwzNiArMCwwIEBACi1mdW5jdGlvbiBzaG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7Ci0g
ICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcignYmFk
IHZhbHVlOiAnICsgYWN0dWFsKTsKLX0KLXZhciBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSA9
IChmdW5jdGlvbiooKXt9KS5fX3Byb3RvX187Ci0KLWZ1bmN0aW9uIGNhbGwobykgeyBvLnggPSAz
OyB9Ci1ub0lubGluZShjYWxsKTsKLQotZnVuY3Rpb24gc2luayAocCwgcSkgewotICAgIHZhciBm
ID0gZnVuY3Rpb24gKigpIHsgfTsKLSAgICBpZiAocCkgewotICAgICAgICBjYWxsKGYpOyAvLyBG
b3JjZSBhbGxvY2F0aW9uIG9mIGYKLSAgICAgICAgaWYgKHEpIHsKLSAgICAgICAgICAgIE9TUkV4
aXQoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gZjsKLSAgICB9Ci0gICAgcmV0dXJuIHsg
J3gnOiAyIH07Ci19Ci1ub0lubGluZShzaW5rKTsKLQotZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkgewotICAgIHZhciBvID0gc2luayh0cnVlLCBmYWxzZSk7Ci0gICAgc2hvdWxkQmUo
by5fX3Byb3RvX18sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKTsKLSAgICBpZiAoby54ICE9
IDMpCi0gICAgICAgIHRocm93ICJFcnJvcjogZXhwZWN0ZWQgby54IHRvIGJlIDIgYnV0IGlzICIg
KyByZXN1bHQ7Ci19Ci0KLS8vIEF0IHRoaXMgcG9pbnQsIHRoZSBmdW5jdGlvbiBzaG91bGQgYmUg
Y29tcGlsZWQgZG93biB0byB0aGUgRlRMCi0KLS8vIENoZWNrIHRoYXQgdGhlIGZ1bmN0aW9uIGlz
IHByb3Blcmx5IGFsbG9jYXRlZCBvbiBPU1IgZXhpdAotdmFyIGYgPSBzaW5rKHRydWUsIHRydWUp
Owotc2hvdWxkQmUoZi5fX3Byb3RvX18sIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKTsKLWlm
IChmLnggIT0gMykKLSAgICB0aHJvdyAiRXJyb3I6IGV4cGVjdGVkIG8ueCB0byBiZSAzIGJ1dCBp
cyAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9nZW5lcmF0b3ItZnVuY3Rpb24tZXhwcmVzc2lvbi1zaW5raW5nLW9zcmV4aXQuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dlbmVyYXRvci1mdW5jdGlvbi1leHBy
ZXNzaW9uLXNpbmtpbmctb3NyZXhpdC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDgzNjU4MTQ1N2RkYmIzZmY5N2Y4NzFhMmIxODY4MzhkMjRkYjcwZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2dlbmVyYXRvci1mdW5jdGlvbi1leHByZXNzaW9uLXNpbmtpbmctb3NyZXhpdC5q
cworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWZ1bmN0aW9uIHNob3VsZEJlKGFjdHVh
bCwgZXhwZWN0ZWQpIHsKLSAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKLSAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOwotfQotdmFyIEdlbmVyYXRvckZ1
bmN0aW9uUHJvdG90eXBlID0gKGZ1bmN0aW9uKigpe30pLl9fcHJvdG9fXzsKLQotZnVuY3Rpb24g
c2luayAocCwgcSkgewotICAgIHZhciBnID0gZnVuY3Rpb24gKih4KSB7IHJldHVybiB4OyB9Owot
ICAgIGlmIChwKSB7IGlmIChxKSBPU1JFeGl0KCk7IHJldHVybiBnOyB9Ci0gICAgcmV0dXJuIGZ1
bmN0aW9uICooeCkgeyByZXR1cm4geDsgfTsKLX0KLW5vSW5saW5lKHNpbmspOwotCi1mb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKLSAgICB2YXIgZiA9IHNpbmsodHJ1ZSwgZmFsc2Up
OwotICAgIHNob3VsZEJlKGYuX19wcm90b19fLCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSk7
Ci0gICAgdmFyIHJlc3VsdCA9IGYoNDIpOwotICAgIGlmIChyZXN1bHQubmV4dCgpLnZhbHVlICE9
IDQyKQotICAgIHRocm93ICJFcnJvcjogZXhwZWN0ZWQgNDIgYnV0IGdvdCAiICsgcmVzdWx0Owot
fQotCi0vLyBBdCB0aGlzIHBvaW50LCB0aGUgZnVuY3Rpb24gc2hvdWxkIGJlIGNvbXBpbGVkIGRv
d24gdG8gdGhlIEZUTAotCi0vLyBDaGVjayB0aGF0IHRoZSBmdW5jdGlvbiBpcyBwcm9wZXJseSBh
bGxvY2F0ZWQgb24gT1NSIGV4aXQKLXZhciBmID0gc2luayh0cnVlLCB0cnVlKTsKLXNob3VsZEJl
KGYuX19wcm90b19fLCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSk7Ci12YXIgcmVzdWx0ID0g
Zig0Mik7Ci1pZiAocmVzdWx0Lm5leHQoKS52YWx1ZSAhPSA0MikKLSAgICB0aHJvdyAiRXJyb3I6
IGV4cGVjdGVkIDQyIGJ1dCBnb3QgIiArIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9uLWV4cHJlc3Npb24tc2lu
a2luZy1wdXQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dlbmVyYXRv
ci1mdW5jdGlvbi1leHByZXNzaW9uLXNpbmtpbmctcHV0LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0M2Y1MDkxN2Q4MmU5ZjI5NDdhZjJkZjI0MGYwYThhMTdmZjU2MTg5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2VuZXJhdG9yLWZ1bmN0aW9uLWV4cHJlc3Npb24tc2lua2lu
Zy1wdXQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1mdW5jdGlvbiBzaG91bGRC
ZShhY3R1YWwsIGV4cGVjdGVkKSB7Ci0gICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpCi0gICAg
ICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKLX0KLXZhciBHZW5l
cmF0b3JGdW5jdGlvblByb3RvdHlwZSA9IChmdW5jdGlvbiooKXt9KS5fX3Byb3RvX187Ci0KLWZ1
bmN0aW9uIHNpbmsgKHAsIHEpIHsKLSAgICB2YXIgZyA9IGZ1bmN0aW9uICooeCkgeyByZXR1cm4g
eDsgfTsKLSAgICBpZiAocCkgeyBpZiAocSkgZy5pbm5lciA9IDQyOyByZXR1cm4gZzsgfQotICAg
IHJldHVybiBmdW5jdGlvbiAqKHgpIHsgcmV0dXJuIHg7IH07Ci19Ci1ub0lubGluZShzaW5rKTsK
LQotZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7Ci0gICAgdmFyIGYgPSBzaW5rKHRy
dWUsIHRydWUpOwotICAgIHNob3VsZEJlKGYuX19wcm90b19fLCBHZW5lcmF0b3JGdW5jdGlvblBy
b3RvdHlwZSk7Ci0gICAgdmFyIHJlc3VsdCA9IGYoNDIpOwotICAgIGlmIChyZXN1bHQubmV4dCgp
LnZhbHVlICE9IDQyKQotICAgIHRocm93ICJFcnJvcjogZXhwZWN0ZWQgNDIgYnV0IGdvdCAiICsg
cmVzdWx0OwotfQotCi0vLyBBdCB0aGlzIHBvaW50LCB0aGUgZnVuY3Rpb24gc2hvdWxkIGJlIGNv
bXBpbGVkIGRvd24gdG8gdGhlIEZUTAotCi0vLyBUZXN0IHRoZSBhbGxvY2F0aW9uIG9uIHRoZSBp
bXBsaWNpdCBpbm5lciBlbHNlIGJyYW5jaAotdmFyIGYgPSBzaW5rKHRydWUsIGZhbHNlKTsKLXNo
b3VsZEJlKGYuX19wcm90b19fLCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSk7Ci12YXIgcmVz
dWx0ID0gZigxMik7Ci1pZiAocmVzdWx0Lm5leHQoKS52YWx1ZSAhPSAxMikKLSAgICAvLyBUaGlz
IHNob3VsZG4ndCBtYXR0ZXIgYXMgaXQgc2hvdWxkIGJlIGVpdGhlciBjb3JyZWN0IG9yIGNvbXBs
ZXRlbHkgY3Jhc2gKLSAgICB0aHJvdyAiRXJyb3I6IGV4cGVjdGVkIDEyIGJ1dCBnb3QgIiArIHJl
c3VsdDsKLQotLy8gQ2hlY2sgdGhhdCB0aGUgYWxsb2NhdGlvbiBkaWQgbm90IHNpbmsgYmV5b25k
IHRoZSBwcm9wZXJ0eSBhc3NpZ25tZW50Ci12YXIgZiA9IHNpbmsodHJ1ZSwgdHJ1ZSk7Ci1zaG91
bGRCZShmLl9fcHJvdG9fXywgR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUpOwotdmFyIHJlc3Vs
dCA9IGYuaW5uZXI7Ci1pZiAocmVzdWx0ICE9IDQyKQotICAgIHRocm93ICJFcnJvcjogaW5uZXIg
c2hvdWxkIGJlIDQyIGJ1dCBpcyAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEwMWU2MTZhZDhiZDJiNTNk
MzkwNmU2MTlhYzUwMjdkZTJkNTZlYWEuLmIwZGE0MmVmMjI5Y2M5NGE5NjcyYTI3ZDhjMjRlOWZm
M2ZkMGE5NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNS0xMi0xNiAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjE5NDEzNS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MjMzMworCisgICAgICAgIGR1ZSB0byBtaXNzaW5nIE9TUiBleGl0IG1hdGVyaWFs
aXphdGlvbiBzdXBwb3J0IGluIEZUTAorICAgICAgICAoUmVxdWVzdGVkIGJ5IHl1c3VrZXN1enVr
aSBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAg
IltFUzZdIEhhbmRsZSBuZXdfZ2VuZXJhdG9yX2Z1bmMgLyBuZXdfZ2VuZXJhdG9yX2Z1bmNfZXhw
IGluCisgICAgICAgIERGRyAvIEZUTCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjIyNworICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xOTQxMzUKKwogMjAxNS0xMi0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJs
ZXRAY3JmLmNhbm9uLmZyPgogCiAgICAgICAgIEFsaWduIFdlYktpdCB0ZXN0aGFybmVzcy5qcyB3
aXRoIFdQVCB0ZXN0aGFybmVzcy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVz
cy9zY3JpcHQtdGVzdHMvZ2VuZXJhdG9yLWZ1bmN0aW9uLWNyZWF0ZS5qcyBiL0xheW91dFRlc3Rz
L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2dlbmVyYXRvci1mdW5jdGlvbi1jcmVhdGUuanMKaW5k
ZXggYWU0ZWI5ZWVjNjgyN2UxZTQyNjg2NDg2ZmVlMGY1ZmFhZDJlYTI0MC4uZDEwYzEzNzI5ZDli
YzRjMWJjZGE0ZTJhMmVjZDJmYzcyMWM0ZWVjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvZ2VuZXJhdG9yLWZ1bmN0aW9uLWNyZWF0ZS5qcworKysgYi9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9nZW5lcmF0b3ItZnVuY3Rpb24tY3Jl
YXRlLmpzCkBAIC03LDEyICs3LDYgQEAgZnVuY3Rpb24gY3JlYXRlR2VuZXJhdG9yRnVuY3Rpb24o
KQogICAgIH0KICAgICByZXR1cm4gZ2VuOwogfQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCA1MDA7ICsraSkKLSAgICAgICAgY3JlYXRlR2VuZXJhdG9yRnVuY3Rp
b24oKTsKLX0KLW5vSW5saW5lKHRlc3QpOwotCitub0lubGluZShjcmVhdGVHZW5lcmF0b3JGdW5j
dGlvbik7CiBmb3IgKHZhciBpID0gMDsgaSA8IDFlNDsgKytpKQotICAgIHRlc3QoKTsKKyAgICBj
cmVhdGVHZW5lcmF0b3JGdW5jdGlvbigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>