<?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>226510</bug_id>
          
          <creation_ts>2021-06-01 13:10:45 -0700</creation_ts>
          <short_desc>Enable WebPage&apos;s release logging in ephemeral sessions</short_desc>
          <delta_ts>2021-06-10 11:54:41 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226342</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1765721</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-01 13:10:45 -0700</bug_when>
    <thetext>Enable WebPage&apos;s release logging in ephemeral sessions. Our release logging doesn&apos;t contain anything sensitive and not having this logging makes it hard to debug issues in apps using ephemeral sessions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765722</commentid>
    <comment_count>1</comment_count>
      <attachid>430283</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-01 13:13:53 -0700</bug_when>
    <thetext>Created attachment 430283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767873</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-08 13:11:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/79030074&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768564</commentid>
    <comment_count>3</comment_count>
      <attachid>430283</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-10 08:58:11 -0700</bug_when>
    <thetext>Comment on attachment 430283
Patch

Thanks for reviewing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768565</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-10 08:58:49 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 430283 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768568</commentid>
    <comment_count>5</comment_count>
      <attachid>431086</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-10 09:06:53 -0700</bug_when>
    <thetext>Created attachment 431086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768617</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-10 11:11:29 -0700</bug_when>
    <thetext>Committed r278712 (238680@main): &lt;https://commits.webkit.org/238680@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431086.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430283</attachid>
            <date>2021-06-01 13:13:53 -0700</date>
            <delta_ts>2021-06-10 09:06:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226510-20210601131352.patch</filename>
            <type>text/plain</type>
            <size>36596</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTJiNzY1OGIzYjE0YTc4
