<?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>183492</bug_id>
          
          <creation_ts>2018-03-08 17:59:44 -0800</creation_ts>
          <short_desc>REGRESSION(r229354): Breaks internal builds (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2018-03-08 18:17:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>183387</blocked>
    
    <blocked>183398</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>jfbastien</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1405018</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-08 17:59:44 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/229354 broke the build:
Breaks internal builds (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405021</commentid>
    <comment_count>1</comment_count>
      <attachid>335378</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-08 17:59:57 -0800</bug_when>
    <thetext>Created attachment 335378
ROLLOUT of r229354

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>1405022</commentid>
    <comment_count>2</comment_count>
      <attachid>335378</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-08 18:09:26 -0800</bug_when>
    <thetext>Comment on attachment 335378
ROLLOUT of r229354

Rejecting attachment 335378 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 335378, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
ing rebase:
:040000 040000 51d64ff1ddbdafdd2d4caccde9303b3496f84bb0 4357ba2eac8a427443edeaf8e986fe1bfce546c9 M	Source
Current branch master is up to date.
ERROR: Not all changes have been committed into SVN, however the committed
ones (if any) seem to be successfully integrated into the working tree.
Please see the above messages for details.


Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: http://webkit-queues.webkit.org/results/6867744</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405023</commentid>
    <comment_count>3</comment_count>
      <attachid>335378</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-03-08 18:16:31 -0800</bug_when>
    <thetext>Comment on attachment 335378
ROLLOUT of r229354

Clearing flags on attachment: 335378

Committed r229447: &lt;https://trac.webkit.org/changeset/229447&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405024</commentid>
    <comment_count>4</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-03-08 18:16:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405026</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-08 18:17:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/38285678&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335378</attachid>
            <date>2018-03-08 17:59:57 -0800</date>
            <delta_ts>2018-03-08 18:16:31 -0800</delta_ts>
            <desc>ROLLOUT of r229354</desc>
            <filename>bug-183492-20180308205956.patch</filename>
            <type>text/plain</type>
            <size>59691</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ODhlNWI1MjBmN2JmOWIxZTJiMGEzYWZjMWMxMzE1OTdlZmQ2NjRlLi45MmU5MmQ1YmIzMjEyZTIy
NzZkYTczZWQxYTNhNGE0YjFlOTlmNjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxOC0wMy0wOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIyOTM1NCBhbmQgcjIy
OTM2NC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MzQ5MgorCisgICAgICAgIEJyZWFrcyBpbnRlcm5hbCBidWlsZHMgKFJlcXVlc3RlZCBieSByeWFu
aGFkZGFkIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAg
ICAgICAgIlByZXBhcmUgTExJbnQgY29kZSB0byBzdXBwb3J0IHBvaW50ZXIgcHJvZmlsaW5nLiIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzM4Nwor
ICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjI5MzU0CisKKyAgICAg
ICAgIkFkZCBzdXBwb3J0IGZvciBBUk02NEUuIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMzk4CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQu
b3JnL2NoYW5nZXNldC8yMjkzNjQKKwogMjAxOC0wMy0wOCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fi
b2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICB0ZXN0bWFzbSBjcmFzaGVzIGluIHRlc3RCcmFuY2hU
cnVuY2F0ZURvdWJsZVRvSW50MzIoKSBvbiBBUk02NApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBjYzU0MzBjNzE5Yzk0ZjQ2MmVk
MTA1ZDk3ZThhMjIwMGUzZTM3YzQzLi5mNjVlZjc3YTIzYzIyZmNiM2YzODQ2ZmMwNjdmZjYxMWZi
Y2JkNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTAzLTA4ICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMjI5MzU0IGFuZCByMjI5MzY0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgzNDkyCisKKyAgICAgICAgQnJlYWtzIGludGVybmFsIGJ1aWxkcyAo
UmVxdWVzdGVkIGJ5IHJ5YW5oYWRkYWQgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQg
Y2hhbmdlc2V0czoKKworICAgICAgICAiUHJlcGFyZSBMTEludCBjb2RlIHRvIHN1cHBvcnQgcG9p
bnRlciBwcm9maWxpbmcuIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgzMzg3CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8yMjkzNTQKKworICAgICAgICAiQWRkIHN1cHBvcnQgZm9yIEFSTTY0RS4iCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODMzOTgKKyAgICAgICAgaHR0
cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIyOTM2NAorCiAyMDE4LTAzLTA4ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgYm1hbGxvYyBtdXRleCBzaG91
bGQgYmUgYWRhcHRpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwNDE5
NTAwOTBhNGRlYzIwOGQ2YjgxZGJjNjQ0Zjk1ZmZlMjA0MTU3Li5lZGE1ZWViOTY5MjRiNWY3MjFh
ODBmNjc3MjVkYTJlMzljZDEyYjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC04MzgsNyArODM4LDYgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1BSSVZBVEVfRlJBTUVXT1JL
X0hFQURFUlMKICAgICBydW50aW1lL09wZXJhdGlvbnMuaAogICAgIHJ1bnRpbWUvT3B0aW9ucy5o
CiAgICAgcnVudGltZS9QYXJzZUludC5oCi0gICAgcnVudGltZS9QdHJUYWcuaAogICAgIHJ1bnRp
bWUvUHJpdmF0ZU5hbWUuaAogICAgIHJ1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuaAogICAgIHJ1
bnRpbWUvUHJvbWlzZURlZmVycmVkVGltZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCAyMzJlMWM0NWJjY2Q1OTE5MTY5NjM5Y2EwZTAzNDQ3MzhlYWViMWE3Li45ZGQyYjk4MGZi
MzJmYzMxYmU1ZjQ1MmExOGRjMDMyMDRiMmVhODk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTc2Nyw3ICsxNzY3LDYgQEAKIAkJRkU2M0RENTQxRUE5QjYxRTAwMTAzQTY5IC8q
IFByaW50ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFNjNERDUzMUVBOUI2MEUwMDEwM0E2OSAvKiBQcmludGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkU2NDkxMzcxRDc4RjAxRDAwQTY5NEQ0
IC8qIEV4Y2VwdGlvblNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRTY0OTEzNjFENzhGMDEzMDBBNjk0RDQgLyogRXhjZXB0aW9uU2NvcGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTY4QzYz
NzFCOTBERTA0MDA0MkJDQjMgLyogTWFjcm9Bc3NlbWJsZXJQcmludGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTY4QzYzNjFCOTBEREQ5MDA0MkJD
QjMgLyogTWFjcm9Bc3NlbWJsZXJQcmludGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRkU2QzFFNEEyMDM2NkYwMTAwQkRDMkI3IC8qIFB0clRh
Zy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU5QUUx
QzgyMDMyQzg4NzAwMkI2OTM0IC8qIFB0clRhZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFNkY1NkRFMUU2NEVBRDYwMEQxNzgwMSAvKiBWTVRy
YXBzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZG
NTZERDFFNjRFOTIwMDBEMTc4MDEgLyogVk1UcmFwcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFN0M0MTk2MUI5N0ZDNEIwMEY0RDU5OCAvKiBQ
aW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZFREE1MEQ0MUI5N0Y0NDIwMDlBM0I0RiAvKiBQaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcCAqLzsgfTsKIAkJRkU4MEMxOTcxRDc3NUNERDAwODUxMEMwIC8q
IENhdGNoU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFODBDMTk2MUQ3NzVCMjcwMDg1MTBDMCAvKiBDYXRjaFNjb3BlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQ3MDYsNyArNDcwNSw2IEBA
CiAJCUZFOThCNUI2MUJCOUFFMTEwMDczRTdBNiAvKiBKSVRTdWJHZW5lcmF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUU3ViR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZFOTlCMjQ3MUMyNEI2RDMwMEM4MjE1OSAvKiBKSVROZWdHZW5l
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUTmVnR2Vu
ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU5OUIyNDgxQzI0QjZE
MzAwQzgyMTU5IC8qIEpJVE5lZ0dlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKSVROZWdHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RkU5QUUxQzgyMDMyQzg4NzAwMkI2OTM0IC8qIFB0clRhZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQdHJUYWcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVB
MDg2MUUxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQnJlYWtwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRUEwODYxRjE4MkI3QTA0MDBGNkQ4NTEgLyogRGVidWdnZXJQcmltaXRpdmVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVnZ2VyUHJpbWl0aXZlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGRUEwQzQwMDFDREQ3RDBFMDA0ODE5OTEgLyogRnVuY3Rp
b25XaGl0ZWxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnVu
Y3Rpb25XaGl0ZWxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDcyNywy
NSArNDcyNSw2IEBACiAJCUZFREE1MEQ1MUI5N0Y0RDkwMDlBM0I0RiAvKiBQaW5nUG9uZ1N0YWNr
T3ZlcmZsb3dUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBpbmdQb25n
U3RhY2tPdmVyZmxvd1Rlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZs
b3dUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRjA0MDUwMUFBRTY2MkQw
MEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gQ29tcGFyZUFuZFN3YXBUZXN0LmNwcDsgcGF0aCA9IEFQSS90ZXN0cy9D
b21wYXJlQW5kU3dhcFRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUYw
NDA1MjFBQUVDNEVEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvbXBhcmVBbmRTd2FwVGVzdC5oOyBwYXRoID0gQVBJL3Rl
c3RzL0NvbXBhcmVBbmRTd2FwVGVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlG
RUYzNDc1MjIwMzYyQjFCMDBCN0MwRUYgLyogcGFyc2VyLnJiICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucnVieTsgcGF0aCA9IHBhcnNlci5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RkVGMzQ3NTMyMDM2MkIxQjAwQjdDMEVGIC8qIHJpc2MucmIgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlw
dC5ydWJ5OyBwYXRoID0gcmlzYy5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkVG
MzQ3NTQyMDM2MkIxQjAwQjdDMEVGIC8qIHNlbGZfaGFzaC5yYiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnJ1Ynk7IHBhdGggPSBzZWxmX2hhc2gucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUZFRjM0NzU1MjAzNjJCMUMwMEI3QzBFRiAvKiBhcm0ucmIgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNj
cmlwdC5ydWJ5OyBwYXRoID0gYXJtLnJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlG
RUYzNDc1NjIwMzYyQjFDMDBCN0MwRUYgLyogYmFja2VuZHMucmIgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNj
cmlwdC5ydWJ5OyBwYXRoID0gYmFja2VuZHMucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUZFRjM0NzU3MjAzNjJCMUQwMEI3QzBFRiAvKiByZWdpc3RlcnMucmIgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnNjcmlwdC5ydWJ5OyBwYXRoID0gcmVnaXN0ZXJzLnJiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlGRUYzNDc1ODIwMzYyQjFEMDBCN0MwRUYgLyogYXN0LnJiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5zY3JpcHQucnVieTsgcGF0aCA9IGFzdC5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJRkVGMzQ3NTkyMDM2MkIxRDAwQjdDMEVGIC8qIGFzbS5yYiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
c2NyaXB0LnJ1Ynk7IHBhdGggPSBhc20ucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUZFRjM0NzVBMjAzNjJCMUUwMEI3QzBFRiAvKiBjbG9vcC5yYiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2Ny
aXB0LnJ1Ynk7IHBhdGggPSBjbG9vcC5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RkVGMzQ3NUIyMDM2MkIxRTAwQjdDMEVGIC8qIHg4Ni5yYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0
LnJ1Ynk7IHBhdGggPSB4ODYucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZFRjM0
NzVDMjAzNjJCMUUwMEI3QzBFRiAvKiBtaXBzLnJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucnVi
eTsgcGF0aCA9IG1pcHMucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZFRjM0NzVE
MjAzNjJCMUYwMEI3QzBFRiAvKiBjb25maWcucmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5ydWJ5
OyBwYXRoID0gY29uZmlnLnJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlGRUYzNDc1
RTIwMzYyQjFGMDBCN0MwRUYgLyogaW5zdHJ1Y3Rpb25zLnJiICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3Jp
cHQucnVieTsgcGF0aCA9IGluc3RydWN0aW9ucy5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJRkVGMzQ3NUYyMDM2MkIyMDAwQjdDMEVGIC8qIG9wdC5yYiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
c2NyaXB0LnJ1Ynk7IHBhdGggPSBvcHQucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUZFRjM0NzYwMjAzNjJCMjEwMEI3QzBFRiAvKiB0cmFuc2Zvcm0ucmIgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnNjcmlwdC5ydWJ5OyBwYXRoID0gdHJhbnNmb3JtLnJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlGRUYzNDc2MTIwMzYyQjIxMDBCN0MwRUYgLyogb2Zmc2V0cy5yYiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuc2NyaXB0LnJ1Ynk7IHBhdGggPSBvZmZzZXRzLnJiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlGRUYzNDc2MjIwMzYyQjIyMDBCN0MwRUYgLyogYXJtNjQucmIgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LnNjcmlwdC5ydWJ5OyBwYXRoID0gYXJtNjQucmI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUZFRjM0NzYzMjAzNjJCMjMwMEI3QzBFRiAvKiBzZXR0aW5ncy5yYiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuc2NyaXB0LnJ1Ynk7IHBhdGggPSBzZXR0aW5ncy5yYjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJRkVGMzQ3NjQyMDM2MkIyMzAwQjdDMEVGIC8qIGdlbmVyYXRlX29mZnNl
dF9leHRyYWN0b3IucmIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5ydWJ5OyBwYXRoID0gZ2VuZXJh
dGVfb2Zmc2V0X2V4dHJhY3Rvci5yYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVG
NDlBQTkxRUI5NDdGRTAwNjUzQkRCIC8qIE11bHRpdGhyZWFkZWRNdWx0aVZNRXhlY3V0aW9uVGVz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNdWx0aXRocmVhZGVk
TXVsdGlWTUV4ZWN1dGlvblRlc3QuY3BwOyBwYXRoID0gQVBJL3Rlc3RzL011bHRpdGhyZWFkZWRN
dWx0aVZNRXhlY3V0aW9uVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZF
RjQ5QUFBMUVCOTQ3RkUwMDY1M0JEQiAvKiBNdWx0aXRocmVhZGVkTXVsdGlWTUV4ZWN1dGlvblRl
c3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTXVsdGl0aHJlYWRlZE11bHRp
Vk1FeGVjdXRpb25UZXN0Lmg7IHBhdGggPSBBUEkvdGVzdHMvTXVsdGl0aHJlYWRlZE11bHRpVk1F
eGVjdXRpb25UZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRkQ2RkM1MUQ1
RTc5NzAwMDhGMkYwQiAvKiBKU1N0cmluZ0lubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNTdHJpbmdJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC00OTAxLDcgKzQ4ODAsNiBAQAogCQkJCTE0MjlENzdBMEVEMjBENzMwMEI4OTYxOSAvKiBp
bnRlcnByZXRlciAqLywKIAkJCQkxNDI5RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0ICovLAog
CQkJCTBGNDY4MDlDMTRCQTdGNEQwMEJGRTI3MiAvKiBsbGludCAqLywKLQkJCQlGRUYzNDc1MTIw
MzYyOTEzMDBCN0MwRUYgLyogb2ZmbGluZWFzbSAqLywKIAkJCQk3RTM5RDgzNzBFQzNBMzg4MDAz
QUYxMUEgLyogcGFyc2VyICovLAogCQkJCTAzNDc2OERGRkYzOEE1MDQxMURCOUM4QiAvKiBQcm9k
dWN0cyAqLywKIAkJCQk5NUFCODMxQTBEQTQyQzY5MDBCQzgzRjMgLyogcHJvZmlsZXIgKi8sCkBA
IC02ODczLDcgKzY4NTEsNiBAQAogCQkJCTc5QjAwQ0JCMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94
eU9iamVjdC5oICovLAogCQkJCTc5MTYwREJCMUM4RTNFQzgwMDhDMDg1QSAvKiBQcm94eVJldm9r
ZS5jcHAgKi8sCiAJCQkJNzkxNjBEQkMxQzhFM0VDODAwOEMwODVBIC8qIFByb3h5UmV2b2tlLmgg
Ki8sCi0JCQkJRkU5QUUxQzgyMDMyQzg4NzAwMkI2OTM0IC8qIFB0clRhZy5oICovLAogCQkJCTBG
NTc4MEExMThGRTFFOTgwMDFFNzJEOSAvKiBQdXJlTmFOLmggKi8sCiAJCQkJMEYwQ0Q0QzAxNUYx
QTYwNDAwMzJGMUMwIC8qIFB1dERpcmVjdEluZGV4TW9kZS5oICovLAogCQkJCTE0N0I4NDYyMEU2
REU2QjEwMDQ3NzVBNCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCAqLywKQEAgLTgwNTQsMzIgKzgwMzEs
NiBAQAogCQkJcGF0aCA9IGRvbWppdDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
Ci0JCUZFRjM0NzUxMjAzNjI5MTMwMEI3QzBFRiAvKiBvZmZsaW5lYXNtICovID0gewotCQkJaXNh
ID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJCQlGRUYzNDc1NTIwMzYyQjFDMDBCN0Mw
RUYgLyogYXJtLnJiICovLAotCQkJCUZFRjM0NzYyMjAzNjJCMjIwMEI3QzBFRiAvKiBhcm02NC5y
YiAqLywKLQkJCQlGRUYzNDc1OTIwMzYyQjFEMDBCN0MwRUYgLyogYXNtLnJiICovLAotCQkJCUZF
RjM0NzU4MjAzNjJCMUQwMEI3QzBFRiAvKiBhc3QucmIgKi8sCi0JCQkJRkVGMzQ3NTYyMDM2MkIx
QzAwQjdDMEVGIC8qIGJhY2tlbmRzLnJiICovLAotCQkJCUZFRjM0NzVBMjAzNjJCMUUwMEI3QzBF
RiAvKiBjbG9vcC5yYiAqLywKLQkJCQlGRUYzNDc1RDIwMzYyQjFGMDBCN0MwRUYgLyogY29uZmln
LnJiICovLAotCQkJCUZFRjM0NzY0MjAzNjJCMjMwMEI3QzBFRiAvKiBnZW5lcmF0ZV9vZmZzZXRf
ZXh0cmFjdG9yLnJiICovLAotCQkJCUZFRjM0NzVFMjAzNjJCMUYwMEI3QzBFRiAvKiBpbnN0cnVj
dGlvbnMucmIgKi8sCi0JCQkJRkVGMzQ3NUMyMDM2MkIxRTAwQjdDMEVGIC8qIG1pcHMucmIgKi8s
Ci0JCQkJRkVGMzQ3NjEyMDM2MkIyMTAwQjdDMEVGIC8qIG9mZnNldHMucmIgKi8sCi0JCQkJRkVG
MzQ3NUYyMDM2MkIyMDAwQjdDMEVGIC8qIG9wdC5yYiAqLywKLQkJCQlGRUYzNDc1MjIwMzYyQjFC
MDBCN0MwRUYgLyogcGFyc2VyLnJiICovLAotCQkJCUZFRjM0NzU3MjAzNjJCMUQwMEI3QzBFRiAv
KiByZWdpc3RlcnMucmIgKi8sCi0JCQkJRkVGMzQ3NTMyMDM2MkIxQjAwQjdDMEVGIC8qIHJpc2Mu
cmIgKi8sCi0JCQkJRkVGMzQ3NTQyMDM2MkIxQjAwQjdDMEVGIC8qIHNlbGZfaGFzaC5yYiAqLywK
LQkJCQlGRUYzNDc2MzIwMzYyQjIzMDBCN0MwRUYgLyogc2V0dGluZ3MucmIgKi8sCi0JCQkJRkVG
MzQ3NjAyMDM2MkIyMTAwQjdDMEVGIC8qIHRyYW5zZm9ybS5yYiAqLywKLQkJCQlGRUYzNDc1QjIw
MzYyQjFFMDBCN0MwRUYgLyogeDg2LnJiICovLAotCQkJKTsKLQkJCXBhdGggPSBvZmZsaW5lYXNt
OwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIC8qIEVuZCBQQlhHcm91cCBzZWN0
aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTgx
MTYsNyArODA2Nyw2IEBACiAJCQkJMEZFQzg1NzIxQkRBQ0RDNzAwODBGRjc0IC8qIEFpckJhc2lj
QmxvY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkM2M0JDMUU2MzQ0MEMwMEMxMzgzOSAvKiBB
aXJCbG9ja0luc2VydGlvblNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCMzg3OEUxQkZCQzQ0
RDAwRTNBQjFFIC8qIEFpckJsb2NrV29ya2xpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUZFNkMx
RTRBMjAzNjZGMDEwMEJEQzJCNyAvKiBQdHJUYWcuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNzlD
N0NBMUU3NEM5M0IwMEVCMzREMSAvKiBBaXJCcmVha0NyaXRpY2FsRWRnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGNjE4MzJBMUM0NUJGMDcwMDcyNDUwQiAvKiBBaXJDQ2FsbGluZ0NvbnZlbnRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUM4NTc0MUJEQUNEQzcwMDgwRkY3NCAvKiBBaXJD
Q2FsbFNwZWNpYWwuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCmluZGV4IGJmYjcwNmM0MjdhZTJiMzg0OTdiMzgw
ZjY0OGJjYTljMDc4MDYxMzcuLmZhZDdiYjgxZmRmMTM0MDNjZDBjMjFiY2M4Y2Q5ZmY3MzA5YmYw
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyLmgKQEAgLTM1LDExICszNSw2IEBACiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJBUk12Ny5o
IgogbmFtZXNwYWNlIEpTQyB7IHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJBUk12NyBNYWNyb0Fzc2Vt
YmxlckJhc2U7IH07CiAKLSNlbGlmIENQVShBUk02NEUpICYmIF9faGFzX2luY2x1ZGUoPFdlYktp
dEFkZGl0aW9ucy9NYWNyb0Fzc2VtYmxlckFSTTY0RS5oPikKLSNkZWZpbmUgVEFSR0VUX0FTU0VN
QkxFUiBBUk02NEVBc3NlbWJsZXIKLSNkZWZpbmUgVEFSR0VUX01BQ1JPQVNTRU1CTEVSIE1hY3Jv
QXNzZW1ibGVyQVJNNjRFCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL01hY3JvQXNzZW1ibGVy
QVJNNjRFLmg+Ci0KICNlbGlmIENQVShBUk02NCkKICNkZWZpbmUgVEFSR0VUX0FTU0VNQkxFUiBB
Uk02NEFzc2VtYmxlcgogI2RlZmluZSBUQVJHRVRfTUFDUk9BU1NFTUJMRVIgTWFjcm9Bc3NlbWJs
ZXJBUk02NApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0xMSW50
Q2FsbExpbmtJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRDYWxs
TGlua0luZm8uaAppbmRleCBiNDFlMmNhMzFiZjYyOWJiNTljYzIzMDZkNGY5NDRhYTJiY2ZmZDA2
Li44ZDBiODYwZWVmMjVhNTUxMWFiZGZmZDYxODA4NmZmYTE4MTQ4ZWFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRDYWxsTGlua0luZm8uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTExJbnRDYWxsTGlua0luZm8uaApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw3ICsy
Nyw2IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmLmgiCi0jaW5jbHVkZSAiUHRyVGFnLmgiCiAjaW5jbHVkZSA8d3RmL1NlbnRpbmVs
TGlua2VkTGlzdC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTUxLDcgKzUwLDYgQEAgc3RydWN0
IExMSW50Q2FsbExpbmtJbmZvIDogcHVibGljIEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2Fs
bExpbmtJbmZvPiB7CiAgICAgewogICAgICAgICBjYWxsZWUuY2xlYXIoKTsKICAgICAgICAgbWFj
aGluZUNvZGVUYXJnZXQgPSBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoKTsKLSAgICAgICAgY2FsbFB0
clRhZyA9IE5vUHRyVGFnOwogICAgICAgICBpZiAoaXNPbkxpc3QoKSkKICAgICAgICAgICAgIHJl
bW92ZSgpOwogICAgIH0KQEAgLTU5LDcgKzU3LDYgQEAgc3RydWN0IExMSW50Q2FsbExpbmtJbmZv
IDogcHVibGljIEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPiB7CiAgICAg
V3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBjYWxsZWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0
PiBsYXN0U2VlbkNhbGxlZTsKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbWFjaGluZUNvZGVU
YXJnZXQ7Ci0gICAgUHRyVGFnIGNhbGxQdHJUYWcgeyBOb1B0clRhZyB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnREYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCmlu
ZGV4IGEyN2ZiYzE2YjQzOWIyNzg1NzY5OTFhOTg3NGY5NWUxZjE1ZjZjZWMuLjNhMWVhMzc0ODI0
MWE0YzBkNmE1N2YyYmRmMThhZDY2NTI1YjFmOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludERhdGEuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTYzLDQ2ICs2Myw5IEBAIHZvaWQgaW5pdGlhbGl6ZSgp
CiAjZWxzZSAvLyBFTkFCTEUoSklUKQogICAgIGxsaW50X2VudHJ5KCZEYXRhOjpzX29wY29kZU1h
cCk7CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFM7ICsr
aSkgewotICAgICAgICBQdHJUYWcgdGFnID0gKGkgPT0gb3BfY2F0Y2gpID8gRXhjZXB0aW9uSGFu
ZGxlclB0clRhZyA6IEJ5dGVjb2RlUHRyVGFnOwotICAgICAgICBEYXRhOjpzX29wY29kZU1hcFtp
XSA9IHRhZ0NvZGVQdHIoRGF0YTo6c19vcGNvZGVNYXBbaV0sIHRhZyk7Ci0gICAgfQotCi0gICAg
aWYgKFZNOjpjYW5Vc2VKSVQoKSkgewotICAgICAgICBmb3IgKGludCBpID0gTlVNQkVSX09GX0JZ
VEVDT0RFX0lEUzsgaSA8IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFMgKyBOVU1CRVJfT0ZfQllURUNP
REVfSEVMUEVSX0lEUzsgKytpKQotICAgICAgICAgICAgRGF0YTo6c19vcGNvZGVNYXBbaV0gPSB0
YWdDb2RlUHRyKERhdGE6OnNfb3Bjb2RlTWFwW2ldLCBwdHJUYWcoQnl0ZWNvZGVIZWxwZXJQdHJU
YWcsIGkpKTsKLSAgICB9IGVsc2UgewotICAgICAgICBzdGF0aWMgY29uc3QgUHRyVGFnIHRhZ3NG
b3JPcGNvZGVbXSA9IHsKLSAgICAgICAgICAgIENvZGVFbnRyeVB0clRhZywgLy8gbGxpbnRfcHJv
Z3JhbV9wcm9sb2d1ZQotICAgICAgICAgICAgQ29kZUVudHJ5UHRyVGFnLCAvLyBsbGludF9ldmFs
X3Byb2xvZ3VlCi0gICAgICAgICAgICBDb2RlRW50cnlQdHJUYWcsIC8vIGxsaW50X21vZHVsZV9w
cm9ncmFtX3Byb2xvZ3VlCi0gICAgICAgICAgICBDb2RlRW50cnlQdHJUYWcsIC8vIGxsaW50X2Z1
bmN0aW9uX2Zvcl9jYWxsX3Byb2xvZ3VlCi0gICAgICAgICAgICBDb2RlRW50cnlQdHJUYWcsIC8v
IGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfcHJvbG9ndWUKLSAgICAgICAgICAgIENvZGVF
bnRyeVdpdGhBcml0eUNoZWNrUHRyVGFnLCAvLyBsbGludF9mdW5jdGlvbl9mb3JfY2FsbF9hcml0
eV9jaGVjawotICAgICAgICAgICAgQ29kZUVudHJ5V2l0aEFyaXR5Q2hlY2tQdHJUYWcsIC8vIGxs
aW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2sKLSAgICAgICAgICAgIENvZGVF
bnRyeVB0clRhZywgLy8gbGxpbnRfZ2VuZXJpY19yZXR1cm5fcG9pbnQKLSAgICAgICAgICAgIEJ5
dGVjb2RlUHRyVGFnLCAvLyBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lCi0g
ICAgICAgICAgICBDb2RlRW50cnlQdHJUYWcsIC8vIGxsaW50X3Rocm93X2R1cmluZ19jYWxsX3Ry
YW1wb2xpbmUKLSAgICAgICAgICAgIE5hdGl2ZUNvZGVQdHJUYWcsIC8vIGxsaW50X25hdGl2ZV9j
YWxsX3RyYW1wb2xpbmUKLSAgICAgICAgICAgIE5hdGl2ZUNvZGVQdHJUYWcsIC8vIGxsaW50X25h
dGl2ZV9jb25zdHJ1Y3RfdHJhbXBvbGluZQotICAgICAgICAgICAgSW50ZXJuYWxGdW5jdGlvblB0
clRhZywgLy8gbGxpbnRfaW50ZXJuYWxfZnVuY3Rpb25fY2FsbF90cmFtcG9saW5lCi0gICAgICAg
ICAgICBJbnRlcm5hbEZ1bmN0aW9uUHRyVGFnLCAvLyBsbGludF9pbnRlcm5hbF9mdW5jdGlvbl9j
b25zdHJ1Y3RfdHJhbXBvbGluZQotICAgICAgICAgICAgRXhjZXB0aW9uSGFuZGxlclB0clRhZywg
Ly8gaGFuZGxlVW5jYXVnaHRFeGNlcHRpb24KLSAgICAgICAgfTsKLQotICAgICAgICBzdGF0aWNf
YXNzZXJ0KHNpemVvZih0YWdzRm9yT3Bjb2RlKSAvIHNpemVvZih0YWdzRm9yT3Bjb2RlWzBdKSA9
PSBOVU1CRVJfT0ZfQllURUNPREVfSEVMUEVSX0lEUywgIiIpOwotICAgICAgICBzdGF0aWNfYXNz
ZXJ0KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4obGxpbnRfcHJvZ3JhbV9wcm9sb2d1ZSkgPT0gTlVN
QkVSX09GX0JZVEVDT0RFX0lEUywgIiIpOwotCi0gICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
TlVNQkVSX09GX0JZVEVDT0RFX0hFTFBFUl9JRFM7ICsraSkgewotICAgICAgICAgICAgaW50IG9w
Y29kZUlEID0gaSArIE5VTUJFUl9PRl9CWVRFQ09ERV9JRFM7Ci0gICAgICAgICAgICBEYXRhOjpz
X29wY29kZU1hcFtvcGNvZGVJRF0gPSB0YWdDb2RlUHRyKERhdGE6OnNfb3Bjb2RlTWFwW29wY29k
ZUlEXSwgdGFnc0Zvck9wY29kZVtpXSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICB2b2lkKiBo
YW5kbGVyID0gTExJbnQ6OmdldENvZGVQdHIobGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJh
bXBvbGluZSk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhPcGNvZGVMZW5ndGggKyAxOyAr
K2kpCi0gICAgICAgIERhdGE6OnNfZXhjZXB0aW9uSW5zdHJ1Y3Rpb25zW2ldLnUucG9pbnRlciA9
IGhhbmRsZXI7Ci0KKyAgICAgICAgRGF0YTo6c19leGNlcHRpb25JbnN0cnVjdGlvbnNbaV0udS5w
b2ludGVyID0KKyAgICAgICAgICAgIExMSW50OjpnZXRDb2RlUHRyKGxsaW50X3Rocm93X2Zyb21f
c2xvd19wYXRoX3RyYW1wb2xpbmUpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCiAKICNpZiBFTkFC
TEUoTExJTlRfU1RBVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnREYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmgKaW5k
ZXggM2ZlNjYyNmU5MzE3NDcwMDdmM2NjZjkxZjlkOGMxYjYyMmQ1OWQyZi4uMzAxZDA3N2VjYmI1
OWU2NjU1Nzk2ODg4NTQ3MWQwMjQyZGM2NGZjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludERhdGEuaApAQCAtMjcsNyArMjcsNiBAQAogCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5o
IgogI2luY2x1ZGUgIk9wY29kZS5oIgotI2luY2x1ZGUgIlB0clRhZy5oIgogI2luY2x1ZGUgPGFy
cmF5PgogI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEV4Y2VwdGlvbnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RXhjZXB0aW9ucy5jcHAKaW5kZXggZTY0OTBkNzMx
ZGIzMTNiYTJlZDkwZjk0ZDNmYjljMjRhZWE1ZTIyZS4uZTBmYmY4YjdlZmIzMDFjNjU4YTNiYTFj
NTQ3ZmEyMDNlNzE3MDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50RXhjZXB0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50RXhjZXB0aW9ucy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDExLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksNiArMzksMTIgQEAKIAogbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBMTEludCB7CiAKK0luc3RydWN0aW9uKiByZXR1cm5Ub1Rocm93Rm9yVGhyb3du
RXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBVTlVTRURfUEFSQU0oZXhlYyk7Cisg
ICAgcmV0dXJuIExMSW50OjpleGNlcHRpb25JbnN0cnVjdGlvbnMoKTsKK30KKwogSW5zdHJ1Y3Rp
b24qIHJldHVyblRvVGhyb3coRXhlY1N0YXRlKiBleGVjKQogewogICAgIFVOVVNFRF9QQVJBTShl
eGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEV4Y2Vw
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEV4Y2VwdGlvbnMuaApp
bmRleCAyYjczNjAyYTgzMmQwYWQ0YWZmNDY3YjY1MWY2M2IxMmIyZTZhNDZjLi4xNDlmNGU4Mzg1
NDJmMDQxYzlkZjg1NmU1Yzg1YzBkZGVmYTZjMTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRFeGNlcHRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50RXhjZXB0aW9ucy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDYgKzM0LDEwIEBAIHN0cnVjdCBJbnN0cnVj
dGlvbjsKIAogbmFtZXNwYWNlIExMSW50IHsKIAorLy8gVGVsbHMgeW91IHdoZXJlIHRvIGp1bXAg
dG8gaWYgeW91IHdhbnQgdG8gcmV0dXJuLXRvLXRocm93LCBhZnRlciB5b3UndmUgYWxyZWFkeQor
Ly8gc2V0IHVwIGFsbCBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gdGhyb3cgdGhlIGV4Y2VwdGlvbi4K
K0luc3RydWN0aW9uKiByZXR1cm5Ub1Rocm93Rm9yVGhyb3duRXhjZXB0aW9uKEV4ZWNTdGF0ZSop
OworCiAvLyBHaXZlcyB5b3UgYSBQQyB0aGF0IHlvdSBjYW4gdGVsbCB0aGUgaW50ZXJwcmV0ZXIg
dG8gZ28gdG8sIHdoaWNoIHdoZW4gYWR2YW5jZWQKIC8vIGJldHdlZW4gMSBhbmQgOSBzbG90cyB3
aWxsIGdpdmUgeW91IGFuICJpbnN0cnVjdGlvbiIgdGhhdCB0aHJlYWRzIHRvIHRoZQogLy8gaW50
ZXJwcmV0ZXIncyBleGNlcHRpb24gaGFuZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAppbmRleCAxZDIxNzMyMDgyYjUzNzUw
ZDMzOGUxYjY3ODdlZjlmM2U5MDQ3NGI4Li5lNGYwMjAzZjA5ZDk2MmJjMGI3N2NiZTRhNTBjN2I1
NGU0OWY3MmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRP
ZmZsaW5lQXNtQ29uZmlnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
T2ZmbGluZUFzbUNvbmZpZy5oCkBAIC0xMTgsOCArMTE4LDYgQEAKIAogI2lmIENQVShBUk02NEUp
CiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTTY0RSAxCi0jdW5kZWYgT0ZGTElORV9BU01fQVJNNjQK
LSNkZWZpbmUgT0ZGTElORV9BU01fQVJNNjQgMCAvLyBQcmV0ZW5kIHRoYXQgQVJNNjQgYW5kIEFS
TTY0RSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHRvIHBsZWFzZSB0aGUgb2ZmbGluZWFzbS4KICNl
bHNlCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTTY0RSAwCiAjZW5kaWYKQEAgLTE3NSwxMCArMTcz
LDQgQEAKICNkZWZpbmUgT0ZGTElORV9BU01fRVhFQ1VUSU9OX1RSQUNJTkcgMAogI2VuZGlmCiAK
LSNpZiBVU0UoUE9JTlRFUl9QUk9GSUxJTkcpCi0jZGVmaW5lIE9GRkxJTkVfQVNNX1BPSU5URVJf
UFJPRklMSU5HIDEKLSNlbHNlCi0jZGVmaW5lIE9GRkxJTkVfQVNNX1BPSU5URVJfUFJPRklMSU5H
IDAKLSNlbmRpZgotCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0dJR0FDQUdFX0VOQUJMRUQgR0lHQUNB
R0VfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
T2Zmc2V0c0V4dHJhY3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRP
ZmZzZXRzRXh0cmFjdG9yLmNwcAppbmRleCAzMGY2MDU0MTQ5N2RlMWY4MDU2NjZkN2ViMGNjYjlm
YjE3YjJhNDJjLi41NmFjZWQ3NjVjYzRjMzMzNDFmMzhkYTYyYjFiOTAxYWYyMjU3YWFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFj
dG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTUtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTUxLDcgKzUxLDYgQEAKICNpbmNsdWRlICJNYXJrZWRTcGFjZS5o
IgogI2luY2x1ZGUgIk5hdGl2ZUV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJQcm90b0NhbGxGcmFt
ZS5oIgotI2luY2x1ZGUgIlB0clRhZy5oIgogI2luY2x1ZGUgIlNoYWRvd0NoaWNrZW4uaCIKICNp
bmNsdWRlICJTdHJ1Y3R1cmUuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVDaGFpbi5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFBDUmFuZ2VzLmgKaW5kZXggMGVmMGFhODMyMmY4
ODA5MTRlYjQyZjI4ZGZkYjNiY2I5YzU4YzgyYS4uN2JlNTRlZGZmMDZjNTUwMTNkMDFkOGE2NTYw
OTQ4N2IyZWE5NzMxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50UENSYW5nZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jh
bmdlcy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiUHRy
VGFnLmgiCisjaW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAKQEAgLTQwLDggKzQwLDggQEAgZXh0ZXJuICJDIiB7CiBBTFdBWVNfSU5MSU5FIGJv
b2wgaXNMTEludFBDKHZvaWQqIHBjKQogewogICAgIHVpbnRwdHJfdCBwY0FzSW50ID0gYml0d2lz
ZV9jYXN0PHVpbnRwdHJfdD4ocGMpOwotICAgIHVpbnRwdHJfdCBsbGludFN0YXJ0ID0gdW50YWdD
b2RlUHRyPHVpbnRwdHJfdD4obGxpbnRQQ1JhbmdlU3RhcnQsIENGdW5jdGlvblB0clRhZyk7Ci0g
ICAgdWludHB0cl90IGxsaW50RW5kID0gdW50YWdDb2RlUHRyPHVpbnRwdHJfdD4obGxpbnRQQ1Jh
bmdlRW5kLCBDRnVuY3Rpb25QdHJUYWcpOworICAgIHVpbnRwdHJfdCBsbGludFN0YXJ0ID0gYml0
d2lzZV9jYXN0PHVpbnRwdHJfdD4oV1RGX1BSRVBBUkVfRlVOQ1RJT05fUE9JTlRFUl9GT1JfRVhF
Q1VUSU9OKGxsaW50UENSYW5nZVN0YXJ0KSk7CisgICAgdWludHB0cl90IGxsaW50RW5kID0gYml0
d2lzZV9jYXN0PHVpbnRwdHJfdD4oV1RGX1BSRVBBUkVfRlVOQ1RJT05fUE9JTlRFUl9GT1JfRVhF
Q1VUSU9OKGxsaW50UENSYW5nZUVuZCkpOwogICAgIFJFTEVBU0VfQVNTRVJUKGxsaW50U3RhcnQg
PCBsbGludEVuZCk7CiAgICAgcmV0dXJuIGxsaW50U3RhcnQgPD0gcGNBc0ludCAmJiBwY0FzSW50
IDw9IGxsaW50RW5kOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKaW5kZXggYTkwY2I5ZTQ1MTgwZGIzMTc3MWEyZGI2MDRmYzkzMGZkNzkwNjU0
MS4uYWM0Y2ZhZjBiZjcwZWY4ZTczYjg2MWNhZTRiNGZmMWEyZDRjOTIzYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTU5LDEzICsx
NTksMTIgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIEpTVmFs
dWU6OmVuY29kZSh2YWx1ZSk7ICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNl
KQogCi0jZGVmaW5lIExMSU5UX0NBTExfRU5EX0lNUEwoZXhlYywgY2FsbFRhcmdldCwgY2FsbFRh
cmdldFRhZykgXAotICAgIExMSU5UX1JFVFVSTl9UV08ocmV0YWdDb2RlUHRyKChjYWxsVGFyZ2V0
KSwgY2FsbFRhcmdldFRhZywgU2xvd1BhdGhQdHJUYWcpLCAoZXhlYykpCisjZGVmaW5lIExMSU5U
X0NBTExfRU5EX0lNUEwoZXhlYywgY2FsbFRhcmdldCkgTExJTlRfUkVUVVJOX1RXTygoY2FsbFRh
cmdldCksIChleGVjKSkKIAogI2RlZmluZSBMTElOVF9DQUxMX1RIUk9XKGV4ZWMsIGV4Y2VwdGlv
blRvVGhyb3cpIGRvIHsgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBFeGVjU3RhdGUqIF9f
Y3RfZXhlYyA9IChleGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
ICAgICB0aHJvd0V4Y2VwdGlvbihfX2N0X2V4ZWMsIHRocm93U2NvcGUsIGV4Y2VwdGlvblRvVGhy
b3cpOyAgICAgICAgXAotICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKDAsIGNhbGxUb1Rocm93
KF9fY3RfZXhlYyksIEV4Y2VwdGlvbkhhbmRsZXJQdHJUYWcpOyAgICAgICAgICAgICAgICAgXAor
ICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKDAsIGNhbGxUb1Rocm93KF9fY3RfZXhlYykpOyAg
ICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCiAjZGVmaW5lIExMSU5UX0NB
TExfQ0hFQ0tfRVhDRVBUSU9OKGV4ZWMsIGV4ZWNDYWxsZWUpIGRvIHsgICAgICAgICAgICAgICBc
CkBAIC0xNzMsMTUgKzE3MiwxNSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsK
ICAgICAgICAgRXhlY1N0YXRlKiBfX2NjZV9leGVjQ2FsbGVlID0gKGV4ZWNDYWxsZWUpOyAgICAg
ICAgICAgICAgICAgICAgIFwKICAgICAgICAgZG9FeGNlcHRpb25GdXp6aW5nSWZFbmFibGVkKF9f
Y2NlX2V4ZWMsIHRocm93U2NvcGUsICJMTEludFNsb3dQYXRocy9jYWxsIiwgbnVsbHB0cik7IFwK
ICAgICAgICAgaWYgKFVOTElLRUxZKHRocm93U2NvcGUuZXhjZXB0aW9uKCkpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIExMSU5UX0NBTExfRU5EX0lNUEwoMCwgY2Fs
bFRvVGhyb3coX19jY2VfZXhlY0NhbGxlZSksIEV4Y2VwdGlvbkhhbmRsZXJQdHJUYWcpOyBcCisg
ICAgICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKDAsIGNhbGxUb1Rocm93KF9fY2NlX2V4ZWND
YWxsZWUpKTsgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKLSNkZWZpbmUgTExJTlRfQ0FM
TF9SRVRVUk4oZXhlYywgZXhlY0NhbGxlZSwgY2FsbFRhcmdldCwgY2FsbFRhcmdldFRhZykgZG8g
eyBcCisjZGVmaW5lIExMSU5UX0NBTExfUkVUVVJOKGV4ZWMsIGV4ZWNDYWxsZWUsIGNhbGxUYXJn
ZXQpIGRvIHsgICAgICAgICAgICBcCiAgICAgICAgIEV4ZWNTdGF0ZSogX19jcl9leGVjID0gKGV4
ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIEV4ZWNTdGF0
ZSogX19jcl9leGVjQ2FsbGVlID0gKGV4ZWNDYWxsZWUpOyAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgICAgIHZvaWQqIF9fY3JfY2FsbFRhcmdldCA9IChjYWxsVGFyZ2V0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgICAgIExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKF9f
Y3JfZXhlYywgX19jcl9leGVjQ2FsbGVlKTsgICAgICAgICBcCi0gICAgICAgIExMSU5UX0NBTExf
RU5EX0lNUEwoX19jcl9leGVjQ2FsbGVlLCBfX2NyX2NhbGxUYXJnZXQsIGNhbGxUYXJnZXRUYWcp
OyBcCisgICAgICAgIExMSU5UX0NBTExfRU5EX0lNUEwoX19jcl9leGVjQ2FsbGVlLCBfX2NyX2Nh
bGxUYXJnZXQpOyAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKICNkZWZpbmUgTExJ
TlRfUkVUVVJOX0NBTExFRV9GUkFNRShleGVjQ2FsbGVlKSBkbyB7ICAgICAgICAgICAgICAgICAg
ICAgIFwKQEAgLTI4NCw3ICsyODMsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTCh0cmFjZSkKICAg
ICAgICAgICAgIG9wY29kZU5hbWVzW29wY29kZUlEXSwgcGMpOwogICAgIGlmIChvcGNvZGVJRCA9
PSBvcF9lbnRlcikgewogICAgICAgICBkYXRhTG9nRigiRnJhbWUgd2lsbCBldmVudHVhbGx5IHJl
dHVybiB0byAlcFxuIiwgZXhlYy0+cmV0dXJuUEMoKS52YWx1ZSgpKTsKLSAgICAgICAgKnJlbW92
ZUNvZGVQdHJUYWc8dm9sYXRpbGUgY2hhcio+KGV4ZWMtPnJldHVyblBDKCkudmFsdWUoKSk7Cisg
ICAgICAgICpiaXR3aXNlX2Nhc3Q8dm9sYXRpbGUgY2hhcio+KGV4ZWMtPnJldHVyblBDKCkudmFs
dWUoKSk7CiAgICAgfQogICAgIGlmIChvcGNvZGVJRCA9PSBvcF9yZXQpIHsKICAgICAgICAgZGF0
YUxvZ0YoIldpbGwgYmUgcmV0dXJuaW5nIHRvICVwXG4iLCBleGVjLT5yZXR1cm5QQygpLnZhbHVl
KCkpOwpAQCAtMTMyNiw3ICsxMzI1LDcgQEAgc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5k
bGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywKICAgICAg
ICAgICAgIHZtLmhvc3RDYWxsUmV0dXJuVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoY2FsbERhdGEu
bmF0aXZlLmZ1bmN0aW9uKGV4ZWNDYWxsZWUpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
UG9pc29uZWRNYXNtUHRyOjphc3NlcnRJc05vdFBvaXNvbmVkKExMSW50OjpnZXRDb2RlUHRyKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpKTsKLSAgICAgICAgICAgIExMSU5UX0NBTExfUkVUVVJOKGV4
ZWNDYWxsZWUsIGV4ZWNDYWxsZWUsIExMSW50OjpnZXRDb2RlUHRyKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpLCBDRnVuY3Rpb25QdHJUYWcpOworICAgICAgICAgICAgTExJTlRfQ0FMTF9SRVRVUk4o
ZXhlY0NhbGxlZSwgZXhlY0NhbGxlZSwgTExJbnQ6OmdldENvZGVQdHIoZ2V0SG9zdENhbGxSZXR1
cm5WYWx1ZSkpOwogICAgICAgICB9CiAgICAgICAgIAogI2lmIExMSU5UX1NMT1dfUEFUSF9UUkFD
SU5HCkBAIC0xMzUwLDcgKzEzNDksNyBAQCBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRs
ZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLAogICAgICAg
ICB2bS5ob3N0Q2FsbFJldHVyblZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGNvbnN0cnVjdERhdGEu
bmF0aXZlLmZ1bmN0aW9uKGV4ZWNDYWxsZWUpKTsKIAogICAgICAgICBQb2lzb25lZE1hc21QdHI6
OmFzc2VydElzTm90UG9pc29uZWQoTExJbnQ6OmdldENvZGVQdHIoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkpOwotICAgICAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjQ2FsbGVlLCBleGVjQ2FsbGVl
LCBMTEludDo6Z2V0Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSwgQ0Z1bmN0aW9uUHRy
VGFnKTsKKyAgICAgICAgTExJTlRfQ0FMTF9SRVRVUk4oZXhlY0NhbGxlZSwgZXhlY0NhbGxlZSwg
TExJbnQ6OmdldENvZGVQdHIoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkpOwogICAgIH0KICAgICAK
ICNpZiBMTElOVF9TTE9XX1BBVEhfVFJBQ0lORwpAQCAtMTM4NywxMSArMTM4NiwxMCBAQCBpbmxp
bmUgU2xvd1BhdGhSZXR1cm5UeXBlIHNldFVwQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIElu
c3RydWN0aW9uKiBwYywgQ29kZQogICAgICAgICAgICAgICAgIGNhbGxMaW5rSW5mby0+Y2FsbGVl
LnNldCh2bSwgY2FsbGVyQ29kZUJsb2NrLCBpbnRlcm5hbEZ1bmN0aW9uKTsKICAgICAgICAgICAg
ICAgICBjYWxsTGlua0luZm8tPmxhc3RTZWVuQ2FsbGVlLnNldCh2bSwgY2FsbGVyQ29kZUJsb2Nr
LCBpbnRlcm5hbEZ1bmN0aW9uKTsKICAgICAgICAgICAgICAgICBjYWxsTGlua0luZm8tPm1hY2hp
bmVDb2RlVGFyZ2V0ID0gY29kZVB0cjsKLSAgICAgICAgICAgICAgICBjYWxsTGlua0luZm8tPmNh
bGxQdHJUYWcgPSBJbnRlcm5hbEZ1bmN0aW9uUHRyVGFnOwogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBQb2lzb25lZE1hc21QdHI6OmFzc2VydElzTm90UG9pc29uZWQoY29kZVB0ci5leGVj
dXRhYmxlQWRkcmVzcygpKTsKLSAgICAgICAgICAgIExMSU5UX0NBTExfUkVUVVJOKGV4ZWMsIGV4
ZWNDYWxsZWUsIGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3MoKSwgSW50ZXJuYWxGdW5jdGlvblB0
clRhZyk7CisgICAgICAgICAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjLCBleGVjQ2FsbGVlLCBj
b2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogICAgICAgICB9CiAgICAgICAgIHRocm93U2Nv
cGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gaGFuZGxlSG9zdENhbGwoZXhlY0NhbGxlZSwg
cGMsIGNhbGxlZUFzVmFsdWUsIGtpbmQpOwpAQCAtMTQwMCwxMiArMTM5OCwxMCBAQCBpbmxpbmUg
U2xvd1BhdGhSZXR1cm5UeXBlIHNldFVwQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3Ry
dWN0aW9uKiBwYywgQ29kZQogICAgIEpTU2NvcGUqIHNjb3BlID0gY2FsbGVlLT5zY29wZVVuY2hl
Y2tlZCgpOwogICAgIEV4ZWN1dGFibGVCYXNlKiBleGVjdXRhYmxlID0gY2FsbGVlLT5leGVjdXRh
YmxlKCk7CiAKLSAgICBQdHJUYWcgY2FsbFB0clRhZyA9IE5vUHRyVGFnOwogICAgIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBjb2RlUHRyOwogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gMDsKICAg
ICBpZiAoZXhlY3V0YWJsZS0+aXNIb3N0RnVuY3Rpb24oKSkgewogICAgICAgICBjb2RlUHRyID0g
ZXhlY3V0YWJsZS0+ZW50cnlwb2ludEZvcihraW5kLCBNdXN0Q2hlY2tBcml0eSk7Ci0gICAgICAg
IGNhbGxQdHJUYWcgPSBOYXRpdmVDb2RlUHRyVGFnOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEZ1
bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gc3RhdGljX2Nhc3Q8RnVuY3Rp
b25FeGVjdXRhYmxlKj4oZXhlY3V0YWJsZSk7CiAKQEAgLTE0MjAsMTMgKzE0MTYsMTAgQEAgaW5s
aW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBzZXRVcENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJ
bnN0cnVjdGlvbiogcGMsIENvZGUKICAgICAgICAgY29kZUJsb2NrID0gKmNvZGVCbG9ja1Nsb3Q7
CiAgICAgICAgIEFTU0VSVChjb2RlQmxvY2spOwogICAgICAgICBBcml0eUNoZWNrTW9kZSBhcml0
eTsKLSAgICAgICAgaWYgKGV4ZWNDYWxsZWUtPmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKCkg
PCBzdGF0aWNfY2FzdDxzaXplX3Q+KGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSkgeworICAg
ICAgICBpZiAoZXhlY0NhbGxlZS0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSA8IHN0YXRp
Y19jYXN0PHNpemVfdD4oY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkpKQogICAgICAgICAgICAg
YXJpdHkgPSBNdXN0Q2hlY2tBcml0eTsKLSAgICAgICAgICAgIGNhbGxQdHJUYWcgPSBDb2RlRW50
cnlXaXRoQXJpdHlDaGVja1B0clRhZzsKLSAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgZWxzZQog
ICAgICAgICAgICAgYXJpdHkgPSBBcml0eUNoZWNrTm90UmVxdWlyZWQ7Ci0gICAgICAgICAgICBj
YWxsUHRyVGFnID0gQ29kZUVudHJ5UHRyVGFnOwotICAgICAgICB9CiAgICAgICAgIGNvZGVQdHIg
PSBmdW5jdGlvbkV4ZWN1dGFibGUtPmVudHJ5cG9pbnRGb3Ioa2luZCwgYXJpdHkpOwogICAgIH0K
IApAQCAtMTQ0MiwxNCArMTQzNSwxMiBAQCBpbmxpbmUgU2xvd1BhdGhSZXR1cm5UeXBlIHNldFVw
Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgQ29kZQogICAgICAg
ICBjYWxsTGlua0luZm8tPmNhbGxlZS5zZXQodm0sIGNhbGxlckNvZGVCbG9jaywgY2FsbGVlKTsK
ICAgICAgICAgY2FsbExpbmtJbmZvLT5sYXN0U2VlbkNhbGxlZS5zZXQodm0sIGNhbGxlckNvZGVC
bG9jaywgY2FsbGVlKTsKICAgICAgICAgY2FsbExpbmtJbmZvLT5tYWNoaW5lQ29kZVRhcmdldCA9
IGNvZGVQdHI7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGNhbGxQdHJUYWcgIT0gTm9QdHJUYWcp
OwotICAgICAgICBjYWxsTGlua0luZm8tPmNhbGxQdHJUYWcgPSBjYWxsUHRyVGFnOwogICAgICAg
ICBpZiAoY29kZUJsb2NrKQogICAgICAgICAgICAgY29kZUJsb2NrLT5saW5rSW5jb21pbmdDYWxs
KGV4ZWMsIGNhbGxMaW5rSW5mbyk7CiAgICAgfQogCiAgICAgUG9pc29uZWRNYXNtUHRyOjphc3Nl
cnRJc05vdFBvaXNvbmVkKGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3MoKSk7Ci0gICAgTExJTlRf
Q0FMTF9SRVRVUk4oZXhlYywgZXhlY0NhbGxlZSwgY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygp
LCBjYWxsUHRyVGFnKTsKKyAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjLCBleGVjQ2FsbGVlLCBj
b2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogfQogCiBpbmxpbmUgU2xvd1BhdGhSZXR1cm5U
eXBlIGdlbmVyaWNDYWxsKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQpCkBAIC0xNTg5LDcgKzE1ODAsNyBAQCBMTElOVF9TTE9XX1BB
VEhfREVDTChzbG93X3BhdGhfY2FsbF9ldmFsKQogICAgIH0KICAgICAKICAgICB2bS5ob3N0Q2Fs
bFJldHVyblZhbHVlID0gZXZhbChleGVjQ2FsbGVlKTsKLSAgICBMTElOVF9DQUxMX1JFVFVSTihl
eGVjLCBleGVjQ2FsbGVlLCBMTEludDo6Z2V0Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSwgQ0Z1bmN0aW9uUHRyVGFnKTsKKyAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjLCBleGVjQ2Fs
bGVlLCBMTEludDo6Z2V0Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSk7CiB9CiAKIExM
SU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9zdHJjYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTk5MWEzOTBh
OTZlNTg0NDVkOGQ0ZmMzN2E1YzA3MTljZGRkNjU3Yi4uMmRkNGJlNmVlYTUxNTlhNGI2NDQ1ZDhm
MWUyMTU2ZGI4ODdmYjg3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtNzEsNyArNzEsNyBAQAogIyAgVGhleSBhcmUg
Y2FsbGVlLXNhdmUgcmVnaXN0ZXJzLCBhbmQgZ3VhcmFudGVlZCB0byBiZSBkaXN0aW5jdCBmcm9t
IGFsbCBvdGhlcgogIyAgcmVnaXN0ZXJzIG9uIGFsbCBhcmNoaXRlY3R1cmVzLgogIwotIyAgLSBs
ciBpcyBkZWZpbmVkIG9uIG5vbi1YODYgYXJjaGl0ZWN0dXJlcyAoQVJNNjQsIEFSTTY0RSwgQVJN
djcsIEFSTSwKKyMgIC0gbHIgaXMgZGVmaW5lZCBvbiBub24tWDg2IGFyY2hpdGVjdHVyZXMgKEFS
TTY0LCBBUk12NywgQVJNLAogIyAgQVJNdjdfVFJBRElUSU9OQUwsIE1JUFMgYW5kIENMT09QKSBh
bmQgaG9sZHMgdGhlIHJldHVybiBQQwogIwogIyAgLSBwYyBob2xkcyB0aGUgKG5hdGl2ZSkgcHJv
Z3JhbSBjb3VudGVyIG9uIDMyLWJpdHMgQVJNIGFyY2hpdGVjdHVyZXMgKEFSTSwKQEAgLTIyMyw3
ICsyMjMsNyBAQCBjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVRvcCA9IGNvbnN0ZXhwciBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVRvcAogCiBjb25zdCBDYWxsT3BDb2RlU2l6ZSA9IDkKIAotaWYgWDg2
XzY0IG9yIEFSTTY0IG9yIEFSTTY0RSBvciBDX0xPT1AKK2lmIFg4Nl82NCBvciBBUk02NCBvciBD
X0xPT1AKICAgICBjb25zdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDAKIGVsc2lm
IEFSTSBvciBBUk12N19UUkFESVRJT05BTCBvciBBUk12NwogICAgIGNvbnN0IG1heEZyYW1lRXh0
ZW50Rm9yU2xvd1BhdGhDYWxsID0gMjQKQEAgLTIzNSw3ICsyMzUsNyBAQCBlbHNpZiBYODZfNjRf
V0lOCiAgICAgY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSA2NAogZW5kCiAK
LWlmIFg4Nl82NCBvciBYODZfNjRfV0lOIG9yIEFSTTY0IG9yIEFSTTY0RQoraWYgWDg2XzY0IG9y
IFg4Nl82NF9XSU4gb3IgQVJNNjQKICAgICBjb25zdCBDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxS
ZWdpc3RlcnMgPSAzCiBlbHNlCiAgICAgY29uc3QgQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVn
aXN0ZXJzID0gMApAQCAtMjYwLDE2ICsyNjAsNiBAQCBjb25zdCBBcml0aFByb2ZpbGVOdW1iZXJJ
bnQgPSAweDg4MDAwMAogY29uc3QgQXJpdGhQcm9maWxlTnVtYmVyTnVtYmVyID0gMHg5MDAwMDAK
IGNvbnN0IEFyaXRoUHJvZmlsZUludE51bWJlciA9IDB4NTAwMDAwCiAKLSMgUG9pbnRlciBUYWdz
Ci1jb25zdCBCeXRlY29kZVB0clRhZyA9IGNvbnN0ZXhwciBCeXRlY29kZVB0clRhZwotY29uc3Qg
Q29kZUVudHJ5UHRyVGFnID0gY29uc3RleHByIENvZGVFbnRyeVB0clRhZwotY29uc3QgQ29kZUVu
dHJ5V2l0aEFyaXR5Q2hlY2tQdHJUYWcgPSBjb25zdGV4cHIgQ29kZUVudHJ5V2l0aEFyaXR5Q2hl
Y2tQdHJUYWcKLWNvbnN0IEV4Y2VwdGlvbkhhbmRsZXJQdHJUYWcgPSBjb25zdGV4cHIgRXhjZXB0
aW9uSGFuZGxlclB0clRhZwotY29uc3QgSW50ZXJuYWxGdW5jdGlvblB0clRhZyA9IGNvbnN0ZXhw
ciBJbnRlcm5hbEZ1bmN0aW9uUHRyVGFnCi1jb25zdCBOYXRpdmVDb2RlUHRyVGFnID0gY29uc3Rl
eHByIE5hdGl2ZUNvZGVQdHJUYWcKLWNvbnN0IE5vUHRyVGFnID0gY29uc3RleHByIE5vUHRyVGFn
Ci1jb25zdCBTbG93UGF0aFB0clRhZyA9IGNvbnN0ZXhwciBTbG93UGF0aFB0clRhZwotCiAjIFNv
bWUgcmVnaXN0ZXIgY29udmVudGlvbnMuCiBpZiBKU1ZBTFVFNjQKICAgICAjIC0gVXNlIGEgcGFp
ciBvZiByZWdpc3RlcnMgdG8gcmVwcmVzZW50IHRoZSBQQzogb25lIHJlZ2lzdGVyIGZvciB0aGUK
QEAgLTI3OCw3ICsyNjgsNyBAQCBpZiBKU1ZBTFVFNjQKICAgICAjIC0gQyBjYWxscyBhcmUgc3Rp
bGwgZ2l2ZW4gdGhlIEluc3RydWN0aW9uKiByYXRoZXIgdGhhbiB0aGUgUEMgaW5kZXguCiAgICAg
IyAgIFRoaXMgcmVxdWlyZXMgYW4gYWRkIGJlZm9yZSB0aGUgY2FsbCwgYW5kIGEgc3ViIGFmdGVy
LgogICAgIGNvbnN0IFBDID0gdDQgIyBXaGVuIGNoYW5naW5nIHRoaXMsIG1ha2Ugc3VyZSBMTElu
dFBDIGlzIHVwIHRvIGRhdGUgaW4gTExJbnRQQ1Jhbmdlcy5oCi0gICAgaWYgQVJNNjQgb3IgQVJN
NjRFCisgICAgaWYgQVJNNjQKICAgICAgICAgY29uc3QgUEIgPSBjc3I3CiAgICAgICAgIGNvbnN0
IHRhZ1R5cGVOdW1iZXIgPSBjc3I4CiAgICAgICAgIGNvbnN0IHRhZ01hc2sgPSBjc3I5CkBAIC01
MDIsMTAgKzQ5MiwxMCBAQCBlbmQKICMgICAgICAgICBlbmQKICMgICAgICkKICMKLWlmIFg4Nl82
NCBvciBBUk02NCBvciBBUk02NEUKK2lmIFg4Nl82NCBvciBBUk02NAogICAgIG1hY3JvIHByb2Jl
KGFjdGlvbikKICAgICAgICAgIyBzYXZlIGFsbCB0aGUgcmVnaXN0ZXJzIHRoYXQgdGhlIExMSW50
IG1heSB1c2UuCi0gICAgICAgIGlmIEFSTTY0IG9yIEFSTTY0RQorICAgICAgICBpZiBBUk02NAog
ICAgICAgICAgICAgcHVzaCBjZnIsIGxyCiAgICAgICAgIGVuZAogICAgICAgICBwdXNoIGEwLCBh
MQpAQCAtNTEzLDcgKzUwMyw3IEBAIGlmIFg4Nl82NCBvciBBUk02NCBvciBBUk02NEUKICAgICAg
ICAgcHVzaCB0MCwgdDEKICAgICAgICAgcHVzaCB0MiwgdDMKICAgICAgICAgcHVzaCB0NCwgdDUK
LSAgICAgICAgaWYgQVJNNjQgb3IgQVJNNjRFCisgICAgICAgIGlmIEFSTTY0CiAgICAgICAgICAg
ICBwdXNoIGNzcjAsIGNzcjEKICAgICAgICAgICAgIHB1c2ggY3NyMiwgY3NyMwogICAgICAgICAg
ICAgcHVzaCBjc3I0LCBjc3I1CkBAIC01MjQsNyArNTE0LDcgQEAgaWYgWDg2XzY0IG9yIEFSTTY0
IG9yIEFSTTY0RQogICAgICAgICBhY3Rpb24oKQogCiAgICAgICAgICMgcmVzdG9yZSBhbGwgdGhl
IHJlZ2lzdGVycyB3ZSBzYXZlZCBwcmV2aW91c2x5LgotICAgICAgICBpZiBBUk02NCBvciBBUk02
NEUKKyAgICAgICAgaWYgQVJNNjQKICAgICAgICAgICAgIHBvcCBjc3I5LCBjc3I4CiAgICAgICAg
ICAgICBwb3AgY3NyNywgY3NyNgogICAgICAgICAgICAgcG9wIGNzcjUsIGNzcjQKQEAgLTUzNiw3
ICs1MjYsNyBAQCBpZiBYODZfNjQgb3IgQVJNNjQgb3IgQVJNNjRFCiAgICAgICAgIHBvcCB0MSwg
dDAKICAgICAgICAgcG9wIGEzLCBhMgogICAgICAgICBwb3AgYTEsIGEwCi0gICAgICAgIGlmIEFS
TTY0IG9yIEFSTTY0RQorICAgICAgICBpZiBBUk02NAogICAgICAgICAgICAgcG9wIGxyLCBjZnIK
ICAgICAgICAgZW5kCiAgICAgZW5kCkBAIC01NDYsOCArNTM2LDggQEAgZWxzZQogZW5kCiAKIG1h
Y3JvIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXBSZWcsIGxvY2F0aW9uKQotICAgIGlm
IEFSTTY0IG9yIEFSTTY0RSBvciBDX0xPT1AKLSAgICAgICAgIyBBUk02NCBhbmQgQVJNNjRFIHdp
bGwgY2hlY2sgZm9yIHVzIQorICAgIGlmIEFSTTY0IG9yIENfTE9PUAorICAgICAgICAjIEFSTTY0
IHdpbGwgY2hlY2sgZm9yIHVzIQogICAgICAgICAjIENfTE9PUCBkb2VzIG5vdCBuZWVkIHRoZSBh
bGlnbm1lbnQsIGFuZCBjYW4gdXNlIGEgbGl0dGxlIHBlcmYKICAgICAgICAgIyBpbXByb3ZlbWVu
dCBmcm9tIGF2b2lkaW5nIHVzZWxlc3Mgd29yay4KICAgICBlbHNlCkBAIC01NjUsNyArNTU1LDcg
QEAgbWFjcm8gY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcFJlZywgbG9jYXRpb24pCiAg
ICAgZW5kCiBlbmQKIAotaWYgQ19MT09QIG9yIEFSTTY0IG9yIEFSTTY0RSBvciBYODZfNjQgb3Ig
WDg2XzY0X1dJTgoraWYgQ19MT09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCiAg
ICAgY29uc3QgQ2FsbGVlU2F2ZVJlZ2lzdGVyQ291bnQgPSAwCiBlbHNpZiBBUk0gb3IgQVJNdjdf
VFJBRElUSU9OQUwgb3IgQVJNdjcKICAgICBjb25zdCBDYWxsZWVTYXZlUmVnaXN0ZXJDb3VudCA9
IDcKQEAgLTU4Miw3ICs1NzIsNyBAQCBjb25zdCBDYWxsZWVSZWdpc3RlclNhdmVTaXplID0gQ2Fs
bGVlU2F2ZVJlZ2lzdGVyQ291bnQgKiBQdHJTaXplCiBjb25zdCBWTUVudHJ5VG90YWxGcmFtZVNp
emUgPSAoQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSArIHNpemVvZiBWTUVudHJ5UmVjb3JkICsgU3Rh
Y2tBbGlnbm1lbnQgLSAxKSAmIH5TdGFja0FsaWdubWVudE1hc2sKIAogbWFjcm8gcHVzaENhbGxl
ZVNhdmVzKCkKLSAgICBpZiBDX0xPT1Agb3IgQVJNNjQgb3IgQVJNNjRFIG9yIFg4Nl82NCBvciBY
ODZfNjRfV0lOCisgICAgaWYgQ19MT09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lO
CiAgICAgZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMCiAgICAgICAgIGVtaXQgInB1c2gg
e3I0LXIxMH0iCiAgICAgZWxzaWYgQVJNdjcKQEAgLTYwNCw3ICs1OTQsNyBAQCBtYWNybyBwdXNo
Q2FsbGVlU2F2ZXMoKQogZW5kCiAKIG1hY3JvIHBvcENhbGxlZVNhdmVzKCkKLSAgICBpZiBDX0xP
T1Agb3IgQVJNNjQgb3IgQVJNNjRFIG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgaWYgQ19M
T09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCiAgICAgZWxzaWYgQVJNIG9yIEFS
TXY3X1RSQURJVElPTkFMCiAgICAgICAgIGVtaXQgInBvcCB7cjQtcjEwfSIKICAgICBlbHNpZiBB
Uk12NwpAQCAtNjI5LDcgKzYxOSw3IEBAIG1hY3JvIHByZXNlcnZlQ2FsbGVyUENBbmRDRlIoKQog
ICAgICAgICBwdXNoIGNmcgogICAgIGVsc2lmIFg4NiBvciBYODZfV0lOIG9yIFg4Nl82NCBvciBY
ODZfNjRfV0lOCiAgICAgICAgIHB1c2ggY2ZyCi0gICAgZWxzaWYgQVJNNjQgb3IgQVJNNjRFCisg
ICAgZWxzaWYgQVJNNjQKICAgICAgICAgcHVzaCBjZnIsIGxyCiAgICAgZWxzZQogICAgICAgICBl
cnJvcgpAQCAtNjQ0LDcgKzYzNCw3IEBAIG1hY3JvIHJlc3RvcmVDYWxsZXJQQ0FuZENGUigpCiAg
ICAgICAgIHBvcCBscgogICAgIGVsc2lmIFg4NiBvciBYODZfV0lOIG9yIFg4Nl82NCBvciBYODZf
NjRfV0lOCiAgICAgICAgIHBvcCBjZnIKLSAgICBlbHNpZiBBUk02NCBvciBBUk02NEUKKyAgICBl
bHNpZiBBUk02NAogICAgICAgICBwb3AgbHIsIGNmcgogICAgIGVuZAogZW5kCkBAIC02NTQsNyAr
NjQ0LDcgQEAgbWFjcm8gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKICAgICBpZiBD
X0xPT1AKICAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKICAgICBlbHNpZiBBUk12
NwotICAgIGVsc2lmIEFSTTY0IG9yIEFSTTY0RQorICAgIGVsc2lmIEFSTTY0CiAgICAgICAgIGVt
aXQgInN0cCB4MjcsIHgyOCwgW3gyOSwgIy0xNl0iCiAgICAgICAgIGVtaXQgInN0cCB4enIsIHgy
NiwgW3gyOSwgIy0zMl0iCiAgICAgZWxzaWYgTUlQUwpAQCAtNjc1LDcgKzY2NSw3IEBAIG1hY3Jv
IHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKICAgICBpZiBDX0xPT1AKICAgICBlbHNp
ZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKICAgICBlbHNpZiBBUk12NwotICAgIGVsc2lmIEFS
TTY0IG9yIEFSTTY0RQorICAgIGVsc2lmIEFSTTY0CiAgICAgICAgIGVtaXQgImxkcCB4enIsIHgy
NiwgW3gyOSwgIy0zMl0iCiAgICAgICAgIGVtaXQgImxkcCB4MjcsIHgyOCwgW3gyOSwgIy0xNl0i
CiAgICAgZWxzaWYgTUlQUwpAQCAtNjkzLDExICs2ODMsMTEgQEAgbWFjcm8gcmVzdG9yZUNhbGxl
ZVNhdmVzVXNlZEJ5TExJbnQoKQogZW5kCiAKIG1hY3JvIGNvcHlDYWxsZWVTYXZlc1RvVk1FbnRy
eUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRlbXApCi0gICAgaWYgQVJNNjQgb3IgQVJNNjRF
IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgaWYgQVJNNjQgb3IgWDg2XzY0IG9yIFg4Nl82
NF9XSU4KICAgICAgICAgbG9hZHAgVk06OnRvcEVudHJ5RnJhbWVbdm1dLCB0ZW1wCiAgICAgICAg
IHZtRW50cnlSZWNvcmQodGVtcCwgdGVtcCkKICAgICAgICAgbGVhcCBWTUVudHJ5UmVjb3JkOjpj
YWxsZWVTYXZlUmVnaXN0ZXJzQnVmZmVyW3RlbXBdLCB0ZW1wCi0gICAgICAgIGlmIEFSTTY0IG9y
IEFSTTY0RQorICAgICAgICBpZiBBUk02NAogICAgICAgICAgICAgc3RvcmVwIGNzcjAsIFt0ZW1w
XQogICAgICAgICAgICAgc3RvcmVwIGNzcjEsIDhbdGVtcF0KICAgICAgICAgICAgIHN0b3JlcCBj
c3IyLCAxNlt0ZW1wXQpAQCAtNzM1LDExICs3MjUsMTEgQEAgbWFjcm8gY29weUNhbGxlZVNhdmVz
VG9WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcih2bSwgdGVtcCkKIGVuZAogCiBtYWNybyBy
ZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRl
bXApCi0gICAgaWYgQVJNNjQgb3IgQVJNNjRFIG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAg
aWYgQVJNNjQgb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KICAgICAgICAgbG9hZHAgVk06OnRvcEVu
dHJ5RnJhbWVbdm1dLCB0ZW1wCiAgICAgICAgIHZtRW50cnlSZWNvcmQodGVtcCwgdGVtcCkKICAg
ICAgICAgbGVhcCBWTUVudHJ5UmVjb3JkOjpjYWxsZWVTYXZlUmVnaXN0ZXJzQnVmZmVyW3RlbXBd
LCB0ZW1wCi0gICAgICAgIGlmIEFSTTY0IG9yIEFSTTY0RQorICAgICAgICBpZiBBUk02NAogICAg
ICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IwCiAgICAgICAgICAgICBsb2FkcCA4W3RlbXBdLCBj
c3IxCiAgICAgICAgICAgICBsb2FkcCAxNlt0ZW1wXSwgY3NyMgpAQCAtNzc3LDcgKzc2Nyw3IEBA
IG1hY3JvIHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZl
cih2bSwgdGVtcCkKIGVuZAogCiBtYWNybyBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwo
ZGVzdGluYXRpb25SZWdpc3RlcikKLSAgICBpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFS
TXY3X1RSQURJVElPTkFMIG9yIEFSTTY0IG9yIEFSTTY0RSBvciBNSVBTCisgICAgaWYgQ19MT09Q
IG9yIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBBUk02NCBvciBNSVBTCiAg
ICAgICAgICMgSW4gQ19MT09QIGNhc2UsIHdlJ3JlIG9ubHkgcHJlc2VydmluZyB0aGUgYnl0ZWNv
ZGUgdlBDLgogICAgICAgICBtb3ZlIGxyLCBkZXN0aW5hdGlvblJlZ2lzdGVyCiAgICAgZWxzaWYg
WDg2IG9yIFg4Nl9XSU4gb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KQEAgLTc5NSwxMCArNzg1LDkg
QEAgbWFjcm8gdW5wb2lzb24ocG9pc29uLCBmaWVsZCwgc2NyYXRjaCkKIGVuZAogCiBtYWNybyBm
dW5jdGlvblByb2xvZ3VlKCkKLSAgICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAgaWYgWDg2IG9y
IFg4Nl9XSU4gb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KICAgICAgICAgcHVzaCBjZnIKLSAgICBl
bHNpZiBBUk02NCBvciBBUk02NEUKKyAgICBlbHNpZiBBUk02NAogICAgICAgICBwdXNoIGNmciwg
bHIKICAgICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFM
IG9yIE1JUFMKICAgICAgICAgcHVzaCBscgpAQCAtODEwLDcgKzc5OSw3IEBAIGVuZAogbWFjcm8g
ZnVuY3Rpb25FcGlsb2d1ZSgpCiAgICAgaWYgWDg2IG9yIFg4Nl9XSU4gb3IgWDg2XzY0IG9yIFg4
Nl82NF9XSU4KICAgICAgICAgcG9wIGNmcgotICAgIGVsc2lmIEFSTTY0IG9yIEFSTTY0RQorICAg
IGVsc2lmIEFSTTY0CiAgICAgICAgIHBvcCBsciwgY2ZyCiAgICAgZWxzaWYgQ19MT09QIG9yIEFS
TSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCiAgICAgICAgIHBvcCBjZnIK
QEAgLTg1OSwyMiArODQ4LDIyIEBAIG1hY3JvIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkK
ICAgICBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCiBlbmQKIAotbWFjcm8gY2FsbFRhcmdldEZ1bmN0
aW9uKGNhbGxlZSwgY2FsbFB0clRhZykKK21hY3JvIGNhbGxUYXJnZXRGdW5jdGlvbihjYWxsZWUp
CiAgICAgaWYgQ19MT09QCiAgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24gY2FsbGVlCiAgICAg
ZWxzZQotICAgICAgICBjYWxsIGNhbGxlZSwgY2FsbFB0clRhZworICAgICAgICBjYWxsIGNhbGxl
ZQogICAgIGVuZAogICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQogICAgIGRpc3Bh
dGNoQWZ0ZXJDYWxsKCkKIGVuZAogCi1tYWNybyBwcmVwYXJlRm9yUmVndWxhckNhbGwoY2FsbGVl
LCB0ZW1wMSwgdGVtcDIsIHRlbXAzLCBwcmVwYXJlQ2FsbFB0clRhZykKK21hY3JvIHByZXBhcmVG
b3JSZWd1bGFyQ2FsbChjYWxsZWUsIHRlbXAxLCB0ZW1wMiwgdGVtcDMpCiAgICAgYWRkcCBDYWxs
ZXJGcmFtZUFuZFBDU2l6ZSwgc3AKIGVuZAogCiAjIHNwIHBvaW50cyB0byB0aGUgbmV3IGZyYW1l
Ci1tYWNybyBwcmVwYXJlRm9yVGFpbENhbGwoY2FsbGVlLCB0ZW1wMSwgdGVtcDIsIHRlbXAzLCBw
cmVwYXJlQ2FsbFB0clRhZykKK21hY3JvIHByZXBhcmVGb3JUYWlsQ2FsbChjYWxsZWUsIHRlbXAx
LCB0ZW1wMiwgdGVtcDMpCiAgICAgcmVzdG9yZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQogCiAg
ICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwgdGVtcDIKQEAgLTg5
OCw3ICs4ODcsNyBAQCBtYWNybyBwcmVwYXJlRm9yVGFpbENhbGwoY2FsbGVlLCB0ZW1wMSwgdGVt
cDIsIHRlbXAzLCBwcmVwYXJlQ2FsbFB0clRhZykKICAgICBhZGRpIFN0YWNrQWxpZ25tZW50IC0g
MSArIENhbGxGcmFtZUhlYWRlclNpemUsIHRlbXAyCiAgICAgYW5kaSB+U3RhY2tBbGlnbm1lbnRN
YXNrLCB0ZW1wMgogCi0gICAgaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIEFSTXY3IG9y
IEFSTTY0IG9yIEFSTTY0RSBvciBDX0xPT1Agb3IgTUlQUworICAgIGlmIEFSTSBvciBBUk12N19U
UkFESVRJT05BTCBvciBBUk12NyBvciBBUk02NCBvciBDX0xPT1Agb3IgTUlQUwogICAgICAgICBh
ZGRwIDIgKiBQdHJTaXplLCBzcAogICAgICAgICBzdWJpIDIgKiBQdHJTaXplLCB0ZW1wMgogICAg
ICAgICBsb2FkcCBQdHJTaXplW2Nmcl0sIGxyCkBAIC05MDksMTEgKzg5OCw2IEBAIG1hY3JvIHBy
ZXBhcmVGb3JUYWlsQ2FsbChjYWxsZWUsIHRlbXAxLCB0ZW1wMiwgdGVtcDMsIHByZXBhcmVDYWxs
UHRyVGFnKQogICAgICAgICBzdG9yZXAgdGVtcDMsIFtzcF0KICAgICBlbmQKIAotICAgIGlmIFBP
SU5URVJfUFJPRklMSU5HCi0gICAgICAgIGFkZHAgMTYsIGNmciwgdGVtcDMKLSAgICAgICAgdW50
YWdSZXR1cm5BZGRyZXNzIHRlbXAzCi0gICAgZW5kCi0KICAgICBzdWJwIHRlbXAyLCB0ZW1wMQog
ICAgIGxvYWRwIFtjZnJdLCBjZnIKIApAQCAtOTIzLDkgKzkwNyw4IEBAIG1hY3JvIHByZXBhcmVG
b3JUYWlsQ2FsbChjYWxsZWUsIHRlbXAxLCB0ZW1wMiwgdGVtcDMsIHByZXBhcmVDYWxsUHRyVGFn
KQogICAgIHN0b3JlcCB0ZW1wMywgW3RlbXAxLCB0ZW1wMiwgMV0KICAgICBidGlueiB0ZW1wMiwg
LmNvcHlMb29wCiAKLSAgICBwcmVwYXJlQ2FsbFB0clRhZyh0ZW1wMikKICAgICBtb3ZlIHRlbXAx
LCBzcAotICAgIGptcCBjYWxsZWUsIHRlbXAyCisgICAgam1wIGNhbGxlZQogZW5kCiAKIG1hY3Jv
IHNsb3dQYXRoRm9yQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNhbGwpCkBAIC05MzYsMTMgKzkxOSw5
IEBAIG1hY3JvIHNsb3dQYXRoRm9yQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNhbGwpCiAgICAgICAg
IG1hY3JvIChjYWxsZWUsIGNhbGxlZUZyYW1lUHRyKQogICAgICAgICAgICAgYnRweiBjYWxsZWVG
cmFtZVB0ciwgLmRvbnRVcGRhdGVTUAogICAgICAgICAgICAgbW92ZSBjYWxsZWVGcmFtZVB0ciwg
c3AKLSAgICAgICAgICAgIHByZXBhcmVDYWxsKGNhbGxlZSwgdDIsIHQzLCB0NCwgbWFjcm8gKGNh
bGxQdHJUYWdSZWcpCi0gICAgICAgICAgICAgICAgaWYgUE9JTlRFUl9QUk9GSUxJTkcKLSAgICAg
ICAgICAgICAgICAgICAgbW92ZSBTbG93UGF0aFB0clRhZywgY2FsbFB0clRhZ1JlZwotICAgICAg
ICAgICAgICAgIGVuZAotICAgICAgICAgICAgZW5kKQorICAgICAgICAgICAgcHJlcGFyZUNhbGwo
Y2FsbGVlLCB0MiwgdDMsIHQ0KQogICAgICAgICAuZG9udFVwZGF0ZVNQOgotICAgICAgICAgICAg
Y2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxlZSwgU2xvd1BhdGhQdHJUYWcpCisgICAgICAgICAgICBj
YWxsVGFyZ2V0RnVuY3Rpb24oY2FsbGVlKQogICAgICAgICBlbmQpCiBlbmQKIApAQCAtMTAyNCw3
ICsxMDAzLDYgQEAgZW5kCiAjIGluIHQxLiBNYXkgYWxzbyB0cmlnZ2VyIHByb2xvZ3VlIGVudHJ5
IE9TUi4KIG1hY3JvIHByb2xvZ3VlKGNvZGVCbG9ja0dldHRlciwgY29kZUJsb2NrU2V0dGVyLCBv
c3JTbG93UGF0aCwgdHJhY2VTbG93UGF0aCkKICAgICAjIFNldCB1cCB0aGUgY2FsbCBmcmFtZSBh
bmQgY2hlY2sgaWYgd2Ugc2hvdWxkIE9TUi4KLSAgICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAg
cHJlc2VydmVDYWxsZXJQQ0FuZENGUigpCiAKICAgICBpZiBFWEVDVVRJT05fVFJBQ0lORwpAQCAt
MTA1MSw3ICsxMDI5LDcgQEAgbWFjcm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBjb2RlQmxv
Y2tTZXR0ZXIsIG9zclNsb3dQYXRoLCB0cmFjZVNsb3dQYXRoKQogICAgICAgICBidHB6IHIwLCAu
cmVjb3ZlcgogICAgICAgICBtb3ZlIGNmciwgc3AgIyByZXN0b3JlIHRoZSBwcmV2aW91cyBzcAog
ICAgICAgICAjIHBvcCB0aGUgY2FsbGVyRnJhbWUgc2luY2Ugd2Ugd2lsbCBqdW1wIHRvIGEgZnVu
Y3Rpb24gdGhhdCB3YW50cyB0byBzYXZlIGl0Ci0gICAgICAgIGlmIEFSTTY0IG9yIEFSTTY0RQor
ICAgICAgICBpZiBBUk02NAogICAgICAgICAgICAgcG9wIGxyLCBjZnIKICAgICAgICAgZWxzaWYg
QVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKICAgICAgICAgICAgIHBv
cCBjZnIKQEAgLTEwNTksNyArMTAzNyw3IEBAIG1hY3JvIHByb2xvZ3VlKGNvZGVCbG9ja0dldHRl
ciwgY29kZUJsb2NrU2V0dGVyLCBvc3JTbG93UGF0aCwgdHJhY2VTbG93UGF0aCkKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgcG9wIGNmcgogICAgICAgICBlbmQKLSAgICAgICAgam1wIHIwLCBD
b2RlRW50cnlQdHJUYWcKKyAgICAgICAgam1wIHIwCiAgICAgLnJlY292ZXI6CiAgICAgICAgIGNv
ZGVCbG9ja0dldHRlcih0MSwgdDIpCiAgICAgLmNvbnRpbnVlOgpAQCAtMTE3Nyw3ICsxMTU1LDcg
QEAgZWxzZQogICAgIGdsb2JhbCBfdm1FbnRyeVRvSmF2YVNjcmlwdAogICAgIF92bUVudHJ5VG9K
YXZhU2NyaXB0OgogZW5kCi0gICAgZG9WTUVudHJ5KG1ha2VKYXZhU2NyaXB0Q2FsbCwgQ29kZUVu
dHJ5UHRyVGFnLCBDb2RlRW50cnlXaXRoQXJpdHlDaGVja1B0clRhZykKKyAgICBkb1ZNRW50cnko
bWFrZUphdmFTY3JpcHRDYWxsKQogCiAKIGlmIENfTE9PUApAQCAtMTE4NiwxNCArMTE2NCwxMyBA
QCBlbHNlCiAgICAgZ2xvYmFsIF92bUVudHJ5VG9OYXRpdmUKICAgICBfdm1FbnRyeVRvTmF0aXZl
OgogZW5kCi0gICAgZG9WTUVudHJ5KG1ha2VIb3N0RnVuY3Rpb25DYWxsLCBOYXRpdmVDb2RlUHRy
VGFnLCBOYXRpdmVDb2RlUHRyVGFnKQorICAgIGRvVk1FbnRyeShtYWtlSG9zdEZ1bmN0aW9uQ2Fs
bCkKIAogCiBpZiBub3QgQ19MT09QCiAgICAgIyB2b2lkIHNhbml0aXplU3RhY2tGb3JWTUltcGwo
Vk0qIHZtKQogICAgIGdsb2JhbCBfc2FuaXRpemVTdGFja0ZvclZNSW1wbAogICAgIF9zYW5pdGl6
ZVN0YWNrRm9yVk1JbXBsOgotICAgICAgICB0YWdSZXR1cm5BZGRyZXNzIHNwCiAgICAgICAgICMg
V2UgbmVlZCB0aHJlZSBub24tYWxpYXNlZCBjYWxsZXItc2F2ZSByZWdpc3RlcnMuIFdlIGFyZSBn
dWFyYW50ZWVkCiAgICAgICAgICMgdGhpcyBmb3IgYTAsIGExIGFuZCBhMiBvbiBhbGwgYXJjaGl0
ZWN0dXJlcy4KICAgICAgICAgaWYgWDg2IG9yIFg4Nl9XSU4KQEAgLTEyMTEsNyArMTE4OCw3IEBA
IGlmIG5vdCBDX0xPT1AKICAgICAgICAgc3RvcmVwIHplcm9WYWx1ZSwgW2FkZHJlc3NdCiAgICAg
ICAgIGFkZHAgUHRyU2l6ZSwgYWRkcmVzcwogICAgICAgICBicGEgc3AsIGFkZHJlc3MsIC56ZXJv
RmlsbExvb3AKLQorICAgIAogICAgIC56ZXJvRmlsbERvbmU6CiAgICAgICAgIG1vdmUgc3AsIGFk
ZHJlc3MKICAgICAgICAgc3RvcmVwIGFkZHJlc3MsIFZNOjptX2xhc3RTdGFja1RvcFt2bV0KQEAg
LTEyMjAsNyArMTE5Nyw2IEBAIGlmIG5vdCBDX0xPT1AKICAgICAjIFZNRW50cnlSZWNvcmQqIHZt
RW50cnlSZWNvcmQoY29uc3QgRW50cnlGcmFtZSogZW50cnlGcmFtZSkKICAgICBnbG9iYWwgX3Zt
RW50cnlSZWNvcmQKICAgICBfdm1FbnRyeVJlY29yZDoKLSAgICAgICAgdGFnUmV0dXJuQWRkcmVz
cyBzcAogICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgogICAgICAgICAgICAgbG9hZHAgNFtzcF0s
IGEwCiAgICAgICAgIGVuZApAQCAtMTIzOSw3ICsxMjE1LDcgQEAgZWxzZQogICAgICAgICAgICAg
Y2FsbCBfcmVsYXRpdmVQQ0Jhc2UKICAgICAgICAgX3JlbGF0aXZlUENCYXNlOgogICAgICAgICAg
ICAgcG9wIHBjQmFzZQotICAgICAgICBlbHNpZiBBUk02NCBvciBBUk02NEUKKyAgICAgICAgZWxz
aWYgQVJNNjQKICAgICAgICAgZWxzaWYgQVJNdjcKICAgICAgICAgX3JlbGF0aXZlUENCYXNlOgog
ICAgICAgICAgICAgbW92ZSBwYywgcGNCYXNlCkBAIC0xMjY2LDcgKzEyNDIsNyBAQCBtYWNybyBz
ZXRFbnRyeUFkZHJlc3MoaW5kZXgsIGxhYmVsKQogICAgICAgICBsZWFwIChsYWJlbCAtIF9yZWxh
dGl2ZVBDQmFzZSlbdDFdLCB0MwogICAgICAgICBtb3ZlIGluZGV4LCB0NAogICAgICAgICBzdG9y
ZXAgdDMsIFthMCwgdDQsIDRdCi0gICAgZWxzaWYgQVJNNjQgb3IgQVJNNjRFCisgICAgZWxzaWYg
QVJNNjQKICAgICAgICAgcGNydG9hZGRyIGxhYmVsLCB0MQogICAgICAgICBtb3ZlIGluZGV4LCB0
NAogICAgICAgICBzdG9yZXAgdDEsIFthMCwgdDQsIDhdCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IDM4
NzEwNmE4MmMyNGEwZTYwMTM3MmE1N2I3NjM0YmU2MDMyYWRlYTUuLjIyMzU5MGEwYTIyNjM2YzZh
MTYyNjVmNGNlNWU0Y2Y4NTc0NTVkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC05Niw3ICs5Niw3
IEBAIG1hY3JvIGNhbGxTbG93UGF0aChzbG93UGF0aCkKICAgICBtb3ZlIHIwLCBQQwogZW5kCiAK
LW1hY3JvIGRvVk1FbnRyeShtYWtlQ2FsbCwgdW51c2VkMSwgdW51c2VkMikKK21hY3JvIGRvVk1F
bnRyeShtYWtlQ2FsbCkKICAgICBmdW5jdGlvblByb2xvZ3VlKCkKICAgICBwdXNoQ2FsbGVlU2F2
ZXMoKQogCkBAIC0xOTU3LDggKzE5NTcsOCBAQCBtYWNybyBkb0NhbGwoc2xvd1BhdGgsIHByZXBh
cmVDYWxsKQogICAgIHN0b3JlaSB0MiwgQXJndW1lbnRDb3VudCArIFBheWxvYWRPZmZzZXRbdDNd
CiAgICAgc3RvcmVpIENlbGxUYWcsIENhbGxlZSArIFRhZ09mZnNldFt0M10KICAgICBtb3ZlIHQz
LCBzcAotICAgIHByZXBhcmVDYWxsKExMSW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdl
dFt0MV0sIHQyLCB0MywgdDQsIG1hY3JvIChjYWxsUHRyVGFnKSBlbmQpCi0gICAgY2FsbFRhcmdl
dEZ1bmN0aW9uKExMSW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0sIE5vUHRy
VGFnKQorICAgIHByZXBhcmVDYWxsKExMSW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdl
dFt0MV0sIHQyLCB0MywgdDQpCisgICAgY2FsbFRhcmdldEZ1bmN0aW9uKExMSW50Q2FsbExpbmtJ
bmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0pCiAKIC5vcENhbGxTbG93OgogICAgIHNsb3dQYXRo
Rm9yQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNhbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCmluZGV4IDBmODk2YjNmNzY5
Y2NkNDBkNDYyYWViZjZhZDM0MDhlY2NmNThhOTIuLmM3ZjQ3MDEwNTkxYjIxMjM2Y2UyMTU0ZDdj
ODZhMWFjYWQyYzc4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCkBAIC0yNCw3ICsyNCw3IEBACiAKICMgVXRpbGl0
aWVzLgogbWFjcm8ganVtcFRvSW5zdHJ1Y3Rpb24oKQotICAgIGptcCBbUEIsIFBDLCA4XSwgQnl0
ZWNvZGVQdHJUYWcKKyAgICBqbXAgW1BCLCBQQywgOF0KIGVuZAogCiBtYWNybyBkaXNwYXRjaChh
ZHZhbmNlKQpAQCAtNTQsNyArNTQsNyBAQCBlbmQKIAogbWFjcm8gY0NhbGwyKGZ1bmN0aW9uKQog
ICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQ0LCAweGJhZDBjMDAyKQotICAgIGlmIFg4
Nl82NCBvciBBUk02NCBvciBBUk02NEUKKyAgICBpZiBYODZfNjQgb3IgQVJNNjQKICAgICAgICAg
Y2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIFg4Nl82NF9XSU4KICAgICAgICAgIyBOb3RlOiB0aGlz
IGltcGxlbWVudGF0aW9uIGlzIG9ubHkgY29ycmVjdCBpZiB0aGUgcmV0dXJuIHR5cGUgc2l6ZSBp
cyA+IDggYnl0ZXMuCkBAIC05Miw3ICs5Miw3IEBAIG1hY3JvIGNDYWxsMlZvaWQoZnVuY3Rpb24p
CiAgICAgICAgICMgU2VlIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9t
czIzNTI4Ni5hc3B4CiAgICAgICAgIHN1YnAgMzIsIHNwIAogICAgICAgICBjYWxsIGZ1bmN0aW9u
Ci0gICAgICAgIGFkZHAgMzIsIHNwCisgICAgICAgIGFkZHAgMzIsIHNwIAogICAgIGVsc2UKICAg
ICAgICAgY0NhbGwyKGZ1bmN0aW9uKQogICAgIGVuZApAQCAtMTAxLDcgKzEwMSw3IEBAIGVuZAog
IyBUaGlzIGJhcmVseSB3b3Jrcy4gYXJnMyBhbmQgYXJnNCBzaG91bGQgcHJvYmFibHkgYmUgaW1t
ZWRpYXRlcy4KIG1hY3JvIGNDYWxsNChmdW5jdGlvbikKICAgICBjaGVja1N0YWNrUG9pbnRlckFs
aWdubWVudCh0NCwgMHhiYWQwYzAwNCkKLSAgICBpZiBYODZfNjQgb3IgQVJNNjQgb3IgQVJNNjRF
CisgICAgaWYgWDg2XzY0IG9yIEFSTTY0CiAgICAgICAgIGNhbGwgZnVuY3Rpb24KICAgICBlbHNp
ZiBYODZfNjRfV0lOCiAgICAgICAgICMgT24gV2luNjQsIHJjeCwgcmR4LCByOCwgYW5kIHI5IGFy
ZSB1c2VkIGZvciBwYXNzaW5nIHRoZSBmaXJzdCBmb3VyIHBhcmFtZXRlcnMuCkBAIC0xMTUsNyAr
MTE1LDcgQEAgbWFjcm8gY0NhbGw0KGZ1bmN0aW9uKQogICAgIGVuZAogZW5kCiAKLW1hY3JvIGRv
Vk1FbnRyeShtYWtlQ2FsbCwgY2FsbFRhZywgY2FsbFdpdGhBcml0eUNoZWNrVGFnKQorbWFjcm8g
ZG9WTUVudHJ5KG1ha2VDYWxsKQogICAgIGZ1bmN0aW9uUHJvbG9ndWUoKQogICAgIHB1c2hDYWxs
ZWVTYXZlcygpCiAKQEAgLTIxNSw3ICsyMTUsNyBAQCBtYWNybyBkb1ZNRW50cnkobWFrZUNhbGws
IGNhbGxUYWcsIGNhbGxXaXRoQXJpdHlDaGVja1RhZykKICAgICBqbXAgLmNvcHlBcmdzTG9vcAog
CiAuY29weUFyZ3NEb25lOgotICAgIGlmIEFSTTY0IG9yIEFSTTY0RQorICAgIGlmIEFSTTY0CiAg
ICAgICAgIG1vdmUgc3AsIHQ0CiAgICAgICAgIHN0b3JlcCB0NCwgVk06OnRvcENhbGxGcmFtZVt2
bV0KICAgICBlbHNlCkBAIC0yMjUsMTYgKzIyNSw3IEBAIG1hY3JvIGRvVk1FbnRyeShtYWtlQ2Fs
bCwgY2FsbFRhZywgY2FsbFdpdGhBcml0eUNoZWNrVGFnKQogCiAgICAgY2hlY2tTdGFja1BvaW50
ZXJBbGlnbm1lbnQoZXh0cmFUZW1wUmVnLCAweGJhZDBkYzAyKQogCi0gICAgaWYgUE9JTlRFUl9Q
Uk9GSUxJTkcKLSAgICAgICAgYnRibnogUHJvdG9DYWxsRnJhbWU6Omhhc0FyaXR5TWlzbWF0Y2hb
cHJvdG9DYWxsRnJhbWVdLCAuZG9DYWxsV2l0aEFyaXR5Q2hlY2sKLSAgICAgICAgbW92ZSBjYWxs
VGFnLCB0MgotICAgICAgICBqbXAgLnJlYWR5VG9DYWxsCi0gICAgLmRvQ2FsbFdpdGhBcml0eUNo
ZWNrOgotICAgICAgICBtb3ZlIGNhbGxXaXRoQXJpdHlDaGVja1RhZywgdDIKLSAgICAucmVhZHlU
b0NhbGw6Ci0gICAgZW5kCi0KLSAgICBtYWtlQ2FsbChlbnRyeSwgdDMsIHQyKQorICAgIG1ha2VD
YWxsKGVudHJ5LCB0MykKIAogICAgICMgV2UgbWF5IGhhdmUganVzdCBtYWRlIGEgY2FsbCBpbnRv
IGEgSlMgZnVuY3Rpb24sIHNvIHdlIGNhbid0IHJlbHkgb24gc3AKICAgICAjIGZvciBhbnl0aGlu
ZyBidXQgdGhlIGZhY3QgdGhhdCBvdXIgb3duIGxvY2FscyAoaWUgdGhlIFZNRW50cnlSZWNvcmQp
IGFyZQpAQCAtMjU4LDE4ICsyNDksMTggQEAgbWFjcm8gZG9WTUVudHJ5KG1ha2VDYWxsLCBjYWxs
VGFnLCBjYWxsV2l0aEFyaXR5Q2hlY2tUYWcpCiBlbmQKIAogCi1tYWNybyBtYWtlSmF2YVNjcmlw
dENhbGwoZW50cnksIHRlbXAsIGNhbGxUYWcpCittYWNybyBtYWtlSmF2YVNjcmlwdENhbGwoZW50
cnksIHRlbXApCiAgICAgYWRkcCAxNiwgc3AKICAgICBpZiBDX0xPT1AKICAgICAgICAgY2xvb3BD
YWxsSlNGdW5jdGlvbiBlbnRyeQogICAgIGVsc2UKLSAgICAgICAgY2FsbCBlbnRyeSwgY2FsbFRh
ZworICAgICAgICBjYWxsIGVudHJ5CiAgICAgZW5kCiAgICAgc3VicCAxNiwgc3AKIGVuZAogCiAK
LW1hY3JvIG1ha2VIb3N0RnVuY3Rpb25DYWxsKGVudHJ5LCB0ZW1wLCBjYWxsVGFnKQorbWFjcm8g
bWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXApCiAgICAgbW92ZSBlbnRyeSwgdGVtcAog
ICAgIHN0b3JlcCBjZnIsIFtzcF0KICAgICBtb3ZlIHNwLCBhMApAQCAtMjc5LDEwICsyNzAsMTAg
QEAgbWFjcm8gbWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXAsIGNhbGxUYWcpCiAgICAg
ZWxzaWYgWDg2XzY0X1dJTgogICAgICAgICAjIFdlIG5lZWQgdG8gYWxsb2NhdGUgMzIgYnl0ZXMg
b24gdGhlIHN0YWNrIGZvciB0aGUgc2hhZG93IHNwYWNlLgogICAgICAgICBzdWJwIDMyLCBzcAot
ICAgICAgICBjYWxsIHRlbXAsIGNhbGxUYWcKKyAgICAgICAgY2FsbCB0ZW1wCiAgICAgICAgIGFk
ZHAgMzIsIHNwCiAgICAgZWxzZQotICAgICAgICBjYWxsIHRlbXAsIGNhbGxUYWcKKyAgICAgICAg
Y2FsbCB0ZW1wCiAgICAgZW5kCiBlbmQKIApAQCAtMzc5LDcgKzM3MCw3IEBAIG1hY3JvIGNoZWNr
U3dpdGNoVG9KSVRGb3JMb29wKCkKICAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3Ip
CiAgICAgICAgICAgICBidHB6IHIwLCAucmVjb3ZlcgogICAgICAgICAgICAgbW92ZSByMSwgc3AK
LSAgICAgICAgICAgIGptcCByMCwgQ29kZUVudHJ5UHRyVGFnCisgICAgICAgICAgICBqbXAgcjAK
ICAgICAgICAgLnJlY292ZXI6CiAgICAgICAgICAgICBsb2FkaSBBcmd1bWVudENvdW50ICsgVGFn
T2Zmc2V0W2Nmcl0sIFBDCiAgICAgICAgIGVuZCkKQEAgLTU1MiwxNSArNTQzLDYgQEAgbWFjcm8g
ZnVuY3Rpb25Bcml0eUNoZWNrKGRvbmVMYWJlbCwgc2xvd1BhdGgpCiAgICAgYnRpeiB0MSwgLmNv
bnRpbnVlCiAKIC5ub0V4dHJhU2xvdDoKLSAgICBpZiBQT0lOVEVSX1BST0ZJTElORwotICAgICAg
ICBpZiBBUk02NCBvciBBUk02NEUKLSAgICAgICAgICAgIGxvYWRwIDhbY2ZyXSwgbHIKLSAgICAg
ICAgZW5kCi0KLSAgICAgICAgYWRkcCAxNiwgY2ZyLCB0MwotICAgICAgICB1bnRhZ1JldHVybkFk
ZHJlc3MgdDMKLSAgICBlbmQKLQogICAgIC8vIE1vdmUgZnJhbWUgdXAgdDEgc2xvdHMKICAgICBu
ZWdxIHQxCiAgICAgbW92ZSBjZnIsIHQzCkBAIC01ODQsMTUgKzU2Niw2IEBAIG1hY3JvIGZ1bmN0
aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3dQYXRoKQogICAgIGFkZHAgOCwgdDMKICAgICBi
YWRkaW56IDEsIHQyLCAuZmlsbExvb3AKIAotICAgIGlmIFBPSU5URVJfUFJPRklMSU5HCi0gICAg
ICAgIGFkZHAgMTYsIGNmciwgdDEKLSAgICAgICAgdGFnUmV0dXJuQWRkcmVzcyB0MQotCi0gICAg
ICAgIGlmIEFSTTY0IG9yIEFSTTY0RQotICAgICAgICAgICAgc3RvcmVwIGxyLCA4W2Nmcl0KLSAg
ICAgICAgZW5kCi0gICAgZW5kCi0KIC5jb250aW51ZToKICAgICAjIFJlbG9hZCBDb2RlQmxvY2sg
YW5kIHJlc2V0IFBDLCBzaW5jZSB0aGUgc2xvd19wYXRoIGNsb2JiZXJlZCB0aGVtLgogICAgIGxv
YWRwIENvZGVCbG9ja1tjZnJdLCB0MQpAQCAtMTk4Myw5ICsxOTU2LDYgQEAgZW5kCiBtYWNybyBk
b0NhbGwoc2xvd1BhdGgsIHByZXBhcmVDYWxsKQogICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigy
LCB0MCkKICAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig1LCB0MSkKLSAgICBpZiBQT0lOVEVSX1BS
T0ZJTElORwotICAgICAgICBtb3ZlIHQxLCB0NQotICAgIGVuZAogICAgIGxvYWRwIExMSW50Q2Fs
bExpbmtJbmZvOjpjYWxsZWVbdDFdLCB0MgogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAs
IHQzKQogICAgIGJxbmVxIHQzLCB0MiwgLm9wQ2FsbFNsb3cKQEAgLTIwMDEsMjUgKzE5NzEsMTEg
QEAgbWFjcm8gZG9DYWxsKHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCkKICAgICBpZiBQT0lTT04KICAg
ICAgICAgbG9hZHAgX2dfSklUQ29kZVBvaXNvbiwgdDIKICAgICAgICAgeG9ycCBMTEludENhbGxM
aW5rSW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbdDFdLCB0MgotICAgICAgICBwcmVwYXJlQ2FsbCh0
MiwgdDEsIHQzLCB0NCwgbWFjcm8gKGNhbGxQdHJUYWcpCi0gICAgICAgICAgICBpZiBQT0lOVEVS
X1BST0ZJTElORwotICAgICAgICAgICAgICAgIGxvYWRwIExMSW50Q2FsbExpbmtJbmZvOjpjYWxs
UHRyVGFnW3Q1XSwgY2FsbFB0clRhZwotICAgICAgICAgICAgZW5kCi0gICAgICAgIGVuZCkKLQkJ
aWYgUE9JTlRFUl9QUk9GSUxJTkcKLQkJCWxvYWRwIExMSW50Q2FsbExpbmtJbmZvOjpjYWxsUHRy
VGFnW3Q1XSwgdDMKLQkJZW5kCi0gICAgICAgIGNhbGxUYXJnZXRGdW5jdGlvbih0MiwgdDMpCisg
ICAgICAgIHByZXBhcmVDYWxsKHQyLCB0MSwgdDMsIHQ0KQorICAgICAgICBjYWxsVGFyZ2V0RnVu
Y3Rpb24odDIpCiAgICAgZWxzZQotICAgICAgICBwcmVwYXJlQ2FsbChMTEludENhbGxMaW5rSW5m
bzo6bWFjaGluZUNvZGVUYXJnZXRbdDFdLCB0MiwgdDMsIHQ0LCBtYWNybyAoY2FsbFB0clRhZykK
LSAgICAgICAgICAgIGlmIFBPSU5URVJfUFJPRklMSU5HCi0gICAgICAgICAgICAgICAgbG9hZHAg
TExJbnRDYWxsTGlua0luZm86OmNhbGxQdHJUYWdbdDVdLCBjYWxsUHRyVGFnCi0gICAgICAgICAg
ICBlbmQKLSAgICAgICAgZW5kKQotCQlpZiBQT0lOVEVSX1BST0ZJTElORwotCQkJbG9hZHAgTExJ
bnRDYWxsTGlua0luZm86OmNhbGxQdHJUYWdbdDVdLCB0MwotCQllbmQKLSAgICAgICAgY2FsbFRh
cmdldEZ1bmN0aW9uKExMSW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0sIHQz
KQorICAgICAgICBwcmVwYXJlQ2FsbChMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJn
ZXRbdDFdLCB0MiwgdDMsIHQ0KQorICAgICAgICBjYWxsVGFyZ2V0RnVuY3Rpb24oTExJbnRDYWxs
TGlua0luZm86Om1hY2hpbmVDb2RlVGFyZ2V0W3QxXSkKICAgICBlbmQKIAogLm9wQ2FsbFNsb3c6
CkBAIC0yMTE5LDcgKzIwNzUsNyBAQCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBv
bGluZToKICAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDEKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFz
aywgdDEKICAgICBsb2FkcCBNYXJrZWRCbG9ja0Zvb3Rlck9mZnNldCArIE1hcmtlZEJsb2NrOjpG
b290ZXI6Om1fdm1bdDFdLCB0MQotICAgIGptcCBWTTo6dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3db
dDFdLCBFeGNlcHRpb25IYW5kbGVyUHRyVGFnCisgICAgam1wIFZNOjp0YXJnZXRNYWNoaW5lUENG
b3JUaHJvd1t0MV0KIAogCiBfbGxpbnRfdGhyb3dfZHVyaW5nX2NhbGxfdHJhbXBvbGluZToKQEAg
LTIxMzUsNyArMjA5MSw3IEBAIG1hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVP
ZmZzZXRUb0Z1bmN0aW9uKQogICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MCwgdDEKICAgICBs
b2FkcCBNYXJrZWRCbG9ja0Zvb3Rlck9mZnNldCArIE1hcmtlZEJsb2NrOjpGb290ZXI6Om1fdm1b
dDFdLCB0MQogICAgIHN0b3JlcCBjZnIsIFZNOjp0b3BDYWxsRnJhbWVbdDFdCi0gICAgaWYgQVJN
NjQgb3IgQVJNNjRFIG9yIENfTE9PUAorICAgIGlmIEFSTTY0IG9yIENfTE9PUAogICAgICAgICBz
dG9yZXAgbHIsIFJldHVyblBDW2Nmcl0KICAgICBlbmQKICAgICBtb3ZlIGNmciwgYTAKQEAgLTIx
NTAsMTIgKzIxMDYsMTIgQEAgbWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJsZU9m
ZnNldFRvRnVuY3Rpb24pCiAgICAgZWxzZQogICAgICAgICBpZiBYODZfNjRfV0lOCiAgICAgICAg
ICAgICBzdWJwIDMyLCBzcAotICAgICAgICAgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5j
dGlvblt0MV0sIE5hdGl2ZUNvZGVQdHJUYWcKKyAgICAgICAgICAgIGNhbGwgZXhlY3V0YWJsZU9m
ZnNldFRvRnVuY3Rpb25bdDFdCiAgICAgICAgICAgICBhZGRwIDMyLCBzcAogICAgICAgICBlbHNl
CiAgICAgICAgICAgICBsb2FkcCBfZ19OYXRpdmVDb2RlUG9pc29uLCB0MgogICAgICAgICAgICAg
eG9ycCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0sIHQyCi0gICAgICAgICAgICBjYWxs
IHQyLCBOYXRpdmVDb2RlUHRyVGFnCisgICAgICAgICAgICBjYWxsIHQyCiAgICAgICAgIGVuZAog
ICAgIGVuZAogCkBAIC0yMTgwLDcgKzIxMzYsNyBAQCBtYWNybyBpbnRlcm5hbEZ1bmN0aW9uQ2Fs
bFRyYW1wb2xpbmUob2Zmc2V0T2ZGdW5jdGlvbikKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywg
dDAsIHQxCiAgICAgbG9hZHAgTWFya2VkQmxvY2tGb290ZXJPZmZzZXQgKyBNYXJrZWRCbG9jazo6
Rm9vdGVyOjptX3ZtW3QxXSwgdDEKICAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3Qx
XQotICAgIGlmIEFSTTY0IG9yIEFSTTY0RSBvciBDX0xPT1AKKyAgICBpZiBBUk02NCBvciBDX0xP
T1AKICAgICAgICAgc3RvcmVwIGxyLCBSZXR1cm5QQ1tjZnJdCiAgICAgZW5kCiAgICAgbW92ZSBj
ZnIsIGEwCkBAIC0yMTkzLDEyICsyMTQ5LDEyIEBAIG1hY3JvIGludGVybmFsRnVuY3Rpb25DYWxs
VHJhbXBvbGluZShvZmZzZXRPZkZ1bmN0aW9uKQogICAgIGVsc2UKICAgICAgICAgaWYgWDg2XzY0
X1dJTgogICAgICAgICAgICAgc3VicCAzMiwgc3AKLSAgICAgICAgICAgIGNhbGwgb2Zmc2V0T2ZG
dW5jdGlvblt0MV0sIEludGVybmFsRnVuY3Rpb25QdHJUYWcKKyAgICAgICAgICAgIGNhbGwgb2Zm
c2V0T2ZGdW5jdGlvblt0MV0KICAgICAgICAgICAgIGFkZHAgMzIsIHNwCiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIGxvYWRwIF9nX05hdGl2ZUNvZGVQb2lzb24sIHQyCiAgICAgICAgICAgICB4
b3JwIG9mZnNldE9mRnVuY3Rpb25bdDFdLCB0MgotICAgICAgICAgICAgY2FsbCB0MiwgSW50ZXJu
YWxGdW5jdGlvblB0clRhZworICAgICAgICAgICAgY2FsbCB0MgogICAgICAgICBlbmQKICAgICBl
bmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXN0LnJi
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXN0LnJiCmluZGV4IGRjOTIwNjY0
NmZkNWE2MjQ3YjA0MjU0NGY5YzQzYTE0MzEyYzdjMGIuLjdiYmYwNTM4ZmUxNDgyMDMyYmVmYzIz
OWQ1NDJhZTYwNjMwMzcxYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL2FzdC5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc3Qu
cmIKQEAgLTkyOSw3ICs5MjksNiBAQCBjbGFzcyBJbnN0cnVjdGlvbiA8IE5vZGUKICAgICAgICAg
ICAgICRhc20ucHV0R2xvYmFsQW5ub3RhdGlvbgogICAgICAgICB3aGVuICJlbWl0IgogICAgICAg
ICAgICAgJGFzbS5wdXRzICIje29wZXJhbmRzWzBdLmR1bXB9IgotICAgICAgICB3aGVuICJ0YWdS
ZXR1cm5BZGRyZXNzIiwgInVudGFnUmV0dXJuQWRkcmVzcyIKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgcmFpc2UgIlVuaGFuZGxlZCBvcGNvZGUgI3tvcGNvZGV9IGF0ICN7Y29kZU9yaWdpblN0
cmluZ30iCiAgICAgICAgIGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vYmFja2VuZHMucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9i
YWNrZW5kcy5yYgppbmRleCA0NTQ5YWIxYmYxN2M0MDNmNGI3NDc3MDdlY2Y1ODgzNmNiMzc3OGE4
Li5kOTdjOWZiYTVkY2JiNWNjYWE4M2M5YWNhNTgwNzE5MTVlZjg2Y2E4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9iYWNrZW5kcy5yYgorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9iYWNrZW5kcy5yYgpAQCAtMjksMTEgKzI5LDYgQEAg
cmVxdWlyZSAieDg2IgogcmVxdWlyZSAibWlwcyIKIHJlcXVpcmUgImNsb29wIgogCi1iZWdpbgot
ICAgIHJlcXVpcmUgImFybTY0ZSIKLXJlc2N1ZSBMb2FkRXJyb3IKLWVuZAotCiBCQUNLRU5EUyA9
CiAgICAgWwogICAgICAiWDg2IiwKQEAgLTQ0LDcgKzM5LDYgQEAgQkFDS0VORFMgPQogICAgICAi
QVJNdjciLAogICAgICAiQVJNdjdfVFJBRElUSU9OQUwiLAogICAgICAiQVJNNjQiLAotICAgICAi
QVJNNjRFIiwKICAgICAgIk1JUFMiLAogICAgICAiQ19MT09QIgogICAgIF0KQEAgLTY0LDcgKzU4
LDYgQEAgV09SS0lOR19CQUNLRU5EUyA9CiAgICAgICJBUk12NyIsCiAgICAgICJBUk12N19UUkFE
SVRJT05BTCIsCiAgICAgICJBUk02NCIsCi0gICAgICJBUk02NEUiLAogICAgICAiTUlQUyIsCiAg
ICAgICJDX0xPT1AiCiAgICAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vaW5zdHJ1Y3Rpb25zLnJiCmluZGV4IDcyYmViZmU0M2MyYTIzY2EwYjA4YmI3OGQ5ZWViNGU2
YWViNWNjM2QuLjlkZDRkYzcwNzhlMTVhODk2ZTVjODgzMTRmNGJhMGM3MjZmY2ZjMzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmIKQEAg
LTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAxMS0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjQ5LDEwICsyNDks
NyBAQCBNQUNST19JTlNUUlVDVElPTlMgPQogICAgICAiYm56IiwKICAgICAgImxlYWkiLAogICAg
ICAibGVhcCIsCi0gICAgICJtZW1mZW5jZSIsCi0gICAgICJ0YWdSZXR1cm5BZGRyZXNzIiwKLSAg
ICAgInVudGFnUmV0dXJuQWRkcmVzcyIsCi0gICAgICJyZW1vdmVDb2RlUHRyVGFnIgorICAgICAi
bWVtZmVuY2UiCiAgICAgXQogCiBYODZfSU5TVFJVQ1RJT05TID0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2MucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvb2ZmbGluZWFzbS9yaXNjLnJiCmluZGV4IDhiOGRlOGQxMjhhNmM5NGIxMjk5ZTBjYzdkZmQw
YzgzYjUwMDdiODQuLjJlMDZhOGNiMGMyYzJlYWEyZGI4OGI0YTA5ODZlNDc3YzdkYjUwMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2MucmIKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcmlzYy5yYgpAQCAtNDQ4LDE1ICs0NDgs
OSBAQCBlbmQKIAogZGVmIHJpc2NMb3dlck1pc3BsYWNlZEFkZHJlc3NlcyhsaXN0KQogICAgIG5l
d0xpc3QgPSBbXQotICAgIGhhc0JhY2tlbmRTcGVjaWZpY0xvd2VyaW5nID0gSW5zdHJ1Y3Rpb24u
cmVzcG9uZF90bz8gImxvd2VyTWlzcGxhY2VkQWRkcmVzc2VzI3skYWN0aXZlQmFja2VuZH0iCiAg
ICAgbGlzdC5lYWNoIHsKICAgICAgICAgfCBub2RlIHwKICAgICAgICAgaWYgbm9kZS5pc19hPyBJ
bnN0cnVjdGlvbgotICAgICAgICAgICAgaWYgaGFzQmFja2VuZFNwZWNpZmljTG93ZXJpbmcKLSAg
ICAgICAgICAgICAgICB3YXNIYW5kbGVkLCBuZXdMaXN0ID0gSW5zdHJ1Y3Rpb24uc2VuZCgibG93
ZXJNaXNwbGFjZWRBZGRyZXNzZXMjeyRhY3RpdmVCYWNrZW5kfSIsIG5vZGUsIG5ld0xpc3QpCi0g
ICAgICAgICAgICAgICAgbmV4dCBpZiB3YXNIYW5kbGVkCi0gICAgICAgICAgICBlbmQKLQogICAg
ICAgICAgICAgcG9zdEluc3RydWN0aW9ucyA9IFtdCiAgICAgICAgICAgICBhbm5vdGF0aW9uID0g
bm9kZS5hbm5vdGF0aW9uCiAgICAgICAgICAgICBjYXNlIG5vZGUub3Bjb2RlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9QdHJUYWcuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1B0clRhZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
ZjgxZDQzNmE5YWYyY2Y4NDI2MzdkNmQ3YTYyNzU4NzFkOGQyYmQ0Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1B0clRhZy5oCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVk
ZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWVudW0g
UHRyVGFnIDogdWludHB0cl90IHsKLSAgICBOb1B0clRhZyA9IDAsCi0gICAgTmVhckNhbGxQdHJU
YWcsCi0gICAgQ0Z1bmN0aW9uUHRyVGFnLAotCi0gICAgQnl0ZWNvZGVQdHJUYWcsCi0gICAgQnl0
ZWNvZGVIZWxwZXJQdHJUYWcsCi0gICAgQ29kZUVudHJ5UHRyVGFnLAotICAgIENvZGVFbnRyeVdp
dGhBcml0eUNoZWNrUHRyVGFnLAotICAgIEV4Y2VwdGlvbkhhbmRsZXJQdHJUYWcsCi0gICAgSW50
ZXJuYWxGdW5jdGlvblB0clRhZywKLSAgICBKSVRDb2RlUHRyVGFnLAotICAgIE5hdGl2ZUNvZGVQ
dHJUYWcsCi0gICAgU2xvd1BhdGhQdHJUYWcsCi19OwotCi0jaWYgIVVTRShQT0lOVEVSX1BST0ZJ
TElORykKLWlubGluZSB1aW50cHRyX3QgdW5pcXVlUHRyVGFnSUQoKSB7IHJldHVybiAwOyB9Ci0K
LXRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLWlubGluZSBjb25zdGV4cHIgUHRyVGFn
IHB0clRhZyhBcmd1bWVudHMmJi4uLikgeyByZXR1cm4gTm9QdHJUYWc7IH0KLQotdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgUHRyVHlwZSwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90
PHN0ZDo6aXNfcG9pbnRlcjxQdHJUeXBlPjo6dmFsdWUgJiYgIXN0ZDo6aXNfc2FtZTxULCBQdHJU
eXBlPjo6dmFsdWU+PgotaW5saW5lIGNvbnN0ZXhwciBUIHRhZ0NvZGVQdHIoUHRyVHlwZSBwdHIs
IFB0clRhZykgeyByZXR1cm4gYml0d2lzZV9jYXN0PFQ+KHB0cik7IH0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgUHRyVHlwZSwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfcG9pbnRl
cjxQdHJUeXBlPjo6dmFsdWU+PgotaW5saW5lIGNvbnN0ZXhwciBQdHJUeXBlIHRhZ0NvZGVQdHIo
UHRyVHlwZSBwdHIsIFB0clRhZykgeyByZXR1cm4gcHRyOyB9Ci0KLXRlbXBsYXRlPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFB0clR5cGUsIHR5cGVuYW1lID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6Omlz
X3BvaW50ZXI8UHRyVHlwZT46OnZhbHVlICYmICFzdGQ6OmlzX3NhbWU8VCwgUHRyVHlwZT46OnZh
bHVlPj4KLWlubGluZSBjb25zdGV4cHIgVCB1bnRhZ0NvZGVQdHIoUHRyVHlwZSBwdHIsIFB0clRh
ZykgeyByZXR1cm4gYml0d2lzZV9jYXN0PFQ+KHB0cik7IH0KLQotdGVtcGxhdGU8dHlwZW5hbWUg
UHRyVHlwZSwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfcG9pbnRlcjxQdHJU
eXBlPjo6dmFsdWU+PgotaW5saW5lIGNvbnN0ZXhwciBQdHJUeXBlIHVudGFnQ29kZVB0cihQdHJU
eXBlIHB0ciwgUHRyVGFnKSB7IHJldHVybiBwdHI7IH0KLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwg
dHlwZW5hbWUgUHRyVHlwZSwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfcG9p
bnRlcjxQdHJUeXBlPjo6dmFsdWUgJiYgIXN0ZDo6aXNfc2FtZTxULCBQdHJUeXBlPjo6dmFsdWU+
PgotaW5saW5lIGNvbnN0ZXhwciBUIHJldGFnQ29kZVB0cihQdHJUeXBlIHB0ciwgUHRyVGFnLCBQ
dHJUYWcpIHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihwdHIpOyB9Ci0KLXRlbXBsYXRlPHR5cGVu
YW1lIFB0clR5cGUsIHR5cGVuYW1lID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3BvaW50ZXI8
UHRyVHlwZT46OnZhbHVlPj4KLWlubGluZSBjb25zdGV4cHIgUHRyVHlwZSByZXRhZ0NvZGVQdHIo
UHRyVHlwZSBwdHIsIFB0clRhZywgUHRyVGFnKSB7IHJldHVybiBwdHI7IH0KLQotdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgUHRyVHlwZSwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9pZl90
PHN0ZDo6aXNfcG9pbnRlcjxQdHJUeXBlPjo6dmFsdWUgJiYgIXN0ZDo6aXNfc2FtZTxULCBQdHJU
eXBlPjo6dmFsdWU+PgotaW5saW5lIGNvbnN0ZXhwciBUIHJlbW92ZUNvZGVQdHJUYWcoUHRyVHlw
ZSBwdHIpIHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxUPihwdHIpOyB9Ci0KLXRlbXBsYXRlPHR5cGVu
YW1lIFB0clR5cGUsIHR5cGVuYW1lID0gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3BvaW50ZXI8
UHRyVHlwZT46OnZhbHVlPj4KLWlubGluZSBjb25zdGV4cHIgUHRyVHlwZSByZW1vdmVDb2RlUHRy
VGFnKFB0clR5cGUgcHRyKSB7IHJldHVybiBwdHI7IH0KLQotI2VuZGlmIC8vICFVU0UoUE9JTlRF
Ul9QUk9GSUxJTkcpCi0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0jaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykgJiYgX19oYXNfaW5jbHVkZSg8V2ViS2l0QWRkaXRpb25zL1B0clRhZ1N1cHBvcnQu
aD4pCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1B0clRhZ1N1cHBvcnQuaD4KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKaW5kZXggOTIxYTEwODIwNmIwMWZhM2QwMGViZTE0ODE1MDlhNjJlMjYwMmVmNi4u
MGFiNDZhYjU4YWFiMjQzMTlhOTI4MzIzODQ0MzZlOTZhZDAzYjgxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBA
IC0xMDEyLDExICsxMDEyLDYgQEAKICNkZWZpbmUgRU5BQkxFX1BPSVNPTiAwCiAjZW5kaWYKIAot
I2lmICFkZWZpbmVkKFVTRV9QT0lOVEVSX1BST0ZJTElORykgfHwgVVNFKEpTVkFMVUUzMl82NCkg
fHwgIUVOQUJMRShKSVQpCi0jdW5kZWYgVVNFX1BPSU5URVJfUFJPRklMSU5HCi0jZGVmaW5lIFVT
RV9QT0lOVEVSX1BST0ZJTElORyAwCi0jZW5kaWYKLQogLyogQ1NTIFNlbGVjdG9yIEpJVCBDb21w
aWxlciAqLwogI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfU0VMRUNUT1JfSklUKQogI2lmIChDUFUo
WDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgUExBVEZPUk0oSU9T
KSkpICYmIEVOQUJMRShKSVQpICYmIChPUyhEQVJXSU4pIHx8IFBMQVRGT1JNKEdUSykgfHwgUExB
VEZPUk0oV1BFKSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>