<?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>233619</bug_id>
          
          <creation_ts>2021-11-29 21:58:56 -0800</creation_ts>
          <short_desc>[WebGPU] Hook up navigator.gpu.requestAdapter()</short_desc>
          <delta_ts>2021-12-02 15:38:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGPU</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233600</dependson>
          <blocked>233622</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1818600</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-29 21:58:56 -0800</bug_when>
    <thetext>Hook up navigator.gpu.requestAdapter()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818602</commentid>
    <comment_count>1</comment_count>
      <attachid>445381</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-29 22:12:53 -0800</bug_when>
    <thetext>Created attachment 445381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818604</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-29 22:19:24 -0800</bug_when>
    <thetext>*** Bug 233534 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818620</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-29 23:29:31 -0800</bug_when>
    <thetext>With this patch, we have enough for the first function call !!! v.excited</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818624</commentid>
    <comment_count>4</comment_count>
      <attachid>445381</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-29 23:42:59 -0800</bug_when>
    <thetext>Comment on attachment 445381
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=445381&amp;action=review

&gt; Source/WebCore/page/WorkerNavigator.cpp:51
&gt; +    // FIXME: Implement this.

https://bugs.webkit.org/show_bug.cgi?id=233622</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818927</commentid>
    <comment_count>5</comment_count>
      <attachid>445468</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-11-30 13:57:44 -0800</bug_when>
    <thetext>Created attachment 445468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819877</commentid>
    <comment_count>6</comment_count>
      <attachid>445468</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-02 14:58:34 -0800</bug_when>
    <thetext>Comment on attachment 445468
Patch

Can we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819882</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-12-02 15:00:39 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #6)
&gt; Comment on attachment 445468 [details]
&gt; Patch
&gt; 
&gt; Can we test this?

We can! But Apple has to get its internal build system set up first. As soon as that happens I&apos;ll add the test.

Yay!!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819902</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-02 15:37:26 -0800</bug_when>
    <thetext>Committed r286459 (244800@main): &lt;https://commits.webkit.org/244800@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445468.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819903</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-02 15:38:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/85992595&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445381</attachid>
            <date>2021-11-29 22:12:53 -0800</date>
            <delta_ts>2021-11-30 13:57:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>35073</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDRhNGE2YTgzZTlmZmNmMzhhZDk0ZmE5ZjA2MDRlZmMyNDYwOTQxZWEKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBNb24gTm92IDI5