Yzc0YWJlNjQ4M2EwNzc3YTEzYWU0YTRlMC4uYjU1MjljYTA4Y2UxZjRkMzQxNzljMDBkYWYzNDQ0
N2ExNTBmNTgwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIFdlYlBhZ2UncyBy
ZWxlYXNlIGxvZ2dpbmcgaW4gZXBoZW1lcmFsIHNlc3Npb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1MTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgV2ViUGFnZSdzIHJlbGVhc2UgbG9n
Z2luZyBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMuIE91ciByZWxlYXNlIGxvZ2dpbmcgZG9lc24ndCBj
b250YWluCisgICAgICAgIGFueXRoaW5nIHNlbnNpdGl2ZSBhbmQgbm90IGhhdmluZyB0aGlzIGxv
Z2dpbmcgbWFrZXMgaXQgaGFyZCB0byBkZWJ1ZyBpc3N1ZXMgaW4gYXBwcyB1c2luZworICAgICAg
ICBlcGhlbWVyYWwgc2Vzc2lvbnMuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6
OnN1cHBvcnRzVmVyc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRp
bmF0b3I6OmNhbk1ha2VQYXltZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRp
bmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAgICAgKFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgIChXZWJDb3Jl
OjpQYXltZW50Q29vcmRpbmF0b3I6OmJlZ2luUGF5bWVudFNlc3Npb24pOgorICAgICAgICAoV2Vi
Q29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjb21w
bGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50
Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1l
bnRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6YWJvcnRQ
YXltZW50U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNh
bmNlbFBheW1lbnRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRv
cjo6dmFsaWRhdGVNZXJjaGFudCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0
b3I6OmRpZEF1dGhvcml6ZVBheW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3Jk
aW5hdG9yOjpkaWRTZWxlY3RQYXltZW50TWV0aG9kKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1l
bnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGF5bWVudENvb3JkaW5hdG9yOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmRpZENhbmNlbFBheW1l
bnRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6c2hvdWxk
RW5hYmxlQXBwbGVQYXlBUElzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29y
ZGluYXRvcjo6c2V0QXBwbGVQYXlJc0FjdGl2ZUlmQWxsb3dlZCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OnNob3VsZEFsbG93VXNlckFnZW50U2NyaXB0cyBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmdldFNldHVwRmVh
dHVyZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpiZWdpbkFwcGxl
UGF5U2V0dXApOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjplbmRBcHBs
ZVBheVNldHVwKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oOgor
CiAyMDIxLTA2LTAxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbRU1FXVtUaHVuZGVyXSBCdWlsZCBicm9rZW4gc2luY2UgcjI3ODI0NApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBiM2MxMTQ2N2Y3ZmZjYWZjYmM2YjIxNWU2ZWE0NzI4NjVhMDAwZGM5Li5iN2Y4NWI5MDJj
YzFiNGE2NThiZjNmOWM3ZmVjZDVhODIwYjQzMjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBA
CisyMDIxLTA2LTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
RW5hYmxlIFdlYlBhZ2UncyByZWxlYXNlIGxvZ2dpbmcgaW4gZXBoZW1lcmFsIHNlc3Npb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgV2Vi
UGFnZSdzIHJlbGVhc2UgbG9nZ2luZyBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMuIE91ciByZWxlYXNl
IGxvZ2dpbmcgZG9lc24ndCBjb250YWluCisgICAgICAgIGFueXRoaW5nIHNlbnNpdGl2ZSBhbmQg
bm90IGhhdmluZyB0aGlzIGxvZ2dpbmcgbWFrZXMgaXQgaGFyZCB0byBkZWJ1ZyBpc3N1ZXMgaW4g
YXBwcyB1c2luZworICAgICAgICBlcGhlbWVyYWwgc2Vzc2lvbnMuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fbGFzdE5hdmln
YXRpb25XYXNBcHBCb3VuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNsb3NlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZnJlZXplTGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dW5mcmVlemVMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
bWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FuY2VsTWFy
a0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dG91Y2hFdmVudFN5
bmMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRJc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxp
Y2F0aW9uU3VzcGVuc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnN1c3BlbmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXN1bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpydW5KYXZhU2NyaXB0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cnVuSmF2YVNj
cmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWdpc3RlclVSTFNj
aGVtZUhhbmRsZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpnZXRQb3NpdGlvbkluZm9ybWF0aW9uKToKKwogMjAyMS0wNi0wMSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4IGFmdGVyIHIyNzgyNTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNWQ4Y2JiNjRiYTgyNmMyZTcx
MzBiZjJjNTVkZTVkOTA2Y2E0ZGQ5ZC4uZjRkOTIzMTVmZGU3OWIwODExMjYxNzUwYjg5MTNhODY3
NmFiMzAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNDQsMTAgKzQ0LDggQEAKICNpbmNsdWRlIDx3dGYv
Q29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKLSN1bmRlZiBSRUxF
QVNFX0xPR19FUlJPUl9JRl9BTExPV0VECi0jdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAot
I2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xP
R19FUlJPUl9JRihtX2NsaWVudC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgQXBwbGVQYXks
ICIlcCAtIFBheW1lbnRDb29yZGluYXRvcjo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCi0j
ZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKG1f
Y2xpZW50LmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBBcHBsZVBheSwgIiVwIC0gUGF5bWVu
dENvb3JkaW5hdG9yOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKyNkZWZpbmUgUEFZTUVO
VF9DT09SRElOQVRPUl9SRUxFQVNFX0xPR19FUlJPUihmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJS
T1IoQXBwbGVQYXksICIlcCAtIFBheW1lbnRDb29yZGluYXRvcjo6IiBmbXQsIHRoaXMsICMjX19W
QV9BUkdTX18pCisjZGVmaW5lIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coZm10LCAu
Li4pIFJFTEVBU0VfTE9HKEFwcGxlUGF5LCAiJXAgLSBQYXltZW50Q29vcmRpbmF0b3I6OiIgZm10
LCB0aGlzLCAjI19fVkFfQVJHU19fKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTY0LDE0
ICs2MiwxNCBAQCBQYXltZW50Q29vcmRpbmF0b3I6On5QYXltZW50Q29vcmRpbmF0b3IoKQogYm9v
bCBQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbihEb2N1bWVudCYsIHVuc2lnbmVk
IHZlcnNpb24pIGNvbnN0CiB7CiAgICAgYXV0byBzdXBwb3J0c1ZlcnNpb24gPSBtX2NsaWVudC5z
dXBwb3J0c1ZlcnNpb24odmVyc2lvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3Vw
cG9ydHNWZXJzaW9uKCVkKSAtPiAlZCIsIHZlcnNpb24sIHN1cHBvcnRzVmVyc2lvbik7CisgICAg
UEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygic3VwcG9ydHNWZXJzaW9uKCVkKSAtPiAl
ZCIsIHZlcnNpb24sIHN1cHBvcnRzVmVyc2lvbik7CiAgICAgcmV0dXJuIHN1cHBvcnRzVmVyc2lv
bjsKIH0KIAogYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50cyhEb2N1bWVu
dCYgZG9jdW1lbnQpCiB7CiAgICAgYXV0byBjYW5NYWtlUGF5bWVudHMgPSBtX2NsaWVudC5jYW5N
YWtlUGF5bWVudHMoKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjYW5NYWtlUGF5bWVu
dHMoKSAtPiAlZCIsIGNhbk1ha2VQYXltZW50cyk7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9S
RUxFQVNFX0xPRygiY2FuTWFrZVBheW1lbnRzKCkgLT4gJWQiLCBjYW5NYWtlUGF5bWVudHMpOwog
CiAgICAgaWYgKCFjYW5NYWtlUGF5bWVudHMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTg4
LDcgKzg2LDcgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhB
Y3RpdmVDYXJkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QKICAgICAgICAgaWYgKCF3ZWFrVGhp
cykKICAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAKLSAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQo
KSAtPiAlZCIsIGNhbk1ha2VQYXltZW50cyk7CisgICAgICAgIFBBWU1FTlRfQ09PUkRJTkFUT1Jf
UkVMRUFTRV9MT0coImNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKCkgLT4gJWQiLCBjYW5N
YWtlUGF5bWVudHMpOwogCiAgICAgICAgIGlmICghY2FuTWFrZVBheW1lbnRzKQogICAgICAgICAg
ICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKQEAgLTEwMiw3ICsxMDAsNyBAQCB2
b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdAogCiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6b3BlblBh
eW1lbnRTZXR1cChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVu
dGlmaWVyLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgib3BlblBheW1lbnRTZXR1cCgpIik7CisgICAg
UEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygib3BlblBheW1lbnRTZXR1cCgpIik7CiAg
ICAgbV9jbGllbnQub3BlblBheW1lbnRTZXR1cChtZXJjaGFudElkZW50aWZpZXIsIGRvY3VtZW50
LmRvbWFpbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKQEAgLTExOCw3ICsx
MTYsNyBAQCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5QYXltZW50U2Vzc2lvbihEb2N1
bWVudCYgZG9jdW1lbnQsIFBheW1lbnRTZXNzaW9uJgogICAgICAgICBsaW5rSWNvblVSTHMuYXBw
ZW5kKGljb24udXJsKTsKIAogICAgIGF1dG8gc2hvd1BheW1lbnRVSSA9IG1fY2xpZW50LnNob3dQ
YXltZW50VUkoZG9jdW1lbnQudXJsKCksIGxpbmtJY29uVVJMcywgcGF5bWVudFJlcXVlc3QpOwot
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImJlZ2luUGF5bWVudFNlc3Npb24oKSAtPiAlZCIs
IHNob3dQYXltZW50VUkpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImJl
Z2luUGF5bWVudFNlc3Npb24oKSAtPiAlZCIsIHNob3dQYXltZW50VUkpOwogICAgIGlmICghc2hv
d1BheW1lbnRVSSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMjksMjggKzEyNywyOCBA
QCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5QYXltZW50U2Vzc2lvbihEb2N1bWVudCYg
ZG9jdW1lbnQsIFBheW1lbnRTZXNzaW9uJgogdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBs
ZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Npb24mIHBheW1l
bnRNZXJjaGFudFNlc3Npb24pCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlU2Vzc2lvbik7Ci0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oKSIpOwor
ICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImNvbXBsZXRlTWVyY2hhbnRWYWxp
ZGF0aW9uKCkiKTsKICAgICBtX2NsaWVudC5jb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihwYXlt
ZW50TWVyY2hhbnRTZXNzaW9uKTsKIH0KIAogdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5n
TWV0aG9kVXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAgICBBU1NFUlQobV9hY3RpdmVTZXNzaW9uKTsK
LSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0
aW9uKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJjb21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKCkiKTsKICAgICBtX2NsaWVudC5jb21wbGV0ZVNoaXBwaW5n
TWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9CiAKIHZvaWQgUGF5bWVudENvb3Jk
aW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAgICBBU1NFUlQobV9h
Y3RpdmVTZXNzaW9uKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb21wbGV0ZVNoaXBw
aW5nQ29udGFjdFNlbGVjdGlvbigpIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNF
X0xPRygiY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oKSIpOwogICAgIG1fY2xpZW50
LmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9CiAK
IHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
c3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU+JiYgdXBkYXRlKQogewog
ICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Npb24pOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbigpIik7CisgICAgUEFZTUVOVF9DT09SRElO
QVRPUl9SRUxFQVNFX0xPRygiY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKCkiKTsKICAg
ICBtX2NsaWVudC5jb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oV1RGTW92ZSh1cGRhdGUp
KTsKIH0KIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21w
bGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVBhCiB2b2lk
IFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6
Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRlKQogewog
ICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Npb24pOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoKSIpOworICAgIFBBWU1FTlRfQ09PUkRJ
TkFUT1JfUkVMRUFTRV9MT0coImNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoKSIpOwog
ICAgIG1fY2xpZW50LmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoV1RGTW92ZSh1cGRh
dGUpKTsKIH0KIApAQCAtMTcwLDcgKzE2OCw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpj
b21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpCiAg
ICAgQVNTRVJUKG1fYWN0aXZlU2Vzc2lvbik7CiAKICAgICBib29sIGlzRmluYWxTdGF0ZSA9IGlz
RmluYWxTdGF0ZVJlc3VsdChyZXN1bHQpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNv
bXBsZXRlUGF5bWVudFNlc3Npb24oKSAoaXNGaW5hbFN0YXRlOiAlZCkiLCBpc0ZpbmFsU3RhdGUp
OworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImNvbXBsZXRlUGF5bWVudFNl
c3Npb24oKSAoaXNGaW5hbFN0YXRlOiAlZCkiLCBpc0ZpbmFsU3RhdGUpOwogICAgIG1fY2xpZW50
LmNvbXBsZXRlUGF5bWVudFNlc3Npb24oV1RGTW92ZShyZXN1bHQpKTsKIAogICAgIGlmICghaXNG
aW5hbFN0YXRlKQpAQCAtMTgyLDcgKzE4MCw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpj
b21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpCiB2
b2lkIFBheW1lbnRDb29yZGluYXRvcjo6YWJvcnRQYXltZW50U2Vzc2lvbigpCiB7CiAgICAgQVNT
RVJUKG1fYWN0aXZlU2Vzc2lvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiYWJvcnRQ
YXltZW50U2Vzc2lvbigpIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygi
YWJvcnRQYXltZW50U2Vzc2lvbigpIik7CiAgICAgbV9jbGllbnQuYWJvcnRQYXltZW50U2Vzc2lv
bigpOwogICAgIG1fYWN0aXZlU2Vzc2lvbiA9IG51bGxwdHI7CiB9CkBAIC0xOTAsNyArMTg4LDcg
QEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmFib3J0UGF5bWVudFNlc3Npb24oKQogdm9pZCBQ
YXltZW50Q29vcmRpbmF0b3I6OmNhbmNlbFBheW1lbnRTZXNzaW9uKCkKIHsKICAgICBBU1NFUlQo
bV9hY3RpdmVTZXNzaW9uKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjYW5jZWxQYXlt
ZW50U2Vzc2lvbigpIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygiY2Fu
Y2VsUGF5bWVudFNlc3Npb24oKSIpOwogICAgIG1fY2xpZW50LmNhbmNlbFBheW1lbnRTZXNzaW9u
KCk7CiB9CiAKQEAgLTIwMSw3ICsxOTksNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6dmFs
aWRhdGVNZXJjaGFudChVUkwmJiB2YWxpZGF0aW9uVVJMKQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgidmFsaWRhdGVNZXJjaGFudCgpIik7Cisg
ICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygidmFsaWRhdGVNZXJjaGFudCgpIik7
CiAgICAgbV9hY3RpdmVTZXNzaW9uLT52YWxpZGF0ZU1lcmNoYW50KFdURk1vdmUodmFsaWRhdGlv
blVSTCkpOwogfQogCkBAIC0yMTIsNyArMjEwLDcgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6
OmRpZEF1dGhvcml6ZVBheW1lbnQoY29uc3QgUGF5bWVudCYgcGF5bWVudCkKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZEF1dGhvcml6ZVBh
eW1lbnQoKSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImRpZEF1dGhv
cml6ZVBheW1lbnQoKSIpOwogICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkQXV0aG9yaXplUGF5bWVu
dChwYXltZW50KTsKIH0KIApAQCAtMjIzLDcgKzIyMSw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5h
dG9yOjpkaWRTZWxlY3RQYXltZW50TWV0aG9kKGNvbnN0IFBheW1lbnRNZXRob2QmIHBheW1lbnRN
ZXRoCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJkaWRTZWxlY3RQYXltZW50TWV0aG9kKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JF
TEVBU0VfTE9HKCJkaWRTZWxlY3RQYXltZW50TWV0aG9kKCkiKTsKICAgICBtX2FjdGl2ZVNlc3Np
b24tPmRpZFNlbGVjdFBheW1lbnRNZXRob2QocGF5bWVudE1ldGhvZCk7CiB9CiAKQEAgLTIzNCw3
ICsyMzIsNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0U2hpcHBpbmdNZXRo
b2QoY29uc3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCYgcwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkU2VsZWN0U2hpcHBpbmdNZXRob2Qo
KSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImRpZFNlbGVjdFNoaXBw
aW5nTWV0aG9kKCkiKTsKICAgICBtX2FjdGl2ZVNlc3Npb24tPmRpZFNlbGVjdFNoaXBwaW5nTWV0
aG9kKHNoaXBwaW5nTWV0aG9kKTsKIH0KIApAQCAtMjQ1LDcgKzI0Myw3IEBAIHZvaWQgUGF5bWVu
dENvb3JkaW5hdG9yOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRh
Y3QmIHNoaXBwaW5nCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoKSIpOworICAgIFBBWU1FTlRfQ09P
UkRJTkFUT1JfUkVMRUFTRV9MT0coImRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdCgpIik7CiAgICAg
bV9hY3RpdmVTZXNzaW9uLT5kaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3Qoc2hpcHBpbmdDb250YWN0
KTsKIH0KIApAQCAtMjU4LDcgKzI1Niw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpkaWRD
aGFuZ2VQYXltZW50TWV0aG9kTW9kZShTdHJpbmcmJiBwYXltZW50TWV0aG9kTW9kZSkKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZENoYW5n
ZVBheW1lbnRNZXRob2RNb2RlKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0Vf
TE9HKCJkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZSgpIik7CiAgICAgbV9hY3RpdmVTZXNzaW9u
LT5kaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZShXVEZNb3ZlKHBheW1lbnRNZXRob2RNb2RlKSk7
CiB9CiAKQEAgLTI3MSw3ICsyNjksNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2Fu
Y2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmIGVycm9yKQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkQ2FuY2VsUGF5
bWVudFNlc3Npb24oKSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImRp
ZENhbmNlbFBheW1lbnRTZXNzaW9uKCkiKTsKICAgICBtX2FjdGl2ZVNlc3Npb24tPmRpZENhbmNl
bFBheW1lbnRTZXNzaW9uKFdURk1vdmUoZXJyb3IpKTsKICAgICBtX2FjdGl2ZVNlc3Npb24gPSBu
dWxscHRyOwogfQpAQCAtMjk4LDcgKzI5Niw3IEBAIGJvb2wgUGF5bWVudENvb3JkaW5hdG9yOjpz
aG91bGRFbmFibGVBcHBsZVBheUFQSXMoRG9jdW1lbnQmIGRvY3VtZW50KSBjb25zdAogICAgIH0p
OwogCiAgICAgaWYgKCFzaG91bGRFbmFibGVBUElzKQotICAgICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKCJzaG91bGRFbmFibGVBcHBsZVBheUFQSXMoKSAtPiBmYWxzZSAodXNlciBzY3JpcHRz
KSIpOworICAgICAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJzaG91bGRFbmFi
bGVBcHBsZVBheUFQSXMoKSAtPiBmYWxzZSAodXNlciBzY3JpcHRzKSIpOwogCiAgICAgcmV0dXJu
IHNob3VsZEVuYWJsZUFQSXM7CiB9CkBAIC0zMTEsNyArMzA5LDcgQEAgYm9vbCBQYXltZW50Q29v
cmRpbmF0b3I6OnNldEFwcGxlUGF5SXNBY3RpdmVJZkFsbG93ZWQoRG9jdW1lbnQmIGRvY3VtZW50
KSBjb25zdAogCiAgICAgaWYgKCFzdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxlUGF5ICYmIChoYXNF
dmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzIHx8IGlzUnVubmluZ1VzZXJTY3JpcHRzKSkgewogICAg
ICAgICBBU1NFUlQoIWRvY3VtZW50LmlzQXBwbGVQYXlBY3RpdmUoKSk7Ci0gICAgICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoInNldEFwcGxlUGF5SXNBY3RpdmVJZkFsbG93ZWQoKSAtPiBmYWxz
ZSAoaGFzRXZhbHVhdGVkVXNlckFnZW50U2NyaXB0czogJWQsIGlzUnVubmluZ1VzZXJTY3JpcHRz
OiAlZCkiLCBoYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzLCBpc1J1bm5pbmdVc2VyU2NyaXB0
cyk7CisgICAgICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coInNldEFwcGxlUGF5
SXNBY3RpdmVJZkFsbG93ZWQoKSAtPiBmYWxzZSAoaGFzRXZhbHVhdGVkVXNlckFnZW50U2NyaXB0
czogJWQsIGlzUnVubmluZ1VzZXJTY3JpcHRzOiAlZCkiLCBoYXNFdmFsdWF0ZWRVc2VyQWdlbnRT
Y3JpcHRzLCBpc1J1bm5pbmdVc2VyU2NyaXB0cyk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CiAKQEAgLTMyNiw0MSArMzI0LDQxIEBAIEV4cGVjdGVkPHZvaWQsIEV4Y2VwdGlvbkRldGFp
bHM+IFBheW1lbnRDb29yZGluYXRvcjo6c2hvdWxkQWxsb3dVc2VyQWdlbnRTY3JpcHRzCiAKICAg
ICBBU1NFUlQoIWRvY3VtZW50Lmhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHMoKSk7CiAgICAg
QVNTRVJUKCFkb2N1bWVudC5pc1J1bm5pbmdVc2VyU2NyaXB0cygpKTsKLSAgICBSRUxFQVNFX0xP
R19FUlJPUl9JRl9BTExPV0VEKCJzaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoKSAtPiBmYWxz
ZSAoYWN0aXZlIHNlc3Npb24pIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xP
R19FUlJPUigic2hvdWxkQWxsb3dVc2VyQWdlbnRTY3JpcHRzKCkgLT4gZmFsc2UgKGFjdGl2ZSBz
ZXNzaW9uKSIpOwogICAgIHJldHVybiBtYWtlVW5leHBlY3RlZChFeGNlcHRpb25EZXRhaWxzIHsg
bV9jbGllbnQudXNlckFnZW50U2NyaXB0c0Jsb2NrZWRFcnJvck1lc3NhZ2UoKSB9KTsKIH0KIAog
dm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmdldFNldHVwRmVhdHVyZXMoY29uc3QgQXBwbGVQYXlT
ZXR1cENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFVSTCYgdXJsLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxSZWY8QXBwbGVQYXlTZXR1cEZlYXR1cmU+PiYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJnZXRTZXR1
cEZlYXR1cmVzKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJnZXRT
ZXR1cEZlYXR1cmVzKCkiKTsKICAgICBtX2NsaWVudC5nZXRTZXR1cEZlYXR1cmVzKGNvbmZpZ3Vy
YXRpb24sIHVybCwgW3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShWZWN0b3I8UmVmPEFwcGxl
UGF5U2V0dXBGZWF0dXJlPj4mJiBmZWF0dXJlcykgbXV0YWJsZSB7CiAgICAgICAgIGlmICghd2Vh
a1RoaXMpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoImdldFNldHVwRmVhdHVyZXMoKSBjb21wbGV0ZWQgKGZlYXR1cmVzOiAlenUpIiwgZmVhdHVy
ZXMuc2l6ZSgpKTsKKyAgICAgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygiZ2V0
U2V0dXBGZWF0dXJlcygpIGNvbXBsZXRlZCAoZmVhdHVyZXM6ICV6dSkiLCBmZWF0dXJlcy5zaXpl
KCkpOwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZlYXR1cmVzKSk7CiAgICAg
fSk7CiB9CiAKIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpiZWdpbkFwcGxlUGF5U2V0dXAoY29u
c3QgQXBwbGVQYXlTZXR1cENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24sIGNvbnN0IFVSTCYg
dXJsLCBWZWN0b3I8UmVmUHRyPEFwcGxlUGF5U2V0dXBGZWF0dXJlPj4mJiBmZWF0dXJlcywgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKCJiZWdpbkFwcGxlUGF5U2V0dXAoKSIpOworICAgIFBBWU1F
TlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImJlZ2luQXBwbGVQYXlTZXR1cCgpIik7CiAgICAg
bV9jbGllbnQuYmVnaW5BcHBsZVBheVNldHVwKGNvbmZpZ3VyYXRpb24sIHVybCwgV1RGTW92ZShm
ZWF0dXJlcyksIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oYm9vbCBzdWNjZXNzKSBtdXRh
YmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiYmVnaW5BcHBsZVBheVNldHVwKCkgY29tcGxldGVk
IChzdWNjZXNzOiAlZCkiLCBzdWNjZXNzKTsKKyAgICAgICAgUEFZTUVOVF9DT09SRElOQVRPUl9S
RUxFQVNFX0xPRygiYmVnaW5BcHBsZVBheVNldHVwKCkgY29tcGxldGVkIChzdWNjZXNzOiAlZCki
LCBzdWNjZXNzKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3VjY2Vzcyk7CiAgICAgfSk7
CiB9CiAKIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjplbmRBcHBsZVBheVNldHVwKCkKIHsKLSAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJlbmRBcHBsZVBheVNldHVwKCkiKTsKKyAgICBQQVlN
RU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJlbmRBcHBsZVBheVNldHVwKCkiKTsKICAgICBt
X2NsaWVudC5lbmRBcHBsZVBheVNldHVwKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI3VuZGVmIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQKLSN1bmRlZiBSRUxFQVNFX0xP
R19JRl9BTExPV0VECisjdW5kZWYgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPR19FUlJP
UgorI3VuZGVmIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0cKIAogI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAppbmRleCAzZDNiYTk2MjY0OWFlODIx
ZDJkNWNiOTNkMDAyNmEzMTk2MTkzNDgzLi4wZDM0MWVhNTkzMWU3ZGNjNzQyNTZhZmVhODI0YjZl
NTM2NzExNGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTc1LDggKzc1LDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgYm9vbCBpc01vY2tQYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1dlYlBheW1lbnRDb29yZGluYXRvcigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLQogICAgIHZpcnR1YWwgdm9p
ZCBnZXRTZXR1cEZlYXR1cmVzKGNvbnN0IEFwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9uJiwgY29u
c3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8UmVmPEFwcGxlUGF5U2V0dXBG
ZWF0dXJlPj4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoeyB9
KTsgfQogICAgIHZpcnR1YWwgdm9pZCBiZWdpbkFwcGxlUGF5U2V0dXAoY29uc3QgQXBwbGVQYXlT
ZXR1cENvbmZpZ3VyYXRpb24mLCBjb25zdCBVUkwmLCBWZWN0b3I8UmVmUHRyPEFwcGxlUGF5U2V0
dXBGZWF0dXJlPj4mJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0KICAgICB2aXJ0dWFsIHZvaWQg
ZW5kQXBwbGVQYXlTZXR1cCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuaAppbmRleCBhZjlkYWU0ZTVlMTFhODEzNmVmZDM2NDQ0MzZjZjVk
ZmNiMDZiZjc0Li4zMWExOWNjNjdjZWQ4OThjMzc2YjYxYzUwOWNlYzhiMmVhY2FmM2VlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaApAQCAt
MTAwLDggKzEwMCw2IEBAIHByaXZhdGU6CiAKICAgICBib29sIGlzTW9ja1BheW1lbnRDb29yZGlu
YXRvcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGJvb2wgaXNBbHdheXNP
bkxvZ2dpbmdBbGxvd2VkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotCiAgICAgdm9p
ZCBnZXRTZXR1cEZlYXR1cmVzKGNvbnN0IEFwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9uJiwgY29u
c3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8UmVmPEFwcGxlUGF5U2V0dXBG
ZWF0dXJlPj4mJik+JiYpIGZpbmFsOwogICAgIHZvaWQgYmVnaW5BcHBsZVBheVNldHVwKGNvbnN0
IEFwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9uJiwgY29uc3QgVVJMJiwgVmVjdG9yPFJlZlB0cjxB
cHBsZVBheVNldHVwRmVhdHVyZT4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IGNlYzIzNGFmYTI4MTgyNWVkYzlm
OTExZjE4YTE1NDkzNDM0MzJiMjQuLjgxOGZkMGI3NjgzMzc4ODk3MjM2YWM4YWY1MDcxM2RjZmVl
MmUzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQ
YXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0xNTcsMTEgKzE1Nyw2IEBAIHZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yOjpwYXltZW50Q29vcmRpbmF0b3JEZXN0cm95ZWQoKQogICAg
IGRlbGV0ZSB0aGlzOwogfQogCi1ib29sIFdlYlBheW1lbnRDb29yZGluYXRvcjo6aXNBbHdheXNP
bkxvZ2dpbmdBbGxvd2VkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV93ZWJQYWdlLmlzQWx3YXlz
T25Mb2dnaW5nQWxsb3dlZCgpOwotfQotCiBib29sIFdlYlBheW1lbnRDb29yZGluYXRvcjo6c3Vw
cG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKEFQUExFX1BB
WV9SRU1PVEVfVUkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggYzgxZjJiNGM0ZTUxNWJkZWYwMTMy
YjJiMTcxMTlkZjUyYTFkNjNjNy4uYWI2N2Q3NWY0MDgyNjNkZDI2MTZiNDMyNGE0NzY1OGM0Y2Fm
NTNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaApAQCAtODAsNyArODAsNiBAQCBwcml2YXRlOgogCiAg
ICAgYm9vbCBpc1dlYlBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KIAotICAgIGJvb2wgaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgYm9vbCBzdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxlUGF5KCkgY29uc3Qgb3Zl
cnJpZGU7CiAKICAgICBTdHJpbmcgdXNlckFnZW50U2NyaXB0c0Jsb2NrZWRFcnJvck1lc3NhZ2Uo
KSBjb25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggNzMzZDNmMDVlODVmN2JjM2VjMjgzNjFjYzdkYzliZWNmZTFkNzdhZS4uYjFi
NzczYjZjOWZmYmIxOTY3ZDU1ZjEyMGZlNzlkMjJlOWViNDg2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM4Niw5ICszODYsOCBAQCBzdGF0
aWMgY29uc3QgU2Vjb25kcyBwYWdlU2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9uIHsgMzAwX21zIH07
CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZh
bCB7IDIwX21zIH07CiBzdGF0aWMgY29uc3QgU2Vjb25kcyBtYXhpbXVtTGF5ZXJWb2xhdGlsaXR5
VGltZXJJbnRlcnZhbCB7IDJfcyB9OwogCi0jdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAot
I2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNF
X0xPR19JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3dlYlBh
Z2VJRD0lIiBQUkl1NjQgIl0gV2ViUGFnZTo6IiBmbXQsIHRoaXMsIG1faWRlbnRpZmllci50b1VJ
bnQ2NCgpLCAjI19fVkFfQVJHU19fKQotI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExP
V0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9n
Z2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gW3dlYlBhZ2VJRD0lIiBQUkl1NjQgIl0gV2Vi
UGFnZTo6IiBmbXQsIHRoaXMsIG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAjI19fVkFfQVJHU19f
KQorI2RlZmluZSBXRUJQQUdFX1JFTEVBU0VfTE9HKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNF
X0xPRyhjaGFubmVsLCAiJXAgLSBbd2ViUGFnZUlEPSUiIFBSSXU2NCAiXSBXZWJQYWdlOjoiIGZt
dCwgdGhpcywgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICMjX19WQV9BUkdTX18pCisjZGVmaW5l
IFdFQlBBR0VfUkVMRUFTRV9MT0dfRVJST1IoY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9H
X0VSUk9SKGNoYW5uZWwsICIlcCAtIFt3ZWJQYWdlSUQ9JSIgUFJJdTY0ICJdIFdlYlBhZ2U6OiIg
Zm10LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgIyNfX1ZBX0FSR1NfXykKIAogY2xh
c3MgU2VuZFN0b3BSZXNwb25zaXZlbmVzc1RpbWVyIHsKIHB1YmxpYzoKQEAgLTg1Niw3ICs4NTUs
NyBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uID0gTGF5ZXJIb3N0aW5nQ29udGV4dDo6Y3JlYXRlRm9yRXh0ZXJuYWxIb3N0aW5n
UHJvY2Vzcyh7CiAgICAgICAgIG1fY2FuU2hvd1doaWxlTG9ja2VkCiAgICAgfSk7Ci0gICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzLCAiV2ViUGFnZTogQ3JlYXRlZCBjb250ZXh0IHdp
dGggSUQgJXUgZm9yIHZpc2liaWxpdHkgcHJvcGFnYXRpb24gZnJvbSBVSVByb2Nlc3MiLCBtX2Nv
bnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNvbnRleHRJRCgpKTsKKyAgICBXRUJQQUdF
X1JFTEVBU0VfTE9HKFByb2Nlc3MsICJXZWJQYWdlOiBDcmVhdGVkIGNvbnRleHQgd2l0aCBJRCAl
dSBmb3IgdmlzaWJpbGl0eSBwcm9wYWdhdGlvbiBmcm9tIFVJUHJvY2VzcyIsIG1fY29udGV4dEZv
clZpc2liaWxpdHlQcm9wYWdhdGlvbi0+Y29udGV4dElEKCkpOwogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGlkQ3JlYXRlQ29udGV4dEluV2ViUHJvY2Vzc0ZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbihtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNvbnRleHRJRCgp
KSk7CiAjZW5kaWYgLy8gSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAKQEAgLTE0
ODAsNyArMTQ3OSw3IEBAIHZvaWQgV2ViUGFnZTo6Y2xvc2UoKQogICAgIGlmIChtX2lzQ2xvc2Vk
KQogICAgICAgICByZXR1cm47CiAKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcs
ICJjbG9zZToiKTsKKyAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExvYWRpbmcsICJjbG9zZToiKTsK
IAogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Q2xlYXJQYWdlU3BlY2lmaWNEYXRhKG1faWRlbnRpZmllciksIDApOwogCkBAIC0y
NzQzLDcgKzI3NDIsNyBAQCB2b2lkIFdlYlBhZ2U6OmZyZWV6ZUxheWVyVHJlZShMYXllclRyZWVG
cmVlemVSZWFzb24gcmVhc29uKQogICAgIGF1dG8gb2xkUmVhc29ucyA9IG1fbGF5ZXJUcmVlRnJl
ZXplUmVhc29ucy50b1JhdygpOwogICAgIFVOVVNFRF9QQVJBTShvbGRSZWFzb25zKTsKICAgICBt
X2xheWVyVHJlZUZyZWV6ZVJlYXNvbnMuYWRkKHJlYXNvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgImZyZWV6ZUxheWVyVHJlZTogQWRkaW5nIGEgcmVh
c29uIHRvIGZyZWV6ZSBsYXllciB0cmVlIChyZWFzb249JWQsIG5ldz0lZCwgb2xkPSVkKSIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihyZWFzb24pLCBtX2xheWVyVHJlZUZyZWV6ZVJlYXNvbnMudG9S
YXcoKSwgb2xkUmVhc29ucyk7CisgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhQcm9jZXNzU3VzcGVu
c2lvbiwgImZyZWV6ZUxheWVyVHJlZTogQWRkaW5nIGEgcmVhc29uIHRvIGZyZWV6ZSBsYXllciB0
cmVlIChyZWFzb249JWQsIG5ldz0lZCwgb2xkPSVkKSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihy
ZWFzb24pLCBtX2xheWVyVHJlZUZyZWV6ZVJlYXNvbnMudG9SYXcoKSwgb2xkUmVhc29ucyk7CiAg
ICAgdXBkYXRlRHJhd2luZ0FyZWFMYXllclRyZWVGcmVlemVTdGF0ZSgpOwogfQogCkBAIC0yNzUy
LDcgKzI3NTEsNyBAQCB2b2lkIFdlYlBhZ2U6OnVuZnJlZXplTGF5ZXJUcmVlKExheWVyVHJlZUZy
ZWV6ZVJlYXNvbiByZWFzb24pCiAgICAgYXV0byBvbGRSZWFzb25zID0gbV9sYXllclRyZWVGcmVl
emVSZWFzb25zLnRvUmF3KCk7CiAgICAgVU5VU0VEX1BBUkFNKG9sZFJlYXNvbnMpOwogICAgIG1f
bGF5ZXJUcmVlRnJlZXplUmVhc29ucy5yZW1vdmUocmVhc29uKTsKLSAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidW5mcmVlemVMYXllclRyZWU6IFJlbW92aW5n
IGEgcmVhc29uIHRvIGZyZWV6ZSBsYXllciB0cmVlIChyZWFzb249JWQsIG5ldz0lZCwgb2xkPSVk
KSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihyZWFzb24pLCBtX2xheWVyVHJlZUZyZWV6ZVJlYXNv
bnMudG9SYXcoKSwgb2xkUmVhc29ucyk7CisgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhQcm9jZXNz
U3VzcGVuc2lvbiwgInVuZnJlZXplTGF5ZXJUcmVlOiBSZW1vdmluZyBhIHJlYXNvbiB0byBmcmVl
emUgbGF5ZXIgdHJlZSAocmVhc29uPSVkLCBuZXc9JWQsIG9sZD0lZCkiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4ocmVhc29uKSwgbV9sYXllclRyZWVGcmVlemVSZWFzb25zLnRvUmF3KCksIG9sZFJl
YXNvbnMpOwogICAgIHVwZGF0ZURyYXdpbmdBcmVhTGF5ZXJUcmVlRnJlZXplU3RhdGUoKTsKIH0K
IApAQCAtMjc4NywxNCArMjc4NiwxNCBAQCB2b2lkIFdlYlBhZ2U6OmxheWVyVm9sYXRpbGl0eVRp
bWVyRmlyZWQoKQogICAgIGlmIChkaWRTdWNjZWVkIHx8IG5ld0ludGVydmFsID4gbWF4aW11bUxh
eWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwpIHsKICAgICAgICAgbV9sYXllclZvbGF0aWxpdHlU
aW1lci5zdG9wKCk7CiAgICAgICAgIGlmIChkaWRTdWNjZWVkKQotICAgICAgICAgICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChMYXllcnMsICJsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkOiBTdWNj
ZWVkZWQgaW4gbWFya2luZyBsYXllcnMgYXMgdm9sYXRpbGUiKTsKKyAgICAgICAgICAgIFdFQlBB
R0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAibGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZDogU3VjY2Vl
ZGVkIGluIG1hcmtpbmcgbGF5ZXJzIGFzIHZvbGF0aWxlIik7CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5ZXJzLCAibGF5ZXJWb2xhdGlsaXR5VGlt
ZXJGaXJlZDogRmFpbGVkIHRvIG1hcmsgbGF5ZXJzIGFzIHZvbGF0aWxlIHdpdGhpbiAlZ21zIiwg
bWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOworICAg
ICAgICAgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhMYXllcnMsICJsYXllclZvbGF0aWxpdHlUaW1l
ckZpcmVkOiBGYWlsZWQgdG8gbWFyayBsYXllcnMgYXMgdm9sYXRpbGUgd2l0aGluICVnbXMiLCBt
YXhpbXVtTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAg
ICAgIGNhbGxWb2xhdGlsaXR5Q29tcGxldGlvbkhhbmRsZXJzKGRpZFN1Y2NlZWQpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChMYXll
cnMsICJsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkOiBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJz
IGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVnIG1zIiwgbmV3SW50ZXJ2YWwubWlsbGlzZWNv
bmRzKCkpOworICAgIFdFQlBBR0VfUkVMRUFTRV9MT0dfRVJST1IoTGF5ZXJzLCAibGF5ZXJWb2xh
dGlsaXR5VGltZXJGaXJlZDogRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwg
d2lsbCByZXRyeSBpbiAlZyBtcyIsIG5ld0ludGVydmFsLm1pbGxpc2Vjb25kcygpKTsKICAgICBt
X2xheWVyVm9sYXRpbGl0eVRpbWVyLnN0YXJ0UmVwZWF0aW5nKG5ld0ludGVydmFsKTsKIH0KIApA
QCAtMjgwNSw3ICsyODA0LDcgQEAgYm9vbCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGVJbW1l
ZGlhdGVseUlmUG9zc2libGUoKQogCiB2b2lkIFdlYlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0aWxlOiIpOwor
ICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0aWxlOiIpOwog
CiAgICAgaWYgKG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV9s
YXllclZvbGF0aWxpdHlUaW1lci5zdG9wKCk7CkBAIC0yODE2LDIyICsyODE1LDIyIEBAIHZvaWQg
V2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsCiAgICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0
aWxlSW1tZWRpYXRlbHlJZlBvc3NpYmxlKCk7CiAgICAgaWYgKGRpZFN1Y2NlZWQgfHwgbV9pc1N1
c3BlbmRlZFVuZGVyTG9jaykgewogICAgICAgICBpZiAoZGlkU3VjY2VlZCkKLSAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0aWxlOiBTdWNj
ZXNzZnVsbHkgbWFya2VkIGxheWVycyBhcyB2b2xhdGlsZSIpOworICAgICAgICAgICAgV0VCUEFH
RV9SRUxFQVNFX0xPRyhMYXllcnMsICJtYXJrTGF5ZXJzVm9sYXRpbGU6IFN1Y2Nlc3NmdWxseSBt
YXJrZWQgbGF5ZXJzIGFzIHZvbGF0aWxlIik7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
Ly8gSWYgd2UgZ2V0IHN1c3BlbmRlZCB3aGVuIGxvY2tpbmcgdGhlIHNjcmVlbiwgaXQgaXMgZXhw
ZWN0ZWQgdGhhdCBzb21lIElPU3VyZmFjZXMgY2Fubm90IGJlIG1hcmtlZCBhcyBwdXJnZWFibGUg
c28gd2UgZG8gbm90IGtlZXAgcmV0cnlpbmcuCi0gICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKExheWVycywgIm1hcmtMYXllcnNWb2xhdGlsZTogRGlkIHdoYXQgd2UgY291bGQgdG8g
bWFyayBJT1N1cmZhY2VzIGFzIHB1cmdlYWJsZSBhZnRlciBsb2NraW5nIHRoZSBzY3JlZW4iKTsK
KyAgICAgICAgICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0
aWxlOiBEaWQgd2hhdCB3ZSBjb3VsZCB0byBtYXJrIElPU3VyZmFjZXMgYXMgcHVyZ2VhYmxlIGFm
dGVyIGxvY2tpbmcgdGhlIHNjcmVlbiIpOwogICAgICAgICB9CiAgICAgICAgIGNhbGxWb2xhdGls
aXR5Q29tcGxldGlvbkhhbmRsZXJzKGRpZFN1Y2NlZWQpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMYXllcnMsICJtYXJrTGF5ZXJzVm9sYXRp
bGU6IEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4g
JWcgbXMiLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMo
KSk7CisgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhMYXllcnMsICJtYXJrTGF5ZXJzVm9sYXRpbGU6
IEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0cnkgaW4gJWcg
bXMiLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7
CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhpbml0aWFsTGF5ZXJW
b2xhdGlsaXR5VGltZXJJbnRlcnZhbCk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6Y2FuY2VsTWFya0xh
eWVyc1ZvbGF0aWxlKCkKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExheWVycywgImNh
bmNlbE1hcmtMYXllcnNWb2xhdGlsZToiKTsKKyAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExheWVy
cywgImNhbmNlbE1hcmtMYXllcnNWb2xhdGlsZToiKTsKICAgICBtX2xheWVyVm9sYXRpbGl0eVRp
bWVyLnN0b3AoKTsKICAgICBjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycyhmYWxzZSk7
CiB9CkBAIC0zMTgxLDcgKzMxODAsNyBAQCB2b2lkIFdlYlBhZ2U6OnRvdWNoRXZlbnRTeW5jKGNv
bnN0IFdlYlRvdWNoRXZlbnQmIHRvdWNoRXZlbnQsIENvbXBsZXRpb25IYW5kbGVyPAogewogICAg
IC8vIEF2b2lkIFVJUHJvY2VzcyBoYW5ncyB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMg
c3R1Y2sgb24gYSBzeW5jIElQQy4KICAgICBpZiAoSVBDOjpVbmJvdW5kZWRTeW5jaHJvbm91c0lQ
Q1Njb3BlOjpoYXNPbmdvaW5nVW5ib3VuZGVkU3luY0lQQygpKSB7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HX0VSUk9SX0lGX0FMTE9XRUQoUHJvY2VzcywgInRvdWNoRXZlbnRTeW5jOiBOb3QgcHJvY2Vz
c2luZyBiZWNhdXNlIHRoZSBwcm9jZXNzIGlzIHN0dWNrIG9uIHVuYm91bmRlZCBzeW5jIElQQyIp
OworICAgICAgICBXRUJQQUdFX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJ0b3VjaEV2ZW50
U3luYzogTm90IHByb2Nlc3NpbmcgYmVjYXVzZSB0aGUgcHJvY2VzcyBpcyBzdHVjayBvbiB1bmJv
dW5kZWQgc3luYyBJUEMiKTsKICAgICAgICAgcmV0dXJuIHJlcGx5KHRydWUpOwogICAgIH0KIApA
QCAtMzQ5Niw3ICszNDk1LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNp
b24oRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmUKICAgICBjb25zdW1l
TmV0d29ya0V4dGVuc2lvblNhbmRib3hFeHRlbnNpb25zKG5ldHdvcmtFeHRlbnNpb25zSGFuZGxl
cyk7CiAKICAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJG
cmFtZShmcmFtZUlEKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJkaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb246IHBvbGljeUFjdGlvbj0ldSAtIGZyYW1lSUQ9JWxsdSAtIHdl
YkZyYW1lPSVwIC0gbWFpbkZyYW1lPSVkIiwgKHVuc2lnbmVkKXBvbGljeURlY2lzaW9uLnBvbGlj
eUFjdGlvbiwgZnJhbWVJRC50b1VJbnQ2NCgpLCBmcmFtZSwgZnJhbWUgPyBmcmFtZS0+aXNNYWlu
RnJhbWUoKSA6IDApOworICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coTG9hZGluZywgImRpZFJlY2Vp
dmVQb2xpY3lEZWNpc2lvbjogcG9saWN5QWN0aW9uPSV1IC0gZnJhbWVJRD0lbGx1IC0gd2ViRnJh
bWU9JXAgLSBtYWluRnJhbWU9JWQiLCAodW5zaWduZWQpcG9saWN5RGVjaXNpb24ucG9saWN5QWN0
aW9uLCBmcmFtZUlELnRvVUludDY0KCksIGZyYW1lLCBmcmFtZSA/IGZyYW1lLT5pc01haW5GcmFt
ZSgpIDogMCk7CiAKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CkBAIC0zNTYwLDcg
KzM1NTksNyBAQCB2b2lkIFdlYlBhZ2U6OnNob3coKQogCiB2b2lkIFdlYlBhZ2U6OnNldElzVGFr
aW5nU25hcHNob3RzRm9yQXBwbGljYXRpb25TdXNwZW5zaW9uKGJvb2wgaXNUYWtpbmdTbmFwc2hv
dHNGb3JBcHBsaWNhdGlvblN1c3BlbnNpb24pCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RChSZXNpemUsICJzZXRJc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxpY2F0aW9uU3VzcGVuc2lvbigl
ZCkiLCBpc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxpY2F0aW9uU3VzcGVuc2lvbik7CisgICAgV0VC
UEFHRV9SRUxFQVNFX0xPRyhSZXNpemUsICJzZXRJc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxpY2F0
aW9uU3VzcGVuc2lvbiglZCkiLCBpc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxpY2F0aW9uU3VzcGVu
c2lvbik7CiAKICAgICBpZiAobV9wYWdlKQogICAgICAgICBtX3BhZ2UtPnNldElzVGFraW5nU25h
cHNob3RzRm9yQXBwbGljYXRpb25TdXNwZW5zaW9uKGlzVGFraW5nU25hcHNob3RzRm9yQXBwbGlj
YXRpb25TdXNwZW5zaW9uKTsKQEAgLTM2MDYsNyArMzYwNSw3IEBAIHZvaWQgV2ViUGFnZTo6cmVz
dW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQogCiB2b2lkIFdlYlBhZ2U6OnN1c3Bl
bmQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJzdXNwZW5kOiBtX3BhZ2U9JXAi
LCBtX3BhZ2UuZ2V0KCkpOworICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coTG9hZGluZywgInN1c3Bl
bmQ6IG1fcGFnZT0lcCIsIG1fcGFnZS5nZXQoKSk7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAg
IHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAKQEAgLTM2MjEsNyArMzYyMCw3IEBA
IHZvaWQgV2ViUGFnZTo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogCiB2b2lkIFdlYlBhZ2U6OnJlc3VtZShDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoTG9hZGluZywgInJlc3VtZTogbV9wYWdlPSVwIiwgbV9wYWdlLmdldCgpKTsKKyAg
ICBXRUJQQUdFX1JFTEVBU0VfTE9HKExvYWRpbmcsICJyZXN1bWU6IG1fcGFnZT0lcCIsIG1fcGFn
ZS5nZXQoKSk7CiAgICAgaWYgKCFtX3BhZ2UpCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFu
ZGxlcihmYWxzZSk7CiAKQEAgLTM2OTAsNyArMzY4OSw3IEBAIHZvaWQgV2ViUGFnZTo6cnVuSmF2
YVNjcmlwdChXZWJGcmFtZSogZnJhbWUsIFJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1l
dGVyCiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgRXhjZXB0aW9uRGV0YWlscyB7ICJV
bmFibGUgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGluIGEgZnJhbWUgdGhhdCBpcyBub3QgaW4gYW4g
YXBwLWJvdW5kIGRvbWFpbiJfcywgMCwgMCwgRXhjZXB0aW9uRGV0YWlsczo6VHlwZTo6QXBwQm91
bmREb21haW4gfSk7CiAgICAgICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IG1fcGFnZS0+bWFpbkZy
YW1lKCkuZG9jdW1lbnQoKSkKICAgICAgICAgICAgIGRvY3VtZW50LT5hZGRDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlOjpTZWN1cml0eSwgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiSWdub3Jp
bmcgdXNlciBzY3JpcHQgaW5qZWN0aW9uIGZvciBub24tYXBwIGJvdW5kIGRvbWFpbi4iKTsKLSAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChMb2FkaW5nLCAicnVuSmF2YVNjcmlw
dDogSWdub3JpbmcgdXNlciBzY3JpcHQgaW5qZWN0aW9uIGZvciBub24gYXBwLWJvdW5kIGRvbWFp
biIpOworICAgICAgICBXRUJQQUdFX1JFTEVBU0VfTE9HX0VSUk9SKExvYWRpbmcsICJydW5KYXZh
U2NyaXB0OiBJZ25vcmluZyB1c2VyIHNjcmlwdCBpbmplY3Rpb24gZm9yIG5vbiBhcHAtYm91bmQg
ZG9tYWluIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKQEAgLTM3MTgsNyArMzcx
Nyw3IEBAIHZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlwdChXZWJGcmFtZSogZnJhbWUsIFJ1bkph
dmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1ldGVyCiAKIHZvaWQgV2ViUGFnZTo6cnVuSmF2YVNj
cmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFJ1bkphdmFTY3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1l
dGVycywgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQsIGNv
bnN0IHN0ZDo6cGFpcjxDb250ZW50V29ybGRJZGVudGlmaWVyLCBTdHJpbmc+JiB3b3JsZERhdGEs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EZXRhaWxzPiYpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgInJ1bkphdmFT
Y3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZDogZnJhbWVJRD0lIiBQUkl1NjQsIGZyYW1lSUQudmFs
dWVfb3IoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIHsgfSkudG9VSW50NjQoKSk7CisgICAgV0VC
UEFHRV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAicnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdv
cmxkOiBmcmFtZUlEPSUiIFBSSXU2NCwgZnJhbWVJRC52YWx1ZV9vcihXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIgeyB9KS50b1VJbnQ2NCgpKTsKICAgICBhdXRvIHdlYkZyYW1lID0gbWFrZVJlZlB0
cihmcmFtZUlEID8gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoKmZyYW1lSUQpIDog
Jm1haW5XZWJGcmFtZSgpKTsKIAogICAgIGlmIChhdXRvKiBuZXdXb3JsZCA9IG1fdXNlckNvbnRl
bnRDb250cm9sbGVyLT5hZGRDb250ZW50V29ybGQod29ybGREYXRhKSkgewpAQCAtMzcyOSw5ICsz
NzI4LDkgQEAgdm9pZCBXZWJQYWdlOjpydW5KYXZhU2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQo
UnVuSmF2YVNjcmlwdFBhcmFtZXRlcnMmJiBwYXJhbWUKIAogICAgIHJ1bkphdmFTY3JpcHQod2Vi
RnJhbWUuZ2V0KCksIFdURk1vdmUocGFyYW1ldGVycyksIHdvcmxkRGF0YS5maXJzdCwgW3RoaXMs
IHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiByZXN1bHQs
IGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscz4mIGV4Y2VwdGlv
bikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBSRUxFQVNF
X0xPR19FUlJPUl9JRl9BTExPV0VEKFByb2Nlc3MsICJydW5KYXZhU2NyaXB0SW5GcmFtZUluU2Ny
aXB0V29ybGQ6IFJlcXVlc3QgdG8gcnVuIEphdmFTY3JpcHQgZmFpbGVkIHdpdGggZXJyb3IgJXtw
cml2YXRlfXMiLCBleGNlcHRpb24tPm1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAg
ICBXRUJQQUdFX1JFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJydW5KYXZhU2NyaXB0SW5GcmFt
ZUluU2NyaXB0V29ybGQ6IFJlcXVlc3QgdG8gcnVuIEphdmFTY3JpcHQgZmFpbGVkIHdpdGggZXJy
b3IgJXtwcml2YXRlfXMiLCBleGNlcHRpb24tPm1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CiAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgInJ1
bkphdmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZDogUmVxdWVzdCB0byBydW4gSmF2YVNjcmlw
dCBzdWNjZWVkZWQiKTsKKyAgICAgICAgICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coUHJvY2Vzcywg
InJ1bkphdmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZDogUmVxdWVzdCB0byBydW4gSmF2YVNj
cmlwdCBzdWNjZWVkZWQiKTsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIocmVzdWx0LCBleGNl
cHRpb24pOwogICAgIH0pOwogfQpAQCAtMzkwNCw3ICszOTAzLDcgQEAgdm9pZCBXZWJQYWdlOjp1
cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKIAogI2lm
ICFQTEFURk9STShHVEspICYmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShQTEFZU1RBVElP
TikKICAgICBpZiAoIXNldHRpbmdzLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkpIHsK
LSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMYXllcnMsICJ1cGRhdGVQcmVmZXJlbmNl
czogYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgc2V0dGluZyB3YXMgZmFsc2UuIFdlYktp
dCBjYW5ub3QgZnVuY3Rpb24gaW4gdGhpcyBtb2RlOyBjaGFuZ2luZyBzZXR0aW5nIHRvIHRydWUi
KTsKKyAgICAgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhMYXllcnMsICJ1cGRhdGVQcmVmZXJlbmNl
czogYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgc2V0dGluZyB3YXMgZmFsc2UuIFdlYktp
dCBjYW5ub3QgZnVuY3Rpb24gaW4gdGhpcyBtb2RlOyBjaGFuZ2luZyBzZXR0aW5nIHRvIHRydWUi
KTsKICAgICAgICAgc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgfQogI2VuZGlmCkBAIC00NDE5LDExICs0NDE4LDYgQEAgdm9pZCBXZWJQYWdlOjpy
ZW1vdmVXZWJFZGl0Q29tbWFuZChXZWJVbmRvU3RlcElEIHN0ZXBJRCkKICAgICAgICAgdW5kb1N0
ZXAtPmRpZFJlbW92ZUZyb21VbmRvTWFuYWdlcigpOwogfQogCi1ib29sIFdlYlBhZ2U6OmlzQWx3
YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGNvcmVQYWdlKCkgJiYg
Y29yZVBhZ2UoKS0+aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCk7Ci19Ci0KIHZvaWQgV2ViUGFn
ZTo6dW5hcHBseUVkaXRDb21tYW5kKFdlYlVuZG9TdGVwSUQgc3RlcElEKQogewogICAgIGF1dG8q
IHN0ZXAgPSB3ZWJVbmRvU3RlcChzdGVwSUQpOwpAQCAtNjg0Myw3ICs2ODM3LDcgQEAgdm9pZCBX
ZWJQYWdlOjpzdG9wQWxsVVJMU2NoZW1lVGFza3MoKQogCiB2b2lkIFdlYlBhZ2U6OnJlZ2lzdGVy
VVJMU2NoZW1lSGFuZGxlcih1aW50NjRfdCBoYW5kbGVySWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBzY2hlbWUpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzLCAicmVnaXN0
ZXJVUkxTY2hlbWVIYW5kbGVyOiBSZWdpc3RlcmVkIGhhbmRsZXIgJSIgUFJJdTY0ICIgZm9yIHRo
ZSAnJXMnIHNjaGVtZSIsIGhhbmRsZXJJZGVudGlmaWVyLCBzY2hlbWUudXRmOCgpLmRhdGEoKSk7
CisgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhQcm9jZXNzLCAicmVnaXN0ZXJVUkxTY2hlbWVIYW5k
bGVyOiBSZWdpc3RlcmVkIGhhbmRsZXIgJSIgUFJJdTY0ICIgZm9yIHRoZSAnJXMnIHNjaGVtZSIs
IGhhbmRsZXJJZGVudGlmaWVyLCBzY2hlbWUudXRmOCgpLmRhdGEoKSk7CiAgICAgV2ViQ29yZTo6
TGVnYWN5U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNIYW5kbGVkQnlTY2hlbWVI
YW5kbGVyKHNjaGVtZSk7CiAgICAgV2ViQ29yZTo6TGVnYWN5U2NoZW1lUmVnaXN0cnk6OnJlZ2lz
dGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChzY2hlbWUpOwogICAgIGF1dG8gc2NoZW1lUmVzdWx0
ID0gbV9zY2hlbWVUb1VSTFNjaGVtZUhhbmRsZXJQcm94eU1hcC5hZGQoc2NoZW1lLCBXZWJVUkxT
Y2hlbWVIYW5kbGVyUHJveHk6OmNyZWF0ZSgqdGhpcywgaGFuZGxlcklkZW50aWZpZXIpKTsKQEAg
LTc2MzIsNSArNzYyNiw1IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xh
dGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCi0jdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAotI3VuZGVmIFJFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQKKyN1bmRlZiBXRUJQQUdFX1JFTEVBU0VfTE9HCisjdW5k
ZWYgV0VCUEFHRV9SRUxFQVNFX0xPR19FUlJPUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCmluZGV4IGZhM2NkNmMxOTQ4Mjg1ZGJiNzZmMzlkNzcwMzg0MWVkODVj
MTM3YmUuLmM5Y2ZiZTQ2MWY4ZDY0YjllMmQzOTU3ODcyNmVmZWI4ODM1MTBhZDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTQ2NSw3ICs0NjUsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVXZWJFZGl0Q29tbWFuZChXZWJVbmRvU3RlcElEKTsK
ICAgICBib29sIGlzSW5SZWRvKCkgY29uc3QgeyByZXR1cm4gbV9pc0luUmVkbzsgfQogCi0gICAg
Ym9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKICAgICB2b2lkIHNldEFjdGl2
ZVBvcHVwTWVudShXZWJQb3B1cE1lbnUqKTsKIAogICAgIHZvaWQgc2V0SGlkZGVuUGFnZURPTVRp
bWVyVGhyb3R0bGluZ0luY3JlYXNlTGltaXQoU2Vjb25kcyBsaW1pdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZDVhNTAx
NzZmZjRiMmJmYmRiNTIzMWM1NWI4MWM1NzQ5ZDM0ZGQ2ZS4uYTlmODdkNjk2NTgyNmY3Zjk0OWZi
YzcxYTlmMTdjN2FiYWIyNGYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTE1NCw4ICsxNTQsOCBAQAogI2ltcG9ydCA8
V2ViQ29yZS9Qcm9taXNlZEF0dGFjaG1lbnRJbmZvLmg+CiAjZW5kaWYKIAotI2RlZmluZSBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihpc0Fs
d2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgY2hhbm5lbCwgIiVwIC0gV2ViUGFnZTo6IiBmbXQsIHRo
aXMsICMjX19WQV9BUkdTX18pCi0jZGVmaW5lIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQo
Y2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGlzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZCgpLCBjaGFubmVsLCAiJXAgLSBXZWJQYWdlOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FS
R1NfXykKKyNkZWZpbmUgV0VCUEFHRV9SRUxFQVNFX0xPRyhjaGFubmVsLCBmbXQsIC4uLikgUkVM
RUFTRV9MT0coY2hhbm5lbCwgIiVwIC0gV2ViUGFnZTo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdT
X18pCisjZGVmaW5lIFdFQlBBR0VfUkVMRUFTRV9MT0dfRVJST1IoY2hhbm5lbCwgZm10LCAuLi4p
IFJFTEVBU0VfTE9HX0VSUk9SKGNoYW5uZWwsICIlcCAtIFdlYlBhZ2U6OiIgZm10LCB0aGlzLCAj
I19fVkFfQVJHU19fKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjY3MSw3ICsyNjcxLDcg
QEAgdm9pZCBXZWJQYWdlOjpnZXRQb3NpdGlvbkluZm9ybWF0aW9uKGNvbnN0IEludGVyYWN0aW9u
SW5mb3JtYXRpb25SZXF1ZXN0JiByZXF1ZXMKIHsKICAgICAvLyBBdm9pZCBVSVByb2Nlc3MgaGFu
Z3Mgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0dWNrIG9uIGEgc3luYyBJUEMuCiAg
ICAgaWYgKElQQzo6VW5ib3VuZGVkU3luY2hyb25vdXNJUENTY29wZTo6aGFzT25nb2luZ1VuYm91
bmRlZFN5bmNJUEMoKSkgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKFBy
b2Nlc3MsICJnZXRQb3NpdGlvbkluZm9ybWF0aW9uIC0gTm90IHByb2Nlc3NpbmcgYmVjYXVzZSB0
aGUgcHJvY2VzcyBpcyBzdHVjayBvbiB1bmJvdW5kZWQgc3luYyBJUEMiKTsKKyAgICAgICAgV0VC
UEFHRV9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAiZ2V0UG9zaXRpb25JbmZvcm1hdGlvbiAt
IE5vdCBwcm9jZXNzaW5nIGJlY2F1c2UgdGhlIHByb2Nlc3MgaXMgc3R1Y2sgb24gdW5ib3VuZGVk
IHN5bmMgSVBDIik7CiAgICAgICAgIHJldHVybiByZXBseSh7IH0pOwogICAgIH0KIApAQCAtNDY1
Niw3ICs0NjU2LDcgQEAgdm9pZCBXZWJQYWdlOjphbmltYXRpb25EaWRGaW5pc2hGb3JFbGVtZW50
KGNvbnN0IFdlYkNvcmU6OkVsZW1lbnQmIGFuaW1hdGVkRWxlbWUKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKLSN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECi0jdW5kZWYgUkVMRUFTRV9M
T0dfRVJST1JfSUZfQUxMT1dFRAorI3VuZGVmIFdFQlBBR0VfUkVMRUFTRV9MT0cKKyN1bmRlZiBX
RUJQQUdFX1JFTEVBU0VfTE9HX0VSUk9SCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZ
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431086</attachid>
            <date>2021-06-10 09:06:53 -0700</date>
            <delta_ts>2021-06-10 11:54:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226510-20210610090652.patch</filename>
            <type>text/plain</type>
            <size>36498</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3ZjUyZWYxZDc0ZTBk
