<?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>183542</bug_id>
          
          <creation_ts>2018-03-10 09:21:06 -0800</creation_ts>
          <short_desc>REGRESSION(r229436): seems to have regressed wasm compile times by 10% (Requested by pizlo-mbp on #webkit).</short_desc>
          <delta_ts>2018-03-12 17:24:35 -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>177839</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>lforschler</cc>
    
    <cc>msaboff</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1405475</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-10 09:21:06 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/229436 broke the build:
seems to have regressed wasm compile times by 10% (Requested by pizlo-mbp 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>1405477</commentid>
    <comment_count>1</comment_count>
      <attachid>335515</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-10 09:21:13 -0800</bug_when>
    <thetext>Created attachment 335515
ROLLOUT of r229436

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>1405479</commentid>
    <comment_count>2</comment_count>
      <attachid>335515</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-10 09:28:14 -0800</bug_when>
    <thetext>Comment on attachment 335515
ROLLOUT of r229436

Clearing flags on attachment: 335515

Committed r229504: &lt;https://trac.webkit.org/changeset/229504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405480</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-10 09:28:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405998</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-12 17:24:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/38397865&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335515</attachid>
            <date>2018-03-10 09:21:13 -0800</date>
            <delta_ts>2018-03-10 09:28:14 -0800</delta_ts>
            <desc>ROLLOUT of r229436</desc>
            <filename>bug-183542-20180310122113.patch</filename>
            <type>text/plain</type>
            <size>22562</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIzZTM0OWNlMjk1ZWU4ZmZhYTA5OWZk
ZDdmMzA3YmI4NWUxZWZiMmQuLjBlNDBjNmUwNWEwZDNhYmVhZjFlNmIzODgyNWEyMGVhMjA3MmM4
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDMtMTAgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
Mjk0MzYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODM1NDIKKworICAgICAgICBzZWVtcyB0byBoYXZlIHJlZ3Jlc3NlZCB3YXNtIGNvbXBpbGUgdGlt
ZXMgYnkgMTAlIChSZXF1ZXN0ZWQKKyAgICAgICAgYnkgcGl6bG8tbWJwIG9uICN3ZWJraXQpLgor
CisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiYm1hbGxvYyBtdXRleCBz
aG91bGQgYmUgYWRhcHRpdmUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc4MzkKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzIyOTQzNgorCiAyMDE4LTAzLTA5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBbUmUtbGFuZGluZ10gUHJlcGFyZSBMTEludCBjb2RlIHRvIHN1cHBvcnQgcG9p
bnRlciBwcm9maWxpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggMTk2OTZkZWViMTNlNmRmOGYyNmZjNjE2MTZi
MzMzMjJlZGVlOWE1NS4uZGU2YTA2OTFmM2RkNTVlNzQ5ZjQxZGY4YmRkNDVlOWY2OTkzMzlhMyAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9ibWFsbG9j
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTAzLTEwICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMjI5NDM2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgzNTQyCisKKyAgICAgICAgc2VlbXMgdG8gaGF2ZSByZWdyZXNzZWQgd2FzbSBjb21waWxl
IHRpbWVzIGJ5IDEwJSAoUmVxdWVzdGVkCisgICAgICAgIGJ5IHBpemxvLW1icCBvbiAjd2Via2l0
KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgImJtYWxsb2MgbXV0
ZXggc2hvdWxkIGJlIGFkYXB0aXZlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc3ODM5CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMjk0MzYKKwogMjAxOC0wMy0wOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIGJtYWxsb2MgbXV0ZXggc2hvdWxkIGJlIGFkYXB0aXZlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrQWxnb3JpdGhtSW5saW5lcy5oIGIvU291cmNlL1dURi93
dGYvTG9ja0FsZ29yaXRobUlubGluZXMuaAppbmRleCA3OTQ0NDVmNGEwNmMyNmUxMmZkMjFlODdi
NWJiYWY0Y2FmMzhkNDQyLi4zMzkwYTJkMWRhYTdjMTUwZjVhOGM4MzljNWVjN2ZjYWY5NTk3YTZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2NrQWxnb3JpdGhtSW5saW5lcy5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL0xvY2tBbGdvcml0aG1JbmxpbmVzLmgKQEAgLTM0LDEwICszNCw2IEBA
CiAvLyB0aGUgbG9jayBhbGdvcml0aG0gc2xvdyBwYXRoIHdpdGhvdXQgcmVjb21waWxpbmcgdGhl
IHdvcmxkLiBSaWdodCBub3cgdGhpcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdHdvCiAvLyBwbGFj
ZXMgKExvY2suY3BwIGFuZCBKU0NlbGwuY3BwKS4KIAotLy8gTk9URTogSXQncyBhIGJ1ZyB0byB1
c2UgYW55IG1lbW9yeSBvcmRlciBvdGhlciB0aGFuIHNlcV9jc3QgaW4gdGhpcyBjb2RlLiBUaGUg
Y29zdCBvZiBzZXFfY3N0Ci0vLyBmZW5jaW5nIGlzIG5lZ2xpZ2libGUgb24gc2xvdyBwYXRocywg
c28gYW55IHVzZSBvZiBhIG1vcmUgcmVsYXhlZCBtZW1vcnkgbW9kZWwgaXMgYWxsIHJpc2sgYW5k
IG5vCi0vLyByZXdhcmQuCi0KIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBM
b2NrVHlwZSwgTG9ja1R5cGUgaXNIZWxkQml0LCBMb2NrVHlwZSBoYXNQYXJrZWRCaXQsIHR5cGVu
YW1lIEhvb2tzPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29yZExvY2suY3BwIGIvU291
cmNlL1dURi93dGYvV29yZExvY2suY3BwCmluZGV4IDY4Zjk1MWQzYzBiNTg4NWI2Y2M0YjE1YmI1
MjI4OTc3ODI4MzQ3MDEuLjAxODllNTg1YWYwYzRiYTk2NmI0OWUwYWUwNzhjYTQ4ZDMyZmRiZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9Xb3JkTG9jay5jcHAKQEAgLTc2LDEwICs3Niw2IEBAIFRocmVhZERhdGEqIG15VGhyZWFk
RGF0YSgpCiAKIH0gLy8gYW5vbnltb3VzIG5hbWVzcGFjZQogCi0vLyBOT1RFOiBJdCdzIGEgYnVn
IHRvIHVzZSBhbnkgbWVtb3J5IG9yZGVyIG90aGVyIHRoYW4gc2VxX2NzdCBpbiB0aGlzIGNvZGUu
IFRoZSBjb3N0IG9mIHNlcV9jc3QKLS8vIGZlbmNpbmcgaXMgbmVnbGlnaWJsZSBvbiBzbG93IHBh
dGhzLCBzbyBhbnkgdXNlIG9mIGEgbW9yZSByZWxheGVkIG1lbW9yeSBtb2RlbCBpcyBhbGwgcmlz
ayBhbmQgbm8KLS8vIHJld2FyZC4KLQogTkVWRVJfSU5MSU5FIHZvaWQgV29yZExvY2s6OmxvY2tT
bG93KCkKIHsKICAgICB1bnNpZ25lZCBzcGluQ291bnQgPSAwOwpAQCAtMjI3LDggKzIyMyw3IEBA
IE5FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjp1bmxvY2tTbG93KCkKICAgICBBU1NFUlQoY3Vy
cmVudFdvcmRWYWx1ZSAmIGlzTG9ja2VkQml0KTsKICAgICBBU1NFUlQoY3VycmVudFdvcmRWYWx1
ZSAmIGlzUXVldWVMb2NrZWRCaXQpOwogICAgIFRocmVhZERhdGEqIHF1ZXVlSGVhZCA9IGJpdHdp
c2VfY2FzdDxUaHJlYWREYXRhKj4oY3VycmVudFdvcmRWYWx1ZSAmIH5xdWV1ZUhlYWRNYXNrKTsK
LSAgICBSRUxFQVNFX0FTU0VSVChxdWV1ZUhlYWQpOwotICAgIFJFTEVBU0VfQVNTRVJUKHF1ZXVl
SGVhZC0+c2hvdWxkUGFyayk7IC8vIFRoaXMgd291bGQgaGF2ZSBiZWVuIHNldCBiZWZvcmUgdGhl
IHRocmVhZCB3YXMgZW5xdWV1ZWQsIHNvIGl0IG11c3Qgc3RpbGwgYmUgc2V0IG5vdy4KKyAgICBB
U1NFUlQocXVldWVIZWFkKTsKIAogICAgIFRocmVhZERhdGEqIG5ld1F1ZXVlSGVhZCA9IHF1ZXVl
SGVhZC0+bmV4dEluUXVldWU7CiAgICAgLy8gRWl0aGVyIHRoaXMgd2FzIHRoZSBvbmx5IHRocmVh
ZCBvbiB0aGUgcXVldWUsIGluIHdoaWNoIGNhc2Ugd2UgZGVsZXRlIHRoZSBxdWV1ZSwgb3IgdGhl
cmUKQEAgLTI2MSwxMiArMjU2LDEwIEBAIE5FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjp1bmxv
Y2tTbG93KCkKICAgICB7CiAgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2Nr
ZXIocXVldWVIZWFkLT5wYXJraW5nTG9jayk7CiAgICAgICAgIHF1ZXVlSGVhZC0+c2hvdWxkUGFy
ayA9IGZhbHNlOwotICAgICAgICAvLyBXZSBoYXZlIHRvIGRvIHRoZSBub3RpZnkgd2hpbGUgc3Rp
bGwgaG9sZGluZyB0aGUgbG9jaywgc2luY2Ugb3RoZXJ3aXNlLCB3ZSBjb3VsZCB0cnkgdG8KLSAg
ICAgICAgLy8gZG8gaXQgYWZ0ZXIgdGhlIHF1ZXVlSGVhZCBoYXMgZGVzdHJ1Y3RlZC4gSXQncyBp
bXBvc3NpYmxlIGZvciBxdWV1ZUhlYWQgdG8gZGVzdHJ1Y3QKLSAgICAgICAgLy8gd2hpbGUgd2Ug
aG9sZCB0aGUgbG9jaywgc2luY2UgaXQgaXMgZWl0aGVyIGN1cnJlbnRseSBpbiB0aGUgd2FpdCBs
b29wIG9yIGl0J3MgYmVmb3JlIGl0Ci0gICAgICAgIC8vIHNvIGl0IGhhcyB0byBncmFiIHRoZSBs
b2NrIGJlZm9yZSBkZXN0cnVjdGluZy4KLSAgICAgICAgcXVldWVIZWFkLT5wYXJraW5nQ29uZGl0
aW9uLm5vdGlmeV9vbmUoKTsKICAgICB9CisgICAgLy8gRG9lc24ndCBtYXR0ZXIgaWYgd2Ugbm90
aWZ5X2FsbCgpIG9yIG5vdGlmeV9vbmUoKSBoZXJlIHNpbmNlIHRoZSBvbmx5IHRocmVhZCB0aGF0
IGNvdWxkIGJlCisgICAgLy8gd2FpdGluZyBpcyBxdWV1ZUhlYWQuCisgICAgcXVldWVIZWFkLT5w
YXJraW5nQ29uZGl0aW9uLm5vdGlmeV9vbmUoKTsKIAogICAgIC8vIFRoZSBvbGQgcXVldWUgaGVh
ZCBjYW4gbm93IGNvbnRlbmQgZm9yIHRoZSBsb2NrIGFnYWluLiBXZSdyZSBkb25lIQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGdvcml0aG0uaCBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvQWxnb3JpdGhtLmgKaW5kZXggMjlmMWUwYzNhOTAzNWNkYTgyYmEyYTZlNjQ3
NzUwODY4OGQ2YzQ4YS4uZTRlNTFhNTNhM2UxYTBhOTkzNjJiYmJjODNjOGFiNWIwMTBmMWY3NyAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGdvcml0aG0uaAorKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0FsZ29yaXRobS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkJBc3NlcnQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8YXRvbWljPgogI2lu
Y2x1ZGUgPGNzdGRpbnQ+CiAjaW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxsaW1pdHM+CkBA
IC0xNjIsMjQgKzE2MSw2IEBAIGlubGluZSBjb25zdGV4cHIgdW5zaWduZWQgbG9uZyBsb2cyKHVu
c2lnbmVkIGxvbmcgdmFsdWUpCiAgICAgcmV0dXJuIGJpdENvdW50PHVuc2lnbmVkIGxvbmc+KCkg
LSAxIC0gX19idWlsdGluX2NsemwodmFsdWUpOwogfQogCi0vLyBXZSBuZWVkIGEgQ0FTIEFQSSB0
aGF0IGlzbid0IHRoZSBiYWRseSBkZXNpZ25lZCBvbmUgZnJvbSBDKysuCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPgotYm9vbCBjb21wYXJlRXhjaGFuZ2VXZWFrKHN0ZDo6YXRvbWljPFQ+JiB3b3JkLCBU
IGV4cGVjdGVkLCBUIGRlc2lyZWQsIHN0ZDo6bWVtb3J5X29yZGVyIG9yZGVyID0gc3RkOjptZW1v
cnlfb3JkZXJfc2VxX2NzdCkKLXsKLSAgICAvLyBUaGV5IGNvdWxkIGhhdmUgbWFkZSBhIHNlbnNp
YmxlIENBUyBBUEksIGJ1dCB0aGV5IGRpZG4ndC4gU25lYWt5IGZhY3Q6IGZvciBubyBnb29kIHJl
YXNvbiwgdGhlCi0gICAgLy8gQysrIEFQSSB3aWxsIG11dGF0ZSBleHBlY3RlZC4gSSB0aGluayB0
aGF0IGFwb2xvZ2lzdHMgd2lsbCBzYXkgc29tZXRoaW5nIGFib3V0IGhvdyBpdCBzYXZlcyB5b3UK
LSAgICAvLyByZWxvYWRpbmcgdGhlIHZhbHVlIGFyb3VuZCB0aGUgYmFjayBvZiB5b3VyIENBUyBs
b29wLCBidXQgdGhhdCdzIG5vbnNlbnNlLiBUaGUgZGVsYXkgYWxvbmcgdGhlCi0gICAgLy8gYmFj
ayBlZGdlIG9mIGEgQ0FTIGxvb3AgaGFzIGFsbW9zdCBubyBpbXBhY3Qgb24gQ0FTIGxvb3AgcGVy
Zm9ybWFuY2UuIE1vcmUgb2Z0ZW4gdGhhbiBub3QsIHdlCi0gICAgLy8gd2FudCB0byAqYWRkKiBk
ZWxheXMgdG8gdGhlIGJhY2sgZWRnZSwgbm90IHJlbW92ZSB0aGVtLgotICAgIHJldHVybiB3b3Jk
LmNvbXBhcmVfZXhjaGFuZ2Vfd2VhayhleHBlY3RlZCwgZGVzaXJlZCwgb3JkZXIsIHN0ZDo6bWVt
b3J5X29yZGVyX3JlbGF4ZWQpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPgotYm9vbCBjb21w
YXJlRXhjaGFuZ2VTdHJvbmcoc3RkOjphdG9taWM8VD4mIHdvcmQsIFQgZXhwZWN0ZWQsIFQgZGVz
aXJlZCwgc3RkOjptZW1vcnlfb3JkZXIgb3JkZXIgPSBzdGQ6Om1lbW9yeV9vcmRlcl9zZXFfY3N0
KQotewotICAgIHJldHVybiB3b3JkLmNvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkLCBk
ZXNpcmVkLCBvcmRlciwgc3RkOjptZW1vcnlfb3JkZXJfcmVsYXhlZCk7Ci19Ci0KICNkZWZpbmUg
Qk9GRlNFVE9GKGNsYXNzLCBmaWVsZCkgKHJlaW50ZXJwcmV0X2Nhc3Q8cHRyZGlmZl90PigmKHJl
aW50ZXJwcmV0X2Nhc3Q8Y2xhc3MqPigweDQwMDApLT5maWVsZCkpIC0gMHg0MDAwKQogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJU
aHJlYWQuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKaW5kZXggZGY4N2Yw
ZWIyYTJiNTRlY2JhODRjNjMyYTU2NTJhMGFkNTczNTc3MS4uYjg0OGY4MjhlOTU0OTBlYzZkNWQ5
OTAzMjE2ZDIwYjljNjdkZTE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Q
ZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCkBAIC02
MCwxMSArNjAsMTEgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkZXN0cnVjdG9yKHZvaWQq
KTsKIH07CiAKKyNpZiBIQVZFX1BUSFJFQURfTUFDSERFUF9ICisKIGNsYXNzIENhY2hlOwogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBlclRocmVhZFN0b3JhZ2U7CiAKLSNpZiBIQVZFX1BU
SFJFQURfTUFDSERFUF9ICi0KIC8vIEZvciBub3csIHdlIG9ubHkgc3VwcG9ydCBQZXJUaHJlYWQ8
UGVySGVhcEtpbmQ8Q2FjaGU+Pi4gV2UgY2FuIGV4cGFuZCB0byBvdGhlciB0eXBlcyBieQogLy8g
dXNpbmcgbW9yZSBrZXlzLgogdGVtcGxhdGU8PiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTxQZXJI
ZWFwS2luZDxDYWNoZT4+IHsKQEAgLTgyLDcgKzgyLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgUGVy
VGhyZWFkU3RvcmFnZTxQZXJIZWFwS2luZDxDYWNoZT4+IHsKICAgICB9CiB9OwogCi0jZW5kaWYK
KyNlbHNlCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJlYWRTdG9yYWdlIHsK
ICAgICBzdGF0aWMgYm9vbCBzX2RpZEluaXRpYWxpemU7CkBAIC0xMTIsNiArMTEyLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2RpZEluaXRpYWxp
emU7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBwdGhyZWFkX2tleV90IFBlclRocmVhZFN0b3JhZ2U8
VD46OnNfa2V5OwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RkOjpvbmNlX2ZsYWcgUGVyVGhyZWFk
U3RvcmFnZTxUPjo6c19vbmNlRmxhZzsKIAorI2VuZGlmCisKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CiBCSU5MSU5FIFQqIFBlclRocmVhZDxUPjo6Z2V0RmFzdENhc2UoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9TdGF0aWNNdXRleC5jcHAgYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1N0YXRpY011dGV4LmNwcAppbmRleCBiNDQ0YWYwODFmZDQ5ZDcyZGJlZDc4MGY5ZmMw
ZmVkZWQ3MDZiYTUxLi4xZTJlMWMzYzBjMDg0ZTMzYzJlYTMxYWFhODU1MWViMDMyNmRkNDU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4LmNwcAorKysgYi9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywyNDUgKzIzLDMxIEBACiAg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaW5jbHVkZSAiU3RhdGljTXV0ZXguaCIKLQotI2luY2x1
ZGUgIlBlclRocmVhZC5oIgogI2luY2x1ZGUgIlNjb3BlRXhpdC5oIgotI2luY2x1ZGUgPGNvbmRp
dGlvbl92YXJpYWJsZT4KLSNpbmNsdWRlIDxtdXRleD4KKyNpbmNsdWRlICJTdGF0aWNNdXRleC5o
IgogI2luY2x1ZGUgPHRocmVhZD4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCi0vLyBGSVhNRTog
VGhpcyBkdXBsaWNhdGVzIGNvZGUgZnJvbSBXVEY6OldvcmRMb2NrLgotLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcxOQotCi1uYW1lc3BhY2UgewotCi0vLyBU
aGlzIGRhdGEgc3RydWN0dXJlIHNlcnZlcyB0aHJlZSBwdXJwb3NlczoKLS8vCi0vLyAxKSBBIHBh
cmtpbmcgbWVjaGFuaXNtIGZvciB0aHJlYWRzIHRoYXQgZ28gdG8gc2xlZXAuIFRoYXQgaW52b2x2
ZXMganVzdCBhIHN5c3RlbSBtdXRleCBhbmQKLS8vICAgIGNvbmRpdGlvbiB2YXJpYWJsZS4KLS8v
Ci0vLyAyKSBBIHF1ZXVlIG5vZGUgZm9yIHdoZW4gYSB0aHJlYWQgaXMgb24gc29tZSBsb2NrJ3Mg
cXVldWUuCi0vLwotLy8gMykgVGhlIHF1ZXVlIGhlYWQuIFRoaXMgaXMga2luZCBvZiBmdW5reS4g
V2hlbiBhIHRocmVhZCBpcyB0aGUgaGVhZCBvZiBhIHF1ZXVlLCBpdCBhbHNvIHNlcnZlcyBhcwot
Ly8gICAgdGhlIGJhc2ljIHF1ZXVlIGJvb2trZWVwaW5nIGRhdGEgc3RydWN0dXJlLiBXaGVuIGEg
dGhyZWFkIGlzIGRlcXVldWVkLCB0aGUgbmV4dCB0aHJlYWQgaW4gdGhlCi0vLyAgICBxdWV1ZSB0
YWtlcyBvbiB0aGUgcXVldWUgaGVhZCBkdXRpZXMuCi1zdHJ1Y3QgVGhyZWFkRGF0YSB7Ci0gICAg
Ly8gVGhlIHBhcmtpbmcgbWVjaGFuaXNtLgotICAgIGJvb2wgc2hvdWxkUGFyayB7IGZhbHNlIH07
Ci0gICAgc3RkOjptdXRleCBwYXJraW5nTG9jazsKLSAgICBzdGQ6OmNvbmRpdGlvbl92YXJpYWJs
ZSBwYXJraW5nQ29uZGl0aW9uOwotCi0gICAgLy8gVGhlIHF1ZXVlIG5vZGUuCi0gICAgVGhyZWFk
RGF0YSogbmV4dEluUXVldWUgeyBudWxscHRyIH07Ci0KLSAgICAvLyBUaGUgcXVldWUgaXRzZWxm
LgotICAgIFRocmVhZERhdGEqIHF1ZXVlVGFpbCB7IG51bGxwdHIgfTsKLX07Ci0KLVRocmVhZERh
dGEqIG15VGhyZWFkRGF0YSgpCit2b2lkIFN0YXRpY011dGV4Ojpsb2NrU2xvd0Nhc2UoKQogewot
ICAgIHJldHVybiBQZXJUaHJlYWQ8VGhyZWFkRGF0YT46OmdldCgpOwotfQotCi19IC8vIGFub255
bW91cyBuYW1lc3BhY2UKLQotLy8gTk9URTogSXQncyBhIGJ1ZyB0byB1c2UgYW55IG1lbW9yeSBv
cmRlciBvdGhlciB0aGFuIHNlcV9jc3QgaW4gdGhpcyBjb2RlLiBUaGUgY29zdCBvZiBzZXFfY3N0
Ci0vLyBmZW5jaW5nIGlzIG5lZ2xpZ2libGUgb24gc2xvdyBwYXRocywgc28gYW55IHVzZSBvZiBh
IG1vcmUgcmVsYXhlZCBtZW1vcnkgbW9kZWwgaXMgYWxsIHJpc2sgYW5kIG5vCi0vLyByZXdhcmQu
Ci0KLUJOT19JTkxJTkUgdm9pZCBTdGF0aWNNdXRleDo6bG9ja1Nsb3coKQotewotICAgIHVuc2ln
bmVkIHNwaW5Db3VudCA9IDA7Ci0KLSAgICAvLyBUaGlzIG1hZ2ljIG51bWJlciB0dXJucyBvdXQg
dG8gYmUgb3B0aW1hbCBiYXNlZCBvbiBwYXN0IEppa2VzUlZNIGV4cGVyaW1lbnRzLgotICAgIGNv
bnN0IHVuc2lnbmVkIHNwaW5MaW1pdCA9IDQwOworICAgIC8vIFRoZSBsb25nZXN0IGNyaXRpY2Fs
IHNlY3Rpb24gaW4gYm1hbGxvYyBpcyBtdWNoIHNob3J0ZXIgdGhhbiB0aGUKKyAgICAvLyB0aW1l
IGl0IHRha2VzIHRvIG1ha2UgYSBzeXN0ZW0gY2FsbCB0byB5aWVsZCB0byB0aGUgT1Mgc2NoZWR1
bGVyLgorICAgIC8vIFNvLCB3ZSB0cnkgYWdhaW4gYSBsb3QgYmVmb3JlIHdlIHlpZWxkLgorICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgYUxvdCA9IDI1NjsKICAgICAKLSAgICBmb3IgKDs7KSB7Ci0g
ICAgICAgIHVpbnRwdHJfdCBjdXJyZW50V29yZFZhbHVlID0gbV93b3JkLmxvYWQoKTsKLSAgICAg
ICAgCi0gICAgICAgIGlmICghKGN1cnJlbnRXb3JkVmFsdWUgJiBpc0xvY2tlZEJpdCkpIHsKLSAg
ICAgICAgICAgIC8vIEl0J3Mgbm90IHBvc3NpYmxlIGZvciBzb21lb25lIHRvIGhvbGQgdGhlIHF1
ZXVlIGxvY2sgd2hpbGUgdGhlIGxvY2sgaXRzZWxmIGlzIG5vIGxvbmdlcgotICAgICAgICAgICAg
Ly8gaGVsZCwgc2luY2Ugd2Ugd2lsbCBvbmx5IGF0dGVtcHQgdG8gYWNxdWlyZSB0aGUgcXVldWUg
bG9jayB3aGVuIHRoZSBsb2NrIGlzIGhlbGQgYW5kCi0gICAgICAgICAgICAvLyB0aGUgcXVldWUg
bG9jayBwcmV2ZW50cyB1bmxvY2suCi0gICAgICAgICAgICBCQVNTRVJUKCEoY3VycmVudFdvcmRW
YWx1ZSAmIGlzUXVldWVMb2NrZWRCaXQpKTsKLSAgICAgICAgICAgIGlmIChjb21wYXJlRXhjaGFu
Z2VXZWFrKG1fd29yZCwgY3VycmVudFdvcmRWYWx1ZSwgY3VycmVudFdvcmRWYWx1ZSB8IGlzTG9j
a2VkQml0KSkgewotICAgICAgICAgICAgICAgIC8vIFN1Y2Nlc3MhIFdlIGFjcXVpcmVkIHRoZSBs
b2NrLgotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
Ci0gICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIHF1ZXVlIGFuZCB3ZSBoYXZlbid0IHNwdW4gdG9v
IG11Y2gsIHdlIGNhbiBqdXN0IHRyeSB0byBzcGluIGFyb3VuZCBhZ2Fpbi4KLSAgICAgICAgaWYg
KCEoY3VycmVudFdvcmRWYWx1ZSAmIH5xdWV1ZUhlYWRNYXNrKSAmJiBzcGluQ291bnQgPCBzcGlu
TGltaXQpIHsKLSAgICAgICAgICAgIHNwaW5Db3VudCsrOwotICAgICAgICAgICAgc2NoZWRfeWll
bGQoKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gTmVl
ZCB0byBwdXQgb3Vyc2VsdmVzIG9uIHRoZSBxdWV1ZS4gQ3JlYXRlIHRoZSBxdWV1ZSBpZiBvbmUg
ZG9lcyBub3QgZXhpc3QuIFRoaXMgcmVxdXJpZXMKLSAgICAgICAgLy8gb3duaW5nIHRoZSBxdWV1
ZSBmb3IgYSBsaXR0bGUgYml0LiBUaGUgbG9jayB0aGF0IGNvbnRyb2xzIHRoZSBxdWV1ZSBpcyBp
dHNlbGYgYSBzcGlubG9jay4KLSAgICAgICAgLy8gQnV0IGJlZm9yZSB3ZSBhY3F1aXJlIHRoZSBx
dWV1ZSBzcGlubG9jaywgd2UgbWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSBhIFRocmVhZERhdGEgZm9y
IHRoaXMKLSAgICAgICAgLy8gdGhyZWFkLgotICAgICAgICBUaHJlYWREYXRhKiBtZSA9IG15VGhy
ZWFkRGF0YSgpOwotICAgICAgICBCQVNTRVJUKCFtZS0+c2hvdWxkUGFyayk7Ci0gICAgICAgIEJB
U1NFUlQoIW1lLT5uZXh0SW5RdWV1ZSk7Ci0gICAgICAgIEJBU1NFUlQoIW1lLT5xdWV1ZVRhaWwp
OwotCi0gICAgICAgIC8vIFJlbG9hZCB0aGUgY3VycmVudCB3b3JkIHZhbHVlLCBzaW5jZSBzb21l
IHRpbWUgbWF5IGhhdmUgcGFzc2VkLgotICAgICAgICBjdXJyZW50V29yZFZhbHVlID0gbV93b3Jk
LmxvYWQoKTsKLQotICAgICAgICAvLyBXZSBwcm9jZWVkIG9ubHkgaWYgdGhlIHF1ZXVlIGxvY2sg
aXMgbm90IGhlbGQsIHRoZSBsb2NrIGlzIGhlbGQsIGFuZCB3ZSBzdWNjZWVkIGluCi0gICAgICAg
IC8vIGFjcXVpcmluZyB0aGUgcXVldWUgbG9jay4KLSAgICAgICAgaWYgKChjdXJyZW50V29yZFZh
bHVlICYgaXNRdWV1ZUxvY2tlZEJpdCkKLSAgICAgICAgICAgIHx8ICEoY3VycmVudFdvcmRWYWx1
ZSAmIGlzTG9ja2VkQml0KQotICAgICAgICAgICAgfHwgIWNvbXBhcmVFeGNoYW5nZVdlYWsobV93
b3JkLCBjdXJyZW50V29yZFZhbHVlLCBjdXJyZW50V29yZFZhbHVlIHwgaXNRdWV1ZUxvY2tlZEJp
dCkpIHsKLSAgICAgICAgICAgIHNjaGVkX3lpZWxkKCk7Ci0gICAgICAgICAgICBjb250aW51ZTsK
LSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgbWUtPnNob3VsZFBhcmsgPSB0cnVlOwotCi0g
ICAgICAgIC8vIFdlIG93biB0aGUgcXVldWUuIE5vYm9keSBjYW4gZW5xdWV1ZSBvciBkZXF1ZXVl
IHVudGlsIHdlJ3JlIGRvbmUuIEFsc28sIGl0J3Mgbm90IHBvc3NpYmxlCi0gICAgICAgIC8vIHRv
IHJlbGVhc2UgdGhlIGxvY2sgd2hpbGUgd2UgaG9sZCB0aGUgcXVldWUgbG9jay4KLSAgICAgICAg
VGhyZWFkRGF0YSogcXVldWVIZWFkID0gcmVpbnRlcnByZXRfY2FzdDxUaHJlYWREYXRhKj4oY3Vy
cmVudFdvcmRWYWx1ZSAmIH5xdWV1ZUhlYWRNYXNrKTsKLSAgICAgICAgaWYgKHF1ZXVlSGVhZCkg
ewotICAgICAgICAgICAgLy8gUHV0IHRoaXMgdGhyZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHF1ZXVl
LgotICAgICAgICAgICAgcXVldWVIZWFkLT5xdWV1ZVRhaWwtPm5leHRJblF1ZXVlID0gbWU7Ci0g
ICAgICAgICAgICBxdWV1ZUhlYWQtPnF1ZXVlVGFpbCA9IG1lOworICAgIGlmICghbV9pc1NwaW5u
aW5nLnRlc3RfYW5kX3NldCgpKSB7CisgICAgICAgIGF1dG8gY2xlYXIgPSBtYWtlU2NvcGVFeGl0
KFsmXSB7IG1faXNTcGlubmluZy5jbGVhcigpOyB9KTsKIAotICAgICAgICAgICAgLy8gUmVsZWFz
ZSB0aGUgcXVldWUgbG9jay4KLSAgICAgICAgICAgIGN1cnJlbnRXb3JkVmFsdWUgPSBtX3dvcmQu
bG9hZCgpOwotICAgICAgICAgICAgQkFTU0VSVChjdXJyZW50V29yZFZhbHVlICYgfnF1ZXVlSGVh
ZE1hc2spOwotICAgICAgICAgICAgQkFTU0VSVChjdXJyZW50V29yZFZhbHVlICYgaXNRdWV1ZUxv
Y2tlZEJpdCk7Ci0gICAgICAgICAgICBCQVNTRVJUKGN1cnJlbnRXb3JkVmFsdWUgJiBpc0xvY2tl
ZEJpdCk7Ci0gICAgICAgICAgICBtX3dvcmQuc3RvcmUoY3VycmVudFdvcmRWYWx1ZSAmIH5pc1F1
ZXVlTG9ja2VkQml0KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE1ha2UgdGhp
cyB0aHJlYWQgYmUgdGhlIHF1ZXVlLWhlYWQuCi0gICAgICAgICAgICBxdWV1ZUhlYWQgPSBtZTsK
LSAgICAgICAgICAgIG1lLT5xdWV1ZVRhaWwgPSBtZTsKLQotICAgICAgICAgICAgLy8gUmVsZWFz
ZSB0aGUgcXVldWUgbG9jayBhbmQgaW5zdGFsbCBvdXJzZWx2ZXMgYXMgdGhlIGhlYWQuIE5vIG5l
ZWQgZm9yIGEgQ0FTIGxvb3AsIHNpbmNlCi0gICAgICAgICAgICAvLyB3ZSBvd24gdGhlIHF1ZXVl
IGxvY2suCi0gICAgICAgICAgICBjdXJyZW50V29yZFZhbHVlID0gbV93b3JkLmxvYWQoKTsKLSAg
ICAgICAgICAgIEJBU1NFUlQofihjdXJyZW50V29yZFZhbHVlICYgfnF1ZXVlSGVhZE1hc2spKTsK
LSAgICAgICAgICAgIEJBU1NFUlQoY3VycmVudFdvcmRWYWx1ZSAmIGlzUXVldWVMb2NrZWRCaXQp
OwotICAgICAgICAgICAgQkFTU0VSVChjdXJyZW50V29yZFZhbHVlICYgaXNMb2NrZWRCaXQpOwot
ICAgICAgICAgICAgdWludHB0cl90IG5ld1dvcmRWYWx1ZSA9IGN1cnJlbnRXb3JkVmFsdWU7Ci0g
ICAgICAgICAgICBuZXdXb3JkVmFsdWUgfD0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHF1
ZXVlSGVhZCk7Ci0gICAgICAgICAgICBuZXdXb3JkVmFsdWUgJj0gfmlzUXVldWVMb2NrZWRCaXQ7
Ci0gICAgICAgICAgICBtX3dvcmQuc3RvcmUobmV3V29yZFZhbHVlKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgZXZlcnlvbmUgd2hvIGFjcXVpcmVzIHRoZSBxdWV1ZSBs
b2NrIHdpbGwgc2VlIG1lIG9uIHRoZSBxdWV1ZSwgYW5kIGFueW9uZSB3aG8KLSAgICAgICAgLy8g
YWNxdWlyZXMgbWUncyBsb2NrIHdpbGwgc2VlIHRoYXQgbWUgd2FudHMgdG8gcGFyay4gTm90ZSB0
aGF0IHNob3VsZFBhcmsgbWF5IGhhdmUgYmVlbgotICAgICAgICAvLyBjbGVhcmVkIGFzIHNvb24g
YXMgdGhlIHF1ZXVlIGxvY2sgd2FzIHJlbGVhc2VkIGFib3ZlLCBidXQgaXQgd2lsbCBoYXBwZW4g
d2hpbGUgdGhlCi0gICAgICAgIC8vIHJlbGVhc2luZyB0aHJlYWQgaG9sZHMgbWUncyBwYXJraW5n
TG9jay4KLQotICAgICAgICB7Ci0gICAgICAgICAgICBzdGQ6OnVuaXF1ZV9sb2NrPHN0ZDo6bXV0
ZXg+IGxvY2tlcihtZS0+cGFya2luZ0xvY2spOwotICAgICAgICAgICAgd2hpbGUgKG1lLT5zaG91
bGRQYXJrKQotICAgICAgICAgICAgICAgIG1lLT5wYXJraW5nQ29uZGl0aW9uLndhaXQobG9ja2Vy
KTsKLSAgICAgICAgfQotCi0gICAgICAgIEJBU1NFUlQoIW1lLT5zaG91bGRQYXJrKTsKLSAgICAg
ICAgQkFTU0VSVCghbWUtPm5leHRJblF1ZXVlKTsKLSAgICAgICAgQkFTU0VSVCghbWUtPnF1ZXVl
VGFpbCk7Ci0gICAgICAgIAotICAgICAgICAvLyBOb3cgd2UgY2FuIGxvb3AgYXJvdW5kIGFuZCB0
cnkgdG8gYWNxdWlyZSB0aGUgbG9jayBhZ2Fpbi4KLSAgICB9Ci19Ci0KLUJOT19JTkxJTkUgdm9p
ZCBTdGF0aWNNdXRleDo6dW5sb2NrU2xvdygpCi17Ci0gICAgLy8gVGhlIGZhc3QgcGF0aCBjYW4g
ZmFpbCBlaXRoZXIgYmVjYXVzZSBvZiBzcHVyaW91cyB3ZWFrIENBUyBmYWlsdXJlLCBvciBiZWNh
dXNlIHNvbWVvbmUgcHV0IGEKLSAgICAvLyB0aHJlYWQgb24gdGhlIHF1ZXVlLCBvciB0aGUgcXVl
dWUgbG9jayBpcyBoZWxkLiBJZiB0aGUgcXVldWUgbG9jayBpcyBoZWxkLCBpdCBjYW4gb25seSBi
ZQotICAgIC8vIGJlY2F1c2Ugc29tZW9uZSAqd2lsbCogZW5xdWV1ZSBhIHRocmVhZCBvbnRvIHRo
ZSBxdWV1ZS4KLQotICAgIC8vIEFjcXVpcmUgdGhlIHF1ZXVlIGxvY2ssIG9yIHJlbGVhc2UgdGhl
IGxvY2suIFRoaXMgbG9vcCBoYW5kbGVzIGJvdGggbG9jayByZWxlYXNlIGluIGNhc2UgdGhlCi0g
ICAgLy8gZmFzdCBwYXRoJ3Mgd2VhayBDQVMgc3B1cmlvdXNseSBmYWlsZWQgYW5kIGl0IGhhbmRs
ZXMgcXVldWUgbG9jayBhY3F1aXNpdGlvbiBpZiB0aGVyZSBpcwotICAgIC8vIGFjdHVhbGx5IHNv
bWV0aGluZyBpbnRlcmVzdGluZyBvbiB0aGUgcXVldWUuCi0gICAgZm9yICg7OykgewotICAgICAg
ICB1aW50cHRyX3QgY3VycmVudFdvcmRWYWx1ZSA9IG1fd29yZC5sb2FkKCk7Ci0KLSAgICAgICAg
QkFTU0VSVChjdXJyZW50V29yZFZhbHVlICYgaXNMb2NrZWRCaXQpOwotICAgICAgICAKLSAgICAg
ICAgaWYgKGN1cnJlbnRXb3JkVmFsdWUgPT0gaXNMb2NrZWRCaXQpIHsKLSAgICAgICAgICAgIGlm
IChjb21wYXJlRXhjaGFuZ2VXZWFrKG1fd29yZCwgaXNMb2NrZWRCaXQsIGNsZWFyKSkgewotICAg
ICAgICAgICAgICAgIC8vIFRoZSBmYXN0IHBhdGgncyB3ZWFrIENBUyBoYWQgc3B1cmlvdXNseSBm
YWlsZWQsIGFuZCBub3cgd2Ugc3VjY2VlZGVkLiBUaGUgbG9jayBpcwotICAgICAgICAgICAgICAg
IC8vIHVubG9ja2VkIGFuZCB3ZSdyZSBkb25lIQorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IGFMb3Q7ICsraSkgeworICAgICAgICAgICAgaWYgKHRyeV9sb2NrKCkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLy8gTG9vcCBhcm91bmQg
YW5kIHRyeSBhZ2Fpbi4KLSAgICAgICAgICAgIHNjaGVkX3lpZWxkKCk7Ci0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKGN1cnJlbnRXb3JkVmFs
dWUgJiBpc1F1ZXVlTG9ja2VkQml0KSB7Ci0gICAgICAgICAgICBzY2hlZF95aWVsZCgpOwotICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLQotICAgICAgICAvLyBJZiBpdCB3YXNuJ3Qg
anVzdCBhIHNwdXJpb3VzIHdlYWsgQ0FTIGZhaWx1cmUgYW5kIGlmIHRoZSBxdWV1ZSBsb2NrIGlz
IG5vdCBoZWxkLCB0aGVuIHRoZXJlCi0gICAgICAgIC8vIG11c3QgYmUgYW4gZW50cnkgb24gdGhl
IHF1ZXVlLgotICAgICAgICBCQVNTRVJUKGN1cnJlbnRXb3JkVmFsdWUgJiB+cXVldWVIZWFkTWFz
ayk7Ci0KLSAgICAgICAgaWYgKGNvbXBhcmVFeGNoYW5nZVdlYWsobV93b3JkLCBjdXJyZW50V29y
ZFZhbHVlLCBjdXJyZW50V29yZFZhbHVlIHwgaXNRdWV1ZUxvY2tlZEJpdCkpCi0gICAgICAgICAg
ICBicmVhazsKICAgICB9CiAKLSAgICB1aW50cHRyX3QgY3VycmVudFdvcmRWYWx1ZSA9IG1fd29y
ZC5sb2FkKCk7Ci0gICAgICAgIAotICAgIC8vIEFmdGVyIHdlIGFjcXVpcmUgdGhlIHF1ZXVlIGxv
Y2ssIHRoZSBsb2NrIG11c3Qgc3RpbGwgYmUgaGVsZCBhbmQgdGhlIHF1ZXVlIG11c3QgYmUKLSAg
ICAvLyBub24tZW1wdHkuIFRoZSBxdWV1ZSBtdXN0IGJlIG5vbi1lbXB0eSBzaW5jZSBvbmx5IHRo
ZSBsb2NrU2xvdygpIG1ldGhvZCBjb3VsZCBoYXZlIGhlbGQgdGhlCi0gICAgLy8gcXVldWUgbG9j
ayBhbmQgaWYgaXQgZGlkIHRoZW4gaXQgb25seSByZWxlYXNlcyBpdCBhZnRlciBwdXR0aW5nIHNv
bWV0aGluZyBvbiB0aGUgcXVldWUuCi0gICAgQkFTU0VSVChjdXJyZW50V29yZFZhbHVlICYgaXNM
b2NrZWRCaXQpOwotICAgIEJBU1NFUlQoY3VycmVudFdvcmRWYWx1ZSAmIGlzUXVldWVMb2NrZWRC
aXQpOwotICAgIFRocmVhZERhdGEqIHF1ZXVlSGVhZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8VGhyZWFk
RGF0YSo+KGN1cnJlbnRXb3JkVmFsdWUgJiB+cXVldWVIZWFkTWFzayk7Ci0gICAgUkVMRUFTRV9C
QVNTRVJUKHF1ZXVlSGVhZCk7Ci0gICAgUkVMRUFTRV9CQVNTRVJUKHF1ZXVlSGVhZC0+c2hvdWxk
UGFyayk7Ci0KLSAgICBUaHJlYWREYXRhKiBuZXdRdWV1ZUhlYWQgPSBxdWV1ZUhlYWQtPm5leHRJ
blF1ZXVlOwotICAgIC8vIEVpdGhlciB0aGlzIHdhcyB0aGUgb25seSB0aHJlYWQgb24gdGhlIHF1
ZXVlLCBpbiB3aGljaCBjYXNlIHdlIGRlbGV0ZSB0aGUgcXVldWUsIG9yIHRoZXJlCi0gICAgLy8g
YXJlIHN0aWxsIG1vcmUgdGhyZWFkcyBvbiB0aGUgcXVldWUsIGluIHdoaWNoIGNhc2Ugd2UgY3Jl
YXRlIGEgbmV3IHF1ZXVlIGhlYWQuCi0gICAgaWYgKG5ld1F1ZXVlSGVhZCkKLSAgICAgICAgbmV3
UXVldWVIZWFkLT5xdWV1ZVRhaWwgPSBxdWV1ZUhlYWQtPnF1ZXVlVGFpbDsKLQotICAgIC8vIENo
YW5nZSB0aGUgcXVldWUgaGVhZCwgcG9zc2libHkgcmVtb3ZpbmcgaXQgaWYgbmV3UXVldWVIZWFk
IGlzIG51bGwuIE5vIG5lZWQgZm9yIGEgQ0FTIGxvb3AsCi0gICAgLy8gc2luY2Ugd2UgaG9sZCB0
aGUgcXVldWUgbG9jayBhbmQgdGhlIGxvY2sgaXRzZWxmIHNvIG5vdGhpbmcgYWJvdXQgdGhlIGxv
Y2sgY2FuIGNoYW5nZSByaWdodAotICAgIC8vIG5vdy4KLSAgICBjdXJyZW50V29yZFZhbHVlID0g
bV93b3JkLmxvYWQoKTsKLSAgICBCQVNTRVJUKGN1cnJlbnRXb3JkVmFsdWUgJiBpc0xvY2tlZEJp
dCk7Ci0gICAgQkFTU0VSVChjdXJyZW50V29yZFZhbHVlICYgaXNRdWV1ZUxvY2tlZEJpdCk7Ci0g
ICAgQkFTU0VSVCgoY3VycmVudFdvcmRWYWx1ZSAmIH5xdWV1ZUhlYWRNYXNrKSA9PSByZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4ocXVldWVIZWFkKSk7Ci0gICAgdWludHB0cl90IG5ld1dvcmRW
YWx1ZSA9IGN1cnJlbnRXb3JkVmFsdWU7Ci0gICAgbmV3V29yZFZhbHVlICY9IH5pc0xvY2tlZEJp
dDsgLy8gUmVsZWFzZSB0aGUgbG9jay4KLSAgICBuZXdXb3JkVmFsdWUgJj0gfmlzUXVldWVMb2Nr
ZWRCaXQ7IC8vIFJlbGVhc2UgdGhlIHF1ZXVlIGxvY2suCi0gICAgbmV3V29yZFZhbHVlICY9IHF1
ZXVlSGVhZE1hc2s7IC8vIENsZWFyIG91dCB0aGUgb2xkIHF1ZXVlIGhlYWQuCi0gICAgbmV3V29y
ZFZhbHVlIHw9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihuZXdRdWV1ZUhlYWQpOyAvLyBJ
bnN0YWxsIG5ldyBxdWV1ZSBoZWFkLgotICAgIG1fd29yZC5zdG9yZShuZXdXb3JkVmFsdWUpOwot
Ci0gICAgLy8gTm93IHRoZSBsb2NrIGlzIGF2YWlsYWJsZSBmb3IgYWNxdWlzaXRpb24uIEJ1dCB3
ZSBqdXN0IGhhdmUgdG8gd2FrZSB1cCB0aGUgb2xkIHF1ZXVlIGhlYWQuCi0gICAgLy8gQWZ0ZXIg
dGhhdCwgd2UncmUgZG9uZSEKLQotICAgIHF1ZXVlSGVhZC0+bmV4dEluUXVldWUgPSBudWxscHRy
OwotICAgIHF1ZXVlSGVhZC0+cXVldWVUYWlsID0gbnVsbHB0cjsKLQotICAgIC8vIFdlIGRvIHRo
aXMgY2FyZWZ1bGx5IGJlY2F1c2UgdGhpcyBtYXkgcnVuIGVpdGhlciBiZWZvcmUgb3IgZHVyaW5n
IHRoZSBwYXJraW5nTG9jayBjcml0aWNhbAotICAgIC8vIHNlY3Rpb24gaW4gbG9ja1Nsb3coKS4K
LSAgICB7Ci0gICAgICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrZXIocXVldWVI
ZWFkLT5wYXJraW5nTG9jayk7Ci0gICAgICAgIFJFTEVBU0VfQkFTU0VSVChxdWV1ZUhlYWQtPnNo
b3VsZFBhcmspOwotICAgICAgICBxdWV1ZUhlYWQtPnNob3VsZFBhcmsgPSBmYWxzZTsKLSAgICAg
ICAgLy8gV2UgaGF2ZSB0byBkbyB0aGUgbm90aWZ5IHdoaWxlIHN0aWxsIGhvbGRpbmcgdGhlIGxv
Y2ssIHNpbmNlIG90aGVyd2lzZSwgd2UgY291bGQgdHJ5IHRvCi0gICAgICAgIC8vIGRvIGl0IGFm
dGVyIHRoZSBxdWV1ZUhlYWQgaGFzIGRlc3RydWN0ZWQuIEl0J3MgaW1wb3NzaWJsZSBmb3IgcXVl
dWVIZWFkIHRvIGRlc3RydWN0Ci0gICAgICAgIC8vIHdoaWxlIHdlIGhvbGQgdGhlIGxvY2ssIHNp
bmNlIGl0IGlzIGVpdGhlciBjdXJyZW50bHkgaW4gdGhlIHdhaXQgbG9vcCBvciBpdCdzIGJlZm9y
ZSBpdAotICAgICAgICAvLyBzbyBpdCBoYXMgdG8gZ3JhYiB0aGUgbG9jayBiZWZvcmUgZGVzdHJ1
Y3RpbmcuCi0gICAgICAgIHF1ZXVlSGVhZC0+cGFya2luZ0NvbmRpdGlvbi5ub3RpZnlfb25lKCk7
Ci0gICAgfQotICAgIAotICAgIC8vIFRoZSBvbGQgcXVldWUgaGVhZCBjYW4gbm93IGNvbnRlbmQg
Zm9yIHRoZSBsb2NrIGFnYWluLiBXZSdyZSBkb25lIQorICAgIC8vIEF2b2lkIHNwaW5uaW5nIHBh
dGhvbG9naWNhbGx5LgorICAgIHdoaWxlICghdHJ5X2xvY2soKSkKKyAgICAgICAgc2NoZWRfeWll
bGQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwpkaWZmIC0tZ2l0IGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9TdGF0aWNNdXRleC5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TdGF0
aWNNdXRleC5oCmluZGV4IGFkNmU4YjgyNmEwN2U1MWQ2MzlkODNmMzllZTA4ODQ1ZGU2YmI2MTUu
LjQ1OThlNmVkZjY2YTUxMGQ5MTYyODk0ZGI4MGNjOWRkZjAxYzJiNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1N0YXRpY011dGV4LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsOSArMjYsNyBAQAogI2lmbmRlZiBTdGF0aWNNdXRleF9o
CiAjZGVmaW5lIFN0YXRpY011dGV4X2gKIAotI2luY2x1ZGUgIkFsZ29yaXRobS5oIgogI2luY2x1
ZGUgIkJBc3NlcnQuaCIKLSNpbmNsdWRlICJCRXhwb3J0LmgiCiAjaW5jbHVkZSA8YXRvbWljPgog
I2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHRocmVhZD4KQEAgLTM4LDE2ICszNiw2IEBACiAv
LyBVc2UgU3RhdGljTXV0ZXggaW4gc3RhdGljIHN0b3JhZ2UsIHdoZXJlIGdsb2JhbCBjb25zdHJ1
Y3RvcnMgYW5kIGV4aXQtdGltZQogLy8gZGVzdHJ1Y3RvcnMgYXJlIHByb2hpYml0ZWQsIGJ1dCBh
bGwgbWVtb3J5IGlzIHplcm8taW5pdGlhbGl6ZWQgYXV0b21hdGljYWxseS4KIAotLy8gVGhpcyB1
c2VzIHRoZSBjb2RlIGZyb20gd2hhdCBXVEYgdXNlZCB0byBjYWxsIFdvcmRMb2NrLiBJdCdzIGEg
ZnVsbHkgYWRhcHRpdmUgbXV0ZXggdGhhdCB1c2VzCi0vLyBzaXplb2Yodm9pZCopIHN0b3JhZ2Uu
IEl0IGhhcyBhIGZhc3QgcGF0aCB0aGF0IGlzIHNpbWlsYXIgdG8gYSBzcGlubG9jaywgYW5kIGEg
c2xvdyBwYXRoIHRoYXQgaXMKLS8vIHNpbWlsYXIgdG8gc3RkOjptdXRleC4KLQotLy8gTk9URTog
SW4gZ2VuZXJhbCwgdGhpcyBpcyBhIGdyZWF0IGxvY2sgdG8gdXNlIGlmIHlvdSBhcmUgdmVyeSBs
b3cgaW4gdGhlIHN0YWNrLiBXVEYgY29udGludWVzIHRvCi0vLyBoYXZlIGEgY29weSBvZiB0aGlz
IGNvZGUuCi0KLS8vIEZJWE1FOiBFaXRoZXIgZm9sZCBibWFsbG9jIGludG8gV1RGIG9yIGZpbmQg
YSBiZXR0ZXIgd2F5IHRvIHNoYXJlIGNvZGUgYmV0d2VlbiB0aGVtLgotLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcxOQotCiBuYW1lc3BhY2UgYm1hbGxvYyB7
CiAKIGNsYXNzIFN0YXRpY011dGV4IHsKQEAgLTU3LDU3ICs0NSw1NyBAQCBwcm90ZWN0ZWQ6CiAK
IHB1YmxpYzoKICAgICB2b2lkIGxvY2soKTsKLSAgICBib29sIHRyeUxvY2soKTsKLSAgICBib29s
IHRyeV9sb2NrKCkgeyByZXR1cm4gdHJ5TG9jaygpOyB9CisgICAgYm9vbCB0cnlfbG9jaygpOwog
ICAgIHZvaWQgdW5sb2NrKCk7Ci0gICAgCi0gICAgYm9vbCBpc0hlbGQoKSBjb25zdDsKLSAgICBi
b29sIGlzTG9ja2VkKCkgY29uc3QgeyByZXR1cm4gaXNIZWxkKCk7IH0KIAogcHJpdmF0ZToKLSAg
ICBCRVhQT1JUIHZvaWQgbG9ja1Nsb3coKTsKLSAgICBCRVhQT1JUIHZvaWQgdW5sb2NrU2xvdygp
OwotCi0gICAgc3RhdGljIGNvbnN0IHVpbnRwdHJfdCBjbGVhciA9IDA7Ci0gICAgc3RhdGljIGNv
bnN0IHVpbnRwdHJfdCBpc0xvY2tlZEJpdCA9IDE7Ci0gICAgc3RhdGljIGNvbnN0IHVpbnRwdHJf
dCBpc1F1ZXVlTG9ja2VkQml0ID0gMjsKLSAgICBzdGF0aWMgY29uc3QgdWludHB0cl90IHF1ZXVl
SGVhZE1hc2sgPSAzOworICAgIEJFWFBPUlQgdm9pZCBsb2NrU2xvd0Nhc2UoKTsKIAotICAgIHN0
ZDo6YXRvbWljPHVpbnRwdHJfdD4gbV93b3JkOworICAgIHN0ZDo6YXRvbWljX2ZsYWcgbV9mbGFn
OworICAgIHN0ZDo6YXRvbWljX2ZsYWcgbV9pc1NwaW5uaW5nOwogfTsKIAotaW5saW5lIHZvaWQg
U3RhdGljTXV0ZXg6OmluaXQoKQorc3RhdGljIGlubGluZSB2b2lkIHNsZWVwKAorICAgIHN0ZDo6
dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
IGR1cmF0aW9uKQogewotICAgIG1fd29yZC5zdG9yZSgwLCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxh
eGVkKTsKKyAgICBpZiAoZHVyYXRpb24gPT0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygwKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGxvY2sudW5sb2NrKCk7CisgICAgc3RkOjp0aGlz
X3RocmVhZDo6c2xlZXBfZm9yKGR1cmF0aW9uKTsKKyAgICBsb2NrLmxvY2soKTsKIH0KIAotaW5s
aW5lIGJvb2wgU3RhdGljTXV0ZXg6OnRyeUxvY2soKQorc3RhdGljIGlubGluZSB2b2lkIHdhaXRV
bnRpbEZhbHNlKAorICAgIHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNsZWVwRHVyYXRpb24sCisgICAgYm9vbCYgY29uZGl0aW9u
KQogewotICAgIGZvciAoOzspIHsKLSAgICAgICAgdWludHB0cl90IGN1cnJlbnRXb3JkVmFsdWUg
PSBtX3dvcmQubG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKKyAgICB3aGlsZSAoY29u
ZGl0aW9uKSB7CisgICAgICAgIGNvbmRpdGlvbiA9IGZhbHNlOworICAgICAgICBzbGVlcChsb2Nr
LCBzbGVlcER1cmF0aW9uKTsKKyAgICB9Cit9CiAKLSAgICAgICAgaWYgKGN1cnJlbnRXb3JkVmFs
dWUgJiBpc0xvY2tlZEJpdCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKK2lubGluZSB2b2lk
IFN0YXRpY011dGV4Ojppbml0KCkKK3sKKyAgICBtX2ZsYWcuY2xlYXIoKTsKKyAgICBtX2lzU3Bp
bm5pbmcuY2xlYXIoKTsKK30KIAotICAgICAgICBpZiAoY29tcGFyZUV4Y2hhbmdlV2VhayhtX3dv
cmQsIGN1cnJlbnRXb3JkVmFsdWUsIGN1cnJlbnRXb3JkVmFsdWUgfCBpc0xvY2tlZEJpdCwgc3Rk
OjptZW1vcnlfb3JkZXJfYWNxdWlyZSkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
CitpbmxpbmUgYm9vbCBTdGF0aWNNdXRleDo6dHJ5X2xvY2soKQoreworICAgIHJldHVybiAhbV9m
bGFnLnRlc3RfYW5kX3NldChzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKTsKIH0KIAogaW5saW5l
IHZvaWQgU3RhdGljTXV0ZXg6OmxvY2soKQogewotICAgIGlmIChjb21wYXJlRXhjaGFuZ2VXZWFr
KG1fd29yZCwgY2xlYXIsIGlzTG9ja2VkQml0LCBzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGxvY2tTbG93KCk7CisgICAgaWYgKCF0cnlfbG9j
aygpKQorICAgICAgICBsb2NrU2xvd0Nhc2UoKTsKIH0KIAogaW5saW5lIHZvaWQgU3RhdGljTXV0
ZXg6OnVubG9jaygpCiB7Ci0gICAgaWYgKGNvbXBhcmVFeGNoYW5nZVdlYWsobV93b3JkLCBpc0xv
Y2tlZEJpdCwgY2xlYXIsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGVhc2UpKQotICAgICAgICByZXR1
cm47Ci0gICAgCi0gICAgdW5sb2NrU2xvdygpOworICAgIG1fZmxhZy5jbGVhcihzdGQ6Om1lbW9y
eV9vcmRlcl9yZWxlYXNlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>