IDIyOjEyOjE3IDIwMjEgLTA4MDAKCiAgICBIb29rIGl0IHVwCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA4N2JmZGVlYjhmNWIu
LmEyOWU5Njg3M2I0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIEhvb2sg
dXAgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0QWRhcHRlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDogQ3JlYXRlIGEg
SEFWRSgpIG1hY3JvLCBieSBkZWZhdWx0IG9mZi4gQXMgd2UgYnJpbmcKKyAgICAgICAgbW9yZSBp
bmZyYXN0cnVjdHVyZSBvbmxpbmUsIHRoaXMgd2lsbCBldmVudHVhbGx5IGZsaXAgdG8gb24uCisK
IDIwMjEtMTEtMjkgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBEaXNhYmxlIGV4cGVyaW1lbnRhbCB3ZWIgZmVhdHVyZXMgb24gcGxhdGZvcm1zIHdpdGhvdXQg
VUkgdG8gZW5hYmxlIHRoZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggODNiZDRlZDI5NzdmLi4y
YTY5MzA4NjZjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0xMTExLDYgKzExMTEsMTAgQEAK
ICNkZWZpbmUgSEFWRV9TQ0VORUtJVCAxCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQor
I2RlZmluZSBIQVZFX1dFQkdQVV9JTVBMRU1FTlRBVElPTiAwCisjZW5kaWYKKwogI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQog
I2RlZmluZSBIQVZFX1VOSUZJRURfU1BFRUNIU1lOVEhFU0lTX0ZJWF9GT1JfODE0NjUxNjQgMQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzY0OTE3ZjI4NWYzLi5kZTI1ZTNjZjBiNjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0NyBAQAorMjAyMS0xMS0yOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIEhvb2sgdXAgbmF2aWdhdG9yLmdw
dS5yZXF1ZXN0QWRhcHRlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzM2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBIb29rIHVwIE5hdmlnYXRvci5HUFUgdG8gV2ViS2l0TGVnYWN5L1dlYktpdCAo
dmlhIENocm9tZUNsaWVudCkgc28gV2ViS2l0IGNhbiBwcm92aWRlIGEKKyAgICAgICAgUmVtb3Rl
R1BVUHJveHkgImJhY2tpbmciIG9iamVjdC4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dl
YkNvcmUueGNjb25maWc6IFdlYWsgbGluayB3aXRoIFdlYkdQVS5mcmFtZXdvcmsuIFRoaXMgd2ls
bAorICAgICAgICBzdWNjZWVkIGV2ZW4gaWYgV2ViR1BVLmZyYW1ld29yayBkb2Vzbid0IGV4aXN0
LgorICAgICAgICAqIE1vZHVsZXMvV2ViR1BVL0dQVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFU6OnNldEJhY2tpbmcpOiBUaGlzIGlzIGZvciBXb3JrZXJOYXZpZ2F0b3IuIFRvIGNyZWF0ZSBh
IEdQVSBvYmplY3QsIHdlIGhhdmUgdG8KKyAgICAgICAgZ28gdGhyb3VnaCBDaHJvbWVDbGllbnQs
IHdoaWNoIG1lYW5zIHdlIGhhdmUgdG8gdXNlIHRoZSBtYWluIHRocmVhZC4gVGhpcyBtZWFucyB0
aGF0IGNyZWF0aW5nCisgICAgICAgIHRoZSBHUFUgb2JqZWN0IGhhcyB0byBiZSBhc3luY2hyb25v
dXMgb24gd29ya2Vycy4gV2UgaGFuZGxlIHRoaXMgYnkgaGF2aW5nCisgICAgICAgIFdvcmtlck5h
dmlnYXRvcjo6Z3B1KCkgcmV0dXJuIGEgc2hlbGwgb2JqZWN0IHdpdGggbm8gImJhY2tpbmcsIiBh
bmQgYXN5bmNocm9ub3VzbHkga2ljayBvZmYgYQorICAgICAgICB0YXNrIHRvIGNvbnN0cnVjdCBh
IGJhY2tpbmcgb2JqZWN0IGFuZCBjb25uZWN0IGl0IHRvIHRoZSBzaGVsbCBvYmplY3QuIElmIGNv
bnRlbnQgY2FsbHMKKyAgICAgICAgcmVxdWVzdEFkYXB0ZXIoKSBvbiB0aGUgc2hlbGwsIHRoYXQg
ZnVuY3Rpb24gaXMgYWxyZWFkeSBhc3luYywgc28gd2UganVzdCBmb2xkIGluIHRoZSB3YWl0IGZv
cgorICAgICAgICB0aGUgYmFja2luZyBpbnRvIHRoZSBhbHJlYWR5LWV4aXN0aW5nIHdhaXQgd2Ug
aGF2ZSB0byBkbyBhcyBhIG1hdHRlciBvZiBjb3Vyc2UuIFRoaXMgaW1wbGVtZW50cworICAgICAg
ICB0aGF0LgorICAgICAgICAoV2ViQ29yZTo6R1BVOjpyZXF1ZXN0QWRhcHRlcik6CisgICAgICAg
ICogTW9kdWxlcy9XZWJHUFUvR1BVLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFU6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpHUFU6OmJhY2tpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6R1BVOjpiYWNraW5nIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdQ
VTo6R1BVKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpwb3BFcnJvclNjb3BlKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6OmNyZWF0ZUdQVUZv
cldlYkdQVSBjb25zdCk6IEFzayBXZWJLaXQgLyBXZWJLaXRMZWdhY3kgd2hhdCBraW5kIG9mIGJh
Y2tpbmcgd2UKKyAgICAgICAgc2hvdWxkIGJlIHVzaW5nLgorICAgICAgICAqIHBhZ2UvQ2hyb21l
Lmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZUNsaWVudDo6Y3JlYXRlR1BVRm9yV2ViR1BVIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL05h
dmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OmdwdSk6CisgICAgICAg
ICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvckJhc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckJhc2U6OmdwdSk6IERlbGV0ZWQuCisgICAgICAgICog
cGFnZS9Xb3JrZXJOYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTmF2aWdh
dG9yOjpncHUpOgorICAgICAgICAqIHBhZ2UvV29ya2VyTmF2aWdhdG9yLmg6CisKIDIwMjEtMTEt
MjkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUnVu
IGtleWJvYXJkLWFuaW1hdGVkIHNjcm9sbHMgb24gdGhlIHNjcm9sbGluZyB0aHJlYWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCmluZGV4IGI4YmE0
YzZhNjRhZC4uNmNlZjI0NDdkMDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL1dlYkNvcmUueGNjb25maWcKQEAgLTczLDYgKzczLDggQEAgVU5FWFBPUlRFRF9TWU1CT0xT
X0ZJTEUgPSBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnVuZXhwOwogCiBXS19BTkdMRV9MREZMQUdT
ID0gLXdlYWstbEFOR0xFLXNoYXJlZDsKIAorV0tfV0VCR1BVX0xERkxBR1MgPSAtd2Vha19mcmFt
ZXdvcmsgV2ViR1BVOworCiBXS19BUFBLSVRfTERGTEFHUyA9ICQoV0tfQVBQS0lUX0xERkxBR1Nf
JChXS19QTEFURk9STV9OQU1FKSk7CiBXS19BUFBLSVRfTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3
b3JrIEFwcEtpdDsKIFdLX0FQUEtJVF9MREZMQUdTX21hY2NhdGFseXN0ID0gLWZyYW1ld29yayBB
cHBLaXQ7CkBAIC0xMzAsNyArMTMyLDcgQEAgV0tfU0NFTkVLSVRfTERGTEFHUyA9ICQoV0tfU0NF
TkVLSVRfTERGTEFHU18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIFdLX1NDRU5FS0lUX0xERkxBR1Nf
bWFjb3N4ID0gLXdlYWtfZnJhbWV3b3JrIFNjZW5lS2l0OwogCiAvLyBGSVhNRTogUmVkdWNlIHRo
ZSBudW1iZXIgb2YgYWxsb3dhYmxlX2NsaWVudHMgPHJkYXI6Ly9wcm9ibGVtLzMxODIzOTY5Pgot
T1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKFdLX1JFTE9DQVRBQkxFX0ZSQU1FV09SS19M
REZMQUdTKSAtbHNxbGl0ZTMgLWxvYmpjIC1hbGxvd2FibGVfY2xpZW50IFdlYkNvcmVUZXN0U3Vw
cG9ydCAtYWxsb3dhYmxlX2NsaWVudCBXZWJLaXRMZWdhY3kgLWZvcmNlX2xvYWQgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL2xpYlBBTC5hIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29y
ZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1l
d29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSU9TdXJmYWNlIC1mcmFtZXdvcmsgSW1hZ2VJTyAt
ZnJhbWV3b3JrIE1ldGFsICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8kKFdLX0NPQ09BX1RPVUNI
KSkgJChPVEhFUl9MREZMQUdTX1BMQVRGT1JNXyQoV0tfUExBVEZPUk1fTkFNRSkpICQoV0tfQU5H
TEVfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19BUFBTVVBQT1JUX0xERkxBR1Mp
ICQoV0tfQVVESU9fVU5JVF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVf
VUlfTERGTEFHUykgJChXS19EQVRBX0RFVEVDVE9SU19DT1JFX0xERkxBR1MpICQoV0tfR1JBUEhJ
Q1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZBQ0VfQUNDRUxFUkFUT1JfTERGTEFHUykg
JChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdT
KSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfTkVUV09SS19FWFRFTlNJT05fTERf
RkxBR1MpICQoV0tfU1lTVEVNX0NPTkZJR1VSQVRJT05fTERGTEFHUykgJChXS19DT1JFX0lNQUdF
X0xERkxBR1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUykgJChXS19TQ0VORUtJVF9MREZM
QUdTKTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChXS19SRUxPQ0FUQUJMRV9GUkFN
RVdPUktfTERGTEFHUykgLWxzcWxpdGUzIC1sb2JqYyAtYWxsb3dhYmxlX2NsaWVudCBXZWJDb3Jl
VGVzdFN1cHBvcnQgLWFsbG93YWJsZV9jbGllbnQgV2ViS2l0TGVnYWN5IC1mb3JjZV9sb2FkICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9saWJQQUwuYSAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0
IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIElPU3VyZmFjZSAtZnJhbWV3b3JrIElt
YWdlSU8gLWZyYW1ld29yayBNZXRhbCAkKE9USEVSX0xERkxBR1NfUExBVEZPUk1fJChXS19DT0NP
QV9UT1VDSCkpICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8kKFdLX1BMQVRGT1JNX05BTUUpKSAk
KFdLX0FOR0xFX0xERkxBR1MpICQoV0tfV0VCR1BVX0xERkxBR1MpICQoV0tfQVBQS0lUX0xERkxB
R1MpICQoV0tfQVBQU1VQUE9SVF9MREZMQUdTKSAkKFdLX0FVRElPX1VOSVRfTERGTEFHUykgJChX
S19DQVJCT05fTERGTEFHUykgJChXS19DT1JFX1VJX0xERkxBR1MpICQoV0tfREFUQV9ERVRFQ1RP
UlNfQ09SRV9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9T
VVJGQUNFX0FDQ0VMRVJBVE9SX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1MpICQoV0tf
TU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9MREZMQUdT
KSAkKFdLX05FVFdPUktfRVhURU5TSU9OX0xEX0ZMQUdTKSAkKFdLX1NZU1RFTV9DT05GSUdVUkFU
SU9OX0xERkxBR1MpICQoV0tfQ09SRV9JTUFHRV9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5H
X0xERkxBR1MpICQoV0tfU0NFTkVLSVRfTERGTEFHUyk7CiAKIE9USEVSX0xERkxBR1NfUExBVEZP
Uk1fY29jb2F0b3VjaCA9IC1hbGxvd2FibGVfY2xpZW50IFdlYktpdCAtYWxsb3dhYmxlX2NsaWVu
dCBpVHVuZXNVIC1hbGxvd2FibGVfY2xpZW50IENhc2FibGFuY2EgLWFsbG93YWJsZV9jbGllbnQg
UmVtb3RlIC1hbGxvd2FibGVfY2xpZW50IFRWQm9va3MgLWFsbG93YWJsZV9jbGllbnQgRHVtcFJl
bmRlclRyZWUgLWFsbG93YWJsZV9jbGllbnQgV2ViS2l0VGVzdFJ1bm5lciAtYWxsb3dhYmxlX2Ns
aWVudCBUZXN0V2ViS2l0QVBJOwogT1RIRVJfTERGTEFHU19QTEFURk9STV9tYWNvc3ggPSAtc3Vi
X2xpYnJhcnkgbGlib2JqYyAtdW1icmVsbGEgV2ViS2l0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2Vi
R1BVL0dQVS5jcHAKaW5kZXggMjYxM2YyZjc4OTRmLi4xNjhkMzM3NGNmNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9XZWJHUFUvR1BVLmNwcApAQCAtMzgsMTEgKzM4LDI3IEBAIHN0YXRpYyBQQUw6
OldlYkdQVTo6UmVxdWVzdEFkYXB0ZXJPcHRpb25zIGNvbnZlcnRUb0JhY2tpbmcoY29uc3Qgc3Rk
OjpvcHRpb25hbDxHCiAgICAgcmV0dXJuIG9wdGlvbnMtPmNvbnZlcnRUb0JhY2tpbmcoKTsKIH0K
IAordm9pZCBHUFU6OnNldEJhY2tpbmcoUEFMOjpXZWJHUFU6OkdQVSYgYmFja2luZykKK3sKKyAg
ICBtX2JhY2tpbmcgPSAmYmFja2luZzsKKyAgICB3aGlsZSAoIW1fcGVuZGluZ1JlcXVlc3RBZGFw
dGVyQXJndW1lbnRzLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIGFyZ3VtZW50cyA9IG1fcGVu
ZGluZ1JlcXVlc3RBZGFwdGVyQXJndW1lbnRzLnRha2VGaXJzdCgpOworICAgICAgICByZXF1ZXN0
QWRhcHRlcihhcmd1bWVudHMub3B0aW9ucywgV1RGTW92ZShhcmd1bWVudHMucHJvbWlzZSkpOwor
ICAgIH0KK30KKwogdm9pZCBHUFU6OnJlcXVlc3RBZGFwdGVyKGNvbnN0IHN0ZDo6b3B0aW9uYWw8
R1BVUmVxdWVzdEFkYXB0ZXJPcHRpb25zPiYgb3B0aW9ucywgUmVxdWVzdEFkYXB0ZXJQcm9taXNl
JiYgcHJvbWlzZSkKIHsKKyAgICBpZiAoIW1fYmFja2luZykgeworICAgICAgICBtX3BlbmRpbmdS
ZXF1ZXN0QWRhcHRlckFyZ3VtZW50cy5hcHBlbmQoeyBvcHRpb25zLCBXVEZNb3ZlKHByb21pc2Up
IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbV9iYWNraW5nLT5yZXF1ZXN0QWRh
cHRlcihjb252ZXJ0VG9CYWNraW5nKG9wdGlvbnMpLCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldIChSZWZQdHI8UEFMOjpXZWJHUFU6OkFkYXB0ZXI+JiYgYWRhcHRlcikgbXV0YWJsZSB7Ci0g
ICAgICAgIGlmICghYWRhcHRlcikKLSAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShudWxscHRy
KTsKKyAgICAgICAgaWYgKCFhZGFwdGVyKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChu
dWxscHRyKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBwcm9taXNl
LnJlc29sdmUoR1BVQWRhcHRlcjo6Y3JlYXRlKGFkYXB0ZXIucmVsZWFzZU5vbk51bGwoKSkucHRy
KCkpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJH
UFUvR1BVLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFUuaAppbmRleCAxNmU0
Nzc0YjMxYzguLmQzMDRlOGU4ZjdhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9XZWJHUFUvR1BVLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmgK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2lu
Y2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHBhbC9ncmFwaGljcy9XZWJHUFUvV2ViR1BVLmg+
CisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTM3LDI0ICszOCwyNSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEdQVSA6IHB1YmxpYyBSZWZDb3VudGVkPEdQVT4gewogcHVibGljOgotICAg
IHN0YXRpYyBSZWY8R1BVPiBjcmVhdGUoUmVmPFBBTDo6V2ViR1BVOjpHUFU+JiYgYmFja2luZykK
KyAgICBzdGF0aWMgUmVmPEdQVT4gY3JlYXRlKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEdQVShXVEZNb3ZlKGJhY2tpbmcpKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEdQVSgpKTsKICAgICB9CiAKICAgICB1c2luZyBSZXF1ZXN0QWRhcHRlclByb21pc2Ug
PSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPEdQVUFkYXB0ZXI+
Pj47CiAgICAgdm9pZCByZXF1ZXN0QWRhcHRlcihjb25zdCBzdGQ6Om9wdGlvbmFsPEdQVVJlcXVl
c3RBZGFwdGVyT3B0aW9ucz4mLCBSZXF1ZXN0QWRhcHRlclByb21pc2UmJik7CiAKLSAgICBQQUw6
OldlYkdQVTo6R1BVJiBiYWNraW5nKCkgeyByZXR1cm4gbV9iYWNraW5nOyB9Ci0gICAgY29uc3Qg
UEFMOjpXZWJHUFU6OkdQVSYgYmFja2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2luZzsgfQor
ICAgIHZvaWQgc2V0QmFja2luZyhQQUw6OldlYkdQVTo6R1BVJik7CiAKIHByaXZhdGU6Ci0gICAg
R1BVKFJlZjxQQUw6OldlYkdQVTo6R1BVPiYmIGJhY2tpbmcpCi0gICAgICAgIDogbV9iYWNraW5n
KFdURk1vdmUoYmFja2luZykpCi0gICAgewotICAgIH0KLQotICAgIFJlZjxQQUw6OldlYkdQVTo6
R1BVPiBtX2JhY2tpbmc7CisgICAgR1BVKCkgPSBkZWZhdWx0OworCisgICAgc3RydWN0IFBlbmRp
bmdSZXF1ZXN0QWRhcHRlckFyZ3VtZW50cyB7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8R1BVUmVx
dWVzdEFkYXB0ZXJPcHRpb25zPiBvcHRpb25zOworICAgICAgICBSZXF1ZXN0QWRhcHRlclByb21p
c2UgcHJvbWlzZTsKKyAgICB9OworICAgIERlcXVlPFBlbmRpbmdSZXF1ZXN0QWRhcHRlckFyZ3Vt
ZW50cz4gbV9wZW5kaW5nUmVxdWVzdEFkYXB0ZXJBcmd1bWVudHM7CisgICAgUmVmUHRyPFBBTDo6
V2ViR1BVOjpHUFU+IG1fYmFja2luZzsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvV2ViR1BVL0dQVURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L1dlYkdQVS9HUFVEZXZpY2UuY3BwCmluZGV4IDdiODczMjNmNTRkOC4uYzA0NTUyMzY5M2Q2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVURldmljZS5jcHAKQEAgLTIwNCw4
ICsyMDQsMTAgQEAgdm9pZCBHUFVEZXZpY2U6OnB1c2hFcnJvclNjb3BlKEdQVUVycm9yRmlsdGVy
IGVycm9yRmlsdGVyKQogdm9pZCBHUFVEZXZpY2U6OnBvcEVycm9yU2NvcGUoRXJyb3JTY29wZVBy
b21pc2UmJiBlcnJvclNjb3BlUHJvbWlzZSkKIHsKICAgICBtX2JhY2tpbmctPnBvcEVycm9yU2Nv
cGUoW3Byb21pc2UgPSBXVEZNb3ZlKGVycm9yU2NvcGVQcm9taXNlKV0gKHN0ZDo6b3B0aW9uYWw8
UEFMOjpXZWJHUFU6OkVycm9yPiYmIGVycm9yKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCFlcnJv
cikKKyAgICAgICAgaWYgKCFlcnJvcikgewogICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKHN0
ZDo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KICAgICAgICAgV1RG
Ojpzd2l0Y2hPbihXVEZNb3ZlKCplcnJvciksIFsmXSAoUmVmPFBBTDo6V2ViR1BVOjpPdXRPZk1l
bW9yeUVycm9yPiYmIG91dE9mTWVtb3J5RXJyb3IpIHsKICAgICAgICAgICAgIEdQVUVycm9yIGVy
cm9yID0gUmVmUHRyPEdQVU91dE9mTWVtb3J5RXJyb3I+KEdQVU91dE9mTWVtb3J5RXJyb3I6OmNy
ZWF0ZShXVEZNb3ZlKG91dE9mTWVtb3J5RXJyb3IpKSk7CiAgICAgICAgICAgICBwcm9taXNlLnJl
c29sdmUoZXJyb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IGMxM2Y2Y2Y5ZDZlMS4uMjJi
MDBkZDk0ZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC01NDYsNiArNTQ2LDExIEBAIFJl
ZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gQ2hyb21lOjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTChj
b25zdCBHcmFwaGljc0NvbnRleHRHCiB9CiAjZW5kaWYKIAorUmVmUHRyPFBBTDo6V2ViR1BVOjpH
UFU+IENocm9tZTo6Y3JlYXRlR1BVRm9yV2ViR1BVKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9j
bGllbnQuY3JlYXRlR1BVRm9yV2ViR1BVKCk7Cit9CisKIFBsYXRmb3JtRGlzcGxheUlEIENocm9t
ZTo6ZGlzcGxheUlEKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYWdlLmRpc3BsYXlJRCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmgKaW5kZXggMzcyMTgyZmVjNjIwLi4xMjQzOWMxMGNjM2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuaApAQCAtMzIsNiArMzIsMTAgQEAKIE9CSkNfQ0xBU1MgTlNWaWV3OwogI2VuZGlm
CiAKK25hbWVzcGFjZSBQQUw6OldlYkdQVSB7CitjbGFzcyBHUFU7Cit9CisKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQ2hyb21lQ2xpZW50OwpAQCAtOTEsNiArOTUsOCBAQCBwdWJsaWM6
CiAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBjcmVhdGVHcmFwaGljc0NvbnRleHRHTChj
b25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmKSBjb25zdCBvdmVycmlkZTsKICNlbmRp
ZgogCisgICAgUmVmUHRyPFBBTDo6V2ViR1BVOjpHUFU+IGNyZWF0ZUdQVUZvcldlYkdQVSgpIGNv
bnN0OworCiAgICAgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIHN0ZDo6
b3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCmluZGV4IDEzNTllOTlmZjE1MS4uODM3MDU3NDUxODY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKQEAgLTUyLDYgKzUyLDcgQEAKICNpbmNsdWRlICJTZWFyY2hQb3B1
cE1lbnUuaCIKICNpbmNsdWRlICJXZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KKyNpbmNsdWRlIDxwYWwvZ3JhcGhpY3MvV2Vi
R1BVL1dlYkdQVS5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTM2MCw2
ICszNjEsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+
IGNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRl
cyYgYXR0cmlidXRlcywgV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IHsgcmV0dXJu
IGNyZWF0ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsgfQogI2VuZGlm
CiAKKyAgICB2aXJ0dWFsIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBjcmVhdGVHUFVGb3JXZWJH
UFUoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisKICAgICAvLyBQYXNzIG51bGxwdHIgYXMg
dGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KICAgICB2aXJ0dWFs
IHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKikgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdyYXBoaWNzTGF5ZXIoR3JhcGhp
Y3NMYXllciopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRleCA2ZjE5YjJlYjNi
ZTQuLmY1YmQ0YjBhNmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNp
bmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIkdQVS5oIgogI2luY2x1ZGUg
Ikdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNs
dWRlICJMb2FkZXJTdHJhdGVneS5oIgpAQCAtMzQ3LDQgKzM0OCwyNCBAQCB2b2lkIE5hdmlnYXRv
cjo6Z2V0U3RvcmFnZVVwZGF0ZXMoKQogewogfQogCitHUFUqIE5hdmlnYXRvcjo6Z3B1KCkKK3sK
KyAgICBpZiAoIW1fZ3B1Rm9yV2ViR1BVKSB7CisgICAgICAgIGF1dG8qIGZyYW1lID0gdGhpcy0+
ZnJhbWUoKTsKKyAgICAgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICBhdXRvKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKKyAgICAgICAgaWYgKCFwYWdl
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8gZ3B1ID0gcGFnZS0+
Y2hyb21lKCkuY3JlYXRlR1BVRm9yV2ViR1BVKCk7CisgICAgICAgIGlmICghZ3B1KQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgbV9ncHVGb3JXZWJHUFUgPSBHUFU6OmNy
ZWF0ZSgpOworICAgICAgICBtX2dwdUZvcldlYkdQVS0+c2V0QmFja2luZygqZ3B1KTsKKyAgICB9
CisKKyAgICByZXR1cm4gbV9ncHVGb3JXZWJHUFUuZ2V0KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCmluZGV4IGJkZDA0NjQ3YmQyOC4uYmFjNDli
MzQxMWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKQEAgLTY0LDYgKzY0LDggQEAgcHVibGlj
OgogICAgIGludCBtYXhUb3VjaFBvaW50cygpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICNlbmRpZgog
CisgICAgR1BVKiBncHUoKTsKKwogcHJpdmF0ZToKICAgICB2b2lkIHNob3dTaGFyZURhdGEoRXhj
ZXB0aW9uT3I8U2hhcmVEYXRhV2l0aFBhcnNlZFVSTCY+LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKICAgICBleHBsaWNpdCBOYXZpZ2F0b3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIERPTVdp
bmRvdyYpOwpAQCAtNzYsNSArNzgsNiBAQCBwcml2YXRlOgogICAgIG11dGFibGUgUmVmUHRyPERP
TU1pbWVUeXBlQXJyYXk+IG1fbWltZVR5cGVzOwogICAgIG11dGFibGUgU3RyaW5nIG1fdXNlckFn
ZW50OwogICAgIG11dGFibGUgU3RyaW5nIG1fcGxhdGZvcm07CisgICAgUmVmUHRyPEdQVT4gbV9n
cHVGb3JXZWJHUFU7CiB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuaAppbmRleCBi
NTEyMmE0YmRhZTMuLmQ1Y2I1NmUzMzdhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNl
LmgKQEAgLTYzLDcgKzYzLDYgQEAgcHVibGljOgogCiAgICAgU3RvcmFnZU1hbmFnZXImIHN0b3Jh
Z2UoKTsKICAgICBXZWJMb2NrTWFuYWdlciYgbG9ja3MoKTsKLSAgICBHUFUmIGdwdSgpIHsgcmV0
dXJuICptX2dwdUZvcldlYkdQVTsgfTsKIAogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IE5hdmln
YXRvckJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpAQCAtNzEsNyArNzAsNiBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIFJlZlB0cjxTdG9yYWdlTWFuYWdlcj4gbV9zdG9yYWdlTWFu
YWdlcjsKICAgICBSZWZQdHI8V2ViTG9ja01hbmFnZXI+IG1fd2ViTG9ja01hbmFnZXI7Ci0gICAg
UmVmUHRyPEdQVT4gbV9ncHVGb3JXZWJHUFU7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5jcHAKaW5kZXggNTVk
ZTAwNGIwMDA0Li40YjZhZDkzYTI4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
V29ya2VyTmF2aWdhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmln
YXRvci5jcHAKQEAgLTQ2LDQgKzQ2LDEwIEBAIGJvb2wgV29ya2VyTmF2aWdhdG9yOjpvbkxpbmUo
KSBjb25zdAogICAgIHJldHVybiBtX2lzT25saW5lOwogfQogCitHUFUqIFdvcmtlck5hdmlnYXRv
cjo6Z3B1KCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtl
ck5hdmlnYXRvci5oCmluZGV4IDQ1ZWNmNjZjN2QyMC4uZTA3NTQzN2RiYmFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmgKQEAgLTM5LDYgKzM5LDggQEAgcHVibGljOgogICAg
IGJvb2wgb25MaW5lKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRJc09ubGluZShib29sIGlz
T25saW5lKSB7IG1faXNPbmxpbmUgPSBpc09ubGluZTsgfQogCisgICAgR1BVKiBncHUoKTsKKwog
cHJpdmF0ZToKICAgICBleHBsaWNpdCBXb3JrZXJOYXZpZ2F0b3IoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYsIGNvbnN0IFN0cmluZyYsIGJvb2wgaXNPbmxpbmUpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViR1BVL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IDQ2NWJl
MzRlOGNjYi4uMjk1NmM3MWJlYzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTEx
LTI5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAg
W1dlYkdQVV0gSG9vayB1cCBuYXZpZ2F0b3IuZ3B1LnJlcXVlc3RBZGFwdGVyKCkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzYxOQorCisgICAgICAg
IEp1c3QgaG9vayB1cCBlbm91Z2ggZm9yIEluc3RhbmNlOjpyZXF1ZXN0QWRhcHRlcigpIHRvIG5v
dCBmYWlsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViR1BVL0FkYXB0ZXIubW06CisgICAgICAgIChXZWJHUFU6OkFkYXB0ZXI6OmdldExpbWl0
cyk6CisgICAgICAgICogV2ViR1BVL0luc3RhbmNlLm1tOgorICAgICAgICAoV2ViR1BVOjpJbnN0
YW5jZTo6cmVxdWVzdEFkYXB0ZXIpOgorICAgICAgICAod2dwdUNyZWF0ZUluc3RhbmNlKToKKyAg
ICAgICAgKHdncHVJbnN0YW5jZVJlcXVlc3RBZGFwdGVyKToKKwogMjAyMS0xMS0yOSAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIE1h
a2UgV2ViR1BVLmZyYW1ld29yaydzIGNsYXNzZXMgcmVmZXJlbmNlIGNvdW50ZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0FkYXB0ZXIubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQ
VS9BZGFwdGVyLm1tCmluZGV4IDQwNmMzM2JmN2M3Mi4uZWUxYmIyOGUyN2UwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2Vi
R1BVL0FkYXB0ZXIubW0KQEAgLTM5LDcgKzM5LDcgQEAgQWRhcHRlcjo6fkFkYXB0ZXIoKSA9IGRl
ZmF1bHQ7CiBib29sIEFkYXB0ZXI6OmdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1p
dHMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGxpbWl0cyk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiB0cnVlOwogfQogCiB2b2lkIEFkYXB0ZXI6OmdldFByb3BlcnRpZXMoV0dQVUFkYXB0
ZXJQcm9wZXJ0aWVzKiBwcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvSW5zdGFuY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQppbmRleCA5
Mzc3Zjg1MTA1MzYuLjUwMmJlNDc5YjFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJH
UFUvSW5zdGFuY2UubW0KKysrIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5zdGFuY2UubW0KQEAg
LTUyLDYgKzUyLDcgQEAgdm9pZCBJbnN0YW5jZTo6cmVxdWVzdEFkYXB0ZXIoY29uc3QgV0dQVVJl
cXVlc3RBZGFwdGVyT3B0aW9ucyogb3B0aW9ucywgV1RGOjpGdW4KIHsKICAgICBVTlVTRURfUEFS
QU0ob3B0aW9ucyk7CiAgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyAgICBjYWxsYmFjayhX
R1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXNfVW5hdmFpbGFibGUsIEFkYXB0ZXI6OmNyZWF0ZSgpLCAi
QWRhcHRlciIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJHUFUKQEAgLTY0LDcgKzY1LDcgQEAg
dm9pZCB3Z3B1SW5zdGFuY2VSZWxlYXNlKFdHUFVJbnN0YW5jZSBpbnN0YW5jZSkKIFdHUFVJbnN0
YW5jZSB3Z3B1Q3JlYXRlSW5zdGFuY2UoY29uc3QgV0dQVUluc3RhbmNlRGVzY3JpcHRvciogZGVz
Y3JpcHRvcikKIHsKICAgICBVTlVTRURfUEFSQU0oZGVzY3JpcHRvcik7Ci0gICAgcmV0dXJuIG51
bGxwdHI7CisgICAgcmV0dXJuIG5ldyBXR1BVSW5zdGFuY2VJbXBsIHsgV2ViR1BVOjpJbnN0YW5j
ZTo6Y3JlYXRlKCkgfTsKIH0KIAogV0dQVVByb2Mgd2dwdUdldFByb2NBZGRyZXNzKFdHUFVEZXZp
Y2UgZGV2aWNlLCBjb25zdCBjaGFyKiBwcm9jTmFtZSkKQEAgLTM4NCw3ICszODUsNyBAQCB2b2lk
IHdncHVJbnN0YW5jZVByb2Nlc3NFdmVudHMoV0dQVUluc3RhbmNlIGluc3RhbmNlKQogCiB2b2lk
IHdncHVJbnN0YW5jZVJlcXVlc3RBZGFwdGVyKFdHUFVJbnN0YW5jZSBpbnN0YW5jZSwgY29uc3Qg
V0dQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucyogb3B0aW9ucywgV0dQVVJlcXVlc3RBZGFwdGVyQ2Fs
bGJhY2sgY2FsbGJhY2ssIHZvaWQqIHVzZXJkYXRhKQogewotICAgIHJldHVybiBpbnN0YW5jZS0+
aW5zdGFuY2UtPnJlcXVlc3RBZGFwdGVyKG9wdGlvbnMsIFtjYWxsYmFjaywgdXNlcmRhdGFdIChX
R1BVUmVxdWVzdEFkYXB0ZXJTdGF0dXMgc3RhdHVzLCBSZWY8V2ViR1BVOjpBZGFwdGVyPiYmIGFk
YXB0ZXIsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpIHsKKyAgICBpbnN0YW5jZS0+aW5zdGFuY2UtPnJl
cXVlc3RBZGFwdGVyKG9wdGlvbnMsIFtjYWxsYmFjaywgdXNlcmRhdGFdIChXR1BVUmVxdWVzdEFk
YXB0ZXJTdGF0dXMgc3RhdHVzLCBSZWY8V2ViR1BVOjpBZGFwdGVyPiYmIGFkYXB0ZXIsIGNvbnN0
IGNoYXIqIG1lc3NhZ2UpIHsKICAgICAgICAgY2FsbGJhY2soc3RhdHVzLCBuZXcgV0dQVUFkYXB0
ZXJJbXBsIHsgV1RGTW92ZShhZGFwdGVyKSB9LCBtZXNzYWdlLCB1c2VyZGF0YSk7CiAgICAgfSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDQ3ZjM4OWUzNWM4Ny4uNzNhYzRhMDU3NGE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMwIEBACisyMDIxLTExLTI5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CisKKyAgICAgICAgW1dlYkdQVV0gSG9vayB1cCBuYXZpZ2F0b3IuZ3B1LnJlcXVl
c3RBZGFwdGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMzYxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaG9va3MgdXAgYSBuZXcgbWVzc2FnZSwgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6Y3JlYXRlUmVtb3RlR1BVKCksIHdoaWNoIHN0YXJ0cworICAgICAgICB0aGUgd2hvbGUgV2Vi
R1BVIEdQVSBwcm9jZXNzIGluZnJhc3RydWN0dXJlLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvQmFzZVRhcmdldC54Y2NvbmZpZzogV2UgaGF2ZSB0byBiZSBhYmxlIHRvICNpbmNsdWRlIGZp
bGVzIGZyb20gV2ViR1BVLgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OmNyZWF0ZVJlbW90ZUdQVSk6IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mgb3ducworICAgICAg
ICB0aGUgUmVtb3RlR1BVcy4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW46CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlR1BVUHJveHk6OlJlbW90ZUdQVVByb3h5KTogQ3JlYXRpbmcgYSBSZW1vdGVH
UFVQcm94eSBuZWVkcyB0byBzZW5kIGEKKyAgICAgICAgbWVzc2FnZSB0byB0aGUgR1BVIHByb2Nl
c3MgdG8gc3RhcnQgdGhlIEdQVSBwcm9jZXNzIGluZnJhc3RydWN0dXJlLiBXZSBibG9jayB3aGls
ZSB3ZSdyZQorICAgICAgICB3YWl0aW5nIGZvciB0aGUgcmVwbHkgZnJvbSB0aGUgR1BVIHByb2Nl
c3MuIFRoaXMgd2FzIGNvcGllZCBmcm9tIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMLgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVHUFVQcm94eTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVVByb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwOiBIb29rIHVwIFJlbW90ZUdQVVByb3h5IHRvIFdlYkNvcmUuCisgICAgICAgIChXZWJLaXQ6
OldlYkNocm9tZUNsaWVudDo6Y3JlYXRlR1BVRm9yV2ViR1BVIGNvbnN0KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI5
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dl
YkdQVV0gSG9vayB1cCBTdHJlYW1TZXJ2ZXJDb25uZWN0aW9uIHRvIFJlbW90ZSoqKiBjbGFzc2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcK
aW5kZXggMjAyMTU4NWJiMGM0Li4zYjFjMmMzNjE5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKQEAgLTQ3LDcgKzQ3LDcgQEAgR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChXS19FTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkUKIFdFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BBVEhT
ID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYktpdEFkZGl0aW9u
cyAkKFNES1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYktpdEFkZGl0aW9uczsKIExJQldFQlJU
Q19IRUFERVJfU0VBUkNIX1BBVEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9p
bmNsdWRlL3dlYnJ0YyAkKFNES1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL3dlYnJ0YzsKIAotSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVk
ZSAiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiAkKFdFQktJVEFERElUSU9O
U19IRUFERVJfU0VBUkNIX1BBVEhTKSAkKExJQldFQlJUQ19IRUFERVJfU0VBUkNIX1BBVEhTKSAk
KFNSQ1JPT1QpICQoSEVBREVSX1NFQVJDSF9QQVRIUyk7CitIRUFERVJfU0VBUkNIX1BBVEhTID0g
JChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlICIkKFdFQkNPUkVfUFJJVkFU
RV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnMiICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2lu
Y2x1ZGUvcGFsL2dyYXBoaWNzL1dlYkdQVSIgJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJD
SF9QQVRIUykgJChMSUJXRUJSVENfSEVBREVSX1NFQVJDSF9QQVRIUykgJChTUkNST09UKSAkKEhF
QURFUl9TRUFSQ0hfUEFUSFMpOwogCiBPVEhFUl9DRkxBR1MgPSAkKGluaGVyaXRlZCkgLWlmcmFt
ZXdvcmsgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrczsK
IE9USEVSX0NQTFVTUExVU0ZMQUdTID0gJChPVEhFUl9DRkxBR1MpIC1pc3lzdGVtICQoU0RLUk9P
VCkvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TeXN0ZW0uZnJhbWV3b3JrL1ByaXZhdGVIZWFk
ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuY3BwCmluZGV4IDUyYWU4ODE5MzcxYS4uNWQ2NGRlY2Y0MWNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JUcmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
I2luY2x1ZGUgIldlYkVycm9ycy5oIgorI2luY2x1ZGUgIldlYkdQVU9iamVjdEhlYXAuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRp
YWxpemF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5oPgpAQCAtNTU1LDYgKzU1NiwxOSBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnJlbGVhc2VHcmFwaGljc0NvbnRleHRHTEZvclRlc3RpbmcoR3JhcGhpY3NDb250ZQogfQog
I2VuZGlmCiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVtb3RlR1BV
KFdlYkdQVUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIg
cmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIsIElQQzo6U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciYm
IHN0cmVhbSkKK3sKKyAgICBhdXRvIGl0ID0gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwLmZp
bmQocmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOworICAgIGlmIChpdCA9PSBtX3JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRNYXAuZW5kKCkpCisgICAgICAgIHJldHVybjsKKyAgICBhdXRvKiByZW5k
ZXJpbmdCYWNrZW5kID0gaXQtPnZhbHVlLmdldCgpOworCisgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3JlbW90ZUdQVU1hcC5lbnN1cmUoaWRlbnRpZmllciwgWyZdKCkgeworICAgICAgICByZXR1cm4g
SVBDOjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlIHsgUmVtb3RlR1BVOjpjcmVhdGUo
aWRlbnRpZmllciwgKnRoaXMsICpyZW5kZXJpbmdCYWNrZW5kLCBXVEZNb3ZlKHN0cmVhbSkpIH07
CisgICAgfSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0Vu
dHJ5KTsKK30KKwogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjbGVhck5vd1BsYXlp
bmdJbmZvKCkKIHsKICAgICBtX2lzQWN0aXZlTm93UGxheWluZ1Byb2Nlc3MgPSBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oCmluZGV4IGFlNzk1MDUyNTg2MC4uZmFiNjcwZmI5MDljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTMyLDkg
KzMyLDExIEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiUmVt
b3RlQXVkaW9IYXJkd2FyZUxpc3RlbmVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlJlbW90ZUF1
ZGlvU2Vzc2lvbklkZW50aWZpZXIuaCIKKyNpbmNsdWRlICJSZW1vdGVHUFUuaCIKICNpbmNsdWRl
ICJSZW1vdGVSZW1vdGVDb21tYW5kTGlzdGVuZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyaW5nQmFja2VuZElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJTY29wZWRBY3RpdmVNZXNzYWdl
UmVjZWl2ZVF1ZXVlLmgiCisjaW5jbHVkZSAiV2ViR1BVSWRlbnRpZmllci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvTGliV2ViUlRDRW51bVRyYWl0cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTm93UGxh
eWluZ01hbmFnZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VJZGVudGlmaWVyLmg+CkBAIC0y
MTMsNiArMjE1LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbGVhc2VHcmFwaGljc0NvbnRleHRH
TChHcmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIpOwogI2VuZGlmCiAKKyAgICB2b2lkIGNyZWF0
ZVJlbW90ZUdQVShXZWJHUFVJZGVudGlmaWVyLCBSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwg
SVBDOjpTdHJlYW1Db25uZWN0aW9uQnVmZmVyJiYpOworCiAgICAgdm9pZCBjbGVhck5vd1BsYXlp
bmdJbmZvKCk7CiAgICAgdm9pZCBzZXROb3dQbGF5aW5nSW5mbyhXZWJDb3JlOjpOb3dQbGF5aW5n
SW5mbyYmKTsKIApAQCAtMzA4LDYgKzMxMiw4IEBAIHByaXZhdGU6CiAgICAgdXNpbmcgUmVtb3Rl
R3JhcGhpY3NDb250ZXh0R0xNYXAgPSBIYXNoTWFwPEdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmll
ciwgSVBDOjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlPFJlbW90ZUdyYXBoaWNzQ29u
dGV4dEdMPj47CiAgICAgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xNYXAgbV9yZW1vdGVHcmFwaGlj
c0NvbnRleHRHTE1hcDsKICNlbmRpZgorICAgIHVzaW5nIFJlbW90ZUdQVU1hcCA9IEhhc2hNYXA8
V2ViR1BVSWRlbnRpZmllciwgSVBDOjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlPFJl
bW90ZUdQVT4+OworICAgIFJlbW90ZUdQVU1hcCBtX3JlbW90ZUdQVU1hcDsKICNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVDRE1GYWN0b3J5UHJv
eHk+IG1fY2RtRmFjdG9yeVByb3h5OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CmluZGV4IDM5MWMxOWZlOWQ4NS4uOTE5YjVkMzBlMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgpAQCAtMjksNiArMjksNyBAQCBtZXNzYWdlcyAtPiBHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzIFdhbnRzRGlzcGF0Y2hNZXNzYWdlIHsKICAgICB2b2lkIENyZWF0ZUdyYXBoaWNzQ29u
dGV4dEdMKHN0cnVjdCBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cmli
dXRlcywgV2ViS2l0OjpHcmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIgZ3JhcGhpY3NDb250ZXh0
R0xJZGVudGlmaWVyLCBXZWJLaXQ6OlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmlu
Z0JhY2tlbmRJZGVudGlmaWVyLCBJUEM6OlN0cmVhbUNvbm5lY3Rpb25CdWZmZXIgc3RyZWFtKQog
ICAgIHZvaWQgUmVsZWFzZUdyYXBoaWNzQ29udGV4dEdMKFdlYktpdDo6R3JhcGhpY3NDb250ZXh0
R0xJZGVudGlmaWVyIGdyYXBoaWNzQ29udGV4dEdMSWRlbnRpZmllcikKICNlbmRpZgorICAgIHZv
aWQgQ3JlYXRlUmVtb3RlR1BVKFdlYktpdDo6V2ViR1BVSWRlbnRpZmllciBpZGVudGlmaWVyLCBX
ZWJLaXQ6OlJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tlbmRJZGVudGlm
aWVyLCBJUEM6OlN0cmVhbUNvbm5lY3Rpb25CdWZmZXIgc3RyZWFtKQogICAgIHZvaWQgQ2xlYXJO
b3dQbGF5aW5nSW5mbygpCiAgICAgdm9pZCBTZXROb3dQbGF5aW5nSW5mbyhzdHJ1Y3QgV2ViQ29y
ZTo6Tm93UGxheWluZ0luZm8gbm93UGxheWluZ0luZm8pCiAjaWYgVVNFKEFVRElPX1NFU1NJT04p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9T
b3VyY2VzLnR4dAppbmRleCBiMTM4ZmRkMDU3MDUuLmUxMzM3MzhkMjM4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CkBAIC04NTcsNiArODU3LDcgQEAgUmVtb3RlQ29tcHV0ZVBpcGVsaW5lTWVzc2FnZVJlY2VpdmVy
LmNwcAogUmVtb3RlRGV2aWNlTWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlRXh0ZXJuYWxUZXh0
dXJlTWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlR1BVTWVzc2FnZVJlY2VpdmVyLmNwcAorUmVt
b3RlR1BVUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiBSZW1vdGVQaXBlbGluZUxheW91dE1lc3Nh
Z2VSZWNlaXZlci5jcHAKIFJlbW90ZVF1ZXJ5U2V0TWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3Rl
UXVldWVNZXNzYWdlUmVjZWl2ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5jcHAKaW5k
ZXggYjZiZDRlMzIyNjkxLi5hMTA5ZmE5MTIwZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94
eS5jcHAKQEAgLTQ4LDExICs0OCwyMyBAQCBSZW1vdGVHUFVQcm94eTo6UmVtb3RlR1BVUHJveHko
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9uLCBXZWJHUAogICAgICwg
bV9ncHVQcm9jZXNzQ29ubmVjdGlvbigmZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pCiAgICAgLCBtX3N0
cmVhbUNvbm5lY3Rpb24oZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLCBkZWZhdWx0
U3RyZWFtU2l6ZSkKIHsKKyAgICBtX2dwdVByb2Nlc3NDb25uZWN0aW9uLT5hZGRDbGllbnQoKnRo
aXMpOwogICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24tPm1lc3NhZ2VSZWNlaXZlck1hcCgpLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlR1BVUHJveHk6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSwgaWRlbnRpZmllci50b1VJbnQ2NCgpLCAqdGhpcyk7CisgICAgY29ubmVjdGlvbigp
LnNlbmQoTWVzc2FnZXM6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVJlbW90ZUdQ
VShpZGVudGlmaWVyLCByZW5kZXJpbmdCYWNrZW5kLCBtX3N0cmVhbUNvbm5lY3Rpb24uc3RyZWFt
QnVmZmVyKCkpLCAwLCBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2FnZUV2ZW5XaGVuV2Fp
dGluZ0ZvclN5bmNSZXBseSk7CisgICAgLy8gVE9ETzogV2UgbXVzdCB3YWl0IHVudGlsIGluaXRp
YWxpemVkLCBiZWNhdXNlIGF0IHRoZSBtb21lbnQgd2UgY2Fubm90IHJlY2VpdmUgSVBDIG1lc3Nh
Z2VzCisgICAgLy8gZHVyaW5nIHdhaXQgd2hpbGUgaW4gc3luY2hyb25vdXMgc3RyZWFtIHNlbmQu
IFNob3VsZCBiZSBmaXhlZCBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTcyMTEuCisgICAgd2FpdFVudGlsSW5pdGlhbGl6ZWQoKTsKIH0KIAogUmVt
b3RlR1BVUHJveHk6On5SZW1vdGVHUFVQcm94eSgpID0gZGVmYXVsdDsKIAordm9pZCBSZW1vdGVH
UFVQcm94eTo6Z3B1UHJvY2Vzc0Nvbm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlv
biYgY29ubmVjdGlvbikKK3sKKyAgICBBU1NFUlQobV9ncHVQcm9jZXNzQ29ubmVjdGlvbik7Cisg
ICAgQVNTRVJUKCZjb25uZWN0aW9uID09IG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24pOworICAgIGFi
YW5kb25HUFVQcm9jZXNzKCk7Cit9CisKIHZvaWQgUmVtb3RlR1BVUHJveHk6OmFiYW5kb25HUFVQ
cm9jZXNzKCkKIHsKICAgICBhdXRvIGdwdVByb2Nlc3NDb25uZWN0aW9uID0gc3RkOjpleGNoYW5n
ZShtX2dwdVByb2Nlc3NDb25uZWN0aW9uLCBudWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94
eS5oCmluZGV4IGE0ZmE4ZjViYjg0Ny4uYjAwNjg0MzgxMjIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQ
VVByb3h5LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgQ29udmVydFRvQmFja2luZ0NvbnRleHQ7
CiBjbGFzcyBEb3duY2FzdENvbnZlcnRUb0JhY2tpbmdDb250ZXh0OwogfQogCi1jbGFzcyBSZW1v
dGVHUFVQcm94eSBmaW5hbCA6IHB1YmxpYyBQQUw6OldlYkdQVTo6R1BVLCBwcml2YXRlIElQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKK2NsYXNzIFJlbW90ZUdQVVByb3h5IGZpbmFsIDogcHVibGljIFBB
TDo6V2ViR1BVOjpHUFUsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIsIHByaXZhdGUgR1BV
UHJvY2Vzc0Nvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZW1vdGVHUFVQcm94eT4gY3JlYXRlKEdQVVByb2Nl
c3NDb25uZWN0aW9uJiBncHVQcm9jZXNzQ29ubmVjdGlvbiwgV2ViR1BVOjpDb252ZXJ0VG9CYWNr
aW5nQ29udGV4dCYgY29udmVydFRvQmFja2luZ0NvbnRleHQsIFdlYkdQVUlkZW50aWZpZXIgaWRl
bnRpZmllciwgUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVyaW5nQmFja2VuZCkKQEAg
LTcyLDYgKzcyLDkgQEAgcHJpdmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgogICAg
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikg
ZmluYWw7CiAKKyAgICAvLyBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBn
cHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0aW9uJikgZmluYWw7
CisKICAgICAvLyBNZXNzYWdlcyB0byBiZSByZWNlaXZlZC4KICAgICB2b2lkIHdhc0NyZWF0ZWQo
Ym9vbCBkaWRTdWNjZWVkLCBJUEM6OlNlbWFwaG9yZSYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAppbmRleCAzNjI3Mzg2MmRmNGQuLmM0YzQ5ZmJkMGMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
aCIKICNpbmNsdWRlICJQYWdlQmFubmVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgorI2lu
Y2x1ZGUgIlJlbW90ZUdQVVByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZFByb3h5LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgogI2luY2x1ZGUgIlVzZXJE
YXRhLmgiCkBAIC01MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2Vy
LmgiCisjaW5jbHVkZSAiV2ViR1BVRG93bmNhc3RDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oIgog
I2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1bHREYXRhLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIK
ICNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5oIgpAQCAtOTEsNiArOTMsMTAg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0
SW5kaWNhdG9yLmg+CiAKKyNpZiBIQVZFKFdFQkdQVV9JTVBMRU1FTlRBVElPTikKKyNpbXBvcnQg
PHBhbC9ncmFwaGljcy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmg+CisjZW5kaWYKKwogI2lmIEVO
QUJMRShBUFBMRV9QQVlfQU1TX1VJKQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlBTVNVSVJl
cXVlc3QuaD4KICNlbmRpZgpAQCAtOTQ1LDYgKzk1MSwxOSBAQCBSZWZQdHI8R3JhcGhpY3NDb250
ZXh0R0w+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0R0woY29uc3QgR3Jh
cGhpYwogfQogI2VuZGlmCiAKK1JlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBXZWJDaHJvbWVDbGll
bnQ6OmNyZWF0ZUdQVUZvcldlYkdQVSgpIGNvbnN0Cit7CisjaWYgSEFWRShXRUJHUFVfSU1QTEVN
RU5UQVRJT04pCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIHJldHVybiBSZW1vdGVHUFVQ
cm94eTo6Y3JlYXRlKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25u
ZWN0aW9uKCksIFdlYkdQVTo6RG93bmNhc3RDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y3JlYXRl
KCksIFdlYkdQVUlkZW50aWZpZXI6OmdlbmVyYXRlKCksIG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHkoKS5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKTsKKyNlbHNlCisgICAg
cmV0dXJuIFBBTDo6V2ViR1BVOjpHUFVJbXBsOjpjcmVhdGUoKTsKKyNlbmRpZgorI2Vsc2UKKyAg
ICByZXR1cm4gbnVsbHB0cjsKKyNlbmRpZgorfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6YXR0
YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKiBsYXllcikKIHsKICAg
ICBpZiAobGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMGVkYjMyY2FhMWJjLi44NWI5NzMw
NGU3ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI1Miw2ICsyNTIsNyBAQCBwcml2YXRlOgog
ICAgIFJlZlB0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlR3JhcGhpY3NDb250
ZXh0R0woY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiwgV2ViQ29y
ZTo6UGxhdGZvcm1EaXNwbGF5SUQgaG9zdFdpbmRvd0Rpc3BsYXlJRCkgY29uc3QgZmluYWw7CiAj
ZW5kaWYKIAorICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBjcmVhdGVHUFVGb3JXZWJHUFUo
KSBjb25zdCBmaW5hbDsKIAogICAgIENvbXBvc2l0aW5nVHJpZ2dlckZsYWdzIGFsbG93ZWRDb21w
b3NpdGluZ1RyaWdnZXJzKCkgY29uc3QgZmluYWwKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKaW5kZXggNTAxZDUwMWFiMzgwLi5jZjA2ODBiZWE3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0yOSAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVdIEhvb2sgdXAgbmF2
aWdhdG9yLmdwdS5yZXF1ZXN0QWRhcHRlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZp
ZzogV2UgaGF2ZSB0byBiZSBhYmxlIHRvICNpbmNsdWRlIGZpbGVzIGZyb20gV2ViR1BVLgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6
Y3JlYXRlR1BVRm9yV2ViR1BVIGNvbnN0KTogSG9vayB1cCBHUFVJbXBsIHRvIFdlYkNvcmUuCisK
IDIwMjEtMTEtMjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDb21waWxlciBzaG91bGQgYmUgYWJsZSB0byBjaGVjayBsb2NhbGl6ZWQgZm9ybWF0IHN0cmlu
Z3MgZm9yIGNvbnNpc3RlbmN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
b25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKaW5kZXggZmI1NWRhNzc2
ZTBmLi5mNzg0OTY2NTFkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0Nv
bmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKQEAgLTU4LDcgKzU4
LDcgQEAgR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgQlVJ
TERJTkdfV0VCS0lUIEZSQU1FV09SS19OQU1FPVcKIFdFQktJVEFERElUSU9OU19IRUFERVJfU0VB
UkNIX1BBVEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYktp
dEFkZGl0aW9ucyAkKFNES1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYktpdEFkZGl0aW9uczsK
IExJQldFQlJUQ19IRUFERVJfU0VBUkNIX1BBVEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vz
ci9sb2NhbC9pbmNsdWRlL3dlYnJ0YyAkKFNES1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL3dlYnJ0
YzsKIAotSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJ
UikvRm9yd2FyZGluZ0hlYWRlcnMiICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0TGVnYWN5IiAiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRl
IiAkKFdFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BBVEhTKSAkKExJQldFQlJUQ19IRUFE
RVJfU0VBUkNIX1BBVEhTKSAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpICQoU1JDUk9PVCk7CitIRUFE
RVJfU0VBUkNIX1BBVEhTID0gIiQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJk
aW5nSGVhZGVycyIgIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXRM
ZWdhY3kiICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUiICIkKEJVSUxU
X1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUvcGFsL2dyYXBoaWNzL1dlYkdQVSIgJChX
RUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykgJChMSUJXRUJSVENfSEVBREVSX1NF
QVJDSF9QQVRIUykgJChIRUFERVJfU0VBUkNIX1BBVEhTKSAkKFNSQ1JPT1QpOwogSU5GT1BMSVNU
X0ZJTEUgPSBtYWMvSW5mby5wbGlzdDsKIElOU1RBTExfUEFUSCA9ICQoSU5TVEFMTF9QQVRIX0NP
Q09BX1RPVUNIXyQoV0tfSVNfQ09DT0FfVE9VQ0gpKTsKIElOU1RBTExfUEFUSF9DT0NPQV9UT1VD
SF9ZRVMgPSAkKFdLX0FMVEVSTkFURV9XRUJLSVRfU0RLX1BBVEgpJChTWVNURU1fTElCUkFSWV9E
SVIpL1ByaXZhdGVGcmFtZXdvcmtzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBhMzY1ZDhkODY0YTIu
LjQ0OTEzMDY0NDc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI1NSw2ICsyNTUsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgZmluYWw7CiAjZW5kaWYKIAor
ICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25zdCBm
aW5hbDsKKwogI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKICAgICBib29sIG1f
bW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0KaW5kZXggYTE3NTFiMDI5ODRmLi4wZDRiNDg5OTAwMjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQubW0KQEAgLTkzLDYgKzkzLDEwIEBACiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1w
b3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEhBVkUoV0VCR1BVX0lNUExFTUVOVEFU
SU9OKQorI2ltcG9ydCA8cGFsL2dyYXBoaWNzL1dlYkdQVS9JbXBsL1dlYkdQVUltcGwuaD4KKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKEdFT0xPQ0FUSU9OKQog
I2ltcG9ydCA8V2ViQ29yZS9HZW9sb2NhdGlvbi5oPgogI2VuZGlmCkBAIC0xMTUzLDMgKzExNTcs
MTIgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1
cyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aWUKICAgICBXZWJDb3JlOjpjaGFuZ2VVbml2ZXJz
YWxBY2Nlc3Nab29tRm9jdXModmlld1JlY3QsIHNlbGVjdGlvblJlY3QpOwogfQogI2VuZGlmCisK
K1JlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUdQVUZvcldl
YkdQVSgpIGNvbnN0Cit7CisjaWYgSEFWRShXRUJHUFVfSU1QTEVNRU5UQVRJT04pCisgICAgcmV0
dXJuIFBBTDo6V2ViR1BVOjpHUFVJbXBsOjpjcmVhdGUoKTsKKyNlbHNlCisgICAgcmV0dXJuIG51
bGxwdHI7CisjZW5kaWYKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445468</attachid>
            <date>2021-11-30 13:57:44 -0800</date>
            <delta_ts>2021-12-02 15:37:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233619-20211130135743.patch</filename>
            <type>text/plain</type>
            <size>37070</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQ5MDE0YWRkYjIwZTBjNTkxOTIyMDFl
