<?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>174436</bug_id>
          
          <creation_ts>2017-07-12 15:23:59 -0700</creation_ts>
          <short_desc>REGRESSION(r219176): &quot;Can cause infinite recursion on iOS&quot; (Requested by mlam on #webkit).</short_desc>
          <delta_ts>2017-07-12 15:31:15 -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>
          
          <blocked>173975</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1328242</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-12 15:23:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/219176 broke the build:
&quot;Can cause infinite recursion on iOS&quot; (Requested by mlam 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>1328244</commentid>
    <comment_count>1</comment_count>
      <attachid>315288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-12 15:24:09 -0700</bug_when>
    <thetext>Created attachment 315288
ROLLOUT of r219176

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>1328245</commentid>
    <comment_count>2</comment_count>
      <attachid>315288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-12 15:26:11 -0700</bug_when>
    <thetext>Comment on attachment 315288
ROLLOUT of r219176

Clearing flags on attachment: 315288

Committed r219427: &lt;http://trac.webkit.org/changeset/219427&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328246</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-12 15:26:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328248</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-12 15:31:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/33267792&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315288</attachid>
            <date>2017-07-12 15:24:09 -0700</date>
            <delta_ts>2017-07-12 15:26:11 -0700</delta_ts>
            <desc>ROLLOUT of r219176</desc>
            <filename>bug-174436-20170712182409.patch</filename>
            <type>text/plain</type>
            <size>25234</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5NDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
N2ExMDA3MjE1MjcxZWZjNmY1NzNhZjk0ZjliZmFjOTYxYWRiMzgwLi4yODYwZGJhMDA2M2FlOWFm
YTM1ZDVlZmM1YTkzNDcyYjZkOTJkZjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNy0wNy0xMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxOTE3Ni4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDQzNgorCisgICAg
ICAgICJDYW4gY2F1c2UgaW5maW5pdGUgcmVjdXJzaW9uIG9uIGlPUyIgKFJlcXVlc3RlZCBieSBt
bGFtIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoK
KworICAgICAgICAiV1RGOjpUaHJlYWQgc2hvdWxkIGhhdmUgdGhlIHRocmVhZHMgc3RhY2sgYm91
bmRzLiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
Mzk3NQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTkxNzYKKwog
MjAxNy0wNy0xMiAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTk0MDEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDlkY2RjMWMxMTExY2ExODFmN2Iz
NmVjNGQ1Y2ExOTFmZDJkZDJmYWMuLjRiZjhhMWJhMTQ0N2RmZDJlMTEzZjdkMjJlYjI5YjFkZTI3
NGZkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMDctMTIgIENvbW1pdCBRdWV1ZSAgPGNv
bW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIyMTkxNzYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzQ0MzYKKworICAgICAgICAiQ2FuIGNhdXNlIGluZmluaXRlIHJlY3Vyc2lvbiBvbiBpT1Mi
IChSZXF1ZXN0ZWQgYnkgbWxhbSBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICBSZXZl
cnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIldURjo6VGhyZWFkIHNob3VsZCBoYXZlIHRoZSB0
aHJlYWRzIHN0YWNrIGJvdW5kcy4iCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzM5NzUKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvMjE5MTc2CisKIDIwMTctMDctMTIgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVy
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1RGXSBGYWlsdXJlIHRvIGJ1aWxkIHdoZW4gdGhl
IGNvbXBpbGVyIHNwZWNpZmljYWxseSB0YXJnZXRzIEFSTXY4LUEgLyBkZWZpbmVzIF9fQVJNX0FS
Q0hfOEFfXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDNhNWJiZWM1MjQzMGNkNjk5MWNmYWIxNmQwYjA2YWI2MTMw
YTZkOTMuLjliZjM4Mjc1ODdmMTZiMWVlZjg1YzU5OTc4MTZmNjkzMjhhNzNjY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0wNy0xMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxOTE3
Ni4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDQz
NgorCisgICAgICAgICJDYW4gY2F1c2UgaW5maW5pdGUgcmVjdXJzaW9uIG9uIGlPUyIgKFJlcXVl
c3RlZCBieSBtbGFtIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNo
YW5nZXNldDoKKworICAgICAgICAiV1RGOjpUaHJlYWQgc2hvdWxkIGhhdmUgdGhlIHRocmVhZHMg
c3RhY2sgYm91bmRzLiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3Mzk3NQorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8y
MTkxNzYKKwogMjAxNy0wNy0xMiAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFYOiBbaU9TXSBJbXBsZW1lbnQgYSB3YXkgdG8gcmV0cmlldmUgYSB0ZXh0IG1hcmtlciBy
YW5nZSB3aXRoIGRlc2lyZWQgdGV4dCB0aGF0IGlzIGNsb3Nlc3QgdG8gYSBwb3NpdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5jcHAKaW5k
ZXggOGI5YmI2ODY0NWNjZDRkOGIwMzFiNmNjYWRkMjgwNTkzYjg5NzBkMy4uNjc2M2VhM2FiMWMy
ZjQ2NzljMzc3MWIxOTE5NzNjNTMxNmJmNWY0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuY3BwCkBAIC0yMzksNiArMjM5LDkgQEAgdm9p
ZCBNYWNoaW5lVGhyZWFkczo6Z2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoQ29uc2VydmF0aXZlUm9v
dHMmIGNvbnNlcnZhdGl2ZVJvb3QKIE1hY2hpbmVUaHJlYWRzOjpNYWNoaW5lVGhyZWFkOjpNYWNo
aW5lVGhyZWFkKCkKICAgICA6IG1fdGhyZWFkKFdURjo6VGhyZWFkOjpjdXJyZW50KCkpCiB7Cisg
ICAgYXV0byBzdGFja0JvdW5kcyA9IHd0ZlRocmVhZERhdGEoKS5zdGFjaygpOworICAgIG1fc3Rh
Y2tCYXNlID0gc3RhY2tCb3VuZHMub3JpZ2luKCk7CisgICAgbV9zdGFja0VuZCA9IHN0YWNrQm91
bmRzLmVuZCgpOwogfQogCiBzaXplX3QgTWFjaGluZVRocmVhZHM6Ok1hY2hpbmVUaHJlYWQ6Omdl
dFJlZ2lzdGVycyhNYWNoaW5lVGhyZWFkOjpSZWdpc3RlcnMmIHJlZ2lzdGVycykKQEAgLTI5OSwx
NSArMzAyLDE1IEBAIHN0YXRpYyBpbmxpbmUgaW50IG9zUmVkWm9uZUFkanVzdG1lbnQoKQogCiBz
dGQ6OnBhaXI8dm9pZCosIHNpemVfdD4gTWFjaGluZVRocmVhZHM6Ok1hY2hpbmVUaHJlYWQ6OmNh
cHR1cmVTdGFjayh2b2lkKiBzdGFja1RvcCkKIHsKLSAgICBjaGFyKiBiZWdpbiA9IHJlaW50ZXJw
cmV0X2Nhc3RfcHRyPGNoYXIqPihzdGFja0Jhc2UoKSk7CisgICAgY2hhciogYmVnaW4gPSByZWlu
dGVycHJldF9jYXN0X3B0cjxjaGFyKj4obV9zdGFja0Jhc2UpOwogICAgIGNoYXIqIGVuZCA9IGJp
dHdpc2VfY2FzdDxjaGFyKj4oV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mPHNpemVvZih2b2lkKik+
KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihzdGFja1RvcCkpKTsKICAgICBBU1NFUlQoYmVn
aW4gPj0gZW5kKTsKIAogICAgIGNoYXIqIGVuZFdpdGhSZWRab25lID0gZW5kICsgb3NSZWRab25l
QWRqdXN0bWVudCgpOwogICAgIEFTU0VSVChXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Y8c2l6ZW9m
KHZvaWQqKT4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGVuZFdpdGhSZWRab25lKSkgPT0g
cmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGVuZFdpdGhSZWRab25lKSk7CiAKLSAgICBpZiAo
ZW5kV2l0aFJlZFpvbmUgPCBzdGFja0VuZCgpKQotICAgICAgICBlbmRXaXRoUmVkWm9uZSA9IHJl
aW50ZXJwcmV0X2Nhc3RfcHRyPGNoYXIqPihzdGFja0VuZCgpKTsKKyAgICBpZiAoZW5kV2l0aFJl
ZFpvbmUgPCBtX3N0YWNrRW5kKQorICAgICAgICBlbmRXaXRoUmVkWm9uZSA9IHJlaW50ZXJwcmV0
X2Nhc3RfcHRyPGNoYXIqPihtX3N0YWNrRW5kKTsKIAogICAgIHN0ZDo6c3dhcChiZWdpbiwgZW5k
V2l0aFJlZFpvbmUpOwogICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihiZWdpbiwgZW5kV2l0aFJl
ZFpvbmUgLSBiZWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9N
YWNoaW5lU3RhY2tNYXJrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVT
dGFja01hcmtlci5oCmluZGV4IGMxNTEwZDYyNTFjMGIzNGFmOWE0ZWI5NTFhNTFlOTZlYTk0ZDVj
MjUuLmI2MmViNDMxMzEyYzhiODUyZDUzMjhjOTc2YTYyMjViOWU3OWFjNDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5oCkBAIC03MiwxMCAr
NzIsMTIgQEAgcHVibGljOgogICAgICAgICBzdGQ6OnBhaXI8dm9pZCosIHNpemVfdD4gY2FwdHVy
ZVN0YWNrKHZvaWQqIHN0YWNrVG9wKTsKIAogICAgICAgICBXVEY6OlRocmVhZElkZW50aWZpZXIg
dGhyZWFkSUQoKSBjb25zdCB7IHJldHVybiBtX3RocmVhZC0+aWQoKTsgfQotICAgICAgICB2b2lk
KiBzdGFja0Jhc2UoKSBjb25zdCB7IHJldHVybiBtX3RocmVhZC0+c3RhY2soKS5vcmlnaW4oKTsg
fQotICAgICAgICB2b2lkKiBzdGFja0VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhyZWFkLT5zdGFj
aygpLmVuZCgpOyB9CisgICAgICAgIHZvaWQqIHN0YWNrQmFzZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c3RhY2tCYXNlOyB9CisgICAgICAgIHZvaWQqIHN0YWNrRW5kKCkgY29uc3QgeyByZXR1cm4gbV9z
dGFja0VuZDsgfQogCiAgICAgICAgIFJlZjxXVEY6OlRocmVhZD4gbV90aHJlYWQ7CisgICAgICAg
IHZvaWQqIG1fc3RhY2tCYXNlOworICAgICAgICB2b2lkKiBtX3N0YWNrRW5kOwogICAgICAgICBN
YWNoaW5lVGhyZWFkKiBtX25leHQgeyBudWxscHRyIH07CiAgICAgICAgIE1hY2hpbmVUaHJlYWQq
IG1fcHJldiB7IG51bGxwdHIgfTsKICAgICB9OwpAQCAtMTAyLDcgKzEwNCw3IEBAIHByaXZhdGU6
CiAjZGVmaW5lIERFQ0xBUkVfQU5EX0NPTVBVVEVfQ1VSUkVOVF9USFJFQURfU1RBVEUoc3RhdGVO
YW1lKSBcCiAgICAgQ3VycmVudFRocmVhZFN0YXRlIHN0YXRlTmFtZTsgXAogICAgIHN0YXRlTmFt
ZS5zdGFja1RvcCA9ICZzdGF0ZU5hbWU7IFwKLSAgICBzdGF0ZU5hbWUuc3RhY2tPcmlnaW4gPSBU
aHJlYWQ6OmN1cnJlbnQoKS5zdGFjaygpLm9yaWdpbigpOyBcCisgICAgc3RhdGVOYW1lLnN0YWNr
T3JpZ2luID0gd3RmVGhyZWFkRGF0YSgpLnN0YWNrKCkub3JpZ2luKCk7IFwKICAgICBBTExPQ0FU
RV9BTkRfR0VUX1JFR0lTVEVSX1NUQVRFKHN0YXRlTmFtZSAjIyBfcmVnaXN0ZXJTdGF0ZSk7IFwK
ICAgICBzdGF0ZU5hbWUucmVnaXN0ZXJTdGF0ZSA9ICZzdGF0ZU5hbWUgIyMgX3JlZ2lzdGVyU3Rh
dGUKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5pdGlhbGl6
ZVRocmVhZGluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXpl
VGhyZWFkaW5nLmNwcAppbmRleCAyZTgxNDI3MGI5YmExZjMyYjM5Y2M2ZDZlNDM0OGFmOWI1YTcy
MDNmLi45ZWYxNDNhZDQ4ZTcxZDI4YjE3YmE0MTZmYTNiMTRiY2JkYjc0NWFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Jbml0aWFsaXplVGhyZWFkaW5nLmNw
cApAQCAtNzUsNyArNzUsOCBAQCB2b2lkIGluaXRpYWxpemVUaHJlYWRpbmcoKQogICAgICAgICBE
aXNhbGxvd1ZNUmVlbnRyeTo6aW5pdGlhbGl6ZSgpOwogI2VuZGlmCiAgICAgICAgIGluaXRpYWxp
emVTdXBlclNhbXBsZXIoKTsKLSAgICAgICAgd3RmVGhyZWFkRGF0YSgpLnNldFNhdmVkTGFzdFN0
YWNrVG9wKFRocmVhZDo6Y3VycmVudCgpLnN0YWNrKCkub3JpZ2luKCkpOworICAgICAgICBXVEZU
aHJlYWREYXRhJiB0aHJlYWREYXRhID0gd3RmVGhyZWFkRGF0YSgpOworICAgICAgICB0aHJlYWRE
YXRhLnNldFNhdmVkTGFzdFN0YWNrVG9wKHRocmVhZERhdGEuc3RhY2soKS5vcmlnaW4oKSk7CiAK
ICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiAgICAgICAgIFdhc206OlRodW5rczo6aW5pdGlhbGl6
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IDZlNjg2M2ZhMDM5MmZj
YTVlOTE0YTgxOGMwYmUwNmQzYjUxOWQwOTQuLjQ4NzI3YTY2MmVlOTY1NmFiY2E4NWMwNWMzNTZh
NmY5NDY0MjVkM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTIxMSw3
ICsyMTEsNyBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAg
LCBtX3NoYWRvd0NoaWNrZW4oc3RkOjptYWtlX3VuaXF1ZTxTaGFkb3dDaGlja2VuPigpKQogewog
ICAgIGludGVycHJldGVyID0gbmV3IEludGVycHJldGVyKCp0aGlzKTsKLSAgICBTdGFja0JvdW5k
cyBzdGFjayA9IFRocmVhZDo6Y3VycmVudCgpLnN0YWNrKCk7CisgICAgU3RhY2tCb3VuZHMgc3Rh
Y2sgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKTsKICAgICB1cGRhdGVTb2Z0UmVzZXJ2ZWRab25l
U2l6ZShPcHRpb25zOjpzb2Z0UmVzZXJ2ZWRab25lU2l6ZSgpKTsKICAgICBzZXRMYXN0U3RhY2tU
b3Aoc3RhY2sub3JpZ2luKCkpOwogCkBAIC02NzEsNyArNjcxLDcgQEAgaW5saW5lIHZvaWQgVk06
OnVwZGF0ZVN0YWNrTGltaXRzKCkKICAgICB2b2lkKiBsYXN0U29mdFN0YWNrTGltaXQgPSBtX3Nv
ZnRTdGFja0xpbWl0OwogI2VuZGlmCiAKLSAgICBjb25zdCBTdGFja0JvdW5kcyYgc3RhY2sgPSBU
aHJlYWQ6OmN1cnJlbnQoKS5zdGFjaygpOworICAgIGNvbnN0IFN0YWNrQm91bmRzJiBzdGFjayA9
IHd0ZlRocmVhZERhdGEoKS5zdGFjaygpOwogICAgIHNpemVfdCByZXNlcnZlZFpvbmVTaXplID0g
T3B0aW9uczo6cmVzZXJ2ZWRab25lU2l6ZSgpOwogICAgIC8vIFdlIHNob3VsZCBoYXZlIGFscmVh
ZHkgZW5zdXJlZCB0aGF0IE9wdGlvbnM6OnJlc2VydmVkWm9uZVNpemUoKSA+PSBtaW5pbXVtUmVz
ZXJ2ZVpvbmVTaXplIGF0CiAgICAgLy8gb3B0aW9ucyBpbml0aWFsaXphdGlvbiB0aW1lLCBhbmQg
dGhlIG9wdGlvbiB2YWx1ZSBzaG91bGQgbm90IGhhdmUgYmVlbiBjaGFuZ2VkIHRoZXJlYWZ0ZXIu
CkBAIC04ODUsOSArODg1LDkgQEAgc2l6ZV90IFZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCgp
CiAjaWYgRU5BQkxFKEpJVCkKICAgICAvLyBXaGVuIHVzaW5nIHRoZSBDIHN0YWNrLCB3ZSBkb24n
dCBrbm93IGhvdyBtYW55IHN0YWNrIHBhZ2VzIGFyZSBhY3R1YWxseQogICAgIC8vIGNvbW1pdHRl
ZC4gU28sIHdlIHVzZSB0aGUgY3VycmVudCBzdGFjayB1c2FnZSBhcyBhbiBlc3RpbWF0ZS4KLSAg
ICBBU1NFUlQoVGhyZWFkOjpjdXJyZW50KCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsK
KyAgICBBU1NFUlQod3RmVGhyZWFkRGF0YSgpLnN0YWNrKCkuaXNHcm93aW5nRG93bndhcmQoKSk7
CiAgICAgaW50OF90KiBjdXJyZW50ID0gcmVpbnRlcnByZXRfY2FzdDxpbnQ4X3QqPigmY3VycmVu
dCk7Ci0gICAgaW50OF90KiBoaWdoID0gcmVpbnRlcnByZXRfY2FzdDxpbnQ4X3QqPihUaHJlYWQ6
OmN1cnJlbnQoKS5zdGFjaygpLm9yaWdpbigpKTsKKyAgICBpbnQ4X3QqIGhpZ2ggPSByZWludGVy
cHJldF9jYXN0PGludDhfdCo+KHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLm9yaWdpbigpKTsKICAg
ICByZXR1cm4gaGlnaCAtIGN1cnJlbnQ7CiAjZWxzZQogICAgIHJldHVybiBDTG9vcFN0YWNrOjpj
b21taXR0ZWRCeXRlQ291bnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDJl
NzU5OTEwY2MyMWIwNWViMTRjM2YxZDkyOTY3YmEzMWQyZTg0M2IuLmRiNWFmMzUxYjJiMGI5NDE2
NDc1ZjA1N2FmZGQ4Y2IxNWFhMzdjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApA
QCAtNjg5LDcgKzY4OSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGlzU2FmZVRvUmVjdXJzZSh2
b2lkKiBzdGFja0xpbWl0KSBjb25zdAogICAgIHsKLSAgICAgICAgQVNTRVJUKFRocmVhZDo6Y3Vy
cmVudCgpLnN0YWNrKCkuaXNHcm93aW5nRG93bndhcmQoKSk7CisgICAgICAgIEFTU0VSVCh3dGZU
aHJlYWREYXRhKCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKICAgICAgICAgdm9pZCog
Y3VyciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KCZjdXJyKTsKICAgICAgICAgcmV0dXJuIGN1
cnIgPj0gc3RhY2tMaW1pdDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1FbnRyeVNjb3BlLmNwcAppbmRleCBkMTFhOGZmYTY2ZGI1ZmUzMGZiOWY0OWY0NTMxMzgz
NmI3OGQyMzU0Li5jMmQ5YmRhMTg4YzQ3NzIwMjU2ZDQwMzA2NDgyODZlYzQ1ZTMxYzU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNRW50cnlTY29wZS5jcHAKQEAgLTQx
LDcgKzQxLDcgQEAgVk1FbnRyeVNjb3BlOjpWTUVudHJ5U2NvcGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KQogICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQog
ewogICAgIEFTU0VSVCghRGlzYWxsb3dWTVJlZW50cnk6OmlzSW5FZmZlY3RPbkN1cnJlbnRUaHJl
YWQoKSk7Ci0gICAgQVNTRVJUKFRocmVhZDo6Y3VycmVudCgpLnN0YWNrKCkuaXNHcm93aW5nRG93
bndhcmQoKSk7CisgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rv
d253YXJkKCkpOwogICAgIGlmICghdm0uZW50cnlTY29wZSkgewogICAgICAgICB2bS5lbnRyeVNj
b3BlID0gdGhpczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk1JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUlubGluZXMuaApp
bmRleCBiYzBjMjVmOTFlMmMxNzYxYTIxY2EyMGViMDg4MmEwOTNhMjE1MTkzLi41YTc3NjE5NTBl
MGNmNmIyODg1NjAxOTMxYWY2YjcxYTNiZTAyZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTUlubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTUlubGluZXMuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGJv
b2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7
CiAjaWYgRU5BQkxFKEpJVCkKLSAgICBBU1NFUlQoVGhyZWFkOjpjdXJyZW50KCkuc3RhY2soKS5p
c0dyb3dpbmdEb3dud2FyZCgpKTsKKyAgICBBU1NFUlQod3RmVGhyZWFkRGF0YSgpLnN0YWNrKCku
aXNHcm93aW5nRG93bndhcmQoKSk7CiAgICAgcmV0dXJuIG5ld1RvcE9mU3RhY2sgPj0gbV9zb2Z0
U3RhY2tMaW1pdDsKICNlbHNlCiAgICAgcmV0dXJuIGVuc3VyZVN0YWNrQ2FwYWNpdHlGb3JDTG9v
cChuZXdUb3BPZlN0YWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNVHJhcHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5j
cHAKaW5kZXggZGVhYTQ0OWI2YmEyNmFjY2NlZGMxMjcyZTMyNTg5MmQ3NWI4NzhkOC4uMjQ3OTkx
ODMxM2I0ZDg4ZGQ4MTk4NzI1ZjJkZTJkZjRmNzdlZDc0MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk1UcmFwcy5jcHAKQEAgLTI2Nyw3ICsyNjcsMjUgQEAgcHJvdGVjdGVkOgog
ICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgICAgICAgICBUaHJlYWQmIHRo
cmVhZCA9ICpvd25lclRocmVhZC0+Z2V0KCk7Ci0gICAgICAgICAgICAgICAgdm0udHJhcHMoKS50
cnlJbnN0YWxsVHJhcEJyZWFrcG9pbnRzKGNvbnRleHQsIHRocmVhZC5zdGFjaygpKTsKKyAgICAg
ICAgICAgICAgICBTdGFja0JvdW5kcyBzdGFja0JvdW5kcyA9IFN0YWNrQm91bmRzOjplbXB0eUJv
dW5kcygpOworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFdlIG5lZWQgdG8gdXNlIHRoZSBtYWNoaW5lIHRocmVhZHMgYmVjYXVzZSBpdCBpcyB0aGUgb25s
eSBub24tVExTIHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAvLyBmb3IgdGhlIHN0YWNrIGJv
dW5kcyBvZiB0aGlzIHRocmVhZC4gV2Ugc2hvdWxkIGtlZXAgaW4gb24gdGhlIFdURjo6VGhyZWFk
IGluc3RlYWQuCisgICAgICAgICAgICAgICAgICAgIC8vIHNlZTogaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mzk3NQorICAgICAgICAgICAgICAgICAgICBNYWNoaW5l
VGhyZWFkcyYgbWFjaGluZVRocmVhZHMgPSB2bS5oZWFwLm1hY2hpbmVUaHJlYWRzKCk7CisgICAg
ICAgICAgICAgICAgICAgIGF1dG8gbWFjaGluZVRocmVhZHNMb2NrID0gdHJ5SG9sZExvY2sobWFj
aGluZVRocmVhZHMuZ2V0TG9jaygpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFtYWNoaW5l
VGhyZWFkc0xvY2spCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIFRyeSBhZ2Fp
biBsYXRlci4KKworICAgICAgICAgICAgICAgICAgICBhdXRvJiB0aHJlYWRMaXN0ID0gbWFjaGlu
ZVRocmVhZHMudGhyZWFkc0xpc3RIZWFkKG1hY2hpbmVUaHJlYWRzTG9jayk7CisgICAgICAgICAg
ICAgICAgICAgIGZvciAoTWFjaGluZVRocmVhZHM6Ok1hY2hpbmVUaHJlYWQqIG1hY2hpbmVUaHJl
YWQgPSB0aHJlYWRMaXN0LmhlYWQoKTsgbWFjaGluZVRocmVhZDsgbWFjaGluZVRocmVhZCA9IG1h
Y2hpbmVUaHJlYWQtPm5leHQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hY2hp
bmVUaHJlYWQtPm1fdGhyZWFkLmdldCgpID09IHRocmVhZCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGFja0JvdW5kcyA9IFN0YWNrQm91bmRzKG1hY2hpbmVUaHJlYWQtPnN0YWNrQmFz
ZSgpLCBtYWNoaW5lVGhyZWFkLT5zdGFja0VuZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghc3RhY2tCb3VuZHMuaXNFbXB0eSgp
KTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB2bS50cmFwcygpLnRyeUlu
c3RhbGxUcmFwQnJlYWtwb2ludHMoY29udGV4dCwgc3RhY2tCb3VuZHMpOwogICAgICAgICAgICAg
fSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyclBhdHRlcm4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4u
Y3BwCmluZGV4IDVmMjczMDZhNDU2MTJmYzUyZTVkNjM1N2JkODM4NDk0MDE1NTYwMmIuLjFjMmRk
NzVkY2I0NGNhMjhiOWE3MTA0ODljYjBhNGU3MThmNGRhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJyUGF0dGVybi5jcHAKQEAgLTg4MCw3ICs4ODAsNyBAQCBwcml2YXRlOgog
ICAgIHsKICAgICAgICAgaWYgKCFtX3N0YWNrTGltaXQpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgQVNTRVJUKFRocmVhZDo6Y3VycmVudCgpLnN0YWNrKCkuaXNHcm93aW5nRG93
bndhcmQoKSk7CisgICAgICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5pc0dyb3dp
bmdEb3dud2FyZCgpKTsKICAgICAgICAgaW50OF90KiBjdXJyID0gcmVpbnRlcnByZXRfY2FzdDxp
bnQ4X3QqPigmY3Vycik7CiAgICAgICAgIGludDhfdCogbGltaXQgPSByZWludGVycHJldF9jYXN0
PGludDhfdCo+KG1fc3RhY2tMaW1pdCk7CiAgICAgICAgIHJldHVybiBjdXJyID49IGxpbWl0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaCBiL1NvdXJjZS9XVEYvd3Rm
L1N0YWNrQm91bmRzLmgKaW5kZXggM2M5MTFlZjM2ZWM2OTYyYzk3ZjlmYmQ0MzMzMzkzM2VmNmQ4
ZWFiMi4uY2Q2MmMxNDhhNmM3ZWZjOTUxN2E4YjA5YjhhMzJjN2ZlMTkwY2RlZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFj
a0JvdW5kcy5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIFN0YWNrQm91bmRzIHsKICAgICBjb25z
dCBzdGF0aWMgc2l6ZV90IHNfZGVmYXVsdEF2YWlsYWJpbGl0eURlbHRhID0gNjQgKiAxMDI0Owog
CiBwdWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBTdGFja0JvdW5kcyBlbXB0eUJvdW5kcygp
IHsgcmV0dXJuIFN0YWNrQm91bmRzKCk7IH0KKyAgICBzdGF0aWMgU3RhY2tCb3VuZHMgZW1wdHlC
b3VuZHMoKSB7IHJldHVybiBTdGFja0JvdW5kcygpOyB9CiAKICAgICBzdGF0aWMgU3RhY2tCb3Vu
ZHMgY3VycmVudFRocmVhZFN0YWNrQm91bmRzKCkKICAgICB7CkBAIC0xMjcsOSArMTI3LDkgQEAg
cHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBjb25zdGV4cHIgU3RhY2tCb3VuZHMoKQot
ICAgICAgICA6IG1fb3JpZ2luKG51bGxwdHIpCi0gICAgICAgICwgbV9ib3VuZChudWxscHRyKQor
ICAgIFN0YWNrQm91bmRzKCkKKyAgICAgICAgOiBtX29yaWdpbigwKQorICAgICAgICAsIG1fYm91
bmQoMCkKICAgICB7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9TdGFja1N0
YXRzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrU3RhdHMuY3BwCmluZGV4IDU2MTMwYjA0ZWEy
NTQ4ZTEwZDA4YTlkMDI5MmNiMDNhMGIxYmM4NTMuLjA2NGYyZjA1MmFhZjM4YjlmODBhNmRkNDEx
MzJlNjU0NmU0NTdmNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1N0YWNrU3RhdHMuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrU3RhdHMuY3BwCkBAIC01OSw3ICs1OSw3IEBAIGlu
dCBTdGFja1N0YXRzOjpzX21heExheW91dFJlZW50cnlEZXB0aCA9IDA7CiAKIFN0YWNrU3RhdHM6
OlBlclRocmVhZFN0YXRzOjpQZXJUaHJlYWRTdGF0cygpCiB7Ci0gICAgY29uc3QgU3RhY2tCb3Vu
ZHMmIHN0YWNrID0gVGhyZWFkOjpjdXJyZW50KCkuc3RhY2soKTsKKyAgICBjb25zdCBTdGFja0Jv
dW5kcyYgc3RhY2sgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2soKTsKICAgICBtX3JlZW50cnlEZXB0
aCA9IDA7CiAgICAgbV9zdGFja1N0YXJ0ID0gKGNoYXIqKXN0YWNrLm9yaWdpbigpOwogICAgIG1f
Y3VycmVudENoZWNrUG9pbnQgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFk
aW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggODM2MmVlMzhmODVj
MDc4NjMzMDcxZTkwZDIyNDQxZTA3Nzg5NGUzYy4uYmJiYzU2NDUwZWVhYWFiYzc5NWFjY2ZhODNl
NWI4MzhiYjNiZTkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC00NiwxNiArNDYsMTIgQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKLWVudW0gY2xhc3MgU3RhZ2UgewotICAgIFN0YXJ0LCBJbml0aWFs
aXplZAotfTsKLQogc3RydWN0IE5ld1RocmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgogICAgIGNvbnN0IGNoYXIqIG5hbWU7CiAgICAgRnVuY3Rpb248
dm9pZCgpPiBlbnRyeVBvaW50OwotICAgIFN0YWdlIHN0YWdlOwotICAgIE11dGV4IG11dGV4Owot
ICAgIFRocmVhZENvbmRpdGlvbiBjb25kaXRpb247CisgICAgTXV0ZXggY3JlYXRpb25NdXRleDsK
IH07CiAKIGNvbnN0IGNoYXIqIFRocmVhZDo6bm9ybWFsaXplVGhyZWFkTmFtZShjb25zdCBjaGFy
KiB0aHJlYWROYW1lKQpAQCAtODgsNDYgKzg0LDMxIEBAIGNvbnN0IGNoYXIqIFRocmVhZDo6bm9y
bWFsaXplVGhyZWFkTmFtZShjb25zdCBjaGFyKiB0aHJlYWROYW1lKQogc3RhdGljIHZvaWQgdGhy
ZWFkRW50cnlQb2ludCh2b2lkKiBjb250ZXh0RGF0YSkKIHsKICAgICBOZXdUaHJlYWRDb250ZXh0
KiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8TmV3VGhyZWFkQ29udGV4dCo+KGNvbnRleHREYXRhKTsK
LSAgICBGdW5jdGlvbjx2b2lkKCk+IGVudHJ5UG9pbnQ7CisKKyAgICAvLyBCbG9jayB1bnRpbCBv
dXIgY3JlYXRpbmcgdGhyZWFkIGhhcyBjb21wbGV0ZWQgYW55IGV4dHJhIHNldHVwIHdvcmssIGlu
Y2x1ZGluZworICAgIC8vIGVzdGFibGlzaGluZyBUaHJlYWRJZGVudGlmaWVyLgogICAgIHsKLSAg
ICAgICAgLy8gQmxvY2sgdW50aWwgb3VyIGNyZWF0aW5nIHRocmVhZCBoYXMgY29tcGxldGVkIGFu
eSBleHRyYSBzZXR1cCB3b3JrLCBpbmNsdWRpbmcgZXN0YWJsaXNoaW5nIFRocmVhZElkZW50aWZp
ZXIuCi0gICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihjb250ZXh0LT5tdXRleCk7CisgICAgICAg
IE11dGV4TG9ja2VyIGxvY2tlcihjb250ZXh0LT5jcmVhdGlvbk11dGV4KTsKKyAgICB9CiAKLSAg
ICAgICAgVGhyZWFkOjppbml0aWFsaXplQ3VycmVudFRocmVhZEludGVybmFsKGNvbnRleHQtPm5h
bWUpOwotICAgICAgICBlbnRyeVBvaW50ID0gV1RGTW92ZShjb250ZXh0LT5lbnRyeVBvaW50KTsK
KyAgICBUaHJlYWQ6OmluaXRpYWxpemVDdXJyZW50VGhyZWFkSW50ZXJuYWwoY29udGV4dC0+bmFt
ZSk7CiAKLSAgICAgICAgLy8gQWNrIGNvbXBsZXRpb24gb2YgaW5pdGlhbGl6YXRpb24gdG8gdGhl
IGNyZWF0aW5nIHRocmVhZC4KLSAgICAgICAgY29udGV4dC0+c3RhZ2UgPSBTdGFnZTo6SW5pdGlh
bGl6ZWQ7Ci0gICAgICAgIGNvbnRleHQtPmNvbmRpdGlvbi5zaWduYWwoKTsKLSAgICB9CisgICAg
YXV0byBlbnRyeVBvaW50ID0gV1RGTW92ZShjb250ZXh0LT5lbnRyeVBvaW50KTsKKworICAgIC8v
IERlbGV0ZSB0aGUgY29udGV4dCBiZWZvcmUgc3RhcnRpbmcgdGhlIHRocmVhZC4KKyAgICBkZWxl
dGUgY29udGV4dDsKIAogICAgIGVudHJ5UG9pbnQoKTsKIH0KIAogUmVmUHRyPFRocmVhZD4gVGhy
ZWFkOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgRnVuY3Rpb248dm9pZCgpPiYmIGVudHJ5UG9p
bnQpCiB7Ci0gICAgTmV3VGhyZWFkQ29udGV4dCBjb250ZXh0IHsgbmFtZSwgV1RGTW92ZShlbnRy
eVBvaW50KSwgU3RhZ2U6OlN0YXJ0LCB7IH0sIHsgfSB9OworICAgIE5ld1RocmVhZENvbnRleHQq
IGNvbnRleHQgPSBuZXcgTmV3VGhyZWFkQ29udGV4dCB7IG5hbWUsIFdURk1vdmUoZW50cnlQb2lu
dCksIHsgfSB9OwogCi0gICAgTXV0ZXhMb2NrZXIgbG9ja2VyKGNvbnRleHQubXV0ZXgpOwotICAg
IFJlZlB0cjxUaHJlYWQ+IHJlc3VsdCA9IFRocmVhZDo6Y3JlYXRlSW50ZXJuYWwodGhyZWFkRW50
cnlQb2ludCwgJmNvbnRleHQsIG5hbWUpOwotICAgIC8vIEFmdGVyIGVzdGFibGlzaGluZyBUaHJl
YWQsIHJlbGVhc2UgdGhlIG11dGV4IGFuZCB3YWl0IGZvciBjb21wbGV0aW9uIG9mIGluaXRpYWxp
emF0aW9uLgotICAgIHdoaWxlIChjb250ZXh0LnN0YWdlICE9IFN0YWdlOjpJbml0aWFsaXplZCkK
LSAgICAgICAgY29udGV4dC5jb25kaXRpb24ud2FpdChjb250ZXh0Lm11dGV4KTsKKyAgICAvLyBQ
cmV2ZW50IHRoZSB0aHJlYWQgYm9keSBmcm9tIGV4ZWN1dGluZyB1bnRpbCB3ZSd2ZSBlc3RhYmxp
c2hlZCB0aGUgdGhyZWFkIGlkZW50aWZpZXIuCisgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKGNvbnRl
eHQtPmNyZWF0aW9uTXV0ZXgpOwogCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotVGhyZWFkKiBU
aHJlYWQ6OmN1cnJlbnRNYXlCZU51bGwoKQotewotICAgIFRocmVhZEhvbGRlciogZGF0YSA9IFRo
cmVhZEhvbGRlcjo6Y3VycmVudCgpOwotICAgIGlmIChkYXRhKQotICAgICAgICByZXR1cm4gJmRh
dGEtPnRocmVhZCgpOwotICAgIHJldHVybiBudWxscHRyOwotfQotCi12b2lkIFRocmVhZDo6aW5p
dGlhbGl6ZSgpCi17Ci0gICAgbV9zdGFjayA9IFN0YWNrQm91bmRzOjpjdXJyZW50VGhyZWFkU3Rh
Y2tCb3VuZHMoKTsKKyAgICByZXR1cm4gVGhyZWFkOjpjcmVhdGVJbnRlcm5hbCh0aHJlYWRFbnRy
eVBvaW50LCBjb250ZXh0LCBuYW1lKTsKIH0KIAogdm9pZCBUaHJlYWQ6OmRpZEV4aXQoKQpAQCAt
MTg1LDYgKzE2Niw5IEBAIHZvaWQgaW5pdGlhbGl6ZVRocmVhZGluZygpCiAgICAgc3RhdGljIHN0
ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6
ZUtleSwgW10gewogICAgICAgICBUaHJlYWRIb2xkZXI6OmluaXRpYWxpemVPbmNlKCk7CisgICAg
ICAgIC8vIFN0cmluZ0ltcGw6OmVtcHR5KCkgZG9lcyBub3QgY29uc3RydWN0IGl0cyBzdGF0aWMg
c3RyaW5nIGluIGEgdGhyZWFkc2FmZSBmYXNoaW9uLAorICAgICAgICAvLyBzbyBlbnN1cmUgaXQg
aGFzIGJlZW4gaW5pdGlhbGl6ZWQgZnJvbSBoZXJlLgorICAgICAgICBTdHJpbmdJbXBsOjplbXB0
eSgpOwogICAgICAgICBpbml0aWFsaXplUmFuZG9tTnVtYmVyR2VuZXJhdG9yKCk7CiAgICAgICAg
IHd0ZlRocmVhZERhdGEoKTsKICAgICAgICAgaW5pdGlhbGl6ZURhdGVzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5o
CmluZGV4IDg4ODFjY2VlOGRhNDBlM2QwZjQyYWI4MDY4NDgzMDA5ODc2NjlhYmEuLmI3NGYzODFl
NWU2NzY0MGIwZWFjMTM2ZmYyZGI0MTYzYWFhY2ZmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1RocmVhZGluZy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5oCkBAIC0zOCw3
ICszOCw2IEBACiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1BsYXRm
b3JtUmVnaXN0ZXJzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9T
dGFja0JvdW5kcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiAj
aWYgVVNFKFBUSFJFQURTKSAmJiAhT1MoREFSV0lOKQpAQCAtNjgsNyArNjcsNyBAQCBwdWJsaWM6
CiAKICAgICAvLyBSZXR1cm5zIFRocmVhZCBvYmplY3QuCiAgICAgV1RGX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBUaHJlYWQmIGN1cnJlbnQoKTsKLSAgICBzdGF0aWMgVGhyZWFkKiBjdXJyZW50TWF5
QmVOdWxsKCk7CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBUaHJlYWQqIGN1cnJlbnRN
YXlCZU51bGwoKTsKIAogICAgIC8vIFJldHVybnMgVGhyZWFkSWRlbnRpZmllciBkaXJlY3RseS4g
SXQgaXMgdXNlZnVsIGlmIHRoZSB1c2VyIG9ubHkgY2FyZXMgYWJvdXQgaWRlbnRpdHkKICAgICAv
LyBvZiB0aHJlYWRzLiBBdCB0aGF0IHRpbWUsIHVzZXJzIHNob3VsZCBrbm93IHRoYXQgaG9sZGlu
ZyB0aGlzIFRocmVhZElkZW50aWZpZXIgZG9lcyBub3QgZW5zdXJlCkBAIC0xMDksNyArMTA4LDYg
QEAgcHVibGljOgogICAgIC8vIENhbGxlZCBpbiB0aGUgdGhyZWFkIGR1cmluZyBpbml0aWFsaXph
dGlvbi4KICAgICAvLyBIZWxwZnVsIGZvciBwbGF0Zm9ybXMgd2hlcmUgdGhlIHRocmVhZCBuYW1l
IG11c3QgYmUgc2V0IGZyb20gd2l0aGluIHRoZSB0aHJlYWQuCiAgICAgc3RhdGljIHZvaWQgaW5p
dGlhbGl6ZUN1cnJlbnRUaHJlYWRJbnRlcm5hbChjb25zdCBjaGFyKiB0aHJlYWROYW1lKTsKLSAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplQ3VycmVudFRocmVhZEV2ZW5JZk5vbldURkNyZWF0ZWQo
KTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkg
Y29uc3Q7CiAKQEAgLTEyNywxMSArMTI1LDYgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVBsYXRmb3JtVGhyZWFkaW5nKCk7CiAKLSAgICBjb25zdCBTdGFja0JvdW5kcyYg
c3RhY2soKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3RhY2s7Ci0gICAgfQotCiAj
aWYgT1MoREFSV0lOKQogICAgIG1hY2hfcG9ydF90IG1hY2hUaHJlYWQoKSB7IHJldHVybiBtX3Bs
YXRmb3JtVGhyZWFkOyB9CiAjZW5kaWYKQEAgLTE0Nyw3ICsxNDAsNiBAQCBwcm90ZWN0ZWQ6CiAj
ZWxzZQogICAgIHZvaWQgZXN0YWJsaXNoKEhBTkRMRSwgVGhyZWFkSWRlbnRpZmllcik7CiAjZW5k
aWYKLSAgICB2b2lkIGluaXRpYWxpemUoKTsKIAogI2lmIFVTRShQVEhSRUFEUykgJiYgIU9TKERB
UldJTikKICAgICBzdGF0aWMgdm9pZCBzaWduYWxIYW5kbGVyU3VzcGVuZFJlc3VtZShpbnQsIHNp
Z2luZm9fdCosIHZvaWQqIHVjb250ZXh0KTsKQEAgLTE3OSw3ICsxNzEsNiBAQCBwcm90ZWN0ZWQ6
CiAgICAgc3RkOjptdXRleCBtX211dGV4OwogICAgIFRocmVhZElkZW50aWZpZXIgbV9pZCB7IDAg
fTsKICAgICBKb2luYWJsZVN0YXRlIG1fam9pbmFibGVTdGF0ZSB7IEpvaW5hYmxlIH07Ci0gICAg
U3RhY2tCb3VuZHMgbV9zdGFjayB7IFN0YWNrQm91bmRzOjplbXB0eUJvdW5kcygpIH07CiAgICAg
Ym9vbCBtX2RpZEV4aXQgeyBmYWxzZSB9OwogI2lmIFVTRShQVEhSRUFEUykKICAgICBwdGhyZWFk
X3QgbV9oYW5kbGU7CkBAIC0xOTksNyArMTkwLDkgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiB9Owog
Ci0vLyBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhbnkgdGhyZWFkcy4KKy8vIFRo
aXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQuIEl0IGlzIHNh
ZmUgdG8gY2FsbCBpdCByZXBlYXRlZGx5LgorLy8gRGFyd2luIGlzIGFuIGV4Y2VwdGlvbiB0byB0
aGlzIHJ1bGU6IGl0IGlzIE9LIHRvIGNhbGwgaXQgZnJvbSBhbnkgdGhyZWFkLCB0aGUgb25seQor
Ly8gcmVxdWlyZW1lbnQgaXMgdGhhdCB0aGUgY2FsbHMgYXJlIG5vdCByZWVudHJhbnQuCiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBpbml0aWFsaXplVGhyZWFkaW5nKCk7CiAKIGlubGluZSBUaHJl
YWRJZGVudGlmaWVyIGN1cnJlbnRUaHJlYWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
VGhyZWFkaW5nUHRocmVhZHMuY3BwIGIvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMu
Y3BwCmluZGV4IGZhODBjMDQ4MDE5ZDg5ZDNhOTgwMjk2OTNiNzZkYjI4OWNhNzE1MjQuLjM1YmU4
NDViM2RhNjk5ZmZlMDEwNWNkNzhmYjlhOWY3MGQxYTI3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRp
bmdQdGhyZWFkcy5jcHAKQEAgLTE4OCw5ICsxODgsOCBAQCB2b2lkIFRocmVhZDo6aW5pdGlhbGl6
ZVBsYXRmb3JtVGhyZWFkaW5nKCkKICNlbmRpZgogfQogCi12b2lkIFRocmVhZDo6aW5pdGlhbGl6
ZUN1cnJlbnRUaHJlYWRFdmVuSWZOb25XVEZDcmVhdGVkKCkKK3N0YXRpYyB2b2lkIGluaXRpYWxp
emVDdXJyZW50VGhyZWFkRXZlbklmTm9uV1RGQ3JlYXRlZCgpCiB7Ci0gICAgVGhyZWFkOjpjdXJy
ZW50KCkuaW5pdGlhbGl6ZSgpOwogI2lmICFPUyhEQVJXSU4pCiAgICAgc2lnc2V0X3QgbWFzazsK
ICAgICBzaWdlbXB0eXNldCgmbWFzayk7CkBAIC0zMDAsMTcgKzI5OSwyNSBAQCB2b2lkIFRocmVh
ZDo6ZGV0YWNoKCkKICAgICAgICAgZGlkQmVjb21lRGV0YWNoZWQoKTsKIH0KIAorVGhyZWFkKiBU
aHJlYWQ6OmN1cnJlbnRNYXlCZU51bGwoKQoreworICAgIFRocmVhZEhvbGRlciogZGF0YSA9IFRo
cmVhZEhvbGRlcjo6Y3VycmVudCgpOworICAgIGlmIChkYXRhKQorICAgICAgICByZXR1cm4gJmRh
dGEtPnRocmVhZCgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBUaHJlYWQmIFRocmVhZDo6
Y3VycmVudCgpCiB7CiAgICAgaWYgKFRocmVhZCogY3VycmVudCA9IGN1cnJlbnRNYXlCZU51bGwo
KSkKICAgICAgICAgcmV0dXJuICpjdXJyZW50OwogCiAgICAgLy8gTm90IGEgV1RGLWNyZWF0ZWQg
dGhyZWFkLCBUaHJlYWRJZGVudGlmaWVyIGlzIG5vdCBlc3RhYmxpc2hlZCB5ZXQuCi0gICAgUmVm
PFRocmVhZD4gdGhyZWFkID0gYWRvcHRSZWYoKm5ldyBUaHJlYWQoKSk7CisgICAgUmVmUHRyPFRo
cmVhZD4gdGhyZWFkID0gYWRvcHRSZWYobmV3IFRocmVhZCgpKTsKICAgICB0aHJlYWQtPmVzdGFi
bGlzaChwdGhyZWFkX3NlbGYoKSk7Ci0gICAgVGhyZWFkSG9sZGVyOjppbml0aWFsaXplKHRocmVh
ZC5nZXQoKSk7CisgICAgVGhyZWFkSG9sZGVyOjppbml0aWFsaXplKCp0aHJlYWQpOwogICAgIGlu
aXRpYWxpemVDdXJyZW50VGhyZWFkRXZlbklmTm9uV1RGQ3JlYXRlZCgpOwotICAgIHJldHVybiB0
aHJlYWQuZ2V0KCk7CisgICAgcmV0dXJuICp0aHJlYWQ7CiB9CiAKIFRocmVhZElkZW50aWZpZXIg
VGhyZWFkOjpjdXJyZW50SUQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5n
V2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1dpbi5jcHAKaW5kZXggZWUxYzRkNDNm
ZTdmMTUyMzZhZDk1YmE5YTdiYWQ3YTFlNDEzNjQ3Mi4uYTdjMWE4OTAxOWI2YTA1Mjg5ODRmMmEw
ZTkxYWU2YmQzMjI2NGNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVGhyZWFkaW5nV2lu
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdXaW4uY3BwCkBAIC0xMTYsMTEgKzEx
Niw2IEBAIFRocmVhZDo6flRocmVhZCgpCiAgICAgICAgIENsb3NlSGFuZGxlKG1faGFuZGxlKTsK
IH0KIAotdm9pZCBUaHJlYWQ6OmluaXRpYWxpemVDdXJyZW50VGhyZWFkRXZlbklmTm9uV1RGQ3Jl
YXRlZCgpCi17Ci0gICAgVGhyZWFkOjpjdXJyZW50KCkuaW5pdGlhbGl6ZSgpOwotfQotCiAvLyBN
U19WQ19FWENFUFRJT04sIFRIUkVBRE5BTUVfSU5GTywgYW5kIHNldFRocmVhZE5hbWVJbnRlcm5h
bCBhbGwgY29tZSBmcm9tIDxodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkv
eGNiMno4aHMuYXNweD4uCiBzdGF0aWMgY29uc3QgRFdPUkQgTVNfVkNfRVhDRVBUSU9OID0gMHg0
MDZEMTM4ODsKIApAQCAtMTUwLDcgKzE0NSw2IEBAIHZvaWQgVGhyZWFkOjppbml0aWFsaXplQ3Vy
cmVudFRocmVhZEludGVybmFsKGNvbnN0IGNoYXIqIHN6VGhyZWFkTmFtZSkKICAgICB9IF9fZXhj
ZXB0IChFWENFUFRJT05fQ09OVElOVUVfRVhFQ1VUSU9OKSB7CiAgICAgfQogI2VuZGlmCi0gICAg
aW5pdGlhbGl6ZUN1cnJlbnRUaHJlYWRFdmVuSWZOb25XVEZDcmVhdGVkKCk7CiB9CiAKIHZvaWQg
VGhyZWFkOjppbml0aWFsaXplUGxhdGZvcm1UaHJlYWRpbmcoKQpAQCAtMjY3LDggKzI2MSw5IEBA
IHNpemVfdCBUaHJlYWQ6OmdldFJlZ2lzdGVycyhQbGF0Zm9ybVJlZ2lzdGVycyYgcmVnaXN0ZXJz
KQogCiBUaHJlYWQmIFRocmVhZDo6Y3VycmVudCgpCiB7Ci0gICAgaWYgKFRocmVhZCogY3VycmVu
dCA9IGN1cnJlbnRNYXlCZU51bGwoKSkKLSAgICAgICAgcmV0dXJuICpjdXJyZW50OworICAgIFRo
cmVhZEhvbGRlciogZGF0YSA9IFRocmVhZEhvbGRlcjo6Y3VycmVudCgpOworICAgIGlmIChkYXRh
KQorICAgICAgICByZXR1cm4gZGF0YS0+dGhyZWFkKCk7CiAKICAgICAvLyBOb3QgYSBXVEYtY3Jl
YXRlZCB0aHJlYWQsIFRocmVhZElkZW50aWZpZXIgaXMgbm90IGVzdGFibGlzaGVkIHlldC4KICAg
ICBSZWY8VGhyZWFkPiB0aHJlYWQgPSBhZG9wdFJlZigqbmV3IFRocmVhZCgpKTsKQEAgLTI3OSw3
ICsyNzQsNiBAQCBUaHJlYWQmIFRocmVhZDo6Y3VycmVudCgpCiAKICAgICB0aHJlYWQtPmVzdGFi
bGlzaChoYW5kbGUsIGN1cnJlbnRJRCgpKTsKICAgICBUaHJlYWRIb2xkZXI6OmluaXRpYWxpemUo
dGhyZWFkLmdldCgpLCBUaHJlYWQ6OmN1cnJlbnRJRCgpKTsKLSAgICBpbml0aWFsaXplQ3VycmVu
dFRocmVhZEV2ZW5JZk5vbldURkNyZWF0ZWQoKTsKICAgICByZXR1cm4gdGhyZWFkLmdldCgpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9XVEZUaHJlYWREYXRhLmNwcCBiL1NvdXJj
ZS9XVEYvd3RmL1dURlRocmVhZERhdGEuY3BwCmluZGV4IGYzYTNlOGE5ZDY2NGYxZjA1MmM5OTM2
MTgyZWMyNzVhMjc0ZWZmMDMuLmNkZjNkY2JhNmI2MTIzZmFmODFhMmJlYWQwYTAxYjJjNGY2ZjNl
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dURlRocmVhZERhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1dURlRocmVhZERhdGEuY3BwCkBAIC00NCwxMSArNDQsMTIgQEAgV1RGVGhy
ZWFkRGF0YTo6V1RGVGhyZWFkRGF0YSgpCiAgICAgLCBtX2N1cnJlbnRBdG9taWNTdHJpbmdUYWJs
ZSgwKQogICAgICwgbV9kZWZhdWx0QXRvbWljU3RyaW5nVGFibGUoMCkKICAgICAsIG1fYXRvbWlj
U3RyaW5nVGFibGVEZXN0cnVjdG9yKDApCisgICAgLCBtX3N0YWNrQm91bmRzKFN0YWNrQm91bmRz
OjpjdXJyZW50VGhyZWFkU3RhY2tCb3VuZHMoKSkKICNpZiBFTkFCTEUoU1RBQ0tfU1RBVFMpCiAg
ICAgLCBtX3N0YWNrU3RhdHMoKQogI2VuZGlmCiAgICAgLCBtX3NhdmVkU3RhY2tQb2ludGVyQXRW
TUVudHJ5KDApCi0gICAgLCBtX3NhdmVkTGFzdFN0YWNrVG9wKFRocmVhZDo6Y3VycmVudCgpLnN0
YWNrKCkub3JpZ2luKCkpCisgICAgLCBtX3NhdmVkTGFzdFN0YWNrVG9wKHN0YWNrKCkub3JpZ2lu
KCkpCiB7CiAgICAgQXRvbWljU3RyaW5nVGFibGU6OmNyZWF0ZSgqdGhpcyk7CiAgICAgbV9jdXJy
ZW50QXRvbWljU3RyaW5nVGFibGUgPSBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dURlRocmVhZERhdGEuaCBiL1NvdXJjZS9XVEYvd3RmL1dU
RlRocmVhZERhdGEuaAppbmRleCA4NGUzYzMwMzYyY2U3ZGIwNzcxMDYzMjRmMzFmOTE3ZGJjZmI2
YjZkLi5hNDNhNmViMGNkNmZjMzkyMjUyYmI3NTQ1OWU0NTIxM2Q1NjFkNmM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvU291cmNlL1dURi93dGYvV1RG
VGhyZWFkRGF0YS5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlIDx3dGYvRmFzdFRMUy5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9TdGFja0JvdW5k
cy5oPgogI2luY2x1ZGUgPHd0Zi9TdGFja1N0YXRzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNw
ZWNpZmljLmg+CiAKQEAgLTU2LDYgKzU3LDE2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG9s
ZEF0b21pY1N0cmluZ1RhYmxlOwogICAgIH0KIAorICAgIGNvbnN0IFN0YWNrQm91bmRzJiBzdGFj
aygpCisgICAgeworICAgICAgICAvLyBXZSBuZWVkIHRvIGFsd2F5cyBnZXQgYSBmcmVzaCBTdGFj
a0JvdW5kcyBmcm9tIHRoZSBPUyBkdWUgdG8gaG93IGZpYmVycyB3b3JrLgorICAgICAgICAvLyBT
ZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjQxMQorI2lmIE9T
KFdJTkRPV1MpCisgICAgICAgIG1fc3RhY2tCb3VuZHMgPSBTdGFja0JvdW5kczo6Y3VycmVudFRo
cmVhZFN0YWNrQm91bmRzKCk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIG1fc3RhY2tCb3VuZHM7
CisgICAgfQorCiAjaWYgRU5BQkxFKFNUQUNLX1NUQVRTKQogICAgIFN0YWNrU3RhdHM6OlBlclRo
cmVhZFN0YXRzJiBzdGFja1N0YXRzKCkKICAgICB7CkBAIC05MCw2ICsxMDEsNyBAQCBwcml2YXRl
OgogICAgIEF0b21pY1N0cmluZ1RhYmxlKiBtX2RlZmF1bHRBdG9taWNTdHJpbmdUYWJsZTsKICAg
ICBBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IgbV9hdG9taWNTdHJpbmdUYWJsZURlc3RydWN0
b3I7CiAKKyAgICBTdGFja0JvdW5kcyBtX3N0YWNrQm91bmRzOwogI2lmIEVOQUJMRShTVEFDS19T
VEFUUykKICAgICBTdGFja1N0YXRzOjpQZXJUaHJlYWRTdGF0cyBtX3N0YWNrU3RhdHM7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRo
cmVhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5t
bQppbmRleCA2MTIyYjRmMmM1MGI2NGJhNWM3ZmZjOWRkZTNmNGRhNTYyOWEwMzg3Li5hZjRlYzQ0
NGYwZWUwYTViOTFkNDIxNWRlNTk3YjE3MjI5ZDc4NGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCkBAIC03MDIsMTcgKzcwMiwxNCBA
QCBzdGF0aWMgdm9pZCBTdGFydFdlYlRocmVhZCgpCiB7CiAgICAgd2ViVGhyZWFkU3RhcnRlZCA9
IFRSVUU7CiAKLSAgICAvLyBUaHJlYWRHbG9iYWxEYXRhIHRvdWNoZXMgQXRvbWljU3RyaW5nLCB3
aGljaCByZXF1aXJlcyBXVEZUaHJlYWREYXRhIGFuZCBUaHJlYWRpbmcgaW5pdGlhbGl6YXRpb24u
Ci0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0KLSAgICAvLyBJbml0aWFsaXplIEF0
b21pY1N0cmluZyBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgV1RGOjpBdG9taWNTdHJpbmc6Omlu
aXQoKTsKLQogICAgIC8vIEluaXRpYWxpemUgVGhyZWFkR2xvYmFsRGF0YSBvbiB0aGUgbWFpbiBV
SSB0aHJlYWQgc28gdGhhdCB0aGUgV2ViQ29yZSB0aHJlYWQKICAgICAvLyBjYW4gbGF0ZXIgc2V0
IGl0J3MgdGhyZWFkLXNwZWNpZmljIGRhdGEgdG8gcG9pbnQgdG8gdGhlIHNhbWUgb2JqZWN0cy4K
ICAgICBXZWJDb3JlOjpUaHJlYWRHbG9iYWxEYXRhJiB1bnVzZWQgPSBXZWJDb3JlOjp0aHJlYWRH
bG9iYWxEYXRhKCk7CiAgICAgKHZvaWQpdW51c2VkOwogCisgICAgLy8gSW5pdGlhbGl6ZSBBdG9t
aWNTdHJpbmcgb24gdGhlIG1haW4gdGhyZWFkLgorICAgIFdURjo6QXRvbWljU3RyaW5nOjppbml0
KCk7CisKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKIAogICAgIC8vIHJl
Z2lzdGVyIGNsYXNzIGZvciBXZWJUaHJlYWQgZGVhbGxvY2F0aW9uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>