<?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>95920</bug_id>
          
          <creation_ts>2012-09-05 18:14:36 -0700</creation_ts>
          <short_desc>REGRESSION(r127612): chromium win build is still broken (Requested by bashi1 on #webkit).</short_desc>
          <delta_ts>2013-04-09 17:07:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>95839</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>712730</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-05 18:14:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/127612 broke the build:
chromium win build is still broken (Requested by bashi1 on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712731</commentid>
    <comment_count>1</comment_count>
      <attachid>162386</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-05 18:15:13 -0700</bug_when>
    <thetext>Created attachment 162386
ROLLOUT of r127612

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712743</commentid>
    <comment_count>2</comment_count>
      <attachid>162386</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-05 18:30:59 -0700</bug_when>
    <thetext>Comment on attachment 162386
ROLLOUT of r127612

Rejecting attachment 162386 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 134927 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
50&gt;At revision 134927.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/13765429</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872492</commentid>
    <comment_count>3</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-04-09 17:07:06 -0700</bug_when>
    <thetext>Marked LayoutTest bugs, bugs with Chromium IDs, and some others as WontFix. Test failure bugs still are trackable via TestExpectations or disabled unit tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162386</attachid>
            <date>2012-09-05 18:15:13 -0700</date>
            <delta_ts>2012-09-05 18:30:59 -0700</delta_ts>
            <desc>ROLLOUT of r127612</desc>
            <filename>bug-95920-20120906012135.patch</filename>
            <type>text/plain</type>
            <size>65242</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA5ODE5NjZkMWI1MGZi
OWI1Mzg4MTY4ZTMwNjAwYzY1OGIwZTg3MWI4Li5hOTczOTUzN2EzNzlkZTQ5NDY1ODE3N2E5ZDY2
ZjBiOTY5OTMwOWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wOS0wNSAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNzYxMiwgcjEyNzY2MCwgYW5kIHIxMjc2NjQuCisgICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNzYxMgorICAgICAgICBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc2NjAKKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3NjY0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05NTkyMAorCisgICAgICAgIGNocm9taXVtIHdpbiBidWlsZCBp
cyBzdGlsbCBicm9rZW4gKFJlcXVlc3RlZCBieSBiYXNoaTEgb24KKyAgICAgICAgI3dlYmtpdCku
CisKKyAgICAgICAgKiBQbGF0Zm9ybS5neXBpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9X
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIpOgorICAgICAgICAqIGNocm9taXVtL3B1Ymxp
Yy9XZWJSVENWb2lkUmVxdWVzdC5oOiBSZW1vdmVkLgorCiAyMDEyLTA5LTA1ICBNYXJrIFBpbGdy
aW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlbW92ZSBn
ZXRSZW5kZXJTdHlsZUZvclN0cmlrZSBmcm9tIFBsYXRmb3JtU3VwcG9ydApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDc2ZjUwMDk2NDRjYzM4NzFkMTZmMDJjNDUwODYyZGZjNTkwMzAzNDUuLjEyN2E0OGNhNjYzNDY1
NzA1MTM2NWI2MzEwNjI4NDg1MTY2MTBjMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NSBAQAor
MjAxMi0wOS0wNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisK
KyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNzYxMiwgcjEyNzY2MCwgYW5kIHIx
Mjc2NjQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNzYxMgor
ICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc2NjAKKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3NjY0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTkyMAorCisgICAgICAgIGNocm9taXVt
IHdpbiBidWlsZCBpcyBzdGlsbCBicm9rZW4gKFJlcXVlc3RlZCBieSBiYXNoaTEgb24KKyAgICAg
ICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRXJyb3JD
YWxsYmFjay5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChSVENFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Vycm9yQ2FsbGJhY2suaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb246OmNyZWF0ZU9mZmVyKToKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJ
bXBsOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdEltcGw6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsKToKKyAgICAgICAgKFdl
YkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpyZXF1ZXN0U3VjY2VlZGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpy
ZXF1ZXN0RmFpbGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJl
cXVlc3RJbXBsOjpjbGVhcik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNz
aW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oOgorICAgICAgICAoUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdEltcGwpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJl
cXVlc3RJbXBsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1ZvaWRSZXF1ZXN0SW1wbC5oOiBSZW1vdmVkLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlJUQ1ZvaWRSZXF1ZXN0LmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXIuY3BwOgorICAgICAgICAoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyRHVtbXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyRHVtbXk6OlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckR1bW15KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjp+UlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyKToKKyAgICAgICAgKFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcik6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3QuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDaHJvbWl1bS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Y2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtKToKKwogMjAxMi0wOS0wNSAgSm9zaHVhIEJl
bGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogSW50ZWdlciB2
ZXJzaW9uIGxvc3QgYWZ0ZXIgZmlyc3Qgb3Blbi9jbG9zZS9vcGVuIGN5Y2xlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaSBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9y
bS5neXBpCmluZGV4IDZmYTM5NGVjOTliZWFiZTc2NjgwMmZhMzM1YWFlY2JlMDZjMjU0ZmUuLmQz
ZTc4OTkwZjg2MmU0ZTFlZmQ3ZmNiZDY2NjAzMDVmYWRlODYyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5n
eXBpCkBAIC0xMTAsNyArMTEwLDYgQEAKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2Vi
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgnLAogICAgICAgICAg
ICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0LmgnLAot
ICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJSVENWb2lkUmVxdWVzdC5oJywKICAgICAg
ICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViUmVjdC5oJywKICAgICAgICAgICAgICdjaHJvbWl1
bS9wdWJsaWMvV2ViUmVmZXJyZXJQb2xpY3kuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVi
bGljL1dlYlJlbmRlcmluZ1N0YXRzLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCBiL1NvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKaW5kZXgg
ZjFlN2ZjNmY3YTU3MWQ4ZWQ0MWFlMTAyMTIyYzM5NGJjNDRhZTI4MC4uYzhmMmYxMzc1M2FmMDg1
ODEyZmQ2ZGRhNDM4N2QxYTI0YzE3NGIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAorKysgYi9Tb3VyY2Uv
UGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oCkBA
IC0zOSw3ICszOSw2IEBAIGNsYXNzIFdlYlJUQ0lDRUNhbmRpZGF0ZURlc2NyaXB0b3I7CiBjbGFz
cyBXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGllbnQ7CiBjbGFzcyBXZWJSVENTZXNzaW9u
RGVzY3JpcHRpb25EZXNjcmlwdG9yOwogY2xhc3MgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdDsKLWNsYXNzIFdlYlJUQ1ZvaWRSZXF1ZXN0OwogCiBjbGFzcyBXZWJSVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXIgewogcHVibGljOgpAQCAtNDgsMTAgKzQ3LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpbml0aWFsaXplKGNvbnN0IFdlYlJUQ0NvbmZpZ3VyYXRpb24mLCBjb25zdCBX
ZWJNZWRpYUNvbnN0cmFpbnRzJikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9mZmVy
KGNvbnN0IFdlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QmLCBjb25zdCBXZWJNZWRpYUNv
bnN0cmFpbnRzJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKGNv
bnN0IFdlYlJUQ1ZvaWRSZXF1ZXN0JiwgY29uc3QgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvciYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UmVtb3RlRGVzY3JpcHRpb24oY29u
c3QgV2ViUlRDVm9pZFJlcXVlc3QmLCBjb25zdCBXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yJikgPSAwOwotICAgIHZpcnR1YWwgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvciBsb2NhbERlc2NyaXB0aW9uKCkgPSAwOwotICAgIHZpcnR1YWwgV2ViUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvciByZW1vdGVEZXNjcmlwdGlvbigpID0gMDsKICAgICB2aXJ0dWFs
IGJvb2wgdXBkYXRlSUNFKGNvbnN0IFdlYlJUQ0NvbmZpZ3VyYXRpb24mLCBjb25zdCBXZWJNZWRp
YUNvbnN0cmFpbnRzJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBhZGRJQ0VDYW5kaWRhdGUoY29u
c3QgV2ViUlRDSUNFQ2FuZGlkYXRlRGVzY3JpcHRvciYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
YWRkU3RyZWFtKGNvbnN0IFdlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYsIGNvbnN0IFdlYk1lZGlh
Q29uc3RyYWludHMmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1dlYlJUQ1ZvaWRSZXF1ZXN0LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYlJUQ1ZvaWRSZXF1ZXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEy
NTZiYzZjMGE4ZTJkMDU0ODQyOGE3ZTI5YmEyZGIxNTU5YjIyMWYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJSVENWb2lkUmVxdWVzdC5oCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0g
KiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQot
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
Zm5kZWYgV2ViUlRDVm9pZFJlcXVlc3RfaAotI2RlZmluZSBXZWJSVENWb2lkUmVxdWVzdF9oCi0K
LSNpbmNsdWRlICJXZWJDb21tb24uaCIKLSNpbmNsdWRlICJXZWJOb25Db3B5YWJsZS5oIgotI2lu
Y2x1ZGUgIldlYlByaXZhdGVQdHIuaCIKLSNpbmNsdWRlICJXZWJTdHJpbmcuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotY2xhc3MgUlRDVm9pZFJlcXVlc3Q7Ci19Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1jbGFzcyBXZWJSVENWb2lkUmVxdWVzdCB7Ci1wdWJsaWM6Ci0gICAgY2xhc3MgRXh0
cmFEYXRhIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsgfQot
ICAgIH07Ci0KLSAgICBXZWJSVENWb2lkUmVxdWVzdCgpIHsgfQotICAgIFdlYlJUQ1ZvaWRSZXF1
ZXN0KGNvbnN0IFdlYlJUQ1ZvaWRSZXF1ZXN0JiBvdGhlcikgeyBhc3NpZ24ob3RoZXIpOyB9Ci0g
ICAgfldlYlJUQ1ZvaWRSZXF1ZXN0KCkgeyByZXNldCgpOyB9Ci0KLSAgICBXZWJSVENWb2lkUmVx
dWVzdCYgb3BlcmF0b3I9KGNvbnN0IFdlYlJUQ1ZvaWRSZXF1ZXN0JiBvdGhlcikKLSAgICB7Ci0g
ICAgICAgIGFzc2lnbihvdGhlcik7Ci0gICAgICAgIHJldHVybiAqdGhpczsKLSAgICB9Ci0KLSAg
ICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduKGNvbnN0IFdlYlJUQ1ZvaWRSZXF1ZXN0Jik7Ci0K
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcmVzZXQoKTsKLSAgICBib29sIGlzTnVsbCgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJpdmF0ZS5pc051bGwoKTsgfQotCi0gICAgV0VCS0lUX0VYUE9SVCB2b2lk
IHJlcXVlc3RTdWNjZWVkZWQoKSBjb25zdDsKLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcmVxdWVz
dEZhaWxlZChjb25zdCBXZWJTdHJpbmcmIGVycm9yKSBjb25zdDsKLQotICAgIC8vIEV4dHJhIGRh
dGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb2JqZWN0LgotICAgIC8vIElmIG5vbi1udWxsLCB0aGUg
ZXh0cmEgZGF0YSBwb2ludGVyIHdpbGwgYmUgZGVsZXRlZCB3aGVuIHRoZSBvYmplY3QgaXMgZGVz
dHJveWVkLgotICAgIC8vIFNldHRpbmcgdGhlIGV4dHJhIGRhdGEgcG9pbnRlciB3aWxsIGNhdXNl
IGFueSBleGlzdGluZyBub24tbnVsbAotICAgIC8vIGV4dHJhIGRhdGEgcG9pbnRlciB0byBiZSBk
ZWxldGVkLgotICAgIFdFQktJVF9FWFBPUlQgRXh0cmFEYXRhKiBleHRyYURhdGEoKSBjb25zdDsK
LSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgc2V0RXh0cmFEYXRhKEV4dHJhRGF0YSopOwotCi0jaWYg
V0VCS0lUX0lNUExFTUVOVEFUSU9OCi0gICAgV2ViUlRDVm9pZFJlcXVlc3QoY29uc3QgV1RGOjpQ
YXNzUmVmUHRyPFdlYkNvcmU6OlJUQ1ZvaWRSZXF1ZXN0PiYpOwotI2VuZGlmCi0KLXByaXZhdGU6
Ci0gICAgV2ViUHJpdmF0ZVB0cjxXZWJDb3JlOjpSVENWb2lkUmVxdWVzdD4gbV9wcml2YXRlOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBXZWJSVENWb2lkUmVxdWVz
dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDJkYzA0YmIxYWFmMGU2YzE2MTY1MDIzZTUyNDBi
ZTRiMTE4YzMyODUuLjk1MzYxNWQyOWEwM2Q1ODAzM2JmZDczYWIwYTE2MDAzNzFhNDIxNjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC04NjEsNyArODYxLDYgQEAgU0VUKFdlYkNvcmVfU09VUkNF
UwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCiAgICAgTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiAgICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5jcHAKLSAgICBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5jcHAKICAgICBNb2R1bGVzL21lZGlh
c3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYUNvbnRyb2xsZXIuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMGE0YjYxZjFlMjk2
YzE1ODkwYWM5ZWJmNjJjYjc3ZWVlMmI2MTczNy4uZjYyNmRmZTJlMGZjZGEwMzg2OWM4ZjJmY2Mw
MTA2ZWVhZWIzMDFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xOTM2LDgg
KzE5MzYsNiBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjay5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJl
cXVlc3RJbXBsLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJbXBsLmggXAogCVNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaCBcCiAJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDbGllbnQuaCBcCkBAIC00NTY3
LDcgKzQ1NjUsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBcCi0JU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDVm9pZFJlcXVlc3QuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL01lZGlhU3Ry
ZWFtQ2VudGVyR1N0cmVhbWVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0Vycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRXJyb3JDYWxsYmFjay5oCmluZGV4IDY0NGU1NmYwYmVhNzBkNTNl
NDlmMjg5ZTRhZmY2MTU3ZGEzZWZiZGMuLjY5MzE5NDY4ZWYwZTEzYjI3ODE0NTczZjExNjExMTE4
ZTkzMTgzMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRXJyb3JDYWxsYmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDRXJyb3JDYWxsYmFjay5oCkBAIC0zOCwxMCArMzgsMTIgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitjbGFzcyBSVENQZWVyQ29ubmVjdGlvbjsKKwogY2xhc3MgUlRDRXJyb3JDYWxs
YmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ0Vycm9yQ2FsbGJhY2s+IHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5SVENFcnJvckNhbGxiYWNrKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIGhhbmRs
ZUV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JJbmZvcm1hdGlvbikgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVFdmVudChjb25zdCBTdHJpbmcmIGVycm9ySW5mb3JtYXRpb24sIFJUQ1BlZXJD
b25uZWN0aW9uKikgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFcnJvckNhbGxiYWNrLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRXJyb3JDYWxsYmFjay5p
ZGwKaW5kZXggODEyZTI3NDRmMmE2NDYzNTk0MDVjYWEzZWYxZjkxOGNlYjdjZmM3Yy4uNGU0MGQx
NGRhZTE3ZGRiZDBhNjNmYWY2N2RiODgyYTRiYWIzY2MyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFcnJvckNhbGxiYWNrLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Vycm9yQ2FsbGJhY2suaWRsCkBAIC0z
NCw3ICszNCw3IEBAIG1vZHVsZSBtZWRpYXN0cmVhbSB7CiAgICAgICAgIENvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFJUQ0Vycm9yQ2FsbGJhY2sgewot
ICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIERPTVN0cmluZyBlcnJvckluZm9ybWF0aW9u
KTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBET01TdHJpbmcgZXJyb3JJbmZvcm1h
dGlvbiwgaW4gUlRDUGVlckNvbm5lY3Rpb24gc291cmNlKTsKICAgICB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCmluZGV4IGI1ZDgyNTc2ZWZkNjljZGVhY2E4ODI3NmY4Mzk0ODllZDVjOGNiNDkuLmRm
YmM4OWJjZWFkNTEyMzViNzgwOGViMDIzNzkwNzNkMjRlNTIzYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3Bw
CkBAIC00OCw5ICs0OCw3IEBACiAjaW5jbHVkZSAiUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJh
Y2suaCIKICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgiCiAjaW5j
bHVkZSAiUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuaCIKLSNpbmNsdWRlICJSVENW
b2lkUmVxdWVzdEltcGwuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0j
aW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTUz
LDc0ICsxNTEsMTAgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlT2ZmZXIoUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjaz4gc3UKICAgICBpZiAoZWMpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1w
bD4gcmVxdWVzdCA9IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpjcmVhdGUoc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spOwor
ICAgIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbD4gcmVxdWVzdCA9IFJU
Q1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2ssIHRoaXMpOwogICAgIG1fcGVl
ckhhbmRsZXItPmNyZWF0ZU9mZmVyKHJlcXVlc3QucmVsZWFzZSgpLCBjb25zdHJhaW50cyk7CiB9
CiAKLXZvaWQgUlRDUGVlckNvbm5lY3Rpb246OnNldExvY2FsRGVzY3JpcHRpb24oUGFzc1JlZlB0
cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IHBycFNlc3Npb25EZXNjcmlwdGlvbiwgUGFzc1JlZlB0
cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENFcnJvckNhbGxi
YWNrPiBlcnJvckNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBpZiAobV9yZWFk
eVN0YXRlID09IFJlYWR5U3RhdGVDbG9zaW5nIHx8IG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRl
Q2xvc2VkKSB7Ci0gICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9FUlI7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci0KLSAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBzZXNzaW9uRGVz
Y3JpcHRpb24gPSBwcnBTZXNzaW9uRGVzY3JpcHRpb247Ci0gICAgaWYgKCFzZXNzaW9uRGVzY3Jp
cHRpb24pIHsKLSAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIFJlZlB0cjxSVENWb2lkUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBSVENW
b2lkUmVxdWVzdEltcGw6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Ci0gICAgbV9wZWVySGFuZGxlci0+c2V0TG9jYWxEZXNj
cmlwdGlvbihyZXF1ZXN0LnJlbGVhc2UoKSwgc2Vzc2lvbkRlc2NyaXB0aW9uLT5kZXNjcmlwdG9y
KCkpOwotfQotCi1QYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDUGVlckNvbm5l
Y3Rpb246OmxvY2FsRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKG1f
cmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3JlYWR5U3RhdGUgPT0gUmVhZHlT
dGF0ZUNsb3NlZCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICBy
ZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3Jp
cHRvcj4gZGVzY3JpcHRvciA9IG1fcGVlckhhbmRsZXItPmxvY2FsRGVzY3JpcHRpb24oKTsKLSAg
ICBpZiAoIWRlc2NyaXB0b3IpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgUmVmUHRyPFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbj4gZGVzYyA9IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRlKGRl
c2NyaXB0b3IucmVsZWFzZSgpKTsKLSAgICByZXR1cm4gZGVzYy5yZWxlYXNlKCk7Ci19Ci0KLXZv
aWQgUlRDUGVlckNvbm5lY3Rpb246OnNldFJlbW90ZURlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRD
U2Vzc2lvbkRlc2NyaXB0aW9uPiBwcnBTZXNzaW9uRGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8Vm9p
ZENhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDRXJyb3JDYWxsYmFjaz4g
ZXJyb3JDYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKG1fcmVhZHlTdGF0
ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3Nl
ZCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gc2Vzc2lvbkRlc2NyaXB0
aW9uID0gcHJwU2Vzc2lvbkRlc2NyaXB0aW9uOwotICAgIGlmICghc2Vzc2lvbkRlc2NyaXB0aW9u
KSB7Ci0gICAgICAgIGVjID0gVFlQRV9NSVNNQVRDSF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBSZWZQdHI8UlRDVm9pZFJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gUlRDVm9pZFJl
cXVlc3RJbXBsOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBzdWNjZXNzQ2FsbGJh
Y2ssIGVycm9yQ2FsbGJhY2spOwotICAgIG1fcGVlckhhbmRsZXItPnNldFJlbW90ZURlc2NyaXB0
aW9uKHJlcXVlc3QucmVsZWFzZSgpLCBzZXNzaW9uRGVzY3JpcHRpb24tPmRlc2NyaXB0b3IoKSk7
Ci19Ci0KLVBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBSVENQZWVyQ29ubmVjdGlv
bjo6cmVtb3RlRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgaWYgKG1fcmVh
ZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBtX3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0
ZUNsb3NlZCkgewotICAgICAgICBlYyA9IElOVkFMSURfU1RBVEVfRVJSOwotICAgICAgICByZXR1
cm4gMDsKLSAgICB9Ci0KLSAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cj4gZGVzY3JpcHRvciA9IG1fcGVlckhhbmRsZXItPnJlbW90ZURlc2NyaXB0aW9uKCk7Ci0gICAg
aWYgKCFkZXNjcmlwdG9yKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIFJlZlB0cjxSVENTZXNz
aW9uRGVzY3JpcHRpb24+IGRlc2MgPSBSVENTZXNzaW9uRGVzY3JpcHRpb246OmNyZWF0ZShkZXNj
cmlwdG9yLnJlbGVhc2UoKSk7Ci0gICAgcmV0dXJuIGRlc2MucmVsZWFzZSgpOwotfQotCiB2b2lk
IFJUQ1BlZXJDb25uZWN0aW9uOjp1cGRhdGVJY2UoY29uc3QgRGljdGlvbmFyeSYgcnRjQ29uZmln
dXJhdGlvbiwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgaWYgKG1fcmVhZHlTdGF0ZSA9PSBSZWFkeVN0YXRlQ2xvc2luZyB8fCBt
X3JlYWR5U3RhdGUgPT0gUmVhZHlTdGF0ZUNsb3NlZCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCmluZGV4IDk3NmFi
ZGM2ZDI1OTE3MjMyNzJmZGM4NjZhNTk1YTdhODdhZDdkMmIuLmQ0YzRjZGZkMjExMzg1ODRlYzlm
ZWI2YzcyZDY4OTM2N2QwY2JlNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKQEAgLTQ5LDkgKzQ5LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFDb25zdHJhaW50czsKIGNsYXNzIFJUQ0NvbmZp
Z3VyYXRpb247CiBjbGFzcyBSVENFcnJvckNhbGxiYWNrOwotY2xhc3MgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uOwogY2xhc3MgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2s7Ci1jbGFzcyBWb2lk
Q2FsbGJhY2s7CiAKIGNsYXNzIFJUQ1BlZXJDb25uZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8
UlRDUGVlckNvbm5lY3Rpb24+LCBwdWJsaWMgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50
LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgpA
QCAtNjAsMTIgKzU4LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjcmVhdGVPZmZlcihQYXNzUmVm
UHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENFcnJvckNh
bGxiYWNrPiwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywgRXhjZXB0aW9uQ29k
ZSYpOwogCi0gICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uPiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ0Vy
cm9yQ2FsbGJhY2s+LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgUGFzc1JlZlB0cjxSVENTZXNzaW9u
RGVzY3JpcHRpb24+IGxvY2FsRGVzY3JpcHRpb24oRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgdm9p
ZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4s
IFBhc3NSZWZQdHI8Vm9pZENhbGxiYWNrPiwgUGFzc1JlZlB0cjxSVENFcnJvckNhbGxiYWNrPiwg
RXhjZXB0aW9uQ29kZSYpOwotICAgIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBy
ZW1vdGVEZXNjcmlwdGlvbihFeGNlcHRpb25Db2RlJik7Ci0KICAgICBTdHJpbmcgcmVhZHlTdGF0
ZSgpIGNvbnN0OwogCiAgICAgdm9pZCB1cGRhdGVJY2UoY29uc3QgRGljdGlvbmFyeSYgcnRjQ29u
ZmlndXJhdGlvbiwgY29uc3QgRGljdGlvbmFyeSYgbWVkaWFDb25zdHJhaW50cywgRXhjZXB0aW9u
Q29kZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1BlZXJDb25uZWN0aW9uLmlkbAppbmRleCA5ZWU1ZTAxOTliN2VlZDAwYjY1N2ZmZTExZWJh
NmU4ZDNiMGJiY2ZmLi4wMmZhMzQ1NDhkZGMyYzE4MDc4YzdiMjQ5Nzg2ZWI4MjdhYjhlMTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLmlkbApAQCAtNDEsMTYgKzQxLDYgQEAgbW9kdWxlIG1lZGlhc3RyZWFtIHsK
ICAgICAgICAgdm9pZCBjcmVhdGVPZmZlcihpbiBbQ2FsbGJhY2tdIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkNhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywgaW4gW0NhbGxiYWNrLE9wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykKICAg
ICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCi0gICAgICAgIHZvaWQgc2V0TG9jYWxE
ZXNjcmlwdGlvbihpbiBSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIGluIFtDYWxs
YmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0Nh
bGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJy
b3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCi0gICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBs
b2NhbERlc2NyaXB0aW9uCi0gICAgICAgICAgICBnZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7
Ci0KLSAgICAgICAgdm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihpbiBSVENTZXNzaW9uRGVzY3Jp
cHRpb24gZGVzY3JpcHRpb24sIGluIFtDYWxsYmFjaywgT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZp
bmVkXSBWb2lkQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gUlRDRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spCi0g
ICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiByZW1vdGVEZXNjcmlwdGlvbgotICAgICAgICAgICAg
Z2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwotCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgcmVhZHlTdGF0ZTsKIAogICAgICAgICB2b2lkIHVwZGF0ZUljZShpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBEaWN0aW9uYXJ5IGNvbmZpZ3VyYXRpb24sIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERpY3Rpb25hcnkgbWVkaWFDb25zdHJhaW50cykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2suaAppbmRleCAwNmVlMDcxYzQ1NThkMzRk
YWNhOTdmMmNlNTdlNTRhODcxYmFjODM5Li4xYTFlMGE5OTEzZTY2ZTYzODI3Y2M3ODY4NzE0ZmUz
ZDNmNWFmMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjay5oCkBAIC0zNywx
MiArMzcsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBSVENQZWVyQ29ubmVj
dGlvbjsKIGNsYXNzIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjsKIAogY2xhc3MgUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENTZXNzaW9uRGVzY3JpcHRp
b25DYWxsYmFjaz4gewogcHVibGljOgogICAgIHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkNhbGxiYWNrKCkgeyB9Ci0gICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbiopID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKiwgUlRDUGVlckNvbm5lY3Rpb24qKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2suaWRsCmluZGV4
IDViZTc1ZTkyMDk5MzA2YjI0MzFmZWNhMTE1ZGViY2M5NDg4MzI5ZGIuLjRhNTM2ZDRkOWMyODEw
OTkwMDFmNzMyNWVlYWFjMDQ3NjFiNWUwMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2suaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
Q2FsbGJhY2suaWRsCkBAIC0zNCw3ICszNCw3IEBAIG1vZHVsZSBtZWRpYXN0cmVhbSB7CiAgICAg
ICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrIHsKLSAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVu
dChpbiBSVENTZXNzaW9uRGVzY3JpcHRpb24gc2RwKTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVF
dmVudChpbiBSVENTZXNzaW9uRGVzY3JpcHRpb24gc2RwLCBpbiBSVENQZWVyQ29ubmVjdGlvbiBz
b3VyY2UpOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0
SW1wbC5jcHAKaW5kZXggMjNjNTUzYTE2NDlkZWVjMDk5YTBkN2JiYzBhNTA2YjY2OTQwYjllYy4u
ZWI4OGU2MjU3ZTFkYjVkYzkxZDgzN2U4ZWFkMTIzZjVjZjI2NmQ2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1
ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5jcHAKQEAgLTQyLDE3ICs0MiwxOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdEltcGw+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRp
b25DYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ0Vycm9yQ2FsbGJhY2s+
IGVycm9yQ2FsbGJhY2spCitQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJ
bXBsPiBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbDo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrLCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBvd25lcikKIHsKLSAgICBS
ZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJl
ZihuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwoY29udGV4dCwgc3VjY2Vzc0Nh
bGxiYWNrLCBlcnJvckNhbGxiYWNrKSk7CisgICAgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
blJlcXVlc3RJbXBsPiByZXF1ZXN0ID0gYWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
blJlcXVlc3RJbXBsKGNvbnRleHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaywgb3du
ZXIpKTsKICAgICByZXF1ZXN0LT5zdXNwZW5kSWZOZWVkZWQoKTsKICAgICByZXR1cm4gcmVxdWVz
dC5yZWxlYXNlKCk7CiB9CiAKLVJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpSVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssIFBhc3NSZWZQdHI8UlRDRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK1JUQ1Nl
c3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0
SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkNhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssIFBhc3NSZWZQdHI8UlRDRXJy
b3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaywgUGFzc1JlZlB0cjxSVENQZWVyQ29ubmVjdGlvbj4g
b3duZXIpCiAgICAgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwgdGhpcykKICAgICAsIG1fc3Vj
Y2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKICAgICAsIG1fZXJyb3JDYWxsYmFjayhlcnJv
ckNhbGxiYWNrKQorICAgICwgbV9vd25lcihvd25lcikKIHsKIH0KIApAQCAtNjQsNyArNjUsNyBA
QCB2b2lkIFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsOjpyZXF1ZXN0U3VjY2VlZGVk
KFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlcwogewogICAgIGlmIChtX3N1Y2Nlc3NDYWxsYmFjaykg
ewogICAgICAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBzZXNzaW9uRGVzY3JpcHRp
b24gPSBSVENTZXNzaW9uRGVzY3JpcHRpb246OmNyZWF0ZShkZXNjcmlwdG9yKTsKLSAgICAgICAg
bV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KHNlc3Npb25EZXNjcmlwdGlvbi5nZXQoKSk7
CisgICAgICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT5oYW5kbGVFdmVudChzZXNzaW9uRGVzY3JpcHRp
b24uZ2V0KCksIG1fb3duZXIuZ2V0KCkpOwogICAgIH0KIAogICAgIGNsZWFyKCk7CkBAIC03Myw3
ICs3NCw3IEBAIHZvaWQgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw6OnJlcXVlc3RT
dWNjZWVkZWQoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzCiB2b2lkIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvblJlcXVlc3RJbXBsOjpyZXF1ZXN0RmFpbGVkKGNvbnN0IFN0cmluZyYgZXJyb3IpCiB7CiAg
ICAgaWYgKG1fZXJyb3JDYWxsYmFjaykKLSAgICAgICAgbV9lcnJvckNhbGxiYWNrLT5oYW5kbGVF
dmVudChlcnJvcik7CisgICAgICAgIG1fZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoZXJyb3Is
IG1fb3duZXIuZ2V0KCkpOwogCiAgICAgY2xlYXIoKTsKIH0KQEAgLTg3LDYgKzg4LDcgQEAgdm9p
ZCBSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbDo6Y2xlYXIoKQogewogICAgIG1fc3Vj
Y2Vzc0NhbGxiYWNrLmNsZWFyKCk7CiAgICAgbV9lcnJvckNhbGxiYWNrLmNsZWFyKCk7CisgICAg
bV9vd25lci5jbGVhcigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
blJlcXVlc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nl
c3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsLmgKaW5kZXggZDFiY2VlMDEzNTEzYWE2N2MyYjA3
NmE5MDUwMWVjZTg1NjJlMTZlMC4uNzRhZWJmYzk4YjgxMTJmZTJmYzg4MTk1NTNjODI0OGM2NTlj
ZjRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENT
ZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuaApAQCAtNDQs
NyArNDQsNyBAQCBjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjazsKIAogY2xhc3Mg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwgOiBwdWJsaWMgUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGw+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25D
YWxsYmFjaz4sIFBhc3NSZWZQdHI8UlRDRXJyb3JDYWxsYmFjaz4pOworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2s+
LCBQYXNzUmVmUHRyPFJUQ0Vycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1BlZXJDb25uZWN0
aW9uPik7CiAgICAgdmlydHVhbCB+UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwoKTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3VjY2VlZGVkKFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pIE9WRVJSSURFOwpAQCAtNTQsMTIgKzU0LDEzIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwogCiBwcml2YXRlOgotICAg
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3RJbXBsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNhbGxiYWNrPiwgUGFzc1JlZlB0cjxS
VENFcnJvckNhbGxiYWNrPik7CisgICAgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
Q2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ0Vycm9yQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ1Bl
ZXJDb25uZWN0aW9uPik7CiAKICAgICB2b2lkIGNsZWFyKCk7CiAKICAgICBSZWZQdHI8UlRDU2Vz
c2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNrOwogICAgIFJlZlB0cjxS
VENFcnJvckNhbGxiYWNrPiBtX2Vycm9yQ2FsbGJhY2s7CisgICAgUmVmUHRyPFJUQ1BlZXJDb25u
ZWN0aW9uPiBtX293bmVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdElt
cGwuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWU3NjEzN2U3NGZjNTQwNzA4
MmYxNjVmNTU1OTM1OGExNTNiNmNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJl
cXVlc3RJbXBsLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogICAgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlz
dHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcwotICogICAgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0jaW5jbHVkZSAi
UlRDVm9pZFJlcXVlc3RJbXBsLmgiCi0KLSNpbmNsdWRlICJSVENFcnJvckNhbGxiYWNrLmgiCi0j
aW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1QYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0SW1wbD4g
UlRDVm9pZFJlcXVlc3RJbXBsOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxS
VENFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQotewotICAgIFJlZlB0cjxSVENWb2lkUmVx
dWVzdEltcGw+IHJlcXVlc3QgPSBhZG9wdFJlZihuZXcgUlRDVm9pZFJlcXVlc3RJbXBsKGNvbnRl
eHQsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpOwotICAgIHJlcXVlc3QtPnN1c3Bl
bmRJZk5lZWRlZCgpOwotICAgIHJldHVybiByZXF1ZXN0LnJlbGVhc2UoKTsKLX0KLQotUlRDVm9p
ZFJlcXVlc3RJbXBsOjpSVENWb2lkUmVxdWVzdEltcGwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1Jl
ZlB0cjxSVENFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQotICAgIDogQWN0aXZlRE9NT2Jq
ZWN0KGNvbnRleHQsIHRoaXMpCi0gICAgLCBtX3N1Y2Nlc3NDYWxsYmFjayhzdWNjZXNzQ2FsbGJh
Y2spCi0gICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykKLXsKLX0KLQotUlRDVm9p
ZFJlcXVlc3RJbXBsOjp+UlRDVm9pZFJlcXVlc3RJbXBsKCkKLXsKLX0KLQotdm9pZCBSVENWb2lk
UmVxdWVzdEltcGw6OnJlcXVlc3RTdWNjZWVkZWQoKQotewotICAgIGlmIChtX3N1Y2Nlc3NDYWxs
YmFjaykKLSAgICAgICAgbV9zdWNjZXNzQ2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7Ci0KLSAgICBj
bGVhcigpOwotfQotCi12b2lkIFJUQ1ZvaWRSZXF1ZXN0SW1wbDo6cmVxdWVzdEZhaWxlZChjb25z
dCBTdHJpbmcmIGVycm9yKQotewotICAgIGlmIChtX2Vycm9yQ2FsbGJhY2suZ2V0KCkpCi0gICAg
ICAgIG1fZXJyb3JDYWxsYmFjay0+aGFuZGxlRXZlbnQoZXJyb3IpOwotCi0gICAgY2xlYXIoKTsK
LX0KLQotdm9pZCBSVENWb2lkUmVxdWVzdEltcGw6OnN0b3AoKQotewotICAgIGNsZWFyKCk7Ci19
Ci0KLXZvaWQgUlRDVm9pZFJlcXVlc3RJbXBsOjpjbGVhcigpCi17Ci0gICAgbV9zdWNjZXNzQ2Fs
bGJhY2suY2xlYXIoKTsKLSAgICBtX2Vycm9yQ2FsbGJhY2suY2xlYXIoKTsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJlcXVlc3RJ
bXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0
SW1wbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTdhYmZjN2M2YjMyOTJhNTMz
NGM0MTljZjJhNDdlMjkyZjcyY2I2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVm9pZFJl
cXVlc3RJbXBsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqICAgIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3Ry
aWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKLSAqICAgIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBSVENWb2lkUmVxdWVzdEltcGxfaAotI2RlZmluZSBSVENWb2lkUmVxdWVzdEltcGxfaAotCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgot
I2luY2x1ZGUgIlJUQ1ZvaWRSZXF1ZXN0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgUlRDRXJyb3JDYWxsYmFjazsKLWNsYXNzIFZvaWRDYWxsYmFjazsKLQotY2xhc3MgUlRDVm9p
ZFJlcXVlc3RJbXBsIDogcHVibGljIFJUQ1ZvaWRSZXF1ZXN0LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVzdEltcGw+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+
LCBQYXNzUmVmUHRyPFJUQ0Vycm9yQ2FsbGJhY2s+KTsKLSAgICB2aXJ0dWFsIH5SVENWb2lkUmVx
dWVzdEltcGwoKTsKLQotICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0U3VjY2VlZGVkKCk7Ci0gICAg
dmlydHVhbCB2b2lkIHJlcXVlc3RGYWlsZWQoY29uc3QgU3RyaW5nJiBlcnJvcik7Ci0KLSAgICAv
LyBBY3RpdmVET01PYmplY3QKLSAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpIE9WRVJSSURFOwotCi1w
cml2YXRlOgotICAgIFJUQ1ZvaWRSZXF1ZXN0SW1wbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxWb2lkQ2FsbGJhY2s+LCBQYXNzUmVmUHRyPFJUQ0Vycm9yQ2FsbGJhY2s+KTsK
LQotICAgIHZvaWQgY2xlYXIoKTsKLQotICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IG1fc3VjY2Vz
c0NhbGxiYWNrOwotICAgIFJlZlB0cjxSVENFcnJvckNhbGxiYWNrPiBtX2Vycm9yQ2FsbGJhY2s7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKQotCi0jZW5kaWYgLy8gUlRDVm9pZFJlcXVlc3RJbXBsX2gKLQotCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggNTBmYjM1NTRkODc5NWMwNGI2YWRiNzQwNzMxNjczZDNjYzJiYzQwYS4uOTFjNDQ2
MTdhMDdhNWUzMzkyZTNiMTFkNTdlN2U3M2YyOGZlM2Y1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
NDYwLDEzICs0NjAsMTEgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVEND
b25maWd1cmF0aW9uLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ0lj
ZUNhbmRpZGF0ZURlc2NyaXB0b3IuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yLmgnLAotICAgICAgICAgICAgJ3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oJywKICAgICAg
ICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDbGll
bnQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdC5oJywKLSAgICAgICAg
ICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdC5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9N
ZWRpYVN0cmVhbUNlbnRlckNocm9taXVtLmNwcCcsCkBAIC0xNjIxLDggKzE2MTksNiBAQAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJh
Y2suaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3Jp
cHRpb25SZXF1ZXN0SW1wbC5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdEltcGwuaCcsCi0gICAgICAgICAgICAnTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENWb2lkUmVxdWVzdEltcGwuY3BwJywKLSAgICAgICAgICAgICdNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1ZvaWRSZXF1ZXN0SW1wbC5oJywKICAgICAgICAgICAgICdNb2R1
bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmgnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ2xpZW50LmgnLApAQCAtODM1Miw3ICs4MzQ4LDYg
QEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlJUQ0lDRUNhbmRp
ZGF0ZURlc2NyaXB0b3IuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9zdXBw
b3J0L1dlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVl
c3QuY3BwJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlJUQ1Zv
aWRSZXF1ZXN0LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9X
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5TmF0aXZlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vY2hyb21pdW0vc3VwcG9ydC9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5TmF0aXZlLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViU2Nyb2xsYmFySW1wbC5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9y
dC9XZWJSVENWb2lkUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9zdXBwb3J0L1dlYlJUQ1ZvaWRSZXF1ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmUyNDIxOTNiYWRlZmVlNTJmNDg1YWQzODZlOGE4MDk0ZmMwNWUyZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYlJUQ1ZvaWRSZXF1ZXN0LmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDk3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
LSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
LSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
Ci0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQotCi0jaW5jbHVkZSA8cHVibGljL1dlYlJUQ1ZvaWRSZXF1ZXN0Lmg+Ci0KLSNpbmNs
dWRlICJSVENWb2lkUmVxdWVzdC5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0KLXVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotV2ViUlRDVm9p
ZFJlcXVlc3Q6OldlYlJUQ1ZvaWRSZXF1ZXN0KGNvbnN0IFBhc3NSZWZQdHI8UlRDVm9pZFJlcXVl
c3Q+JiBjb25zdHJhaW50cykKLSAgICA6IG1fcHJpdmF0ZShjb25zdHJhaW50cykKLXsKLX0KLQot
dm9pZCBXZWJSVENWb2lkUmVxdWVzdDo6YXNzaWduKGNvbnN0IFdlYlJUQ1ZvaWRSZXF1ZXN0JiBv
dGhlcikKLXsKLSAgICBtX3ByaXZhdGUgPSBvdGhlci5tX3ByaXZhdGU7Ci19Ci0KLXZvaWQgV2Vi
UlRDVm9pZFJlcXVlc3Q6OnJlc2V0KCkKLXsKLSAgICBtX3ByaXZhdGUucmVzZXQoKTsKLX0KLQot
dm9pZCBXZWJSVENWb2lkUmVxdWVzdDo6cmVxdWVzdFN1Y2NlZWRlZCgpIGNvbnN0Ci17Ci0gICAg
QVNTRVJUKG1fcHJpdmF0ZS5nZXQoKSk7Ci0gICAgbV9wcml2YXRlLT5yZXF1ZXN0U3VjY2VlZGVk
KCk7Ci19Ci0KLXZvaWQgV2ViUlRDVm9pZFJlcXVlc3Q6OnJlcXVlc3RGYWlsZWQoY29uc3QgV2Vi
U3RyaW5nJiBlcnJvcikgY29uc3QKLXsKLSAgICBBU1NFUlQobV9wcml2YXRlLmdldCgpKTsKLSAg
ICBtX3ByaXZhdGUtPnJlcXVlc3RGYWlsZWQoZXJyb3IpOwotfQotCi1jbGFzcyBFeHRyYURhdGFD
b250YWluZXIgOiBwdWJsaWMgV2ViQ29yZTo6UlRDVm9pZFJlcXVlc3Q6OkV4dHJhRGF0YSB7Ci1w
dWJsaWM6Ci0gICAgRXh0cmFEYXRhQ29udGFpbmVyKFdlYlJUQ1ZvaWRSZXF1ZXN0OjpFeHRyYURh
dGEqIGV4dHJhRGF0YSkgOiBtX2V4dHJhRGF0YShXVEY6OmFkb3B0UHRyKGV4dHJhRGF0YSkpIHsg
fQotCi0gICAgV2ViUlRDVm9pZFJlcXVlc3Q6OkV4dHJhRGF0YSogZXh0cmFEYXRhKCkgeyByZXR1
cm4gbV9leHRyYURhdGEuZ2V0KCk7IH0KLQotcHJpdmF0ZToKLSAgICBPd25QdHI8V2ViUlRDVm9p
ZFJlcXVlc3Q6OkV4dHJhRGF0YT4gbV9leHRyYURhdGE7Ci19OwotCi1XZWJSVENWb2lkUmVxdWVz
dDo6RXh0cmFEYXRhKiBXZWJSVENWb2lkUmVxdWVzdDo6ZXh0cmFEYXRhKCkgY29uc3QKLXsKLSAg
ICBSZWZQdHI8UlRDVm9pZFJlcXVlc3Q6OkV4dHJhRGF0YT4gZGF0YSA9IG1fcHJpdmF0ZS0+ZXh0
cmFEYXRhKCk7Ci0gICAgaWYgKCFkYXRhKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8RXh0cmFEYXRhQ29udGFpbmVyKj4oZGF0YS5nZXQoKSktPmV4dHJhRGF0YSgp
OwotfQotCi12b2lkIFdlYlJUQ1ZvaWRSZXF1ZXN0OjpzZXRFeHRyYURhdGEoRXh0cmFEYXRhKiBl
eHRyYURhdGEpCi17Ci0gICAgbV9wcml2YXRlLT5zZXRFeHRyYURhdGEoYWRvcHRSZWYobmV3IEV4
dHJhRGF0YUNvbnRhaW5lcihleHRyYURhdGEpKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktp
dAotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlci5jcHAKaW5kZXggNTdiYmZhNWM3MWU1M2I1ZWY4NjU0MGEyYzVjZWRhOTdlZmYwNTJm
OS4uODVkMDI2MmMzN2Q2OTFkNGE2NThhZGU1YmM2ZDA0ZDk3OTFjOGVkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuY3BwCkBAIC0zNSw4ICszNSw2IEBACiAjaW5jbHVkZSAiUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyLmgiCiAKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQuaCIKLSNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgi
Ci0jaW5jbHVkZSAiUlRDVm9pZFJlcXVlc3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MSwxMCArNDksNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFz
c1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQg
Y3JlYXRlT2ZmZXIoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0PiwgUGFz
c1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNl
dExvY2FsRGVzY3JpcHRpb24oUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVzdD4sIFBhc3NSZWZQdHI8
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiwgUGFz
c1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPikgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGxvY2Fs
RGVzY3JpcHRpb24oKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gcmVtb3RlRGVzY3JpcHRpb24oKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIGJvb2wgdXBkYXRlSWNlKFBhc3NSZWZQdHI8UlRDQ29uZmlndXJhdGlvbj4sIFBh
c3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBh
ZGRJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxSVENJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
RGVzY3JpcHRvcj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pIE9WRVJSSURFOwpAQCAt
NzAsMTggKzY0LDEwIEBAIFBhc3NPd25QdHI8UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyPiBSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmNyZWF0ZShSVENQZWVyQ29uCiAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teShjbGllbnQpKTsKIH0KIAotUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyOjpSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKQotewotfQot
Ci1SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6On5SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKQot
ewotfQotCiBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teTo6UlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyRHVtbXkoUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50KiBjbGllbnQpCiAgICAg
OiBtX2NsaWVudChjbGllbnQpCiB7Ci0gICAgQVNTRVJUX1VOVVNFRChtX2NsaWVudCwgbV9jbGll
bnQpOworICAgIEFTU0VSVChtX2NsaWVudCk7CiB9CiAKIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
ckR1bW15Ojp+UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyRHVtbXkoKQpAQCAtOTcsMjQgKzgzLDYg
QEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teTo6Y3JlYXRlT2ZmZXIoUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24KIHsKIH0KIAotdm9pZCBSVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXJEdW1teTo6c2V0TG9jYWxEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1
ZXN0PiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPikKLXsKLX0K
LQotdm9pZCBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJEdW1teTo6c2V0UmVtb3RlRGVzY3JpcHRp
b24oUGFzc1JlZlB0cjxSVENWb2lkUmVxdWVzdD4sIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4pCi17Ci19Ci0KLVBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvcj4gUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyRHVtbXk6OmxvY2FsRGVzY3Jp
cHRpb24oKQotewotICAgIHJldHVybiAwOwotfQotCi1QYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3I+IFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckR1bW15OjpyZW1vdGVE
ZXNjcmlwdGlvbigpCi17Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIGJvb2wgUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyRHVtbXk6OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRv
cj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaAppbmRleCA2ZGVjZmRjOWQ2N2VjOTQwMTRmM2I2ZGJi
ODk5OGNkNThiOGJkZjJhLi4wYzczMGIyYWNkOGI4MDU1MWUyYWEwMDVkZGExYjAwOTdiMWY0MWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaApAQCAtNDUsMjAgKzQ1LDE1IEBAIGNsYXNz
IFJUQ0ljZUNhbmRpZGF0ZURlc2NyaXB0b3I7CiBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQ7CiBjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOwogY2xhc3Mg
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdDsKLWNsYXNzIFJUQ1ZvaWRSZXF1ZXN0OwogCiBj
bGFzcyBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcj4gY3JlYXRlKFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudCopOwotICAgIHZpcnR1YWwgflJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcigp
OworICAgIHZpcnR1YWwgflJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcigpIHsgfQogCiAgICAgdmly
dHVhbCBib29sIGluaXRpYWxpemUoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1Jl
ZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU9m
ZmVyKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdD4sIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4pID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0TG9jYWxEZXNjcmlw
dGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVz
Y3JpcHRpb25EZXNjcmlwdG9yPikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzZXRSZW1vdGVEZXNj
cmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRSZXF1ZXN0PiwgUGFzc1JlZlB0cjxSVENTZXNzaW9u
RGVzY3JpcHRpb25EZXNjcmlwdG9yPikgPSAwOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBsb2NhbERlc2NyaXB0aW9uKCkgPSAwOwotICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiByZW1v
dGVEZXNjcmlwdGlvbigpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgdXBkYXRlSWNlKFBhc3NSZWZQ
dHI8UlRDQ29uZmlndXJhdGlvbj4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pID0gMDsK
ICAgICB2aXJ0dWFsIGJvb2wgYWRkSWNlQ2FuZGlkYXRlKFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlk
YXRlRGVzY3JpcHRvcj4pID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgYWRkU3RyZWFtKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikg
PSAwOwpAQCAtNjYsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSA9
IDA7CiAKIHByb3RlY3RlZDoKLSAgICBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKTsKKyAgICBS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKSB7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Zv
aWRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENWb2lk
UmVxdWVzdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyM2UzOWZhMDk4MzdiMjFj
MWM3MTdmMmExNmZkYzViNTE0ZDc5MDZiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Zv
aWRSZXF1ZXN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqICAgIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqICAgIGRpc3Ry
aWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKLSAqICAgIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
LSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRl
ZiBSVENWb2lkUmVxdWVzdF9oCi0jZGVmaW5lIFJUQ1ZvaWRSZXF1ZXN0X2gKLQotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCi0KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFJUQ1Zv
aWRSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8UlRDVm9pZFJlcXVlc3Q+IHsKLXB1YmxpYzoK
LSAgICBjbGFzcyBFeHRyYURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxFeHRyYURhdGE+IHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgfkV4dHJhRGF0YSgpIHsgfQotICAgIH07Ci0KLSAg
ICB2aXJ0dWFsIH5SVENWb2lkUmVxdWVzdCgpIHsgfQotCi0gICAgdmlydHVhbCB2b2lkIHJlcXVl
c3RTdWNjZWVkZWQoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHJlcXVlc3RGYWlsZWQoY29uc3Qg
U3RyaW5nJiBlcnJvcikgPSAwOwotCi0gICAgUGFzc1JlZlB0cjxFeHRyYURhdGE+IGV4dHJhRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fZXh0cmFEYXRhOyB9Ci0gICAgdm9pZCBzZXRFeHRyYURhdGEo
UGFzc1JlZlB0cjxFeHRyYURhdGE+IGV4dHJhRGF0YSkgeyBtX2V4dHJhRGF0YSA9IGV4dHJhRGF0
YTsgfQotCi1wcm90ZWN0ZWQ6Ci0gICAgUlRDVm9pZFJlcXVlc3QoKSB7IH0KLQotcHJpdmF0ZToK
LSAgICBSZWZQdHI8RXh0cmFEYXRhPiBtX2V4dHJhRGF0YTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLSNlbmRpZiAvLyBS
VENWb2lkUmVxdWVzdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDaHJvbWl1bS5jcHAKaW5kZXggMjI1MDcxMGU3MDA1OGQ1NDM3MTQ0MjZkODc1
ZTJjYjY2YWY5YjExOS4uYTAwMjIwMjdhMmUyZWNjYjllY2VlZWNiOTBmNDIxM2NkMTNkMjdkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0v
UlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNo
cm9taXVtLmNwcApAQCAtNDcsNyArNDcsNiBAQAogI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENJQ0VD
YW5kaWRhdGVEZXNjcmlwdG9yLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3IuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uUmVxdWVzdC5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENWb2lkUmVxdWVzdC5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgy
LDIyICs4MSw2IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmNyZWF0
ZU9mZmVyKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0CiAgICAgbV93ZWJIYW5kbGVyLT5j
cmVhdGVPZmZlcihyZXF1ZXN0LCBjb25zdHJhaW50cyk7CiB9CiAKLXZvaWQgUlRDUGVlckNvbm5l
Y3Rpb25IYW5kbGVyQ2hyb21pdW06OnNldExvY2FsRGVzY3JpcHRpb24oUGFzc1JlZlB0cjxSVENW
b2lkUmVxdWVzdD4gcmVxdWVzdCwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yPiBzZXNzaW9uRGVzY3JpcHRpb24pCi17Ci0gICAgaWYgKCFtX3dlYkhhbmRsZXIpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIG1fd2ViSGFuZGxlci0+c2V0TG9jYWxEZXNjcmlwdGlvbihy
ZXF1ZXN0LCBzZXNzaW9uRGVzY3JpcHRpb24pOwotfQotCi12b2lkIFJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNocm9taXVtOjpzZXRSZW1vdGVEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJUQ1ZvaWRS
ZXF1ZXN0PiByZXF1ZXN0LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3I+IHNlc3Npb25EZXNjcmlwdGlvbikKLXsKLSAgICBpZiAoIW1fd2ViSGFuZGxlcikKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgbV93ZWJIYW5kbGVyLT5zZXRSZW1vdGVEZXNjcmlwdGlvbihyZXF1
ZXN0LCBzZXNzaW9uRGVzY3JpcHRpb24pOwotfQotCiBib29sIFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNocm9taXVtOjp1cGRhdGVJY2UoUGFzc1JlZlB0cjxSVENDb25maWd1cmF0aW9uPiBjb25m
aWd1cmF0aW9uLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGNvbnN0cmFpbnRzKQogewog
ICAgIGlmICghbV93ZWJIYW5kbGVyKQpAQCAtMTE0LDIyICs5Nyw2IEBAIGJvb2wgUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZEljZUNhbmRpZGF0ZShQYXNzUmVmUHRyPFJUQ0lj
ZUNhbmRpZGF0CiAgICAgcmV0dXJuIG1fd2ViSGFuZGxlci0+YWRkSUNFQ2FuZGlkYXRlKGljZUNh
bmRpZGF0ZSk7CiB9CiAKLVBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cj4gUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmxvY2FsRGVzY3JpcHRpb24oKQot
ewotICAgIGlmICghbV93ZWJIYW5kbGVyKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVy
biBtX3dlYkhhbmRsZXItPmxvY2FsRGVzY3JpcHRpb24oKTsKLX0KLQotUGFzc1JlZlB0cjxSVENT
ZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJv
bWl1bTo6cmVtb3RlRGVzY3JpcHRpb24oKQotewotICAgIGlmICghbV93ZWJIYW5kbGVyKQotICAg
ICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiBtX3dlYkhhbmRsZXItPnJlbW90ZURlc2NyaXB0
aW9uKCk7Ci19Ci0KIGJvb2wgUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2hyb21pdW06OmFkZFN0
cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gbWVkaWFTdHJlYW0sIFBhc3NS
ZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWludHMpCiB7CiAgICAgaWYgKCFtX3dlYkhh
bmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9j
aHJvbWl1bS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vY2hyb21pdW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
Q2hyb21pdW0uaAppbmRleCBhN2JhYzgxNjExYjBiZDE1ZDFkYzg4NDNhYmI2OTNhZGJhM2E3M2Ex
Li44OTkzYzExODcxMTc4MDQ1Yzc0NjA0MTVmNTZhMDIwNGQwZDYxZGJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9SVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2Nocm9taXVtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNocm9taXVtLmgKQEAgLTU1
LDEwICs1NSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaW5pdGlhbGl6ZShQYXNzUmVm
UHRyPFJUQ0NvbmZpZ3VyYXRpb24+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KSBPVkVS
UklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVPZmZlcihQYXNzUmVmUHRyPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvblJlcXVlc3Q+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvbihQYXNzUmVmUHRyPFJU
Q1ZvaWRSZXF1ZXN0PiwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9y
PikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNldFJlbW90ZURlc2NyaXB0aW9uKFBhc3NS
ZWZQdHI8UlRDVm9pZFJlcXVlc3Q+LCBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+KSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcj4gbG9jYWxEZXNjcmlwdGlvbigpIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiByZW1vdGVE
ZXNjcmlwdGlvbigpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCB1cGRhdGVJY2UoUGFzc1Jl
ZlB0cjxSVENDb25maWd1cmF0aW9uPiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPikgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGFkZEljZUNhbmRpZGF0ZShQYXNzUmVmUHRyPFJUQ0lj
ZUNhbmRpZGF0ZURlc2NyaXB0b3I+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgYWRkU3Ry
ZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiwgUGFzc1JlZlB0cjxNZWRpYUNv
bnN0cmFpbnRzPikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggNjhlYWYxZGJhOTRlOWNlYjRiMTFhOTJmOTgyODdkYjkyNjUxYmYy
Yy4uNDg2ODNlZDU0NGEzNTExMWUyMGZmZGVkOWNjYzk5YWQ0MDhkNmM0OSAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDEyLTA5LTA1ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKwor
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3NjEyLCByMTI3NjYwLCBhbmQgcjEy
NzY2NC4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3NjEyCisg
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyNzY2MAorICAgICAgICBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc2NjQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1OTIwCisKKyAgICAgICAgY2hyb21pdW0g
d2luIGJ1aWxkIGlzIHN0aWxsIGJyb2tlbiAoUmVxdWVzdGVkIGJ5IGJhc2hpMSBvbgorICAgICAg
ICAjd2Via2l0KS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJS
VENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwOgorICAgICAgICAoTW9ja1dlYlJUQ1BlZXJDb25u
ZWN0aW9uSGFuZGxlcjo6U3VjY2Vzc0NhbGxiYWNrVGFzazo6U3VjY2Vzc0NhbGxiYWNrVGFzayk6
CisgICAgICAgIChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpTdWNjZXNzQ2FsbGJh
Y2tUYXNrOjpydW5JZlZhbGlkKToKKyAgICAgICAgKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhh
bmRsZXI6OkZhaWx1cmVDYWxsYmFja1Rhc2s6OkZhaWx1cmVDYWxsYmFja1Rhc2spOgorICAgICAg
ICAoTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6RmFpbHVyZUNhbGxiYWNrVGFzazo6
cnVuSWZWYWxpZCk6CisgICAgICAgIChNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpj
cmVhdGVPZmZlcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAoTW9ja1dlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlcik6CisgICAgICAgIChTdWNjZXNzQ2FsbGJhY2tUYXNrKToKKyAgICAgICAgKEZh
aWx1cmVDYWxsYmFja1Rhc2spOgorCiAyMDEyLTA5LTA1ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4g
IDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIElnbm9yZS1tZXRyaWNzIGluY2x1
ZGVzIHNjcm9sbCBvZmZzZXRzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcAppbmRl
eCBiNjYwNDJkYzRlYmZmNGFhNTg1NGYxMjI2ODU2YzQyNTQzOWY4MmE1Li43ZjgyYTRmNzNhOWVh
MWVmYTQ5ODNlYjNkMWI4NmJkMzBmY2VhYTMyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyLmNwcApAQCAtMzcsNzEgKzM3LDMzIEBACiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ1BlZXJD
b25uZWN0aW9uSGFuZGxlckNsaWVudC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSVENTZXNzaW9u
RGVzY3JpcHRpb25EZXNjcmlwdG9yLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJUQ1Nlc3Npb25E
ZXNjcmlwdGlvblJlcXVlc3QuaD4KLSNpbmNsdWRlIDxwdWJsaWMvV2ViUlRDVm9pZFJlcXVlc3Qu
aD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViU3RyaW5nLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlZl
Y3Rvci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1jbGFzcyBSVENTZXNzaW9uRGVz
Y3JpcHRpb25SZXF1ZXN0U3VjY2VkZWRUYXNrIDogcHVibGljIE1ldGhvZFRhc2s8TW9ja1dlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlcj4gewotcHVibGljOgotICAgIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvblJlcXVlc3RTdWNjZWRlZFRhc2soTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlciog
b2JqZWN0LCBjb25zdCBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciYg
cmVzdWx0KQotICAgICAgICA6IE1ldGhvZFRhc2s8TW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlcj4ob2JqZWN0KQotICAgICAgICAsIG1fcmVxdWVzdChyZXF1ZXN0KQotICAgICAgICAsIG1f
cmVzdWx0KHJlc3VsdCkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHJ1bklmVmFs
aWQoKSBPVkVSUklERQotICAgIHsKLSAgICAgICAgbV9yZXF1ZXN0LnJlcXVlc3RTdWNjZWVkZWQo
bV9yZXN1bHQpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25E
ZXNjcmlwdGlvblJlcXVlc3QgbV9yZXF1ZXN0OwotICAgIFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvciBtX3Jlc3VsdDsKLX07Ci0KLWNsYXNzIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvblJlcXVlc3RGYWlsZWRUYXNrIDogcHVibGljIE1ldGhvZFRhc2s8TW9ja1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlcj4gewotcHVibGljOgotICAgIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
blJlcXVlc3RGYWlsZWRUYXNrKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIqIG9iamVj
dCwgY29uc3QgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0JiByZXF1ZXN0
KQotICAgICAgICA6IE1ldGhvZFRhc2s8TW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcj4o
b2JqZWN0KQotICAgICAgICAsIG1fcmVxdWVzdChyZXF1ZXN0KQotICAgIHsKLSAgICB9Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgcnVuSWZWYWxpZCgpIE9WRVJSSURFCi0gICAgewotICAgICAgICBtX3Jl
cXVlc3QucmVxdWVzdEZhaWxlZCgiVEVTVF9FUlJPUiIpOwotICAgIH0KLQotcHJpdmF0ZToKLSAg
ICBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJlcXVlc3QgbV9yZXF1ZXN0OwotfTsK
LQotY2xhc3MgUlRDVm9pZFJlcXVlc3RUYXNrIDogcHVibGljIE1ldGhvZFRhc2s8TW9ja1dlYlJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlcj4gewotcHVibGljOgotICAgIFJUQ1ZvaWRSZXF1ZXN0VGFz
ayhNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKiBvYmplY3QsIGNvbnN0IFdlYktpdDo6
V2ViUlRDVm9pZFJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgc3VjY2VlZGVkKQotICAgICAgICA6IE1l
dGhvZFRhc2s8TW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcj4ob2JqZWN0KQotICAgICAg
ICAsIG1fcmVxdWVzdChyZXF1ZXN0KQotICAgICAgICAsIG1fc3VjY2VlZGVkKHN1Y2NlZWRlZCkK
LSAgICB7Ci0gICAgfQorTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6U3VjY2Vzc0Nh
bGxiYWNrVGFzazo6U3VjY2Vzc0NhbGxiYWNrVGFzayhNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25I
YW5kbGVyKiBvYmplY3QsIGNvbnN0IFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciYg
cmVzdWx0KQorICAgIDogTWV0aG9kVGFzazxNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
PihvYmplY3QpCisgICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKKyAgICAsIG1fcmVzdWx0KHJlc3Vs
dCkKK3sKK30KIAotICAgIHZpcnR1YWwgdm9pZCBydW5JZlZhbGlkKCkgT1ZFUlJJREUKLSAgICB7
Ci0gICAgICAgIGlmIChtX3N1Y2NlZWRlZCkKLSAgICAgICAgICAgIG1fcmVxdWVzdC5yZXF1ZXN0
U3VjY2VlZGVkKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fcmVxdWVzdC5yZXF1ZXN0
RmFpbGVkKCJURVNUX0VSUk9SIik7Ci0gICAgfQordm9pZCBNb2NrV2ViUlRDUGVlckNvbm5lY3Rp
b25IYW5kbGVyOjpTdWNjZXNzQ2FsbGJhY2tUYXNrOjpydW5JZlZhbGlkKCkKK3sKKyAgICBtX3Jl
cXVlc3QucmVxdWVzdFN1Y2NlZWRlZChtX3Jlc3VsdCk7Cit9CiAKLXByaXZhdGU6Ci0gICAgV2Vi
S2l0OjpXZWJSVENWb2lkUmVxdWVzdCBtX3JlcXVlc3Q7Ci0gICAgYm9vbCBtX3N1Y2NlZWRlZDsK
LX07CitNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpGYWlsdXJlQ2FsbGJhY2tUYXNr
OjpGYWlsdXJlQ2FsbGJhY2tUYXNrKE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIqIG9i
amVjdCwgY29uc3QgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25SZXF1ZXN0JiByZXF1
ZXN0KQorICAgIDogTWV0aG9kVGFzazxNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyPihv
YmplY3QpCisgICAgLCBtX3JlcXVlc3QocmVxdWVzdCkKK3sKK30KIAotLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vCit2b2lkIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OkZhaWx1cmVDYWxs
YmFja1Rhc2s6OnJ1bklmVmFsaWQoKQoreworICAgIG1fcmVxdWVzdC5yZXF1ZXN0RmFpbGVkKCJU
RVNUX0VSUk9SIik7Cit9CiAKIE1vY2tXZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6Ok1vY2tX
ZWJSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xp
ZW50KiBjbGllbnQpCiAgICAgOiBtX2NsaWVudChjbGllbnQpCkBAIC0xNTUsMzcgKzExNyw5IEBA
IHZvaWQgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6Y3JlYXRlT2ZmZXIoY29uc3Qg
V2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uCiAgICAgaWYgKGNvbnN0cmFpbnRzLmdldE1hbmRhdG9y
eUNvbnN0cmFpbnRWYWx1ZSgic3VjY2VlZCIsIHNob3VsZFN1Y2NlZWQpICYmIHNob3VsZFN1Y2Nl
ZWQgPT0gInRydWUiKSB7CiAgICAgICAgIFdlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3Igc2Vzc2lvbkRlc2NyaXB0aW9uOwogICAgICAgICBzZXNzaW9uRGVzY3JpcHRpb24uaW5pdGlh
bGl6ZSgib2ZmZXIiLCAiU29tZSBTRFAgaGVyZSIpOwotICAgICAgICBwb3N0VGFzayhuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uUmVxdWVzdFN1Y2NlZGVkVGFzayh0aGlzLCByZXF1ZXN0LCBzZXNz
aW9uRGVzY3JpcHRpb24pKTsKLSAgICB9IGVsc2UKLSAgICAgICAgcG9zdFRhc2sobmV3IFJUQ1Nl
c3Npb25EZXNjcmlwdGlvblJlcXVlc3RGYWlsZWRUYXNrKHRoaXMsIHJlcXVlc3QpKTsKLX0KLQot
dm9pZCBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpzZXRMb2NhbERlc2NyaXB0aW9u
KGNvbnN0IFdlYlJUQ1ZvaWRSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJSVENTZXNzaW9uRGVz
Y3JpcHRpb25EZXNjcmlwdG9yJiBsb2NhbERlc2NyaXB0aW9uKQotewotICAgIGlmICghbG9jYWxE
ZXNjcmlwdGlvbi5pc051bGwoKSAmJiBsb2NhbERlc2NyaXB0aW9uLnR5cGUoKSA9PSAib2ZmZXIi
KSB7Ci0gICAgICAgIG1fbG9jYWxEZXNjcmlwdGlvbiA9IGxvY2FsRGVzY3JpcHRpb247Ci0gICAg
ICAgIHBvc3RUYXNrKG5ldyBSVENWb2lkUmVxdWVzdFRhc2sodGhpcywgcmVxdWVzdCwgdHJ1ZSkp
OwotICAgIH0gZWxzZQotICAgICAgICBwb3N0VGFzayhuZXcgUlRDVm9pZFJlcXVlc3RUYXNrKHRo
aXMsIHJlcXVlc3QsIGZhbHNlKSk7Ci19Ci0KLXZvaWQgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlcjo6c2V0UmVtb3RlRGVzY3JpcHRpb24oY29uc3QgV2ViUlRDVm9pZFJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IFdlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3ImIHJlbW90ZURl
c2NyaXB0aW9uKQotewotICAgIGlmICghcmVtb3RlRGVzY3JpcHRpb24uaXNOdWxsKCkgJiYgcmVt
b3RlRGVzY3JpcHRpb24udHlwZSgpID09ICJhbnN3ZXIiKSB7Ci0gICAgICAgIG1fcmVtb3RlRGVz
Y3JpcHRpb24gPSByZW1vdGVEZXNjcmlwdGlvbjsKLSAgICAgICAgcG9zdFRhc2sobmV3IFJUQ1Zv
aWRSZXF1ZXN0VGFzayh0aGlzLCByZXF1ZXN0LCB0cnVlKSk7CisgICAgICAgIHBvc3RUYXNrKG5l
dyBTdWNjZXNzQ2FsbGJhY2tUYXNrKHRoaXMsIHJlcXVlc3QsIHNlc3Npb25EZXNjcmlwdGlvbikp
OwogICAgIH0gZWxzZQotICAgICAgICBwb3N0VGFzayhuZXcgUlRDVm9pZFJlcXVlc3RUYXNrKHRo
aXMsIHJlcXVlc3QsIGZhbHNlKSk7Ci19Ci0KLVdlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2Ny
aXB0b3IgTW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlcjo6bG9jYWxEZXNjcmlwdGlvbigp
Ci17Ci0gICAgcmV0dXJuIG1fbG9jYWxEZXNjcmlwdGlvbjsKLX0KLQotV2ViUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvciBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjpyZW1v
dGVEZXNjcmlwdGlvbigpCi17Ci0gICAgcmV0dXJuIG1fcmVtb3RlRGVzY3JpcHRpb247CisgICAg
ICAgIHBvc3RUYXNrKG5ldyBGYWlsdXJlQ2FsbGJhY2tUYXNrKHRoaXMsIHJlcXVlc3QpKTsKIH0K
IAogYm9vbCBNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyOjp1cGRhdGVJQ0UoY29uc3Qg
V2ViUlRDQ29uZmlndXJhdGlvbiYsIGNvbnN0IFdlYk1lZGlhQ29uc3RyYWludHMmKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1BlZXJDb25uZWN0
aW9uSGFuZGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTW9ja1dlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlci5oCmluZGV4IDE4MDU2OGJhNjliYzQ2NGU5NTk4ODM3NGQ1NDE5
MmVkODBiYTlhMzMuLjQyZDQwZDcyYTEyMjA3NzY5NGU1NmQ2NDcxY2I3MTg2NDUyYzFmY2YgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL01vY2tXZWJSVENQZWVyQ29u
bmVjdGlvbkhhbmRsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9Nb2Nr
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTQ5LDEwICs0OSw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaW5pdGlhbGl6ZShjb25zdCBXZWJLaXQ6OldlYlJUQ0NvbmZpZ3Vy
YXRpb24mLCBjb25zdCBXZWJLaXQ6OldlYk1lZGlhQ29uc3RyYWludHMmKSBPVkVSUklERTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVPZmZlcihjb25zdCBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25E
ZXNjcmlwdGlvblJlcXVlc3QmLCBjb25zdCBXZWJLaXQ6OldlYk1lZGlhQ29uc3RyYWludHMmKSBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0TG9jYWxEZXNjcmlwdGlvbihjb25zdCBXZWJL
aXQ6OldlYlJUQ1ZvaWRSZXF1ZXN0JiwgY29uc3QgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yJikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNldFJlbW90ZURl
c2NyaXB0aW9uKGNvbnN0IFdlYktpdDo6V2ViUlRDVm9pZFJlcXVlc3QmLCBjb25zdCBXZWJLaXQ6
OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3ImKSBPVkVSUklERTsKLSAgICB2aXJ0
dWFsIFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciBsb2NhbERlc2Ny
aXB0aW9uKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3IgcmVtb3RlRGVzY3JpcHRpb24oKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIGJvb2wgdXBkYXRlSUNFKGNvbnN0IFdlYktpdDo6V2ViUlRDQ29uZmlndXJhdGlvbiYsIGNv
bnN0IFdlYktpdDo6V2ViTWVkaWFDb25zdHJhaW50cyYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBhZGRJQ0VDYW5kaWRhdGUoY29uc3QgV2ViS2l0OjpXZWJSVENJQ0VDYW5kaWRhdGVEZXNj
cmlwdG9yJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGFkZFN0cmVhbShjb25zdCBXZWJL
aXQ6OldlYk1lZGlhU3RyZWFtRGVzY3JpcHRvciYsIGNvbnN0IFdlYktpdDo6V2ViTWVkaWFDb25z
dHJhaW50cyYpIE9WRVJSSURFOwpAQCAtNjYsOSArNjIsMjcgQEAgcHJpdmF0ZToKICAgICBNb2Nr
V2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyKCkgeyB9CiAKICAgICBXZWJLaXQ6OldlYlJUQ1Bl
ZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudCogbV9jbGllbnQ7CisKICAgICBUYXNrTGlzdCBtX3Rh
c2tMaXN0OwotICAgIFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciBt
X2xvY2FsRGVzY3JpcHRpb247Ci0gICAgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yIG1fcmVtb3RlRGVzY3JpcHRpb247CisKKyAgICBjbGFzcyBTdWNjZXNzQ2FsbGJh
Y2tUYXNrIDogcHVibGljIE1ldGhvZFRhc2s8TW9ja1dlYlJUQ1BlZXJDb25uZWN0aW9uSGFuZGxl
cj4geworICAgIHB1YmxpYzoKKyAgICAgICAgU3VjY2Vzc0NhbGxiYWNrVGFzayhNb2NrV2ViUlRD
UGVlckNvbm5lY3Rpb25IYW5kbGVyKiwgY29uc3QgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVzY3Jp
cHRpb25SZXF1ZXN0JiwgY29uc3QgV2ViS2l0OjpXZWJSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yJik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBydW5JZlZhbGlkKCkgT1ZFUlJJREU7CisK
KyAgICBwcml2YXRlOgorICAgICAgICBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvblJl
cXVlc3QgbV9yZXF1ZXN0OworICAgICAgICBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkRlc2NyaXB0b3IgbV9yZXN1bHQ7CisgICAgfTsKKworICAgIGNsYXNzIEZhaWx1cmVDYWxsYmFj
a1Rhc2sgOiBwdWJsaWMgTWV0aG9kVGFzazxNb2NrV2ViUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVy
PiB7CisgICAgcHVibGljOgorICAgICAgICBGYWlsdXJlQ2FsbGJhY2tUYXNrKE1vY2tXZWJSVENQ
ZWVyQ29ubmVjdGlvbkhhbmRsZXIqLCBjb25zdCBXZWJLaXQ6OldlYlJUQ1Nlc3Npb25EZXNjcmlw
dGlvblJlcXVlc3QmKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHJ1bklmVmFsaWQoKSBPVkVSUklE
RTsKKworICAgIHByaXZhdGU6CisgICAgICAgIFdlYktpdDo6V2ViUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uUmVxdWVzdCBtX3JlcXVlc3Q7CisgICAgfTsKIH07CiAKICNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDgzMTExNTE2ZGY5MmQyOWEzMzYxMGMzYWJmMmMyYzk1OTJkNDJm
OWIuLjdlMDQ2MTkzMDc1N2M1ZWI5ZmVlMjNlMWE4ZTc2MTc5NTQwNTUxOTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wOS0wNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNzYxMiwgcjEy
NzY2MCwgYW5kIHIxMjc2NjQuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzEyNzYxMgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc2
NjAKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTI3NjY0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTkyMAorCisgICAg
ICAgIGNocm9taXVtIHdpbiBidWlsZCBpcyBzdGlsbCBicm9rZW4gKFJlcXVlc3RlZCBieSBiYXNo
aTEgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLWNyZWF0ZU9mZmVyLmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1sb2NhbERlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWxvY2Fs
RGVzY3JpcHRpb24uaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZURlc2Ny
aXB0aW9uLmh0bWw6IFJlbW92ZWQuCisKIDIwMTItMDktMDUgIEpvc2h1YSBCZWxsICA8anNiZWxs
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEludGVnZXIgdmVyc2lvbiBsb3N0
IGFmdGVyIGZpcnN0IG9wZW4vY2xvc2Uvb3BlbiBjeWNsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1jcmVhdGVPZmZlci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1jcmVhdGVPZmZl
ci5odG1sCmluZGV4IGE1MDBkNzRkZmU1MTA2MDk2NTdkM2I4NjIwNzQ2M2ViN2EyNDgxZDYuLmZm
NDc2MmRiMTlmMTYwYmJmYmNhY2IxMGE2OGQ1N2U0ZTE5NWY4N2IgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tY3JlYXRlT2ZmZXIuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWNy
ZWF0ZU9mZmVyLmh0bWwKQEAgLTE5LDcgKzE5LDcgQEAgZnVuY3Rpb24gcmVxdWVzdEZhaWxlZDIo
cmVhc29uKQogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCi1mdW5jdGlvbiByZXF1ZXN0U3VjY2Vl
ZGVkMihzZCkKK2Z1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQyKHNkLCBzb3VyY2UpCiB7CiAgICAg
dGVzdEZhaWxlZCgncmVxdWVzdFN1Y2NlZWRlZCB3YXMgY2FsbGVkLicpOwogICAgIGZpbmlzaEpT
VGVzdCgpOwpAQCAtMzEsNyArMzEsNyBAQCBmdW5jdGlvbiByZXF1ZXN0RmFpbGVkMSgpCiAgICAg
ZmluaXNoSlNUZXN0KCk7CiB9CiAKLWZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQxKHNkKQorZnVu
Y3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDEoc2QsIHNvdXJjZSkKIHsKICAgICB0ZXN0UGFzc2VkKCdy
ZXF1ZXN0U3VjY2VlZGVkIHdhcyBjYWxsZWQuJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tbG9jYWxEZXNjcmlwdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LWxvY2FsRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0M2QyODc2ZmRkMGU0NDczZWQ4OWEzOTZkOTA3NGYwMWZiNTdhZWNiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tbG9jYWxEZXNjcmlwdGlvbi1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1UZXN0cyBSVENQZWVyQ29ubmVjdGlvbiBs
b2NhbERlc2NyaXB0aW9uLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKHNlc3Npb25EZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRl
ZDEsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIHJlcXVl
c3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4KLVBBU1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihzZXNz
aW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCByZXF1ZXN0RmFpbGVkMik7IGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgotUEFTUyByZXF1ZXN0RmFpbGVkIHdhcyBjYWxsZWQuCi1QQVNT
IHBjLmxvY2FsRGVzY3JpcHRpb24uc2RwIGlzICJzZHAxIgotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tbG9jYWxEZXNjcmlwdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1sb2NhbERlc2Ny
aXB0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmYWU0NmI0YTE4MzE2
YWUwNGVjMDVkZjE1Y2E4MTU4OTI0ZjIxOTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1sb2NhbERlc2NyaXB0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCww
IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGVzdHMg
UlRDUGVlckNvbm5lY3Rpb24gbG9jYWxEZXNjcmlwdGlvbi4iKTsKLQotdmFyIHBjID0gbnVsbDsK
LQotZnVuY3Rpb24gcmVxdWVzdEZhaWxlZDIoKQotewotICAgIHRlc3RQYXNzZWQoJ3JlcXVlc3RG
YWlsZWQgd2FzIGNhbGxlZC4nKTsKLQotICAgIHNob3VsZEJlKCdwYy5sb2NhbERlc2NyaXB0aW9u
LnNkcCcsICcic2RwMSInKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gcmVx
dWVzdFN1Y2NlZWRlZDIoKQotewotICAgIHRlc3RGYWlsZWQoJ3JlcXVlc3RTdWNjZWVkZWQgd2Fz
IGNhbGxlZC4nKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gcmVxdWVzdEZh
aWxlZDEoKQotewotICAgIHRlc3RGYWlsZWQoJ3JlcXVlc3RGYWlsZWQgd2FzIGNhbGxlZC4nKTsK
LSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotZnVuY3Rpb24gcmVxdWVzdFN1Y2NlZWRlZDEoKQot
ewotICAgIHRlc3RQYXNzZWQoJ3JlcXVlc3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4nKTsKLQotICAg
IHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6ImFu
c3dlciIsIHNkcDoic2RwMiJ9KTsKLSAgICBzaG91bGROb3RUaHJvdygncGMuc2V0TG9jYWxEZXNj
cmlwdGlvbihzZXNzaW9uRGVzY3JpcHRpb24sIHJlcXVlc3RTdWNjZWVkZWQyLCByZXF1ZXN0RmFp
bGVkMik7Jyk7Ci19Ci0KLXBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKG51bGwsIG51
bGwpOwotdmFyIHNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6Im9mZmVyIiwgc2RwOiJzZHAxIn0pOwotc2hvdWxkTm90VGhyb3coJ3BjLnNldExvY2Fs
RGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgcmVxdWVz
dEZhaWxlZDEpOycpOwotCi0KLXdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLXdpbmRvdy5z
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LXJlbW90ZURlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmIwNDM3MGZkYTZlYTZiODBmYTc5ZTQyMjYw
OTliNTVmMDVkNzJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3Rl
RGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAot
VGVzdHMgUlRDUGVlckNvbm5lY3Rpb24gcmVtb3RlRGVzY3JpcHRpb24uCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKHNlc3Npb25E
ZXNjcmlwdGlvbiwgcmVxdWVzdFN1Y2NlZWRlZDEsIHJlcXVlc3RGYWlsZWQxKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCi1QQVNTIHJlcXVlc3RTdWNjZWVkZWQgd2FzIGNhbGxlZC4KLVBBU1Mg
cGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0aW9uLCByZXF1ZXN0U3VjY2Vl
ZGVkMiwgcmVxdWVzdEZhaWxlZDIpOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KLVBBU1MgcmVx
dWVzdEZhaWxlZCB3YXMgY2FsbGVkLgotUEFTUyBwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAgaXMg
InNkcDEiCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1yZW1vdGVEZXNjcmlwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVEZXNjcmlwdGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNjBjNTExYmFmMGQzYTU2NmVmODUxYzY3Yjc1NWUyYjdlMTRlY2U0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlRGVzY3JpcHRpb24u
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHNjcmlwdD4KLWRlc2NyaXB0aW9uKCJUZXN0cyBSVENQZWVyQ29ubmVjdGlvbiByZW1vdGVE
ZXNjcmlwdGlvbi4iKTsKLQotdmFyIHBjID0gbnVsbDsKLQotZnVuY3Rpb24gcmVxdWVzdEZhaWxl
ZDIoKQotewotICAgIHRlc3RQYXNzZWQoJ3JlcXVlc3RGYWlsZWQgd2FzIGNhbGxlZC4nKTsKLQot
ICAgIHNob3VsZEJlKCdwYy5yZW1vdGVEZXNjcmlwdGlvbi5zZHAnLCAnInNkcDEiJyk7Ci0gICAg
ZmluaXNoSlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQyKCkKLXsKLSAg
ICB0ZXN0RmFpbGVkKCdyZXF1ZXN0U3VjY2VlZGVkIHdhcyBjYWxsZWQuJyk7Ci0gICAgZmluaXNo
SlNUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJlcXVlc3RGYWlsZWQxKCkKLXsKLSAgICB0ZXN0RmFp
bGVkKCdyZXF1ZXN0RmFpbGVkIHdhcyBjYWxsZWQuJyk7Ci0gICAgZmluaXNoSlNUZXN0KCk7Ci19
Ci0KLWZ1bmN0aW9uIHJlcXVlc3RTdWNjZWVkZWQxKCkKLXsKLSAgICB0ZXN0UGFzc2VkKCdyZXF1
ZXN0U3VjY2VlZGVkIHdhcyBjYWxsZWQuJyk7Ci0KLSAgICBzZXNzaW9uRGVzY3JpcHRpb24gPSBu
ZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJvZmZlciIsIHNkcDoic2RwMiJ9KTsKLSAg
ICBzaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRlc2NyaXB0
aW9uLCByZXF1ZXN0U3VjY2VlZGVkMiwgcmVxdWVzdEZhaWxlZDIpOycpOwotfQotCi1wYyA9IG5l
dyB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbihudWxsLCBudWxsKTsKLXZhciBzZXNzaW9uRGVzY3Jp
cHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOiJhbnN3ZXIiLCBzZHA6InNk
cDEifSk7Ci1zaG91bGROb3RUaHJvdygncGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oc2Vzc2lvbkRl
c2NyaXB0aW9uLCByZXF1ZXN0U3VjY2VlZGVkMSwgcmVxdWVzdEZhaWxlZDEpOycpOwotCi0KLXdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLXdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="173487"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>