YWI1ODIzOTE3Y2E0ZWEzNDIuLjFlMWM4ZTUzYWMzMDU0OGFjYjAyYzkzN2NmODRmMzY1YmE1MGYx
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTEtMzAgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBIb29rIHVwIG5hdmlnYXRv
ci5ncHUucmVxdWVzdEFkYXB0ZXIoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMzNjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6IENyZWF0ZSBhIEhBVkUoKSBtYWNy
bywgYnkgZGVmYXVsdCBvZmYuIEFzIHdlIGJyaW5nCisgICAgICAgIG1vcmUgaW5mcmFzdHJ1Y3R1
cmUgb25saW5lLCB0aGlzIHdpbGwgZXZlbnR1YWxseSBmbGlwIHRvIG9uLgorCiAyMDIxLTExLTMw
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI4NjIyNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZjY2MTg0MmNlZTBiZTQx
MmQwZjMyNWUyNmVlZjRjN2FmMGQ2NGYwLi5jMmQxMmUxNDc5OWRlY2VjOTRkYzQwOTdhNWVlYjgy
ZjQ3NjFmZjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEtMTEtMzAgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBI
b29rIHVwIG5hdmlnYXRvci5ncHUucmVxdWVzdEFkYXB0ZXIoKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjE5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSG9vayB1cCBOYXZpZ2F0b3IuR1BVIHRvIFdl
YktpdExlZ2FjeS9XZWJLaXQgKHZpYSBDaHJvbWVDbGllbnQpIHNvIFdlYktpdCBjYW4gcHJvdmlk
ZSBhCisgICAgICAgIFJlbW90ZUdQVVByb3h5ICJiYWNraW5nIiBvYmplY3QuCisKKyAgICAgICAg
SSBoYXZlIGEgdGVzdCBmb3IgdGhpcyEgQnV0IHVuZm9ydHVuYXRlbHkgSSBjYW4ndCBjb21taXQg
aXQgeWV0IGJlY2F1c2UgSEFWRShXRUJHUFVfSU1QTEVNRU5UQVRJT04pCisgICAgICAgIGhhcyB0
byBiZSBvZmYgdW50aWwgQXBwbGUgY29uZmlndXJlcyBpdHMgaW50ZXJuYWwgYnVpbGQgc3lzdGVt
LiBBcyBzb29uIGFzIHRoYXQncyBkb25lLCBJJ2xsIGFkZAorICAgICAgICB0aGUgdGVzdCBmb3Ig
dGhpcyEhISAoVGhlIHRlc3QgcGFzc2VzIHdoZW4gcnVuIGxvY2FsbHkuKQorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZzogV2VhayBsaW5rIHdpdGggV2ViR1BVLmZy
YW1ld29yay4gVGhpcyB3aWxsCisgICAgICAgIHN1Y2NlZWQgZXZlbiBpZiBXZWJHUFUuZnJhbWV3
b3JrIGRvZXNuJ3QgZXhpc3QuCisgICAgICAgICogTW9kdWxlcy9XZWJHUFUvR1BVLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVTo6c2V0QmFja2luZyk6IFRoaXMgaXMgZm9yIFdvcmtlck5hdmln
YXRvci4gVG8gY3JlYXRlIGEgR1BVIG9iamVjdCwgd2UgaGF2ZSB0bworICAgICAgICBnbyB0aHJv
dWdoIENocm9tZUNsaWVudCwgd2hpY2ggbWVhbnMgd2UgaGF2ZSB0byB1c2UgdGhlIG1haW4gdGhy
ZWFkLiBUaGlzIG1lYW5zIHRoYXQgY3JlYXRpbmcKKyAgICAgICAgdGhlIEdQVSBvYmplY3QgaGFz
IHRvIGJlIGFzeW5jaHJvbm91cyBvbiB3b3JrZXJzLiBXZSBoYW5kbGUgdGhpcyBieSBoYXZpbmcK
KyAgICAgICAgV29ya2VyTmF2aWdhdG9yOjpncHUoKSByZXR1cm4gYSBzaGVsbCBvYmplY3Qgd2l0
aCBubyAiYmFja2luZywiIGFuZCBhc3luY2hyb25vdXNseSBraWNrIG9mZiBhCisgICAgICAgIHRh
c2sgdG8gY29uc3RydWN0IGEgYmFja2luZyBvYmplY3QgYW5kIGNvbm5lY3QgaXQgdG8gdGhlIHNo
ZWxsIG9iamVjdC4gSWYgY29udGVudCBjYWxscworICAgICAgICByZXF1ZXN0QWRhcHRlcigpIG9u
IHRoZSBzaGVsbCwgdGhhdCBmdW5jdGlvbiBpcyBhbHJlYWR5IGFzeW5jLCBzbyB3ZSBqdXN0IGZv
bGQgaW4gdGhlIHdhaXQgZm9yCisgICAgICAgIHRoZSBiYWNraW5nIGludG8gdGhlIGFscmVhZHkt
ZXhpc3Rpbmcgd2FpdCB3ZSBoYXZlIHRvIGRvIGFzIGEgbWF0dGVyIG9mIGNvdXJzZS4gVGhpcyBp
bXBsZW1lbnRzCisgICAgICAgIHRoYXQuCisgICAgICAgIChXZWJDb3JlOjpHUFU6OnJlcXVlc3RB
ZGFwdGVyKToKKyAgICAgICAgKiBNb2R1bGVzL1dlYkdQVS9HUFUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkdQVTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkdQVTo6YmFja2luZyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpHUFU6OmJhY2tpbmcgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6R1BVOjpHUFUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvV2Vi
R1BVL0dQVURldmljZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnBvcEVycm9y
U2NvcGUpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNo
cm9tZTo6Y3JlYXRlR1BVRm9yV2ViR1BVIGNvbnN0KTogQXNrIFdlYktpdCAvIFdlYktpdExlZ2Fj
eSB3aGF0IGtpbmQgb2YgYmFja2luZyB3ZQorICAgICAgICBzaG91bGQgYmUgdXNpbmcuCisgICAg
ICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpjcmVhdGVHUFVGb3JXZWJHUFUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRv
cjo6Z3B1KToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5oOgorICAgICAgICAqIHBhZ2UvTmF2
aWdhdG9yQmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQmFzZTo6Z3B1KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwYWdlL1dvcmtlck5hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJOYXZpZ2F0b3I6OmdwdSk6CisgICAgICAgICogcGFnZS9Xb3JrZXJOYXZpZ2F0
b3IuaDoKKwogMjAyMS0xMS0zMCAgQWRhIENoYW4gIDxhZGFjaGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV2ViWFJdIEltcGxlbWVudCBDaHJvbWVDbGllbnQgQVBJIHRvIGFsbG93IGdldHRpbmcg
ZXhwbGljaXQgY29uc2VudCBmcm9tIHVzZXIgb24gc2Vzc2lvbiBmZWF0dXJlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkdQVS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwppbmRl
eCA0NjViZTM0ZThjY2JlNmNiY2MyM2IyYjJmZWM4M2NlYTE5M2QwYjg4Li4xZWNlMjYyMWRlYjE2
ZjY5NmIxM2MwYmU2ZTY1MjUzNDU5ZDliMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViR1BVL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDIxLTExLTMwICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dlYkdQVV0gSG9vayB1cCBuYXZpZ2F0b3IuZ3B1LnJlcXVlc3RBZGFwdGVyKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzYxOQorCisg
ICAgICAgIEp1c3QgaG9vayB1cCBlbm91Z2ggZm9yIEluc3RhbmNlOjpyZXF1ZXN0QWRhcHRlcigp
IHRvIG5vdCBmYWlsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViR1BVL0FkYXB0ZXIubW06CisgICAgICAgIChXZWJHUFU6OkFkYXB0ZXI6Omdl
dExpbWl0cyk6CisgICAgICAgICogV2ViR1BVL0luc3RhbmNlLm1tOgorICAgICAgICAoV2ViR1BV
OjpJbnN0YW5jZTo6cmVxdWVzdEFkYXB0ZXIpOgorICAgICAgICAod2dwdUNyZWF0ZUluc3RhbmNl
KToKKyAgICAgICAgKHdncHVJbnN0YW5jZVJlcXVlc3RBZGFwdGVyKToKKwogMjAyMS0xMS0yOSAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJH
UFVdIE1ha2UgV2ViR1BVLmZyYW1ld29yaydzIGNsYXNzZXMgcmVmZXJlbmNlIGNvdW50ZWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggZjg5ZTlmNTA5NDI0ZTc3M2RmMDg5ODJjODQ5YWIyMDM1Y2ViMDI4Zi4uNzEwYTdl
NjU3MGE4M2ZjYmJhZDI3NTlmNjRkNmJjMmM1NTI0OWNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MCBAQAorMjAyMS0xMS0zMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIFtXZWJHUFVdIEhvb2sgdXAgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0QWRhcHRl
cigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2
MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGhvb2tzIHVwIGEgbmV3IG1lc3NhZ2UsIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZVJlbW90ZUdQVSgpLCB3aGljaCBzdGFydHMKKyAgICAgICAgdGhlIHdob2xlIFdlYkdQVSBHUFUg
cHJvY2VzcyBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VU
YXJnZXQueGNjb25maWc6IFdlIGhhdmUgdG8gYmUgYWJsZSB0byAjaW5jbHVkZSBmaWxlcyBmcm9t
IFdlYkdQVS4KKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVS
ZW1vdGVHUFUpOiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzIG93bnMKKyAgICAgICAgdGhlIFJl
bW90ZUdQVXMuCisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
Lmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUdQVVByb3h5OjpSZW1vdGVHUFVQcm94eSk6IENyZWF0aW5nIGEgUmVtb3RlR1BVUHJveHkg
bmVlZHMgdG8gc2VuZCBhCisgICAgICAgIG1lc3NhZ2UgdG8gdGhlIEdQVSBwcm9jZXNzIHRvIHN0
YXJ0IHRoZSBHUFUgcHJvY2VzcyBpbmZyYXN0cnVjdHVyZS4gV2UgYmxvY2sgd2hpbGUgd2UncmUK
KyAgICAgICAgd2FpdGluZyBmb3IgdGhlIHJlcGx5IGZyb20gdGhlIEdQVSBwcm9jZXNzLiBUaGlz
IHdhcyBjb3BpZWQgZnJvbSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTC4KKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlR1BVUHJveHk6OmdwdVByb2Nlc3NDb25uZWN0aW9uRGlkQ2xvc2UpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDogSG9v
ayB1cCBSZW1vdGVHUFVQcm94eSB0byBXZWJDb3JlLgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJv
bWVDbGllbnQ6OmNyZWF0ZUdQVUZvcldlYkdQVSBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAyMS0xMS0zMCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIEhv
b2sgdXAgU3RyZWFtU2VydmVyQ29ubmVjdGlvbiB0byBSZW1vdGUqKiogY2xhc3NlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDUwMWQ1MDFhYjM4MDE3ZjFkOGY5ZTgxYzliZWZkYzJk
N2Y2ZjE2ZmUuLjY3MGU4NzAzMGFkMDIzNDkyOTc0YzRhMTFhYjA3N2VhYTZlYWIwYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0zMCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJHUFVd
IEhvb2sgdXAgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0QWRhcHRlcigpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM2MTkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdExl
Z2FjeS54Y2NvbmZpZzogV2UgaGF2ZSB0byBiZSBhYmxlIHRvICNpbmNsdWRlIGZpbGVzIGZyb20g
V2ViR1BVLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNo
cm9tZUNsaWVudDo6Y3JlYXRlR1BVRm9yV2ViR1BVIGNvbnN0KTogSG9vayB1cCBHUFVJbXBsIHRv
IFdlYkNvcmUuCisKIDIwMjEtMTEtMjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBDb21waWxlciBzaG91bGQgYmUgYWJsZSB0byBjaGVjayBsb2NhbGl6ZWQg
Zm9ybWF0IHN0cmluZ3MgZm9yIGNvbnNpc3RlbmN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDAy
NDUzYzhiMzQ1MjNlNDU3MGM3MzFhODNmYzZiZjFmNTdkY2NlMGIuLjJkYzliNDgyM2EwMWI2MWJl
OWYwYzY5NTAyYWJlYTdjYWI1YTIxYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0xMDkyLDYg
KzEwOTIsMTAgQEAKICNkZWZpbmUgSEFWRV9TQ0VORUtJVCAxCiAjZW5kaWYKIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorI2RlZmluZSBIQVZFX1dFQkdQVV9JTVBMRU1FTlRBVElPTiAwCisjZW5kaWYK
KwogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTMwMDAwKQogI2RlZmluZSBIQVZFX1VOSUZJRURfU1BFRUNIU1lOVEhFU0lTX0ZJWF9GT1Jf
ODE0NjUxNjQgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9XZWJDb3JlLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2Vi
Q29yZS54Y2NvbmZpZwppbmRleCBiOGJhNGM2YTY0YWRiYzg4OWY3NmJmZmFmZDg0OTcxYzZhYzhh
MmNkLi42Y2VmMjQ0N2QwNzA4ZDVhYTkzMmQ4ZjZiMzhkN2Y5NmE4NzEyNWIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKQEAgLTczLDYgKzcz
LDggQEAgVU5FWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSBDb25maWd1cmF0aW9ucy9XZWJDb3JlLnVu
ZXhwOwogCiBXS19BTkdMRV9MREZMQUdTID0gLXdlYWstbEFOR0xFLXNoYXJlZDsKIAorV0tfV0VC
R1BVX0xERkxBR1MgPSAtd2Vha19mcmFtZXdvcmsgV2ViR1BVOworCiBXS19BUFBLSVRfTERGTEFH
UyA9ICQoV0tfQVBQS0lUX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7CiBXS19BUFBLSVRf
TERGTEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIEFwcEtpdDsKIFdLX0FQUEtJVF9MREZMQUdTX21h
Y2NhdGFseXN0ID0gLWZyYW1ld29yayBBcHBLaXQ7CkBAIC0xMzAsNyArMTMyLDcgQEAgV0tfU0NF
TkVLSVRfTERGTEFHUyA9ICQoV0tfU0NFTkVLSVRfTERGTEFHU18kKFdLX1BMQVRGT1JNX05BTUUp
KTsKIFdLX1NDRU5FS0lUX0xERkxBR1NfbWFjb3N4ID0gLXdlYWtfZnJhbWV3b3JrIFNjZW5lS2l0
OwogCiAvLyBGSVhNRTogUmVkdWNlIHRoZSBudW1iZXIgb2YgYWxsb3dhYmxlX2NsaWVudHMgPHJk
YXI6Ly9wcm9ibGVtLzMxODIzOTY5PgotT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKFdL
X1JFTE9DQVRBQkxFX0ZSQU1FV09SS19MREZMQUdTKSAtbHNxbGl0ZTMgLWxvYmpjIC1hbGxvd2Fi
bGVfY2xpZW50IFdlYkNvcmVUZXN0U3VwcG9ydCAtYWxsb3dhYmxlX2NsaWVudCBXZWJLaXRMZWdh
Y3kgLWZvcmNlX2xvYWQgJChCVUlMVF9QUk9EVUNUU19ESVIpL2xpYlBBTC5hIC1mcmFtZXdvcmsg
Q0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1m
cmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSU9TdXJm
YWNlIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIE1ldGFsICQoT1RIRVJfTERGTEFHU19Q
TEFURk9STV8kKFdLX0NPQ09BX1RPVUNIKSkgJChPVEhFUl9MREZMQUdTX1BMQVRGT1JNXyQoV0tf
UExBVEZPUk1fTkFNRSkpICQoV0tfQU5HTEVfTERGTEFHUykgJChXS19BUFBLSVRfTERGTEFHUykg
JChXS19BUFBTVVBQT1JUX0xERkxBR1MpICQoV0tfQVVESU9fVU5JVF9MREZMQUdTKSAkKFdLX0NB
UkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfVUlfTERGTEFHUykgJChXS19EQVRBX0RFVEVDVE9SU19D
T1JFX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZB
Q0VfQUNDRUxFUkFUT1JfTERGTEFHUykgJChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJ
TEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQo
V0tfTkVUV09SS19FWFRFTlNJT05fTERfRkxBR1MpICQoV0tfU1lTVEVNX0NPTkZJR1VSQVRJT05f
TERGTEFHUykgJChXS19DT1JFX0lNQUdFX0xERkxBR1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERG
TEFHUykgJChXS19TQ0VORUtJVF9MREZMQUdTKTsKK09USEVSX0xERkxBR1MgPSAkKGluaGVyaXRl
ZCkgJChXS19SRUxPQ0FUQUJMRV9GUkFNRVdPUktfTERGTEFHUykgLWxzcWxpdGUzIC1sb2JqYyAt
YWxsb3dhYmxlX2NsaWVudCBXZWJDb3JlVGVzdFN1cHBvcnQgLWFsbG93YWJsZV9jbGllbnQgV2Vi
S2l0TGVnYWN5IC1mb3JjZV9sb2FkICQoQlVJTFRfUFJPRFVDVFNfRElSKS9saWJQQUwuYSAtZnJh
bWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVHcmFw
aGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3Jr
IElPU3VyZmFjZSAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBNZXRhbCAkKE9USEVSX0xE
RkxBR1NfUExBVEZPUk1fJChXS19DT0NPQV9UT1VDSCkpICQoT1RIRVJfTERGTEFHU19QTEFURk9S
TV8kKFdLX1BMQVRGT1JNX05BTUUpKSAkKFdLX0FOR0xFX0xERkxBR1MpICQoV0tfV0VCR1BVX0xE
RkxBR1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVBQU1VQUE9SVF9MREZMQUdTKSAkKFdL
X0FVRElPX1VOSVRfTERGTEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19DT1JFX1VJX0xE
RkxBR1MpICQoV0tfREFUQV9ERVRFQ1RPUlNfQ09SRV9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NF
UlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJGQUNFX0FDQ0VMRVJBVE9SX0xERkxBR1MpICQoV0tf
TElCV0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChX
S19NT0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX05FVFdPUktfRVhURU5TSU9OX0xEX0ZMQUdT
KSAkKFdLX1NZU1RFTV9DT05GSUdVUkFUSU9OX0xERkxBR1MpICQoV0tfQ09SRV9JTUFHRV9MREZM
QUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfU0NFTkVLSVRfTERGTEFHUyk7
CiAKIE9USEVSX0xERkxBR1NfUExBVEZPUk1fY29jb2F0b3VjaCA9IC1hbGxvd2FibGVfY2xpZW50
IFdlYktpdCAtYWxsb3dhYmxlX2NsaWVudCBpVHVuZXNVIC1hbGxvd2FibGVfY2xpZW50IENhc2Fi
bGFuY2EgLWFsbG93YWJsZV9jbGllbnQgUmVtb3RlIC1hbGxvd2FibGVfY2xpZW50IFRWQm9va3Mg
LWFsbG93YWJsZV9jbGllbnQgRHVtcFJlbmRlclRyZWUgLWFsbG93YWJsZV9jbGllbnQgV2ViS2l0
VGVzdFJ1bm5lciAtYWxsb3dhYmxlX2NsaWVudCBUZXN0V2ViS2l0QVBJOwogT1RIRVJfTERGTEFH
U19QTEFURk9STV9tYWNvc3ggPSAtc3ViX2xpYnJhcnkgbGlib2JqYyAtdW1icmVsbGEgV2ViS2l0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVS5jcHAKaW5kZXggMjYxM2YyZjc4OTRmZTBi
M2ExZGQzZGYzODBmZTNkYmEyNGI3MGZhZC4uMTY4ZDMzNzRjZjU0YjM4NmUxN2Y0YTU5Zjk1ODEy
OTcwNGJjNmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BV
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFUuY3BwCkBAIC0zOCwx
MSArMzgsMjcgQEAgc3RhdGljIFBBTDo6V2ViR1BVOjpSZXF1ZXN0QWRhcHRlck9wdGlvbnMgY29u
dmVydFRvQmFja2luZyhjb25zdCBzdGQ6Om9wdGlvbmFsPEcKICAgICByZXR1cm4gb3B0aW9ucy0+
Y29udmVydFRvQmFja2luZygpOwogfQogCit2b2lkIEdQVTo6c2V0QmFja2luZyhQQUw6OldlYkdQ
VTo6R1BVJiBiYWNraW5nKQoreworICAgIG1fYmFja2luZyA9ICZiYWNraW5nOworICAgIHdoaWxl
ICghbV9wZW5kaW5nUmVxdWVzdEFkYXB0ZXJBcmd1bWVudHMuaXNFbXB0eSgpKSB7CisgICAgICAg
IGF1dG8gYXJndW1lbnRzID0gbV9wZW5kaW5nUmVxdWVzdEFkYXB0ZXJBcmd1bWVudHMudGFrZUZp
cnN0KCk7CisgICAgICAgIHJlcXVlc3RBZGFwdGVyKGFyZ3VtZW50cy5vcHRpb25zLCBXVEZNb3Zl
KGFyZ3VtZW50cy5wcm9taXNlKSk7CisgICAgfQorfQorCiB2b2lkIEdQVTo6cmVxdWVzdEFkYXB0
ZXIoY29uc3Qgc3RkOjpvcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiBvcHRpb25z
LCBSZXF1ZXN0QWRhcHRlclByb21pc2UmJiBwcm9taXNlKQogeworICAgIGlmICghbV9iYWNraW5n
KSB7CisgICAgICAgIG1fcGVuZGluZ1JlcXVlc3RBZGFwdGVyQXJndW1lbnRzLmFwcGVuZCh7IG9w
dGlvbnMsIFdURk1vdmUocHJvbWlzZSkgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBtX2JhY2tpbmctPnJlcXVlc3RBZGFwdGVyKGNvbnZlcnRUb0JhY2tpbmcob3B0aW9ucyksIFtw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKFJlZlB0cjxQQUw6OldlYkdQVTo6QWRhcHRlcj4m
JiBhZGFwdGVyKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKCFhZGFwdGVyKQotICAgICAgICAgICAg
cHJvbWlzZS5yZXNvbHZlKG51bGxwdHIpOworICAgICAgICBpZiAoIWFkYXB0ZXIpIHsKKyAgICAg
ICAgICAgIHByb21pc2UucmVqZWN0KG51bGxwdHIpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CiAgICAgICAgIHByb21pc2UucmVzb2x2ZShHUFVBZGFwdGVyOjpjcmVhdGUoYWRhcHRl
ci5yZWxlYXNlTm9uTnVsbCgpKS5wdHIoKSk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
V2ViR1BVL0dQVS5oCmluZGV4IDE2ZTQ3NzRiMzFjOGQ2ZTJhZWM4NzE4Njc5MDE1N2E3ZWZlZmUw
NzAuLmQzMDRlOGU4ZjdhMTUzNWI3OGI5MzBmN2UxYzY4YjA2MzM1Yjk1NTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQVS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvV2ViR1BVL0dQVS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSlNET01Q
cm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDxwYWwvZ3Jh
cGhpY3MvV2ViR1BVL1dlYkdQVS5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC0zNywyNCArMzgs
MjUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHUFUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxHUFU+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEdQVT4gY3JlYXRlKFJlZjxQQUw6Oldl
YkdQVTo6R1BVPiYmIGJhY2tpbmcpCisgICAgc3RhdGljIFJlZjxHUFU+IGNyZWF0ZSgpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFUoV1RGTW92ZShiYWNraW5nKSkpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBHUFUoKSk7CiAgICAgfQogCiAgICAgdXNpbmcg
UmVxdWVzdEFkYXB0ZXJQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPElE
TEludGVyZmFjZTxHUFVBZGFwdGVyPj4+OwogICAgIHZvaWQgcmVxdWVzdEFkYXB0ZXIoY29uc3Qg
c3RkOjpvcHRpb25hbDxHUFVSZXF1ZXN0QWRhcHRlck9wdGlvbnM+JiwgUmVxdWVzdEFkYXB0ZXJQ
cm9taXNlJiYpOwogCi0gICAgUEFMOjpXZWJHUFU6OkdQVSYgYmFja2luZygpIHsgcmV0dXJuIG1f
YmFja2luZzsgfQotICAgIGNvbnN0IFBBTDo6V2ViR1BVOjpHUFUmIGJhY2tpbmcoKSBjb25zdCB7
IHJldHVybiBtX2JhY2tpbmc7IH0KKyAgICB2b2lkIHNldEJhY2tpbmcoUEFMOjpXZWJHUFU6OkdQ
VSYpOwogCiBwcml2YXRlOgotICAgIEdQVShSZWY8UEFMOjpXZWJHUFU6OkdQVT4mJiBiYWNraW5n
KQotICAgICAgICA6IG1fYmFja2luZyhXVEZNb3ZlKGJhY2tpbmcpKQotICAgIHsKLSAgICB9Ci0K
LSAgICBSZWY8UEFMOjpXZWJHUFU6OkdQVT4gbV9iYWNraW5nOworICAgIEdQVSgpID0gZGVmYXVs
dDsKKworICAgIHN0cnVjdCBQZW5kaW5nUmVxdWVzdEFkYXB0ZXJBcmd1bWVudHMgeworICAgICAg
ICBzdGQ6Om9wdGlvbmFsPEdQVVJlcXVlc3RBZGFwdGVyT3B0aW9ucz4gb3B0aW9uczsKKyAgICAg
ICAgUmVxdWVzdEFkYXB0ZXJQcm9taXNlIHByb21pc2U7CisgICAgfTsKKyAgICBEZXF1ZTxQZW5k
aW5nUmVxdWVzdEFkYXB0ZXJBcmd1bWVudHM+IG1fcGVuZGluZ1JlcXVlc3RBZGFwdGVyQXJndW1l
bnRzOworICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBtX2JhY2tpbmc7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dlYkdQVS9HUFVEZXZpY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9XZWJHUFUvR1BVRGV2aWNlLmNwcAppbmRleCA3Yjg3MzIz
ZjU0ZDg3MTI2MTY2MjIwOTVjZWIyMmM3NDM2MWUyNWJlLi5jMDQ1NTIzNjkzZDY4NzkzYWIzYzk2
YjRmMmE0MmFlMjY5NWI2MGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL1dl
YkdQVS9HUFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvV2ViR1BVL0dQ
VURldmljZS5jcHAKQEAgLTIwNCw4ICsyMDQsMTAgQEAgdm9pZCBHUFVEZXZpY2U6OnB1c2hFcnJv
clNjb3BlKEdQVUVycm9yRmlsdGVyIGVycm9yRmlsdGVyKQogdm9pZCBHUFVEZXZpY2U6OnBvcEVy
cm9yU2NvcGUoRXJyb3JTY29wZVByb21pc2UmJiBlcnJvclNjb3BlUHJvbWlzZSkKIHsKICAgICBt
X2JhY2tpbmctPnBvcEVycm9yU2NvcGUoW3Byb21pc2UgPSBXVEZNb3ZlKGVycm9yU2NvcGVQcm9t
aXNlKV0gKHN0ZDo6b3B0aW9uYWw8UEFMOjpXZWJHUFU6OkVycm9yPiYmIGVycm9yKSBtdXRhYmxl
IHsKLSAgICAgICAgaWYgKCFlcnJvcikKKyAgICAgICAgaWYgKCFlcnJvcikgewogICAgICAgICAg
ICAgcHJvbWlzZS5yZXNvbHZlKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KICAgICAgICAgV1RGOjpzd2l0Y2hPbihXVEZNb3ZlKCplcnJvciksIFsmXSAoUmVm
PFBBTDo6V2ViR1BVOjpPdXRPZk1lbW9yeUVycm9yPiYmIG91dE9mTWVtb3J5RXJyb3IpIHsKICAg
ICAgICAgICAgIEdQVUVycm9yIGVycm9yID0gUmVmUHRyPEdQVU91dE9mTWVtb3J5RXJyb3I+KEdQ
VU91dE9mTWVtb3J5RXJyb3I6OmNyZWF0ZShXVEZNb3ZlKG91dE9mTWVtb3J5RXJyb3IpKSk7CiAg
ICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZXJyb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmlu
ZGV4IGMxM2Y2Y2Y5ZDZlMTc4N2VhNjA1ODlmZTQ2YTJlMTc3ZDkzNzQ4MWQuLjIyYjAwZGQ5NGRh
ZmFmMjU1MTg4OTk5OTY2ZjFmM2JmZjM0MDA0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAg
LTU0Niw2ICs1NDYsMTEgQEAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBDaHJvbWU6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEcKIH0KICNlbmRpZgogCitS
ZWZQdHI8UEFMOjpXZWJHUFU6OkdQVT4gQ2hyb21lOjpjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25z
dAoreworICAgIHJldHVybiBtX2NsaWVudC5jcmVhdGVHUFVGb3JXZWJHUFUoKTsKK30KKwogUGxh
dGZvcm1EaXNwbGF5SUQgQ2hyb21lOjpkaXNwbGF5SUQoKSBjb25zdAogewogICAgIHJldHVybiBt
X3BhZ2UuZGlzcGxheUlEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCAzNzIxODJmZWM2MjBmZWQ5
ZGZlNzNkYTg5MjI0NmFmOTEzYzU1MzNlLi4xMjQzOWMxMGNjM2ZjMjYyODQ5Yzc3OGZlYTY5NmU4
ZmQ0MjkzNTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTMyLDYgKzMyLDEwIEBACiBPQkpDX0NM
QVNTIE5TVmlldzsKICNlbmRpZgogCituYW1lc3BhY2UgUEFMOjpXZWJHUFUgeworY2xhc3MgR1BV
OworfQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENocm9tZUNsaWVudDsKQEAgLTkx
LDYgKzk1LDggQEAgcHVibGljOgogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRl
R3JhcGhpY3NDb250ZXh0R0woY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJikgY29u
c3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIAorICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBjcmVh
dGVHUFVGb3JXZWJHUFUoKSBjb25zdDsKKwogICAgIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJ
RCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRm
b3JtRGlzcGxheUlELCBzdGQ6Om9wdGlvbmFsPEZyYW1lc1BlclNlY29uZD4pIG92ZXJyaWRlOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAzNWQyOTBhMjgxNDJlMjcwYjgxNDdh
NjUxNDgyNjhiNDg1ZTZjNTYzLi4wZjhkNWM1ZTRiZGY0YWJiMjU0OWNlMTY5ZTUxN2U0YjQyMmEz
NzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTUyLDYgKzUyLDcgQEAKICNp
bmNsdWRlICJTZWFyY2hQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJDb3JlS2V5Ym9hcmRVSU1v
ZGUuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Db25zb2xlVHlwZXMuaD4KKyNpbmNsdWRl
IDxwYWwvZ3JhcGhpY3MvV2ViR1BVL1dlYkdQVS5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KQEAgLTM2MSw2ICszNjIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8
R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNz
Q29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5
SUQpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChhdHRy
aWJ1dGVzKTsgfQogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BV
PiBjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisKICAgICAv
LyBQYXNzIG51bGxwdHIgYXMgdGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBs
YXllci4KICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBH
cmFwaGljc0xheWVyKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hWaWV3T3ZlcmxheUdy
YXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciopID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNw
cAppbmRleCA2ZjE5YjJlYjNiZTQ3OTg2NWU1YzU0NGVkMDQ1Y2U0N2M0ZmQxM2JjLi5mNWJkNGIw
YTZlZjJiNTBlN2QyNGZjOTFkZGM3NzAwZjllMjAzOWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJG
cmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAi
R1BVLmgiCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VE
ZWZlcnJlZC5oIgogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCkBAIC0zNDcsNCArMzQ4LDI0
IEBAIHZvaWQgTmF2aWdhdG9yOjpnZXRTdG9yYWdlVXBkYXRlcygpCiB7CiB9CiAKK0dQVSogTmF2
aWdhdG9yOjpncHUoKQoreworICAgIGlmICghbV9ncHVGb3JXZWJHUFUpIHsKKyAgICAgICAgYXV0
byogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOworICAgICAgICBpZiAoIWZyYW1lKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIGF1dG8qIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwor
ICAgICAgICBpZiAoIXBhZ2UpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
YXV0byBncHUgPSBwYWdlLT5jaHJvbWUoKS5jcmVhdGVHUFVGb3JXZWJHUFUoKTsKKyAgICAgICAg
aWYgKCFncHUpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBtX2dwdUZv
cldlYkdQVSA9IEdQVTo6Y3JlYXRlKCk7CisgICAgICAgIG1fZ3B1Rm9yV2ViR1BVLT5zZXRCYWNr
aW5nKCpncHUpOworICAgIH0KKworICAgIHJldHVybiBtX2dwdUZvcldlYkdQVS5nZXQoKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggYmRk
MDQ2NDdiZDI4N2I2NjZmNmRhNzM1MTBlNWQzZDJhN2Y1MWZkOC4uYmFjNDliMzQxMWJkYzhjNmNl
ZGI1ODJiMzliNjk0MzRhMGQ5NDQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCkBAIC02NCw2
ICs2NCw4IEBAIHB1YmxpYzoKICAgICBpbnQgbWF4VG91Y2hQb2ludHMoKSBjb25zdCB7IHJldHVy
biAwOyB9CiAjZW5kaWYKIAorICAgIEdQVSogZ3B1KCk7CisKIHByaXZhdGU6CiAgICAgdm9pZCBz
aG93U2hhcmVEYXRhKEV4Y2VwdGlvbk9yPFNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmPiwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CiAgICAgZXhwbGljaXQgTmF2aWdhdG9yKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBET01XaW5kb3cmKTsKQEAgLTc2LDUgKzc4LDYgQEAgcHJpdmF0ZToKICAgICBt
dXRhYmxlIFJlZlB0cjxET01NaW1lVHlwZUFycmF5PiBtX21pbWVUeXBlczsKICAgICBtdXRhYmxl
IFN0cmluZyBtX3VzZXJBZ2VudDsKICAgICBtdXRhYmxlIFN0cmluZyBtX3BsYXRmb3JtOworICAg
IFJlZlB0cjxHUFU+IG1fZ3B1Rm9yV2ViR1BVOwogfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JCYXNlLmgKaW5kZXggYjUxMjJhNGJkYWUzMDY5YWViMzdmZGFiYzFhNmQ2NjRhMmM0NmNlZS4u
ZDVjYjU2ZTMzN2FhNGE0ZDRhYTI2NGFlYTcyZjFjNjQ3YWRjY2EwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JCYXNlLmgKQEAgLTYzLDcgKzYzLDYgQEAgcHVibGljOgogCiAgICAgU3RvcmFn
ZU1hbmFnZXImIHN0b3JhZ2UoKTsKICAgICBXZWJMb2NrTWFuYWdlciYgbG9ja3MoKTsKLSAgICBH
UFUmIGdwdSgpIHsgcmV0dXJuICptX2dwdUZvcldlYkdQVTsgfTsKIAogcHJvdGVjdGVkOgogICAg
IGV4cGxpY2l0IE5hdmlnYXRvckJhc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwpAQCAtNzEs
NyArNzAsNiBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIFJlZlB0cjxTdG9yYWdlTWFuYWdl
cj4gbV9zdG9yYWdlTWFuYWdlcjsKICAgICBSZWZQdHI8V2ViTG9ja01hbmFnZXI+IG1fd2ViTG9j
a01hbmFnZXI7Ci0gICAgUmVmUHRyPEdQVT4gbV9ncHVGb3JXZWJHUFU7CiAKICNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1dvcmtlck5hdmlnYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRv
ci5jcHAKaW5kZXggNTVkZTAwNGIwMDA0NGRkM2RhZDM0NTI3NzM0ODBjZjhhZTFhZTQ1Ny4uMTBm
M2E1M2JhNmY5ZGRkNDMwMTg2OGMzMGI4YjVjNTgyOWQzNGM1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV29ya2VyTmF2aWdhdG9yLmNwcApAQCAtNDYsNCArNDYsMTAgQEAgYm9vbCBXb3JrZXJOYXZp
Z2F0b3I6Om9uTGluZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1faXNPbmxpbmU7CiB9CiAKK0dQVSog
V29ya2VyTmF2aWdhdG9yOjpncHUoKQoreworICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNjIyIEltcGxlbWVudCB0aGlzLgorICAgIHJldHVy
biBudWxscHRyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9X
b3JrZXJOYXZpZ2F0b3IuaAppbmRleCA0NWVjZjY2YzdkMjBjODJiZDUyY2Y1NWQxZmI5NGE4YzMy
YjRiNDUwLi5lMDc1NDM3ZGJiYWU1ZDU3OWRjYTMwMjljN2Y0OWE0YjA5ODE0OGRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmgKQEAgLTM5LDYgKzM5LDggQEAgcHVibGljOgog
ICAgIGJvb2wgb25MaW5lKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRJc09ubGluZShib29s
IGlzT25saW5lKSB7IG1faXNPbmxpbmUgPSBpc09ubGluZTsgfQogCisgICAgR1BVKiBncHUoKTsK
KwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXb3JrZXJOYXZpZ2F0b3IoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIGNvbnN0IFN0cmluZyYsIGJvb2wgaXNPbmxpbmUpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQWRh
cHRlci5tbQppbmRleCA0MDZjMzNiZjdjNzIxYWM3OWZlMjcyZmE3Zjg3NzQ0MjNhMzA4NzFmLi5l
ZTFiYjI4ZTI3ZTBkYzNiNzU4ZTZkOWU3NmM2NzNlZTVjMzE1YTQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9BZGFwdGVyLm1tCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0Fk
YXB0ZXIubW0KQEAgLTM5LDcgKzM5LDcgQEAgQWRhcHRlcjo6fkFkYXB0ZXIoKSA9IGRlZmF1bHQ7
CiBib29sIEFkYXB0ZXI6OmdldExpbWl0cyhXR1BVU3VwcG9ydGVkTGltaXRzKiBsaW1pdHMpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKGxpbWl0cyk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVy
biB0cnVlOwogfQogCiB2b2lkIEFkYXB0ZXI6OmdldFByb3BlcnRpZXMoV0dQVUFkYXB0ZXJQcm9w
ZXJ0aWVzKiBwcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkdQVS9XZWJHUFUvSW5z
dGFuY2UubW0gYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQppbmRleCA5Mzc3Zjg1
MTA1MzY4NzE5OTJiYTRkYzRiMjQ5M2Y1NzIzMjFhZDMwLi41MDJiZTQ3OWIxYzk2ODAxYmIzMTNi
NjAxODJkM2JlMmM5YjVlNTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0
YW5jZS5tbQorKysgYi9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9JbnN0YW5jZS5tbQpAQCAtNTIsNiAr
NTIsNyBAQCB2b2lkIEluc3RhbmNlOjpyZXF1ZXN0QWRhcHRlcihjb25zdCBXR1BVUmVxdWVzdEFk
YXB0ZXJPcHRpb25zKiBvcHRpb25zLCBXVEY6OkZ1bgogewogICAgIFVOVVNFRF9QQVJBTShvcHRp
b25zKTsKICAgICBVTlVTRURfUEFSQU0oY2FsbGJhY2spOworICAgIGNhbGxiYWNrKFdHUFVSZXF1
ZXN0QWRhcHRlclN0YXR1c19VbmF2YWlsYWJsZSwgQWRhcHRlcjo6Y3JlYXRlKCksICJBZGFwdGVy
Iik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkdQVQpAQCAtNjQsNyArNjUsNyBAQCB2b2lkIHdn
cHVJbnN0YW5jZVJlbGVhc2UoV0dQVUluc3RhbmNlIGluc3RhbmNlKQogV0dQVUluc3RhbmNlIHdn
cHVDcmVhdGVJbnN0YW5jZShjb25zdCBXR1BVSW5zdGFuY2VEZXNjcmlwdG9yKiBkZXNjcmlwdG9y
KQogewogICAgIFVOVVNFRF9QQVJBTShkZXNjcmlwdG9yKTsKLSAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gbmV3IFdHUFVJbnN0YW5jZUltcGwgeyBXZWJHUFU6Okluc3RhbmNlOjpjcmVh
dGUoKSB9OwogfQogCiBXR1BVUHJvYyB3Z3B1R2V0UHJvY0FkZHJlc3MoV0dQVURldmljZSBkZXZp
Y2UsIGNvbnN0IGNoYXIqIHByb2NOYW1lKQpAQCAtMzg0LDcgKzM4NSw3IEBAIHZvaWQgd2dwdUlu
c3RhbmNlUHJvY2Vzc0V2ZW50cyhXR1BVSW5zdGFuY2UgaW5zdGFuY2UpCiAKIHZvaWQgd2dwdUlu
c3RhbmNlUmVxdWVzdEFkYXB0ZXIoV0dQVUluc3RhbmNlIGluc3RhbmNlLCBjb25zdCBXR1BVUmVx
dWVzdEFkYXB0ZXJPcHRpb25zKiBvcHRpb25zLCBXR1BVUmVxdWVzdEFkYXB0ZXJDYWxsYmFjayBj
YWxsYmFjaywgdm9pZCogdXNlcmRhdGEpCiB7Ci0gICAgcmV0dXJuIGluc3RhbmNlLT5pbnN0YW5j
ZS0+cmVxdWVzdEFkYXB0ZXIob3B0aW9ucywgW2NhbGxiYWNrLCB1c2VyZGF0YV0gKFdHUFVSZXF1
ZXN0QWRhcHRlclN0YXR1cyBzdGF0dXMsIFJlZjxXZWJHUFU6OkFkYXB0ZXI+JiYgYWRhcHRlciwg
Y29uc3QgY2hhciogbWVzc2FnZSkgeworICAgIGluc3RhbmNlLT5pbnN0YW5jZS0+cmVxdWVzdEFk
YXB0ZXIob3B0aW9ucywgW2NhbGxiYWNrLCB1c2VyZGF0YV0gKFdHUFVSZXF1ZXN0QWRhcHRlclN0
YXR1cyBzdGF0dXMsIFJlZjxXZWJHUFU6OkFkYXB0ZXI+JiYgYWRhcHRlciwgY29uc3QgY2hhciog
bWVzc2FnZSkgewogICAgICAgICBjYWxsYmFjayhzdGF0dXMsIG5ldyBXR1BVQWRhcHRlckltcGwg
eyBXVEZNb3ZlKGFkYXB0ZXIpIH0sIG1lc3NhZ2UsIHVzZXJkYXRhKTsKICAgICB9KTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwppbmRl
eCAyMDIxNTg1YmIwYzRhZWFjZTE3MWFiMmViOTdlM2UxZTZiZjBiNzk1Li4zYjFjMmMzNjE5Mjg1
M2QzN2I5MDgxMzdhZmNhOGRiZGY2MDVkMjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Nv
bmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCkBAIC00Nyw3ICs0Nyw3IEBAIEdDQ19QUkVQ
Uk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoV0tfRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFCiBXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQo
QlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnMgJChT
REtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnM7CiBMSUJXRUJSVENfSEVB
REVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVk
ZS93ZWJydGMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS93ZWJydGM7CiAKLUhFQURFUl9T
RUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUgIiQo
V0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyIgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIgJChXRUJLSVRBRERJVElPTlNfSEVB
REVSX1NFQVJDSF9QQVRIUykgJChMSUJXRUJSVENfSEVBREVSX1NFQVJDSF9QQVRIUykgJChTUkNS
T09UKSAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZSAiJChXRUJDT1JFX1BSSVZBVEVfSEVB
REVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0MiAiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRl
L3BhbC9ncmFwaGljcy9XZWJHUFUiICQoV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFU
SFMpICQoTElCV0VCUlRDX0hFQURFUl9TRUFSQ0hfUEFUSFMpICQoU1JDUk9PVCkgJChIRUFERVJf
U0VBUkNIX1BBVEhTKTsKIAogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0ZWQpIC1pZnJhbWV3b3Jr
ICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3M7CiBPVEhF
Ul9DUExVU1BMVVNGTEFHUyA9ICQoT1RIRVJfQ0ZMQUdTKSAtaXN5c3RlbSAkKFNES1JPT1QpL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU3lzdGVtLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcAppbmRleCA1MmFlODgxOTM3MWEzZWRkNjBjZDcyMGNkMDg0YmIzYzg1N2ZhN2Nk
Li41ZDY0ZGVjZjQxY2MyMTYyMmJlZjNmMjdhZDg4NmZmMWNlZWUxZGNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JU
cmFuc2FjdGlvbi5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1
ZGUgIldlYkVycm9ycy5oIgorI2luY2x1ZGUgIldlYkdQVU9iamVjdEhlYXAuaCIKICNpbmNsdWRl
ICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0
aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5o
PgpAQCAtNTU1LDYgKzU1NiwxOSBAQCB2b2lkIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJl
bGVhc2VHcmFwaGljc0NvbnRleHRHTEZvclRlc3RpbmcoR3JhcGhpY3NDb250ZQogfQogI2VuZGlm
CiAKK3ZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlUmVtb3RlR1BVKFdlYkdQ
VUlkZW50aWZpZXIgaWRlbnRpZmllciwgUmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIgcmVuZGVy
aW5nQmFja2VuZElkZW50aWZpZXIsIElQQzo6U3RyZWFtQ29ubmVjdGlvbkJ1ZmZlciYmIHN0cmVh
bSkKK3sKKyAgICBhdXRvIGl0ID0gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kTWFwLmZpbmQocmVu
ZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOworICAgIGlmIChpdCA9PSBtX3JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmRNYXAuZW5kKCkpCisgICAgICAgIHJldHVybjsKKyAgICBhdXRvKiByZW5kZXJpbmdC
YWNrZW5kID0gaXQtPnZhbHVlLmdldCgpOworCisgICAgYXV0byBhZGRSZXN1bHQgPSBtX3JlbW90
ZUdQVU1hcC5lbnN1cmUoaWRlbnRpZmllciwgWyZdKCkgeworICAgICAgICByZXR1cm4gSVBDOjpT
Y29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2ZVF1ZXVlIHsgUmVtb3RlR1BVOjpjcmVhdGUoaWRlbnRp
ZmllciwgKnRoaXMsICpyZW5kZXJpbmdCYWNrZW5kLCBXVEZNb3ZlKHN0cmVhbSkpIH07CisgICAg
fSk7CisgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsK
K30KKwogdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjbGVhck5vd1BsYXlpbmdJbmZv
KCkKIHsKICAgICBtX2lzQWN0aXZlTm93UGxheWluZ1Byb2Nlc3MgPSBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmlu
ZGV4IGFlNzk1MDUyNTg2MGRlM2NmNmEyYjE3ODhmZTM1YTVlYWJkYTU2N2QuLmZhYjY3MGZiOTA5
Y2M3ZmU5YTEwZjk0N2VjNmEwZjA2YWE1ZWU0ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMzIsOSArMzIsMTEg
QEAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKICNpbmNsdWRlICJSZW1vdGVBdWRp
b0hhcmR3YXJlTGlzdGVuZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUmVtb3RlQXVkaW9TZXNz
aW9uSWRlbnRpZmllci5oIgorI2luY2x1ZGUgIlJlbW90ZUdQVS5oIgogI2luY2x1ZGUgIlJlbW90
ZVJlbW90ZUNvbW1hbmRMaXN0ZW5lcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJSZW5kZXJpbmdC
YWNrZW5kSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZl
UXVldWUuaCIKKyNpbmNsdWRlICJXZWJHUFVJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9MaWJXZWJSVENFbnVtVHJhaXRzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3dQbGF5aW5nTWFu
YWdlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUlkZW50aWZpZXIuaD4KQEAgLTIxMyw2ICsy
MTUsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVsZWFzZUdyYXBoaWNzQ29udGV4dEdMKEdyYXBo
aWNzQ29udGV4dEdMSWRlbnRpZmllcik7CiAjZW5kaWYKIAorICAgIHZvaWQgY3JlYXRlUmVtb3Rl
R1BVKFdlYkdQVUlkZW50aWZpZXIsIFJlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyLCBJUEM6OlN0
cmVhbUNvbm5lY3Rpb25CdWZmZXImJik7CisKICAgICB2b2lkIGNsZWFyTm93UGxheWluZ0luZm8o
KTsKICAgICB2b2lkIHNldE5vd1BsYXlpbmdJbmZvKFdlYkNvcmU6Ok5vd1BsYXlpbmdJbmZvJiYp
OwogCkBAIC0zMDgsNiArMzEyLDggQEAgcHJpdmF0ZToKICAgICB1c2luZyBSZW1vdGVHcmFwaGlj
c0NvbnRleHRHTE1hcCA9IEhhc2hNYXA8R3JhcGhpY3NDb250ZXh0R0xJZGVudGlmaWVyLCBJUEM6
OlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWU8UmVtb3RlR3JhcGhpY3NDb250ZXh0R0w+
PjsKICAgICBSZW1vdGVHcmFwaGljc0NvbnRleHRHTE1hcCBtX3JlbW90ZUdyYXBoaWNzQ29udGV4
dEdMTWFwOwogI2VuZGlmCisgICAgdXNpbmcgUmVtb3RlR1BVTWFwID0gSGFzaE1hcDxXZWJHUFVJ
ZGVudGlmaWVyLCBJUEM6OlNjb3BlZEFjdGl2ZU1lc3NhZ2VSZWNlaXZlUXVldWU8UmVtb3RlR1BV
Pj47CisgICAgUmVtb3RlR1BVTWFwIG1fcmVtb3RlR1BVTWFwOwogI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUNETUZhY3RvcnlQcm94eT4gbV9j
ZG1GYWN0b3J5UHJveHk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXgg
MzkxYzE5ZmU5ZDg1MTRmNzRmYzFhNDM4ODY0OTBiNmFhZDNhNWFlNS4uOTE5YjVkMzBlMTBmZTUw
YTliMGE2OWQyOTlhMDZlODMwYTU4OTRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
QEAgLTI5LDYgKzI5LDcgQEAgbWVzc2FnZXMgLT4gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBX
YW50c0Rpc3BhdGNoTWVzc2FnZSB7CiAgICAgdm9pZCBDcmVhdGVHcmFwaGljc0NvbnRleHRHTChz
dHJ1Y3QgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIFdl
YktpdDo6R3JhcGhpY3NDb250ZXh0R0xJZGVudGlmaWVyIGdyYXBoaWNzQ29udGV4dEdMSWRlbnRp
ZmllciwgV2ViS2l0OjpSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciByZW5kZXJpbmdCYWNrZW5k
SWRlbnRpZmllciwgSVBDOjpTdHJlYW1Db25uZWN0aW9uQnVmZmVyIHN0cmVhbSkKICAgICB2b2lk
IFJlbGVhc2VHcmFwaGljc0NvbnRleHRHTChXZWJLaXQ6OkdyYXBoaWNzQ29udGV4dEdMSWRlbnRp
ZmllciBncmFwaGljc0NvbnRleHRHTElkZW50aWZpZXIpCiAjZW5kaWYKKyAgICB2b2lkIENyZWF0
ZVJlbW90ZUdQVShXZWJLaXQ6OldlYkdQVUlkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViS2l0OjpS
ZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciByZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllciwgSVBD
OjpTdHJlYW1Db25uZWN0aW9uQnVmZmVyIHN0cmVhbSkKICAgICB2b2lkIENsZWFyTm93UGxheWlu
Z0luZm8oKQogICAgIHZvaWQgU2V0Tm93UGxheWluZ0luZm8oc3RydWN0IFdlYkNvcmU6Ok5vd1Bs
YXlpbmdJbmZvIG5vd1BsYXlpbmdJbmZvKQogI2lmIFVTRShBVURJT19TRVNTSU9OKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKaW5kZXggOTMzNTY3MGIwYTMxZDhkNGNjMDdiNjJmYjYzMGMxZDAyNzhmNDkzNy4uYzAyNzlj
MzBlODUxNTllNWY5MjA0YjEwZTAwYzEwMmQ2ODkxOGNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC04NTgs
NiArODU4LDcgQEAgUmVtb3RlQ29tcHV0ZVBpcGVsaW5lTWVzc2FnZVJlY2VpdmVyLmNwcAogUmVt
b3RlRGV2aWNlTWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlRXh0ZXJuYWxUZXh0dXJlTWVzc2Fn
ZVJlY2VpdmVyLmNwcAogUmVtb3RlR1BVTWVzc2FnZVJlY2VpdmVyLmNwcAorUmVtb3RlR1BVUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiBSZW1vdGVQaXBlbGluZUxheW91dE1lc3NhZ2VSZWNlaXZl
ci5jcHAKIFJlbW90ZVF1ZXJ5U2V0TWVzc2FnZVJlY2VpdmVyLmNwcAogUmVtb3RlUXVldWVNZXNz
YWdlUmVjZWl2ZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5jcHAKaW5kZXggYjQyNjc2
MWE4YTFmNmFkNTJkY2NiMTJjOWEwMWMwNDg4MjVjNjg1MC4uZThiY2JkMWYyMDZmNTM5NWQyZWIw
YTU1YWRjN2VlNWFhYzBiNzllOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVVByb3h5LmNwcApAQCAt
NDgsMTEgKzQ4LDIzIEBAIFJlbW90ZUdQVVByb3h5OjpSZW1vdGVHUFVQcm94eShHUFVQcm9jZXNz
Q29ubmVjdGlvbiYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIFdlYkdQCiAgICAgLCBtX2dwdVByb2Nl
c3NDb25uZWN0aW9uKCZncHVQcm9jZXNzQ29ubmVjdGlvbikKICAgICAsIG1fc3RyZWFtQ29ubmVj
dGlvbihncHVQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCksIGRlZmF1bHRTdHJlYW1TaXpl
KQogeworICAgIG1fZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24tPmFkZENsaWVudCgqdGhpcyk7CiAgICAg
bV9ncHVQcm9jZXNzQ29ubmVjdGlvbi0+bWVzc2FnZVJlY2VpdmVyTWFwKCkuYWRkTWVzc2FnZVJl
Y2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVHUFVQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBp
ZGVudGlmaWVyLnRvVUludDY0KCksICp0aGlzKTsKKyAgICBjb25uZWN0aW9uKCkuc2VuZChNZXNz
YWdlczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlUmVtb3RlR1BVKGlkZW50aWZp
ZXIsIHJlbmRlcmluZ0JhY2tlbmQsIG1fc3RyZWFtQ29ubmVjdGlvbi5zdHJlYW1CdWZmZXIoKSks
IDAsIElQQzo6U2VuZE9wdGlvbjo6RGlzcGF0Y2hNZXNzYWdlRXZlbldoZW5XYWl0aW5nRm9yU3lu
Y1JlcGx5KTsKKyAgICAvLyBUT0RPOiBXZSBtdXN0IHdhaXQgdW50aWwgaW5pdGlhbGl6ZWQsIGJl
Y2F1c2UgYXQgdGhlIG1vbWVudCB3ZSBjYW5ub3QgcmVjZWl2ZSBJUEMgbWVzc2FnZXMKKyAgICAv
LyBkdXJpbmcgd2FpdCB3aGlsZSBpbiBzeW5jaHJvbm91cyBzdHJlYW0gc2VuZC4gU2hvdWxkIGJl
IGZpeGVkIGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNzIxMS4KKyAgICB3YWl0VW50aWxJbml0aWFsaXplZCgpOwogfQogCiBSZW1vdGVHUFVQcm94
eTo6flJlbW90ZUdQVVByb3h5KCkgPSBkZWZhdWx0OwogCit2b2lkIFJlbW90ZUdQVVByb3h5Ojpn
cHVQcm9jZXNzQ29ubmVjdGlvbkRpZENsb3NlKEdQVVByb2Nlc3NDb25uZWN0aW9uJiBjb25uZWN0
aW9uKQoreworICAgIEFTU0VSVChtX2dwdVByb2Nlc3NDb25uZWN0aW9uKTsKKyAgICBBU1NFUlQo
JmNvbm5lY3Rpb24gPT0gbV9ncHVQcm9jZXNzQ29ubmVjdGlvbik7CisgICAgYWJhbmRvbkdQVVBy
b2Nlc3MoKTsKK30KKwogdm9pZCBSZW1vdGVHUFVQcm94eTo6YWJhbmRvbkdQVVByb2Nlc3MoKQog
ewogICAgIGF1dG8gZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24gPSBzdGQ6OmV4Y2hhbmdlKG1fZ3B1UHJv
Y2Vzc0Nvbm5lY3Rpb24sIG51bGxwdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvV2ViR1BVL1JlbW90ZUdQVVByb3h5LmgKaW5kZXgg
YTRmYThmNWJiODQ3MmM2MDE0NTBmZTE3NDkyNjk4YzhlN2FmN2M1Zi4uYjAwNjg0MzgxMjIzNTMz
ZTM3Y2Q2YTljYmUwZWU1MmJhNzMyMTVlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9ncmFwaGljcy9XZWJHUFUvUmVtb3RlR1BVUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1dlYkdQVS9SZW1vdGVHUFVQcm94eS5oCkBA
IC00NSw3ICs0NSw3IEBAIGNsYXNzIENvbnZlcnRUb0JhY2tpbmdDb250ZXh0OwogY2xhc3MgRG93
bmNhc3RDb252ZXJ0VG9CYWNraW5nQ29udGV4dDsKIH0KIAotY2xhc3MgUmVtb3RlR1BVUHJveHkg
ZmluYWwgOiBwdWJsaWMgUEFMOjpXZWJHUFU6OkdQVSwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNl
aXZlciB7CitjbGFzcyBSZW1vdGVHUFVQcm94eSBmaW5hbCA6IHB1YmxpYyBQQUw6OldlYkdQVTo6
R1BVLCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyLCBwcml2YXRlIEdQVVByb2Nlc3NDb25u
ZWN0aW9uOjpDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8UmVtb3RlR1BVUHJveHk+IGNyZWF0ZShHUFVQcm9jZXNzQ29ubmVjdGlv
biYgZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24sIFdlYkdQVTo6Q29udmVydFRvQmFja2luZ0NvbnRleHQm
IGNvbnZlcnRUb0JhY2tpbmdDb250ZXh0LCBXZWJHUFVJZGVudGlmaWVyIGlkZW50aWZpZXIsIFJl
bmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyIHJlbmRlcmluZ0JhY2tlbmQpCkBAIC03Miw2ICs3Miw5
IEBAIHByaXZhdGU6CiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKICAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCisg
ICAgLy8gR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkNsaWVudAorICAgIHZvaWQgZ3B1UHJvY2Vzc0Nv
bm5lY3Rpb25EaWRDbG9zZShHUFVQcm9jZXNzQ29ubmVjdGlvbiYpIGZpbmFsOworCiAgICAgLy8g
TWVzc2FnZXMgdG8gYmUgcmVjZWl2ZWQuCiAgICAgdm9pZCB3YXNDcmVhdGVkKGJvb2wgZGlkU3Vj
Y2VlZCwgSVBDOjpTZW1hcGhvcmUmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggM2Ex
ZTA0OWQzZDkzZmNhZGM3YjczZTk0OWRjMjgyODE2NmRmNzA1Yy4uM2YyODYyY2ZiNjdjZjFkMmVm
ZmY3MzQwMTY2YmQ0NWI1NTJiNWE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQwLDYg
KzQwLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRl
ICJQYWdlQmFubmVyLmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlldy5oIgorI2luY2x1ZGUgIlJlbW90
ZUdQVVByb3h5LmgiCiAjaW5jbHVkZSAiUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgiCiAj
aW5jbHVkZSAiU2hhcmVkQnVmZmVyQ29weS5oIgogI2luY2x1ZGUgIlVzZXJEYXRhLmgiCkBAIC01
MCw2ICs1MSw3IEBACiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxv
YWRlckNsaWVudC5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCisjaW5jbHVk
ZSAiV2ViR1BVRG93bmNhc3RDb252ZXJ0VG9CYWNraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIldl
YkhpdFRlc3RSZXN1bHREYXRhLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIKICNpbmNsdWRlICJX
ZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5oIgpAQCAtOTEsNiArOTMsMTAgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0SW5kaWNhdG9yLmg+
CiAKKyNpZiBIQVZFKFdFQkdQVV9JTVBMRU1FTlRBVElPTikKKyNpbXBvcnQgPHBhbC9ncmFwaGlj
cy9XZWJHUFUvSW1wbC9XZWJHUFVJbXBsLmg+CisjZW5kaWYKKwogI2lmIEVOQUJMRShBUFBMRV9Q
QVlfQU1TX1VJKQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaD4KICNl
bmRpZgpAQCAtOTQ1LDYgKzk1MSwxOSBAQCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IFdlYkNo
cm9tZUNsaWVudDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0R0woY29uc3QgR3JhcGhpYwogfQogI2Vu
ZGlmCiAKK1JlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUdQ
VUZvcldlYkdQVSgpIGNvbnN0Cit7CisjaWYgSEFWRShXRUJHUFVfSU1QTEVNRU5UQVRJT04pCisj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIHJldHVybiBSZW1vdGVHUFVQcm94eTo6Y3JlYXRl
KFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCksIFdl
YkdQVTo6RG93bmNhc3RDb252ZXJ0VG9CYWNraW5nQ29udGV4dDo6Y3JlYXRlKCksIFdlYkdQVUlk
ZW50aWZpZXI6OmdlbmVyYXRlKCksIG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkoKS5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKTsKKyNlbHNlCisgICAgcmV0dXJuIFBBTDo6
V2ViR1BVOjpHUFVJbXBsOjpjcmVhdGUoKTsKKyNlbmRpZgorI2Vsc2UKKyAgICByZXR1cm4gbnVs
bHB0cjsKKyNlbmRpZgorfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBo
aWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKiBsYXllcikKIHsKICAgICBpZiAobGF5ZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYzkxZDNlODFlZTYxNTQ3ZWVlMzFlMGNmNjg4ODRmYTg1
Y2ZlODY2OS4uZDAyZWRmMWIyZGNkOWVjOWU1ZmNmYjI4NTM2ZTE4NjlkNmM2NDZiNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaApAQCAtMjUyLDYgKzI1Miw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMPiBjcmVhdGVHcmFwaGljc0NvbnRleHRHTChjb25zdCBX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmLCBXZWJDb3JlOjpQbGF0Zm9ybURp
c3BsYXlJRCBob3N0V2luZG93RGlzcGxheUlEKSBjb25zdCBmaW5hbDsKICNlbmRpZgogCisgICAg
UmVmUHRyPFBBTDo6V2ViR1BVOjpHUFU+IGNyZWF0ZUdQVUZvcldlYkdQVSgpIGNvbnN0IGZpbmFs
OwogCiAgICAgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dl
cnMoKSBjb25zdCBmaW5hbAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwppbmRleCBmYjU1
ZGE3NzZlMGY4MjI2ZGE5ZmMzMjY2MjMwOWI0NjczNTdhYzk3Li5mNzg0OTY2NTFkMGViOTNiYzBk
M2UzZTNlYTVmOTc5ODdlNGY3MDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCkBAIC01OCw3
ICs1OCw3IEBAIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMp
IEJVSUxESU5HX1dFQktJVCBGUkFNRVdPUktfTkFNRT1XCiBXRUJLSVRBRERJVElPTlNfSEVBREVS
X1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9X
ZWJLaXRBZGRpdGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlv
bnM7CiBMSUJXRUJSVENfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElS
KS91c3IvbG9jYWwvaW5jbHVkZS93ZWJydGMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS93
ZWJydGM7CiAKLUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVS
U19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzIiAiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYktpdExlZ2FjeSIgIiQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5j
bHVkZSIgJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykgJChMSUJXRUJSVENf
SEVBREVSX1NFQVJDSF9QQVRIUykgJChIRUFERVJfU0VBUkNIX1BBVEhTKSAkKFNSQ1JPT1QpOwor
SEVBREVSX1NFQVJDSF9QQVRIUyA9ICIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9y
d2FyZGluZ0hlYWRlcnMiICIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0TGVnYWN5IiAiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlIiAiJChC
VUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlL3BhbC9ncmFwaGljcy9XZWJHUFUi
ICQoV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFMpICQoTElCV0VCUlRDX0hFQURF
Ul9TRUFSQ0hfUEFUSFMpICQoSEVBREVSX1NFQVJDSF9QQVRIUykgJChTUkNST09UKTsKIElORk9Q
TElTVF9GSUxFID0gbWFjL0luZm8ucGxpc3Q7CiBJTlNUQUxMX1BBVEggPSAkKElOU1RBTExfUEFU
SF9DT0NPQV9UT1VDSF8kKFdLX0lTX0NPQ09BX1RPVUNIKSk7CiBJTlNUQUxMX1BBVEhfQ09DT0Ff
VE9VQ0hfWUVTID0gJChXS19BTFRFUk5BVEVfV0VCS0lUX1NES19QQVRIKSQoU1lTVEVNX0xJQlJB
UllfRElSKS9Qcml2YXRlRnJhbWV3b3JrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYTM2NWQ4ZDg2
NGEyMDY5ZTRmYTgyMjFmYTg4MzkyNDYzYmUwNjY2OS4uNDQ5MTMwNjQ0NzRkMTNjMmI5MzliYjg0
MGExNDlmYzY3NTJhZjljNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI1NSw2ICsyNTUsOCBAQCBw
cml2YXRlOgogICAgIHZvaWQgY2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZvY3VzKGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikgZmluYWw7CiAjZW5kaWYK
IAorICAgIFJlZlB0cjxQQUw6OldlYkdQVTo6R1BVPiBjcmVhdGVHUFVGb3JXZWJHUFUoKSBjb25z
dCBmaW5hbDsKKwogI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKICAgICBib29s
IG1fbW9ja1ZpZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQubW0KaW5kZXggYTE3NTFiMDI5ODRmNzdlN2E3YzZkNTViNTk0ZmZiODgwMDA5
OGZhZi4uMGQ0YjQ4OTkwMDI5NDg1OTAxYTBhM2VhNWU4MjQ1OGZkNTJlNzNkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbQpAQCAtOTMsNiArOTMsMTAgQEAKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNp
bXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgSEFWRShXRUJHUFVfSU1QTEVNRU5U
QVRJT04pCisjaW1wb3J0IDxwYWwvZ3JhcGhpY3MvV2ViR1BVL0ltcGwvV2ViR1BVSW1wbC5oPgor
I2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBFTkFCTEUoR0VPTE9DQVRJT04p
CiAjaW1wb3J0IDxXZWJDb3JlL0dlb2xvY2F0aW9uLmg+CiAjZW5kaWYKQEAgLTExNTMsMyArMTE1
NywxMiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6Y2hhbmdlVW5pdmVyc2FsQWNjZXNzWm9vbUZv
Y3VzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpZQogICAgIFdlYkNvcmU6OmNoYW5nZVVuaXZl
cnNhbEFjY2Vzc1pvb21Gb2N1cyh2aWV3UmVjdCwgc2VsZWN0aW9uUmVjdCk7CiB9CiAjZW5kaWYK
KworUmVmUHRyPFBBTDo6V2ViR1BVOjpHUFU+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlR1BVRm9y
V2ViR1BVKCkgY29uc3QKK3sKKyNpZiBIQVZFKFdFQkdQVV9JTVBMRU1FTlRBVElPTikKKyAgICBy
ZXR1cm4gUEFMOjpXZWJHUFU6OkdQVUltcGw6OmNyZWF0ZSgpOworI2Vsc2UKKyAgICByZXR1cm4g
bnVsbHB0cjsKKyNlbmRpZgorfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>