ZDhmNmQ1NDU1YTExYzdhNDRjOTM2OTk1MC4uOWUwODVkYTdmMTBjZjQ5NGI3ZWZhN2FjY2RjN2Fl
M2JjNjBiOTNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRW5hYmxlIFdlYlBhZ2UncyBy
ZWxlYXNlIGxvZ2dpbmcgaW4gZXBoZW1lcmFsIHNlc3Npb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1MTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIENhcmxzb24uCisKKyAgICAgICAgRW5hYmxlIFdlYlBhZ2UncyByZWxlYXNlIGxvZ2dp
bmcgaW4gZXBoZW1lcmFsIHNlc3Npb25zLiBPdXIgcmVsZWFzZSBsb2dnaW5nIGRvZXNuJ3QgY29u
dGFpbgorICAgICAgICBhbnl0aGluZyBzZW5zaXRpdmUgYW5kIG5vdCBoYXZpbmcgdGhpcyBsb2dn
aW5nIG1ha2VzIGl0IGhhcmQgdG8gZGVidWcgaXNzdWVzIGluIGFwcHMgdXNpbmcKKyAgICAgICAg
ZXBoZW1lcmFsIHNlc3Npb25zLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpz
dXBwb3J0c1ZlcnNpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5h
dG9yOjpjYW5NYWtlUGF5bWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5h
dG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
YXltZW50Q29vcmRpbmF0b3I6Om9wZW5QYXltZW50U2V0dXApOgorICAgICAgICAoV2ViQ29yZTo6
UGF5bWVudENvb3JkaW5hdG9yOjpiZWdpblBheW1lbnRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nTWV0aG9k
U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxl
dGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENv
b3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmFib3J0UGF5
bWVudFNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjYW5j
ZWxQYXltZW50U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6
OnZhbGlkYXRlTWVyY2hhbnQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9y
OjpkaWRBdXRob3JpemVQYXltZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGlu
YXRvcjo6ZGlkU2VsZWN0UGF5bWVudE1ldGhvZCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50
Q29vcmRpbmF0b3I6OmRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKToKKyAgICAgICAgKFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpkaWRDYW5jZWxQYXltZW50
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OnNob3VsZEVu
YWJsZUFwcGxlUGF5QVBJcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRp
bmF0b3I6OnNldEFwcGxlUGF5SXNBY3RpdmVJZkFsbG93ZWQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpzaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpnZXRTZXR1cEZlYXR1
cmVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5BcHBsZVBh
eVNldHVwKToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6ZW5kQXBwbGVQ
YXlTZXR1cCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaDoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaDoKKwog
MjAyMS0wNi0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZp
eCBzb21lIGluZWZmaWNpZW50IHVzZXMgb2YgU2hhcmVkQnVmZmVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJkNjgx
ZGUzY2YyMTk2NWI1YTM4N2ZkMGZmNDFjZjg5Zjk4NGRlODMuLjg2N2Y3MDQxNGU2MTU2MjM4ZjJl
NzMwNGEwNWVkMmU0ZWY4NDMzNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDYt
MDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgV2Vi
UGFnZSdzIHJlbGVhc2UgbG9nZ2luZyBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUxMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBFbmFibGUgV2ViUGFnZSdzIHJlbGVh
c2UgbG9nZ2luZyBpbiBlcGhlbWVyYWwgc2Vzc2lvbnMuIE91ciByZWxlYXNlIGxvZ2dpbmcgZG9l
c24ndCBjb250YWluCisgICAgICAgIGFueXRoaW5nIHNlbnNpdGl2ZSBhbmQgbm90IGhhdmluZyB0
aGlzIGxvZ2dpbmcgbWFrZXMgaXQgaGFyZCB0byBkZWJ1ZyBpc3N1ZXMgaW4gYXBwcyB1c2luZwor
ICAgICAgICBlcGhlbWVyYWwgc2Vzc2lvbnMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Om1fbGFzdE5hdmlnYXRpb25XYXNBcHBC
b3VuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNsb3NlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6ZnJlZXplTGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
dW5mcmVlemVMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpsYXllclZvbGF0
aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bWFya0xheWVyc1Zv
bGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y2FuY2VsTWFya0xheWVyc1ZvbGF0
aWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dG91Y2hFdmVudFN5bmMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpzZXRJc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxpY2F0aW9uU3VzcGVu
c2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnN1c3BlbmQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpyZXN1bWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpydW5KYXZh
U2NyaXB0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJ
blNjcmlwdFdvcmxkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5j
ZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWdpc3RlclVSTFNjaGVtZUhhbmRsZXIp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpnZXRQb3NpdGlvbkluZm9ybWF0aW9uKToKKwogMjAyMS0wNi0xMCAgQWRyaWFuIFBlcmV6
IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIE5vbi11bmlmaWVkIGJ1
aWxkIGZpeGVzLCBlYXJseSBNYXkgMjAyMSBlZGl0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNTgxZTkx
M2Q1NmY4ODliMTE5YmNjMDNhNTViYTExNTMxMWIyMGEzMC4uNzhjYTMxMTNhMTcxYWJhNGEyNTAw
YWY0MjJlNzZhM2Y2YzQ1MjA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNDQsMTAgKzQ0LDggQEAKICNp
bmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAK
LSN1bmRlZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VECi0jdW5kZWYgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRAotI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGZtdCwgLi4u
KSBSRUxFQVNFX0xPR19FUlJPUl9JRihtX2NsaWVudC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
KSwgQXBwbGVQYXksICIlcCAtIFBheW1lbnRDb29yZGluYXRvcjo6IiBmbXQsIHRoaXMsICMjX19W
QV9BUkdTX18pCi0jZGVmaW5lIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVB
U0VfTE9HX0lGKG1fY2xpZW50LmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBBcHBsZVBheSwg
IiVwIC0gUGF5bWVudENvb3JkaW5hdG9yOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FSR1NfXykKKyNk
ZWZpbmUgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPR19FUlJPUihmbXQsIC4uLikgUkVM
RUFTRV9MT0dfRVJST1IoQXBwbGVQYXksICIlcCAtIFBheW1lbnRDb29yZGluYXRvcjo6IiBmbXQs
IHRoaXMsICMjX19WQV9BUkdTX18pCisjZGVmaW5lIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFT
RV9MT0coZm10LCAuLi4pIFJFTEVBU0VfTE9HKEFwcGxlUGF5LCAiJXAgLSBQYXltZW50Q29vcmRp
bmF0b3I6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTY0LDE0ICs2MiwxNCBAQCBQYXltZW50Q29vcmRpbmF0b3I6On5QYXltZW50Q29vcmRp
bmF0b3IoKQogYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbihEb2N1bWVu
dCYsIHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0CiB7CiAgICAgYXV0byBzdXBwb3J0c1ZlcnNpb24g
PSBtX2NsaWVudC5zdXBwb3J0c1ZlcnNpb24odmVyc2lvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgic3VwcG9ydHNWZXJzaW9uKCVkKSAtPiAlZCIsIHZlcnNpb24sIHN1cHBvcnRzVmVy
c2lvbik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygic3VwcG9ydHNWZXJz
aW9uKCVkKSAtPiAlZCIsIHZlcnNpb24sIHN1cHBvcnRzVmVyc2lvbik7CiAgICAgcmV0dXJuIHN1
cHBvcnRzVmVyc2lvbjsKIH0KIAogYm9vbCBQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXlt
ZW50cyhEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgYXV0byBjYW5NYWtlUGF5bWVudHMgPSBt
X2NsaWVudC5jYW5NYWtlUGF5bWVudHMoKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJj
YW5NYWtlUGF5bWVudHMoKSAtPiAlZCIsIGNhbk1ha2VQYXltZW50cyk7CisgICAgUEFZTUVOVF9D
T09SRElOQVRPUl9SRUxFQVNFX0xPRygiY2FuTWFrZVBheW1lbnRzKCkgLT4gJWQiLCBjYW5NYWtl
UGF5bWVudHMpOwogCiAgICAgaWYgKCFjYW5NYWtlUGF5bWVudHMpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTg4LDcgKzg2LDcgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QKICAgICAgICAg
aWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihmYWxz
ZSk7CiAKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQoKSAtPiAlZCIsIGNhbk1ha2VQYXltZW50cyk7CisgICAgICAgIFBBWU1FTlRf
Q09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKCkg
LT4gJWQiLCBjYW5NYWtlUGF5bWVudHMpOwogCiAgICAgICAgIGlmICghY2FuTWFrZVBheW1lbnRz
KQogICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKQEAgLTEwMiw3
ICsxMDAsNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFj
dGl2ZUNhcmQoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdAogCiB2b2lkIFBheW1lbnRDb29yZGlu
YXRvcjo6b3BlblBheW1lbnRTZXR1cChEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
bWVyY2hhbnRJZGVudGlmaWVyLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgib3BlblBheW1lbnRTZXR1
cCgpIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygib3BlblBheW1lbnRT
ZXR1cCgpIik7CiAgICAgbV9jbGllbnQub3BlblBheW1lbnRTZXR1cChtZXJjaGFudElkZW50aWZp
ZXIsIGRvY3VtZW50LmRvbWFpbigpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAK
QEAgLTExOCw3ICsxMTYsNyBAQCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5QYXltZW50
U2Vzc2lvbihEb2N1bWVudCYgZG9jdW1lbnQsIFBheW1lbnRTZXNzaW9uJgogICAgICAgICBsaW5r
SWNvblVSTHMuYXBwZW5kKGljb24udXJsKTsKIAogICAgIGF1dG8gc2hvd1BheW1lbnRVSSA9IG1f
Y2xpZW50LnNob3dQYXltZW50VUkoZG9jdW1lbnQudXJsKCksIGxpbmtJY29uVVJMcywgcGF5bWVu
dFJlcXVlc3QpOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImJlZ2luUGF5bWVudFNlc3Np
b24oKSAtPiAlZCIsIHNob3dQYXltZW50VUkpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVM
RUFTRV9MT0coImJlZ2luUGF5bWVudFNlc3Npb24oKSAtPiAlZCIsIHNob3dQYXltZW50VUkpOwog
ICAgIGlmICghc2hvd1BheW1lbnRVSSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xMjks
MjggKzEyNywyOCBAQCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5QYXltZW50U2Vzc2lv
bihEb2N1bWVudCYgZG9jdW1lbnQsIFBheW1lbnRTZXNzaW9uJgogdm9pZCBQYXltZW50Q29vcmRp
bmF0b3I6OmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNl
c3Npb24mIHBheW1lbnRNZXJjaGFudFNlc3Npb24pCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlU2Vz
c2lvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29tcGxldGVNZXJjaGFudFZhbGlk
YXRpb24oKSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImNvbXBsZXRl
TWVyY2hhbnRWYWxpZGF0aW9uKCkiKTsKICAgICBtX2NsaWVudC5jb21wbGV0ZU1lcmNoYW50VmFs
aWRhdGlvbihwYXltZW50TWVyY2hhbnRTZXNzaW9uKTsKIH0KIAogdm9pZCBQYXltZW50Q29vcmRp
bmF0b3I6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAgICBBU1NFUlQobV9hY3Rp
dmVTZXNzaW9uKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb21wbGV0ZVNoaXBwaW5n
TWV0aG9kU2VsZWN0aW9uKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9H
KCJjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKCkiKTsKICAgICBtX2NsaWVudC5jb21w
bGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9CiAKIHZvaWQg
UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6
Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAg
ICBBU1NFUlQobV9hY3RpdmVTZXNzaW9uKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJj
b21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbigpIik7CisgICAgUEFZTUVOVF9DT09SRElO
QVRPUl9SRUxFQVNFX0xPRygiY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oKSIpOwog
ICAgIG1fY2xpZW50LmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKFdURk1vdmUodXBk
YXRlKSk7CiB9CiAKIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRo
b2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU+JiYg
dXBkYXRlKQogewogICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Npb24pOwotICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbigpIik7CisgICAgUEFZ
TUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygiY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0
aW9uKCkiKTsKICAgICBtX2NsaWVudC5jb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oV1RG
TW92ZSh1cGRhdGUpKTsKIH0KIApAQCAtMTU5LDcgKzE1Nyw3IEBAIHZvaWQgUGF5bWVudENvb3Jk
aW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVBhCiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdl
KHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAg
ICBBU1NFUlQobV9hY3RpdmVTZXNzaW9uKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJj
b21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoKSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVM
RUFTRV9MT0coImNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSgpIik7CiAgICAgbV9jbGllbnQuY29t
cGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CiB9CiAKQEAgLTE3MCw3ICsx
NjgsNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihz
dGQ6Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aQogICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Np
b24pOwogCiAgICAgYm9vbCBpc0ZpbmFsU3RhdGUgPSBpc0ZpbmFsU3RhdGVSZXN1bHQocmVzdWx0
KTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb21wbGV0ZVBheW1lbnRTZXNzaW9uKCkg
KGlzRmluYWxTdGF0ZTogJWQpIiwgaXNGaW5hbFN0YXRlKTsKKyAgICBQQVlNRU5UX0NPT1JESU5B
VE9SX1JFTEVBU0VfTE9HKCJjb21wbGV0ZVBheW1lbnRTZXNzaW9uKCkgKGlzRmluYWxTdGF0ZTog
JWQpIiwgaXNGaW5hbFN0YXRlKTsKICAgICBtX2NsaWVudC5jb21wbGV0ZVBheW1lbnRTZXNzaW9u
KFdURk1vdmUocmVzdWx0KSk7CiAKICAgICBpZiAoIWlzRmluYWxTdGF0ZSkKQEAgLTE4Miw3ICsx
ODAsNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihz
dGQ6Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aQogdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6
OmFib3J0UGF5bWVudFNlc3Npb24oKQogewogICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Npb24pOwot
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImFib3J0UGF5bWVudFNlc3Npb24oKSIpOworICAg
IFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImFib3J0UGF5bWVudFNlc3Npb24oKSIp
OwogICAgIG1fY2xpZW50LmFib3J0UGF5bWVudFNlc3Npb24oKTsKICAgICBtX2FjdGl2ZVNlc3Np
b24gPSBudWxscHRyOwogfQpAQCAtMTkwLDcgKzE4OCw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5h
dG9yOjphYm9ydFBheW1lbnRTZXNzaW9uKCkKIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjYW5j
ZWxQYXltZW50U2Vzc2lvbigpCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlU2Vzc2lvbik7Ci0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY2FuY2VsUGF5bWVudFNlc3Npb24oKSIpOworICAgIFBB
WU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImNhbmNlbFBheW1lbnRTZXNzaW9uKCkiKTsK
ICAgICBtX2NsaWVudC5jYW5jZWxQYXltZW50U2Vzc2lvbigpOwogfQogCkBAIC0yMDEsNyArMTk5
LDcgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OnZhbGlkYXRlTWVyY2hhbnQoVVJMJiYgdmFs
aWRhdGlvblVSTCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoInZhbGlkYXRlTWVyY2hhbnQoKSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1Jf
UkVMRUFTRV9MT0coInZhbGlkYXRlTWVyY2hhbnQoKSIpOwogICAgIG1fYWN0aXZlU2Vzc2lvbi0+
dmFsaWRhdGVNZXJjaGFudChXVEZNb3ZlKHZhbGlkYXRpb25VUkwpKTsKIH0KIApAQCAtMjEyLDcg
KzIxMCw3IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpkaWRBdXRob3JpemVQYXltZW50KGNv
bnN0IFBheW1lbnQmIHBheW1lbnQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJkaWRBdXRob3JpemVQYXltZW50KCkiKTsKKyAgICBQQVlNRU5U
X0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJkaWRBdXRob3JpemVQYXltZW50KCkiKTsKICAgICBt
X2FjdGl2ZVNlc3Npb24tPmRpZEF1dGhvcml6ZVBheW1lbnQocGF5bWVudCk7CiB9CiAKQEAgLTIy
Myw3ICsyMjEsNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0UGF5bWVudE1l
dGhvZChjb25zdCBQYXltZW50TWV0aG9kJiBwYXltZW50TWV0aAogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkU2VsZWN0UGF5bWVudE1ldGhv
ZCgpIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygiZGlkU2VsZWN0UGF5
bWVudE1ldGhvZCgpIik7CiAgICAgbV9hY3RpdmVTZXNzaW9uLT5kaWRTZWxlY3RQYXltZW50TWV0
aG9kKHBheW1lbnRNZXRob2QpOwogfQogCkBAIC0yMzQsNyArMjMyLDcgQEAgdm9pZCBQYXltZW50
Q29vcmRpbmF0b3I6OmRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2hpcHBp
bmdNZXRob2QmIHMKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoImRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JE
SU5BVE9SX1JFTEVBU0VfTE9HKCJkaWRTZWxlY3RTaGlwcGluZ01ldGhvZCgpIik7CiAgICAgbV9h
Y3RpdmVTZXNzaW9uLT5kaWRTZWxlY3RTaGlwcGluZ01ldGhvZChzaGlwcGluZ01ldGhvZCk7CiB9
CiAKQEAgLTI0NSw3ICsyNDMsNyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0
U2hpcHBpbmdDb250YWN0KGNvbnN0IFBheW1lbnRDb250YWN0JiBzaGlwcGluZwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkU2VsZWN0U2hp
cHBpbmdDb250YWN0KCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJk
aWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoKSIpOwogICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkU2Vs
ZWN0U2hpcHBpbmdDb250YWN0KHNoaXBwaW5nQ29udGFjdCk7CiB9CiAKQEAgLTI1OCw3ICsyNTYs
NyBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcm
JiBjb3Vwb25Db2RlKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiZGlkQ2hhbmdlQ291cG9uQ29kZSgpIik7CisgICAgUEFZTUVOVF9DT09SRElO
QVRPUl9SRUxFQVNFX0xPRygiZGlkQ2hhbmdlQ291cG9uQ29kZSgpIik7CiAgICAgbV9hY3RpdmVT
ZXNzaW9uLT5kaWRDaGFuZ2VDb3Vwb25Db2RlKFdURk1vdmUoY291cG9uQ29kZSkpOwogfQogCkBA
IC0yNzEsNyArMjY5LDcgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRpZENhbmNlbFBheW1l
bnRTZXNzaW9uKFBheW1lbnRTZXNzaW9uRXJyb3ImJiBlcnJvcikKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZENhbmNlbFBheW1lbnRTZXNz
aW9uKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJkaWRDYW5jZWxQ
YXltZW50U2Vzc2lvbigpIik7CiAgICAgbV9hY3RpdmVTZXNzaW9uLT5kaWRDYW5jZWxQYXltZW50
U2Vzc2lvbihXVEZNb3ZlKGVycm9yKSk7CiAgICAgbV9hY3RpdmVTZXNzaW9uID0gbnVsbHB0cjsK
IH0KQEAgLTI5OCw3ICsyOTYsNyBAQCBib29sIFBheW1lbnRDb29yZGluYXRvcjo6c2hvdWxkRW5h
YmxlQXBwbGVQYXlBUElzKERvY3VtZW50JiBkb2N1bWVudCkgY29uc3QKICAgICB9KTsKIAogICAg
IGlmICghc2hvdWxkRW5hYmxlQVBJcykKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
c2hvdWxkRW5hYmxlQXBwbGVQYXlBUElzKCkgLT4gZmFsc2UgKHVzZXIgc2NyaXB0cykiKTsKKyAg
ICAgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygic2hvdWxkRW5hYmxlQXBwbGVQ
YXlBUElzKCkgLT4gZmFsc2UgKHVzZXIgc2NyaXB0cykiKTsKIAogICAgIHJldHVybiBzaG91bGRF
bmFibGVBUElzOwogfQpAQCAtMzExLDcgKzMwOSw3IEBAIGJvb2wgUGF5bWVudENvb3JkaW5hdG9y
OjpzZXRBcHBsZVBheUlzQWN0aXZlSWZBbGxvd2VkKERvY3VtZW50JiBkb2N1bWVudCkgY29uc3QK
IAogICAgIGlmICghc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSAmJiAoaGFzRXZhbHVhdGVk
VXNlckFnZW50U2NyaXB0cyB8fCBpc1J1bm5pbmdVc2VyU2NyaXB0cykpIHsKICAgICAgICAgQVNT
RVJUKCFkb2N1bWVudC5pc0FwcGxlUGF5QWN0aXZlKCkpOwotICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJzZXRBcHBsZVBheUlzQWN0aXZlSWZBbGxvd2VkKCkgLT4gZmFsc2UgKGhhc0V2
YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHM6ICVkLCBpc1J1bm5pbmdVc2VyU2NyaXB0czogJWQpIiwg
aGFzRXZhbHVhdGVkVXNlckFnZW50U2NyaXB0cywgaXNSdW5uaW5nVXNlclNjcmlwdHMpOworICAg
ICAgICBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HKCJzZXRBcHBsZVBheUlzQWN0aXZl
SWZBbGxvd2VkKCkgLT4gZmFsc2UgKGhhc0V2YWx1YXRlZFVzZXJBZ2VudFNjcmlwdHM6ICVkLCBp
c1J1bm5pbmdVc2VyU2NyaXB0czogJWQpIiwgaGFzRXZhbHVhdGVkVXNlckFnZW50U2NyaXB0cywg
aXNSdW5uaW5nVXNlclNjcmlwdHMpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBA
IC0zMjYsNDEgKzMyNCw0MSBAQCBFeHBlY3RlZDx2b2lkLCBFeGNlcHRpb25EZXRhaWxzPiBQYXlt
ZW50Q29vcmRpbmF0b3I6OnNob3VsZEFsbG93VXNlckFnZW50U2NyaXB0cwogCiAgICAgQVNTRVJU
KCFkb2N1bWVudC5oYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzKCkpOwogICAgIEFTU0VSVCgh
ZG9jdW1lbnQuaXNSdW5uaW5nVXNlclNjcmlwdHMoKSk7Ci0gICAgUkVMRUFTRV9MT0dfRVJST1Jf
SUZfQUxMT1dFRCgic2hvdWxkQWxsb3dVc2VyQWdlbnRTY3JpcHRzKCkgLT4gZmFsc2UgKGFjdGl2
ZSBzZXNzaW9uKSIpOworICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0dfRVJST1Io
InNob3VsZEFsbG93VXNlckFnZW50U2NyaXB0cygpIC0+IGZhbHNlIChhY3RpdmUgc2Vzc2lvbiki
KTsKICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoRXhjZXB0aW9uRGV0YWlscyB7IG1fY2xpZW50
LnVzZXJBZ2VudFNjcmlwdHNCbG9ja2VkRXJyb3JNZXNzYWdlKCkgfSk7CiB9CiAKIHZvaWQgUGF5
bWVudENvb3JkaW5hdG9yOjpnZXRTZXR1cEZlYXR1cmVzKGNvbnN0IEFwcGxlUGF5U2V0dXBDb25m
aWd1cmF0aW9uJiBjb25maWd1cmF0aW9uLCBjb25zdCBVUkwmIHVybCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChWZWN0b3I8UmVmPEFwcGxlUGF5U2V0dXBGZWF0dXJlPj4mJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZ2V0U2V0dXBGZWF0dXJl
cygpIik7CisgICAgUEFZTUVOVF9DT09SRElOQVRPUl9SRUxFQVNFX0xPRygiZ2V0U2V0dXBGZWF0
dXJlcygpIik7CiAgICAgbV9jbGllbnQuZ2V0U2V0dXBGZWF0dXJlcyhjb25maWd1cmF0aW9uLCB1
cmwsIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oVmVjdG9yPFJlZjxBcHBsZVBheVNldHVw
RmVhdHVyZT4+JiYgZmVhdHVyZXMpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJnZXRT
ZXR1cEZlYXR1cmVzKCkgY29tcGxldGVkIChmZWF0dXJlczogJXp1KSIsIGZlYXR1cmVzLnNpemUo
KSk7CisgICAgICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0coImdldFNldHVwRmVh
dHVyZXMoKSBjb21wbGV0ZWQgKGZlYXR1cmVzOiAlenUpIiwgZmVhdHVyZXMuc2l6ZSgpKTsKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZWF0dXJlcykpOwogICAgIH0pOwogfQog
CiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6YmVnaW5BcHBsZVBheVNldHVwKGNvbnN0IEFwcGxl
UGF5U2V0dXBDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uLCBjb25zdCBVUkwmIHVybCwgVmVj
dG9yPFJlZlB0cjxBcHBsZVBheVNldHVwRmVhdHVyZT4+JiYgZmVhdHVyZXMsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRCgiYmVnaW5BcHBsZVBheVNldHVwKCkiKTsKKyAgICBQQVlNRU5UX0NPT1JE
SU5BVE9SX1JFTEVBU0VfTE9HKCJiZWdpbkFwcGxlUGF5U2V0dXAoKSIpOwogICAgIG1fY2xpZW50
LmJlZ2luQXBwbGVQYXlTZXR1cChjb25maWd1cmF0aW9uLCB1cmwsIFdURk1vdmUoZmVhdHVyZXMp
LCBbdGhpcywgd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGJvb2wgc3VjY2VzcykgbXV0YWJsZSB7CiAg
ICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoImJlZ2luQXBwbGVQYXlTZXR1cCgpIGNvbXBsZXRlZCAoc3VjY2Vz
czogJWQpIiwgc3VjY2Vzcyk7CisgICAgICAgIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9M
T0coImJlZ2luQXBwbGVQYXlTZXR1cCgpIGNvbXBsZXRlZCAoc3VjY2VzczogJWQpIiwgc3VjY2Vz
cyk7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN1Y2Nlc3MpOwogICAgIH0pOwogfQogCiB2
b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZW5kQXBwbGVQYXlTZXR1cCgpCiB7Ci0gICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRCgiZW5kQXBwbGVQYXlTZXR1cCgpIik7CisgICAgUEFZTUVOVF9DT09S
RElOQVRPUl9SRUxFQVNFX0xPRygiZW5kQXBwbGVQYXlTZXR1cCgpIik7CiAgICAgbV9jbGllbnQu
ZW5kQXBwbGVQYXlTZXR1cCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSN1bmRl
ZiBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VECi0jdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRAorI3VuZGVmIFBBWU1FTlRfQ09PUkRJTkFUT1JfUkVMRUFTRV9MT0dfRVJST1IKKyN1bmRl
ZiBQQVlNRU5UX0NPT1JESU5BVE9SX1JFTEVBU0VfTE9HCiAKICNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5kZXggODcyN2UwZGE3MzVlOGNjM2FkNjliZjU0
YjAzN2Y2YzU4MWQ5YjE4Yi4uMDY4ZDllMmFhNmMxNzEyYTk3NTA4MDljYjYzM2RiMjZkZjNiMGJk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC03Miw4ICs3Miw2IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgaXNNb2NrUGF5bWVudENvb3JkaW5hdG9yKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNXZWJQYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogCi0gICAgdmlydHVhbCBib29sIGlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0KICAgICB2aXJ0dWFsIHZvaWQgZ2V0U2V0
dXBGZWF0dXJlcyhjb25zdCBBcHBsZVBheVNldHVwQ29uZmlndXJhdGlvbiYsIGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFJlZjxBcHBsZVBheVNldHVwRmVhdHVyZT4+
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5BcHBsZVBheVNldHVwKGNvbnN0IEFwcGxlUGF5U2V0dXBDb25m
aWd1cmF0aW9uJiwgY29uc3QgVVJMJiwgVmVjdG9yPFJlZlB0cjxBcHBsZVBheVNldHVwRmVhdHVy
ZT4+JiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
IHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9CiAgICAgdmlydHVhbCB2b2lkIGVuZEFwcGxl
UGF5U2V0dXAoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENv
b3JkaW5hdG9yLmgKaW5kZXggOWZkZjFhOGZiOWJmZDM0NTA2NGY2NjU4NDQ2NDBhNDQyOWU0NzZm
Yi4uZTM1YzMxYWVjZWYxN2UyZjBjNDg3MzQwMjdiYTZlYjljOTc1Y2NkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTExMiw4ICsx
MTIsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc01vY2tQYXltZW50Q29vcmRpbmF0b3IoKSBj
b25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICBib29sIGlzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLQogICAgIHZvaWQgZ2V0U2V0
dXBGZWF0dXJlcyhjb25zdCBBcHBsZVBheVNldHVwQ29uZmlndXJhdGlvbiYsIGNvbnN0IFVSTCYs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFJlZjxBcHBsZVBheVNldHVwRmVhdHVyZT4+
JiYpPiYmKSBmaW5hbDsKICAgICB2b2lkIGJlZ2luQXBwbGVQYXlTZXR1cChjb25zdCBBcHBsZVBh
eVNldHVwQ29uZmlndXJhdGlvbiYsIGNvbnN0IFVSTCYsIFZlY3RvcjxSZWZQdHI8QXBwbGVQYXlT
ZXR1cEZlYXR1cmU+PiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBmaW5hbDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCBmNGZiMjcxYWIxNmVjZjIzNmUzNmU0MGVkOGYz
NTMwMDQxOGY2MWZkLi4yYjA4MGM5MTNiZmI1MGQ0NzY5YzI1ZjQ4MGU2MDk5NmI2NDNkMTNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMTU3LDExICsxNTcsNiBAQCB2b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6cGF5bWVudENvb3JkaW5hdG9yRGVzdHJveWVkKCkKICAgICBkZWxldGUg
dGhpczsKIH0KIAotYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmlzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fd2ViUGFnZS5pc0Fsd2F5c09uTG9nZ2lu
Z0FsbG93ZWQoKTsKLX0KLQogYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVW5y
ZXN0cmljdGVkQXBwbGVQYXkoKSBjb25zdAogewogI2lmIEVOQUJMRShBUFBMRV9QQVlfUkVNT1RF
X1VJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvci5oCmluZGV4IDQyYjNmZjdmZGNhYTc4YTc1OTI3NTgwZGYyODM5
Y2U4YzdhYTZjZDAuLjExNTFhODBmMDQwODQ5MTk1YzFjNmY3NzE3NWJmNTNkMmJiZGI5NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5
bWVudENvb3JkaW5hdG9yLmgKQEAgLTgwLDcgKzgwLDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wg
aXNXZWJQYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CiAKLSAgICBib29sIGlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBheSgpIGNvbnN0IG92ZXJyaWRlOwog
CiAgICAgU3RyaW5nIHVzZXJBZ2VudFNjcmlwdHNCbG9ja2VkRXJyb3JNZXNzYWdlKCkgY29uc3Qg
ZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDFmMmFjMzljNmYxNmIyNTc1NDUyM2IyYmIwZjg3ZDZlNzA1OTQ2YTcuLjNiMDgxMTc3MzQz
ZDQ3MWQwZjc5MmE5NGMwMzVkM2JhMTcyN2Q1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zODcsOSArMzg3LDggQEAgc3RhdGljIGNvbnN0
IFNlY29uZHMgcGFnZVNjcm9sbEh5c3RlcmVzaXNEdXJhdGlvbiB7IDMwMF9tcyB9Owogc3RhdGlj
IGNvbnN0IFNlY29uZHMgaW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgeyAyMF9t
cyB9Owogc3RhdGljIGNvbnN0IFNlY29uZHMgbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50
ZXJ2YWwgeyAyX3MgfTsKIAotI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKLSNkZWZpbmUg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYo
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFt3ZWJQYWdlSUQ9JSIg
UFJJdTY0ICJdIFdlYlBhZ2U6OiIgZm10LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwg
IyNfX1ZBX0FSR1NfXykKLSNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChjaGFu
bmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0dfRVJST1JfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxv
d2VkKCksIGNoYW5uZWwsICIlcCAtIFt3ZWJQYWdlSUQ9JSIgUFJJdTY0ICJdIFdlYlBhZ2U6OiIg
Zm10LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSwgIyNfX1ZBX0FSR1NfXykKKyNkZWZp
bmUgV0VCUEFHRV9SRUxFQVNFX0xPRyhjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0coY2hh
bm5lbCwgIiVwIC0gW3dlYlBhZ2VJRD0lIiBQUkl1NjQgIl0gV2ViUGFnZTo6IiBmbXQsIHRoaXMs
IG1faWRlbnRpZmllci50b1VJbnQ2NCgpLCAjI19fVkFfQVJHU19fKQorI2RlZmluZSBXRUJQQUdF
X1JFTEVBU0VfTE9HX0VSUk9SKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUihj
aGFubmVsLCAiJXAgLSBbd2ViUGFnZUlEPSUiIFBSSXU2NCAiXSBXZWJQYWdlOjoiIGZtdCwgdGhp
cywgbV9pZGVudGlmaWVyLnRvVUludDY0KCksICMjX19WQV9BUkdTX18pCiAKIGNsYXNzIFNlbmRT
dG9wUmVzcG9uc2l2ZW5lc3NUaW1lciB7CiBwdWJsaWM6CkBAIC04NTcsNyArODU2LDcgQEAgV2Vi
UGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmJiBwYXJhbWV0ZXJzKQogICAgIG1fY29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlv
biA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFsSG9zdGluZ1Byb2Nlc3Mo
ewogICAgICAgICBtX2NhblNob3dXaGlsZUxvY2tlZAogICAgIH0pOwotICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoUHJvY2VzcywgIldlYlBhZ2U6IENyZWF0ZWQgY29udGV4dCB3aXRoIElEICV1
IGZvciB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIGZyb20gVUlQcm9jZXNzIiwgbV9jb250ZXh0Rm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uLT5jb250ZXh0SUQoKSk7CisgICAgV0VCUEFHRV9SRUxFQVNF
X0xPRyhQcm9jZXNzLCAiV2ViUGFnZTogQ3JlYXRlZCBjb250ZXh0IHdpdGggSUQgJXUgZm9yIHZp
c2liaWxpdHkgcHJvcGFnYXRpb24gZnJvbSBVSVByb2Nlc3MiLCBtX2NvbnRleHRGb3JWaXNpYmls
aXR5UHJvcGFnYXRpb24tPmNvbnRleHRJRCgpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRpZENyZWF0ZUNvbnRleHRJbldlYlByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24obV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uLT5jb250ZXh0SUQoKSkpOwogI2Vu
ZGlmIC8vIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogCkBAIC0xNDgxLDcgKzE0
ODAsNyBAQCB2b2lkIFdlYlBhZ2U6OmNsb3NlKCkKICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiY2xvc2U6
Iik7CisgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAiY2xvc2U6Iik7CiAKICAgICBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5j
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OkNsZWFyUGFnZVNwZWNpZmljRGF0YShtX2lkZW50aWZpZXIpLCAwKTsKIApAQCAtMjc0NCw3ICsy
NzQzLDcgQEAgdm9pZCBXZWJQYWdlOjpmcmVlemVMYXllclRyZWUoTGF5ZXJUcmVlRnJlZXplUmVh
c29uIHJlYXNvbikKICAgICBhdXRvIG9sZFJlYXNvbnMgPSBtX2xheWVyVHJlZUZyZWV6ZVJlYXNv
bnMudG9SYXcoKTsKICAgICBVTlVTRURfUEFSQU0ob2xkUmVhc29ucyk7CiAgICAgbV9sYXllclRy
ZWVGcmVlemVSZWFzb25zLmFkZChyZWFzb24pOwotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
UHJvY2Vzc1N1c3BlbnNpb24sICJmcmVlemVMYXllclRyZWU6IEFkZGluZyBhIHJlYXNvbiB0byBm
cmVlemUgbGF5ZXIgdHJlZSAocmVhc29uPSVkLCBuZXc9JWQsIG9sZD0lZCkiLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4ocmVhc29uKSwgbV9sYXllclRyZWVGcmVlemVSZWFzb25zLnRvUmF3KCksIG9s
ZFJlYXNvbnMpOworICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNpb24sICJm
cmVlemVMYXllclRyZWU6IEFkZGluZyBhIHJlYXNvbiB0byBmcmVlemUgbGF5ZXIgdHJlZSAocmVh
c29uPSVkLCBuZXc9JWQsIG9sZD0lZCkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmVhc29uKSwg
bV9sYXllclRyZWVGcmVlemVSZWFzb25zLnRvUmF3KCksIG9sZFJlYXNvbnMpOwogICAgIHVwZGF0
ZURyYXdpbmdBcmVhTGF5ZXJUcmVlRnJlZXplU3RhdGUoKTsKIH0KIApAQCAtMjc1Myw3ICsyNzUy
LDcgQEAgdm9pZCBXZWJQYWdlOjp1bmZyZWV6ZUxheWVyVHJlZShMYXllclRyZWVGcmVlemVSZWFz
b24gcmVhc29uKQogICAgIGF1dG8gb2xkUmVhc29ucyA9IG1fbGF5ZXJUcmVlRnJlZXplUmVhc29u
cy50b1JhdygpOwogICAgIFVOVVNFRF9QQVJBTShvbGRSZWFzb25zKTsKICAgICBtX2xheWVyVHJl
ZUZyZWV6ZVJlYXNvbnMucmVtb3ZlKHJlYXNvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RChQcm9jZXNzU3VzcGVuc2lvbiwgInVuZnJlZXplTGF5ZXJUcmVlOiBSZW1vdmluZyBhIHJlYXNv
biB0byBmcmVlemUgbGF5ZXIgdHJlZSAocmVhc29uPSVkLCBuZXc9JWQsIG9sZD0lZCkiLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4ocmVhc29uKSwgbV9sYXllclRyZWVGcmVlemVSZWFzb25zLnRvUmF3
KCksIG9sZFJlYXNvbnMpOworICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coUHJvY2Vzc1N1c3BlbnNp
b24sICJ1bmZyZWV6ZUxheWVyVHJlZTogUmVtb3ZpbmcgYSByZWFzb24gdG8gZnJlZXplIGxheWVy
IHRyZWUgKHJlYXNvbj0lZCwgbmV3PSVkLCBvbGQ9JWQpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KHJlYXNvbiksIG1fbGF5ZXJUcmVlRnJlZXplUmVhc29ucy50b1JhdygpLCBvbGRSZWFzb25zKTsK
ICAgICB1cGRhdGVEcmF3aW5nQXJlYUxheWVyVHJlZUZyZWV6ZVN0YXRlKCk7CiB9CiAKQEAgLTI3
ODgsMTQgKzI3ODcsMTQgQEAgdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVk
KCkKICAgICBpZiAoZGlkU3VjY2VlZCB8fCBuZXdJbnRlcnZhbCA+IG1heGltdW1MYXllclZvbGF0
aWxpdHlUaW1lckludGVydmFsKSB7CiAgICAgICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXIuc3Rv
cCgpOwogICAgICAgICBpZiAoZGlkU3VjY2VlZCkKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQoTGF5ZXJzLCAibGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZDogU3VjY2VlZGVkIGlu
IG1hcmtpbmcgbGF5ZXJzIGFzIHZvbGF0aWxlIik7CisgICAgICAgICAgICBXRUJQQUdFX1JFTEVB
U0VfTE9HKExheWVycywgImxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQ6IFN1Y2NlZWRlZCBpbiBt
YXJraW5nIGxheWVycyBhcyB2b2xhdGlsZSIpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKExheWVycywgImxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQ6
IEZhaWxlZCB0byBtYXJrIGxheWVycyBhcyB2b2xhdGlsZSB3aXRoaW4gJWdtcyIsIG1heGltdW1M
YXllclZvbGF0aWxpdHlUaW1lckludGVydmFsLm1pbGxpc2Vjb25kcygpKTsKKyAgICAgICAgICAg
IFdFQlBBR0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAibGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZDog
RmFpbGVkIHRvIG1hcmsgbGF5ZXJzIGFzIHZvbGF0aWxlIHdpdGhpbiAlZ21zIiwgbWF4aW11bUxh
eWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwogICAgICAgICBjYWxs
Vm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycyhkaWRTdWNjZWVkKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoTGF5ZXJzLCAibGF5
ZXJWb2xhdGlsaXR5VGltZXJGaXJlZDogRmFpbGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xh
dGlsZSwgd2lsbCByZXRyeSBpbiAlZyBtcyIsIG5ld0ludGVydmFsLm1pbGxpc2Vjb25kcygpKTsK
KyAgICBXRUJQQUdFX1JFTEVBU0VfTE9HX0VSUk9SKExheWVycywgImxheWVyVm9sYXRpbGl0eVRp
bWVyRmlyZWQ6IEZhaWxlZCB0byBtYXJrIGFsbCBsYXllcnMgYXMgdm9sYXRpbGUsIHdpbGwgcmV0
cnkgaW4gJWcgbXMiLCBuZXdJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CiAgICAgbV9sYXllclZv
bGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyhuZXdJbnRlcnZhbCk7CiB9CiAKQEAgLTI4MDYs
NyArMjgwNSw3IEBAIGJvb2wgV2ViUGFnZTo6bWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJ
ZlBvc3NpYmxlKCkKIAogdm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGUoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKExheWVycywgIm1hcmtMYXllcnNWb2xhdGlsZToiKTsKKyAgICBXRUJQ
QUdFX1JFTEVBU0VfTE9HKExheWVycywgIm1hcmtMYXllcnNWb2xhdGlsZToiKTsKIAogICAgIGlm
IChtX2xheWVyVm9sYXRpbGl0eVRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fbGF5ZXJWb2xh
dGlsaXR5VGltZXIuc3RvcCgpOwpAQCAtMjgxNywyMiArMjgxNiwyMiBAQCB2b2lkIFdlYlBhZ2U6
Om1hcmtMYXllcnNWb2xhdGlsZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbAogICAgIGJvb2wgZGlkU3VjY2VlZCA9IG1hcmtMYXllcnNWb2xhdGlsZUltbWVk
aWF0ZWx5SWZQb3NzaWJsZSgpOwogICAgIGlmIChkaWRTdWNjZWVkIHx8IG1faXNTdXNwZW5kZWRV
bmRlckxvY2spIHsKICAgICAgICAgaWYgKGRpZFN1Y2NlZWQpCi0gICAgICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKExheWVycywgIm1hcmtMYXllcnNWb2xhdGlsZTogU3VjY2Vzc2Z1bGx5
IG1hcmtlZCBsYXllcnMgYXMgdm9sYXRpbGUiKTsKKyAgICAgICAgICAgIFdFQlBBR0VfUkVMRUFT
RV9MT0coTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0aWxlOiBTdWNjZXNzZnVsbHkgbWFya2VkIGxh
eWVycyBhcyB2b2xhdGlsZSIpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIC8vIElmIHdl
IGdldCBzdXNwZW5kZWQgd2hlbiBsb2NraW5nIHRoZSBzY3JlZW4sIGl0IGlzIGV4cGVjdGVkIHRo
YXQgc29tZSBJT1N1cmZhY2VzIGNhbm5vdCBiZSBtYXJrZWQgYXMgcHVyZ2VhYmxlIHNvIHdlIGRv
IG5vdCBrZWVwIHJldHJ5aW5nLgotICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChM
YXllcnMsICJtYXJrTGF5ZXJzVm9sYXRpbGU6IERpZCB3aGF0IHdlIGNvdWxkIHRvIG1hcmsgSU9T
dXJmYWNlcyBhcyBwdXJnZWFibGUgYWZ0ZXIgbG9ja2luZyB0aGUgc2NyZWVuIik7CisgICAgICAg
ICAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExheWVycywgIm1hcmtMYXllcnNWb2xhdGlsZTogRGlk
IHdoYXQgd2UgY291bGQgdG8gbWFyayBJT1N1cmZhY2VzIGFzIHB1cmdlYWJsZSBhZnRlciBsb2Nr
aW5nIHRoZSBzY3JlZW4iKTsKICAgICAgICAgfQogICAgICAgICBjYWxsVm9sYXRpbGl0eUNvbXBs
ZXRpb25IYW5kbGVycyhkaWRTdWNjZWVkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0aWxlOiBGYWls
ZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVnIG1zIiwg
aW5pdGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOworICAg
IFdFQlBBR0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAibWFya0xheWVyc1ZvbGF0aWxlOiBGYWlsZWQg
dG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxlLCB3aWxsIHJldHJ5IGluICVnIG1zIiwgaW5p
dGlhbExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwubWlsbGlzZWNvbmRzKCkpOwogICAgIG1f
bGF5ZXJWb2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcoaW5pdGlhbExheWVyVm9sYXRpbGl0
eVRpbWVySW50ZXJ2YWwpOwogfQogCiB2b2lkIFdlYlBhZ2U6OmNhbmNlbE1hcmtMYXllcnNWb2xh
dGlsZSgpCiB7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMYXllcnMsICJjYW5jZWxNYXJr
TGF5ZXJzVm9sYXRpbGU6Iik7CisgICAgV0VCUEFHRV9SRUxFQVNFX0xPRyhMYXllcnMsICJjYW5j
ZWxNYXJrTGF5ZXJzVm9sYXRpbGU6Iik7CiAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdG9w
KCk7CiAgICAgY2FsbFZvbGF0aWxpdHlDb21wbGV0aW9uSGFuZGxlcnMoZmFsc2UpOwogfQpAQCAt
MzE4Miw3ICszMTgxLDcgQEAgdm9pZCBXZWJQYWdlOjp0b3VjaEV2ZW50U3luYyhjb25zdCBXZWJU
b3VjaEV2ZW50JiB0b3VjaEV2ZW50LCBDb21wbGV0aW9uSGFuZGxlcjwKIHsKICAgICAvLyBBdm9p
ZCBVSVByb2Nlc3MgaGFuZ3Mgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0dWNrIG9u
IGEgc3luYyBJUEMuCiAgICAgaWYgKElQQzo6VW5ib3VuZGVkU3luY2hyb25vdXNJUENTY29wZTo6
aGFzT25nb2luZ1VuYm91bmRlZFN5bmNJUEMoKSkgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJP
Ul9JRl9BTExPV0VEKFByb2Nlc3MsICJ0b3VjaEV2ZW50U3luYzogTm90IHByb2Nlc3NpbmcgYmVj
YXVzZSB0aGUgcHJvY2VzcyBpcyBzdHVjayBvbiB1bmJvdW5kZWQgc3luYyBJUEMiKTsKKyAgICAg
ICAgV0VCUEFHRV9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAidG91Y2hFdmVudFN5bmM6IE5v
dCBwcm9jZXNzaW5nIGJlY2F1c2UgdGhlIHByb2Nlc3MgaXMgc3R1Y2sgb24gdW5ib3VuZGVkIHN5
bmMgSVBDIik7CiAgICAgICAgIHJldHVybiByZXBseSh0cnVlKTsKICAgICB9CiAKQEAgLTM0OTcs
NyArMzQ5Niw3IEBAIHZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lCiAgICAgY29uc3VtZU5ldHdvcmtF
eHRlbnNpb25TYW5kYm94RXh0ZW5zaW9ucyhuZXR3b3JrRXh0ZW5zaW9uc0hhbmRsZXMpOwogCiAg
ICAgV2ViRnJhbWUqIGZyYW1lID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoZnJh
bWVJRCk7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAiZGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uOiBwb2xpY3lBY3Rpb249JXUgLSBmcmFtZUlEPSVsbHUgLSB3ZWJGcmFtZT0l
cCAtIG1haW5GcmFtZT0lZCIsICh1bnNpZ25lZClwb2xpY3lEZWNpc2lvbi5wb2xpY3lBY3Rpb24s
IGZyYW1lSUQudG9VSW50NjQoKSwgZnJhbWUsIGZyYW1lID8gZnJhbWUtPmlzTWFpbkZyYW1lKCkg
OiAwKTsKKyAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExvYWRpbmcsICJkaWRSZWNlaXZlUG9saWN5
RGVjaXNpb246IHBvbGljeUFjdGlvbj0ldSAtIGZyYW1lSUQ9JWxsdSAtIHdlYkZyYW1lPSVwIC0g
bWFpbkZyYW1lPSVkIiwgKHVuc2lnbmVkKXBvbGljeURlY2lzaW9uLnBvbGljeUFjdGlvbiwgZnJh
bWVJRC50b1VJbnQ2NCgpLCBmcmFtZSwgZnJhbWUgPyBmcmFtZS0+aXNNYWluRnJhbWUoKSA6IDAp
OwogCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzU2MSw3ICszNTYwLDcg
QEAgdm9pZCBXZWJQYWdlOjpzaG93KCkKIAogdm9pZCBXZWJQYWdlOjpzZXRJc1Rha2luZ1NuYXBz
aG90c0ZvckFwcGxpY2F0aW9uU3VzcGVuc2lvbihib29sIGlzVGFraW5nU25hcHNob3RzRm9yQXBw
bGljYXRpb25TdXNwZW5zaW9uKQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUmVzaXpl
LCAic2V0SXNUYWtpbmdTbmFwc2hvdHNGb3JBcHBsaWNhdGlvblN1c3BlbnNpb24oJWQpIiwgaXNU
YWtpbmdTbmFwc2hvdHNGb3JBcHBsaWNhdGlvblN1c3BlbnNpb24pOworICAgIFdFQlBBR0VfUkVM
RUFTRV9MT0coUmVzaXplLCAic2V0SXNUYWtpbmdTbmFwc2hvdHNGb3JBcHBsaWNhdGlvblN1c3Bl
bnNpb24oJWQpIiwgaXNUYWtpbmdTbmFwc2hvdHNGb3JBcHBsaWNhdGlvblN1c3BlbnNpb24pOwog
CiAgICAgaWYgKG1fcGFnZSkKICAgICAgICAgbV9wYWdlLT5zZXRJc1Rha2luZ1NuYXBzaG90c0Zv
ckFwcGxpY2F0aW9uU3VzcGVuc2lvbihpc1Rha2luZ1NuYXBzaG90c0ZvckFwcGxpY2F0aW9uU3Vz
cGVuc2lvbik7CkBAIC0zNjA3LDcgKzM2MDYsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlc3VtZUFjdGl2
ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCkKIAogdm9pZCBXZWJQYWdlOjpzdXNwZW5kKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRChMb2FkaW5nLCAic3VzcGVuZDogbV9wYWdlPSVwIiwgbV9wYWdl
LmdldCgpKTsKKyAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExvYWRpbmcsICJzdXNwZW5kOiBtX3Bh
Z2U9JXAiLCBtX3BhZ2UuZ2V0KCkpOwogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4g
Y29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogCkBAIC0zNjIyLDcgKzM2MjEsNyBAQCB2b2lkIFdl
YlBhZ2U6OnN1c3BlbmQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIAogdm9pZCBXZWJQYWdlOjpyZXN1bWUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KExvYWRpbmcsICJyZXN1bWU6IG1fcGFnZT0lcCIsIG1fcGFnZS5nZXQoKSk7CisgICAgV0VCUEFH
RV9SRUxFQVNFX0xPRyhMb2FkaW5nLCAicmVzdW1lOiBtX3BhZ2U9JXAiLCBtX3BhZ2UuZ2V0KCkp
OwogICAgIGlmICghbV9wYWdlKQogICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOwogCkBAIC0zNjkxLDcgKzM2OTAsNyBAQCB2b2lkIFdlYlBhZ2U6OnJ1bkphdmFTY3JpcHQo
V2ViRnJhbWUqIGZyYW1lLCBSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmIHBhcmFtZXRlcgogICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0sIEV4Y2VwdGlvbkRldGFpbHMgeyAiVW5hYmxlIHRv
IGV4ZWN1dGUgSmF2YVNjcmlwdCBpbiBhIGZyYW1lIHRoYXQgaXMgbm90IGluIGFuIGFwcC1ib3Vu
ZCBkb21haW4iX3MsIDAsIDAsIEV4Y2VwdGlvbkRldGFpbHM6OlR5cGU6OkFwcEJvdW5kRG9tYWlu
IH0pOwogICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLmRv
Y3VtZW50KCkpCiAgICAgICAgICAgICBkb2N1bWVudC0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIklnbm9yaW5nIHVzZXIg
c2NyaXB0IGluamVjdGlvbiBmb3Igbm9uLWFwcCBib3VuZCBkb21haW4uIik7Ci0gICAgICAgIFJF
TEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoTG9hZGluZywgInJ1bkphdmFTY3JpcHQ6IElnbm9y
aW5nIHVzZXIgc2NyaXB0IGluamVjdGlvbiBmb3Igbm9uIGFwcC1ib3VuZCBkb21haW4iKTsKKyAg
ICAgICAgV0VCUEFHRV9SRUxFQVNFX0xPR19FUlJPUihMb2FkaW5nLCAicnVuSmF2YVNjcmlwdDog
SWdub3JpbmcgdXNlciBzY3JpcHQgaW5qZWN0aW9uIGZvciBub24gYXBwLWJvdW5kIGRvbWFpbiIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmCkBAIC0zNzE5LDcgKzM3MTgsNyBAQCB2
b2lkIFdlYlBhZ2U6OnJ1bkphdmFTY3JpcHQoV2ViRnJhbWUqIGZyYW1lLCBSdW5KYXZhU2NyaXB0
UGFyYW1ldGVycyYmIHBhcmFtZXRlcgogCiB2b2lkIFdlYlBhZ2U6OnJ1bkphdmFTY3JpcHRJbkZy
YW1lSW5TY3JpcHRXb3JsZChSdW5KYXZhU2NyaXB0UGFyYW1ldGVycyYmIHBhcmFtZXRlcnMsIHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlELCBjb25zdCBzdGQ6
OnBhaXI8Q29udGVudFdvcmxkSWRlbnRpZmllciwgU3RyaW5nPiYgd29ybGREYXRhLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGV0YWlscz4mKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3MsICJydW5KYXZhU2NyaXB0SW5G
cmFtZUluU2NyaXB0V29ybGQ6IGZyYW1lSUQ9JSIgUFJJdTY0LCBmcmFtZUlELnZhbHVlX29yKFdl
YkNvcmU6OkZyYW1lSWRlbnRpZmllciB7IH0pLnRvVUludDY0KCkpOworICAgIFdFQlBBR0VfUkVM
RUFTRV9MT0coUHJvY2VzcywgInJ1bkphdmFTY3JpcHRJbkZyYW1lSW5TY3JpcHRXb3JsZDogZnJh
bWVJRD0lIiBQUkl1NjQsIGZyYW1lSUQudmFsdWVfb3IoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
IHsgfSkudG9VSW50NjQoKSk7CiAgICAgYXV0byB3ZWJGcmFtZSA9IG1ha2VSZWZQdHIoZnJhbWVJ
RCA/IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKCpmcmFtZUlEKSA6ICZtYWluV2Vi
RnJhbWUoKSk7CiAKICAgICBpZiAoYXV0byogbmV3V29ybGQgPSBtX3VzZXJDb250ZW50Q29udHJv
bGxlci0+YWRkQ29udGVudFdvcmxkKHdvcmxkRGF0YSkpIHsKQEAgLTM3MzAsOSArMzcyOSw5IEBA
IHZvaWQgV2ViUGFnZTo6cnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxkKFJ1bkphdmFT
Y3JpcHRQYXJhbWV0ZXJzJiYgcGFyYW1lCiAKICAgICBydW5KYXZhU2NyaXB0KHdlYkZyYW1lLmdl
dCgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCB3b3JsZERhdGEuZmlyc3QsIFt0aGlzLCBwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVzdWx0LCBjb25zdCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRldGFpbHM+JiBleGNlcHRpb24pIG11dGFi
bGUgewogICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1JfSUZfQUxMT1dFRChQcm9jZXNzLCAicnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlwdFdvcmxk
OiBSZXF1ZXN0IHRvIHJ1biBKYXZhU2NyaXB0IGZhaWxlZCB3aXRoIGVycm9yICV7cHJpdmF0ZX1z
IiwgZXhjZXB0aW9uLT5tZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAgV0VCUEFH
RV9SRUxFQVNFX0xPR19FUlJPUihQcm9jZXNzLCAicnVuSmF2YVNjcmlwdEluRnJhbWVJblNjcmlw
dFdvcmxkOiBSZXF1ZXN0IHRvIHJ1biBKYXZhU2NyaXB0IGZhaWxlZCB3aXRoIGVycm9yICV7cHJp
dmF0ZX1zIiwgZXhjZXB0aW9uLT5tZXNzYWdlLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3MsICJydW5KYXZhU2Ny
aXB0SW5GcmFtZUluU2NyaXB0V29ybGQ6IFJlcXVlc3QgdG8gcnVuIEphdmFTY3JpcHQgc3VjY2Vl
ZGVkIik7CisgICAgICAgICAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKFByb2Nlc3MsICJydW5KYXZh
U2NyaXB0SW5GcmFtZUluU2NyaXB0V29ybGQ6IFJlcXVlc3QgdG8gcnVuIEphdmFTY3JpcHQgc3Vj
Y2VlZGVkIik7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCwgZXhjZXB0aW9uKTsK
ICAgICB9KTsKIH0KQEAgLTM5MDUsNyArMzkwNCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJl
ZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICNpZiAhUExBVEZP
Uk0oR1RLKSAmJiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oUExBWVNUQVRJT04pCiAgICAg
aWYgKCFzZXR0aW5ncy5hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpKSB7Ci0gICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTGF5ZXJzLCAidXBkYXRlUHJlZmVyZW5jZXM6IGFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkIHNldHRpbmcgd2FzIGZhbHNlLiBXZWJLaXQgY2Fubm90
IGZ1bmN0aW9uIGluIHRoaXMgbW9kZTsgY2hhbmdpbmcgc2V0dGluZyB0byB0cnVlIik7CisgICAg
ICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAidXBkYXRlUHJlZmVyZW5jZXM6IGFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkIHNldHRpbmcgd2FzIGZhbHNlLiBXZWJLaXQgY2Fubm90
IGZ1bmN0aW9uIGluIHRoaXMgbW9kZTsgY2hhbmdpbmcgc2V0dGluZyB0byB0cnVlIik7CiAgICAg
ICAgIHNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOwogICAg
IH0KICNlbmRpZgpAQCAtNDQzNywxMSArNDQzNiw2IEBAIHZvaWQgV2ViUGFnZTo6cmVtb3ZlV2Vi
RWRpdENvbW1hbmQoV2ViVW5kb1N0ZXBJRCBzdGVwSUQpCiAgICAgICAgIHVuZG9TdGVwLT5kaWRS
ZW1vdmVGcm9tVW5kb01hbmFnZXIoKTsKIH0KIAotYm9vbCBXZWJQYWdlOjppc0Fsd2F5c09uTG9n
Z2luZ0FsbG93ZWQoKSBjb25zdAotewotICAgIHJldHVybiBjb3JlUGFnZSgpICYmIGNvcmVQYWdl
KCktPmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpOwotfQotCiB2b2lkIFdlYlBhZ2U6OnVuYXBw
bHlFZGl0Q29tbWFuZChXZWJVbmRvU3RlcElEIHN0ZXBJRCkKIHsKICAgICBhdXRvKiBzdGVwID0g
d2ViVW5kb1N0ZXAoc3RlcElEKTsKQEAgLTY4NjEsNyArNjg1NSw3IEBAIHZvaWQgV2ViUGFnZTo6
c3RvcEFsbFVSTFNjaGVtZVRhc2tzKCkKIAogdm9pZCBXZWJQYWdlOjpyZWdpc3RlclVSTFNjaGVt
ZUhhbmRsZXIodWludDY0X3QgaGFuZGxlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc2NoZW1l
KQogewotICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2VzcywgInJlZ2lzdGVyVVJMU2No
ZW1lSGFuZGxlcjogUmVnaXN0ZXJlZCBoYW5kbGVyICUiIFBSSXU2NCAiIGZvciB0aGUgJyVzJyBz
Y2hlbWUiLCBoYW5kbGVySWRlbnRpZmllciwgc2NoZW1lLnV0ZjgoKS5kYXRhKCkpOworICAgIFdF
QlBBR0VfUkVMRUFTRV9MT0coUHJvY2VzcywgInJlZ2lzdGVyVVJMU2NoZW1lSGFuZGxlcjogUmVn
aXN0ZXJlZCBoYW5kbGVyICUiIFBSSXU2NCAiIGZvciB0aGUgJyVzJyBzY2hlbWUiLCBoYW5kbGVy
SWRlbnRpZmllciwgc2NoZW1lLnV0ZjgoKS5kYXRhKCkpOwogICAgIFdlYkNvcmU6OkxlZ2FjeVNj
aGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzSGFuZGxlZEJ5U2NoZW1lSGFuZGxlcihz
Y2hlbWUpOwogICAgIFdlYkNvcmU6OkxlZ2FjeVNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNj
aGVtZUFzQ09SU0VuYWJsZWQoc2NoZW1lKTsKICAgICBhdXRvIHNjaGVtZVJlc3VsdCA9IG1fc2No
ZW1lVG9VUkxTY2hlbWVIYW5kbGVyUHJveHlNYXAuYWRkKHNjaGVtZSwgV2ViVVJMU2NoZW1lSGFu
ZGxlclByb3h5OjpjcmVhdGUoKnRoaXMsIGhhbmRsZXJJZGVudGlmaWVyKSk7CkBAIC03NjY1LDUg
Kzc2NTksNSBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29u
c3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mIGluZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAotI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKLSN1bmRlZiBSRUxFQVNFX0xPR19F
UlJPUl9JRl9BTExPV0VECisjdW5kZWYgV0VCUEFHRV9SRUxFQVNFX0xPRworI3VuZGVmIFdFQlBB
R0VfUkVMRUFTRV9MT0dfRVJST1IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCA0ZmU4YjU4ZGEzNzU1YzViZWNmYTEwZjkyOWY1NWU0Nzc0NDRiZGI5Li4y
ZDY2MDVjM2JlYzk4ZDdhN2JhNTc2MTEyNGZjZTAxODQwNjAyNmQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00NjYsNyArNDY2LDYgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVtb3ZlV2ViRWRpdENvbW1hbmQoV2ViVW5kb1N0ZXBJRCk7CiAgICAgYm9v
bCBpc0luUmVkbygpIGNvbnN0IHsgcmV0dXJuIG1faXNJblJlZG87IH0KIAotICAgIGJvb2wgaXNB
bHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmVQb3B1cE1l
bnUoV2ViUG9wdXBNZW51Kik7CiAKICAgICB2b2lkIHNldEhpZGRlblBhZ2VET01UaW1lclRocm90
dGxpbmdJbmNyZWFzZUxpbWl0KFNlY29uZHMgbGltaXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDRkMjY2ZWUyNzUwOTVj
OWZlYTkxYWNmYjQ5OTU0YmY1MmVmZDY2NTIuLmE1ZDkzMWVmZWFhMGQ5MDhkYTBiN2NkZTE4OTIy
ZTA1OTIyMGQ4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0xNTUsOCArMTU1LDggQEAKICNpbXBvcnQgPFdlYkNvcmUv
UHJvbWlzZWRBdHRhY2htZW50SW5mby5oPgogI2VuZGlmCiAKLSNkZWZpbmUgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYoaXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFdlYlBhZ2U6OiIgZm10LCB0aGlzLCAjI19f
VkFfQVJHU19fKQotI2RlZmluZSBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGNoYW5uZWws
IGZtdCwgLi4uKSBSRUxFQVNFX0xPR19FUlJPUl9JRihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
KSwgY2hhbm5lbCwgIiVwIC0gV2ViUGFnZTo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCisj
ZGVmaW5lIFdFQlBBR0VfUkVMRUFTRV9MT0coY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVBU0VfTE9H
KGNoYW5uZWwsICIlcCAtIFdlYlBhZ2U6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorI2Rl
ZmluZSBXRUJQQUdFX1JFTEVBU0VfTE9HX0VSUk9SKGNoYW5uZWwsIGZtdCwgLi4uKSBSRUxFQVNF
X0xPR19FUlJPUihjaGFubmVsLCAiJXAgLSBXZWJQYWdlOjoiIGZtdCwgdGhpcywgIyNfX1ZBX0FS
R1NfXykKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTI2NzAsNyArMjY3MCw3IEBAIHZvaWQg
V2ViUGFnZTo6Z2V0UG9zaXRpb25JbmZvcm1hdGlvbihjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0
aW9uUmVxdWVzdCYgcmVxdWVzCiB7CiAgICAgLy8gQXZvaWQgVUlQcm9jZXNzIGhhbmdzIHdoZW4g
dGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcyBzdHVjayBvbiBhIHN5bmMgSVBDLgogICAgIGlmIChJ
UEM6OlVuYm91bmRlZFN5bmNocm9ub3VzSVBDU2NvcGU6Omhhc09uZ29pbmdVbmJvdW5kZWRTeW5j
SVBDKCkpIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChQcm9jZXNzLCAi
Z2V0UG9zaXRpb25JbmZvcm1hdGlvbiAtIE5vdCBwcm9jZXNzaW5nIGJlY2F1c2UgdGhlIHByb2Nl
c3MgaXMgc3R1Y2sgb24gdW5ib3VuZGVkIHN5bmMgSVBDIik7CisgICAgICAgIFdFQlBBR0VfUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2VzcywgImdldFBvc2l0aW9uSW5mb3JtYXRpb24gLSBOb3QgcHJv
Y2Vzc2luZyBiZWNhdXNlIHRoZSBwcm9jZXNzIGlzIHN0dWNrIG9uIHVuYm91bmRlZCBzeW5jIElQ
QyIpOwogICAgICAgICByZXR1cm4gcmVwbHkoeyB9KTsKICAgICB9CiAKQEAgLTQ2OTksNyArNDY5
OSw3IEBAIHZvaWQgV2ViUGFnZTo6cGxhdGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSgpCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRAot
I3VuZGVmIFJFTEVBU0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQKKyN1bmRlZiBXRUJQQUdFX1JFTEVB
U0VfTE9HCisjdW5kZWYgV0VCUEFHRV9SRUxFQVNFX0xPR19FUlJPUgogCiAjZW5kaWYgLy8gUExB
VEZPUk0oSU9TX0ZBTUlMWSkK
</data>
<flag name="commit-queue"
          id="452773"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>