<?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>205868</bug_id>
          
          <creation_ts>2020-01-07 10:29:34 -0800</creation_ts>
          <short_desc>REGRESSION(r254132): It is breaking WinCairo build and internal builds. (Requested by youenn on #webkit).</short_desc>
          <delta_ts>2020-01-07 10:36:19 -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>205802</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1603634</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 10:29:34 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/254132 broke the build:
It is breaking WinCairo build and internal builds. (Requested by youenn 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>1603636</commentid>
    <comment_count>1</comment_count>
      <attachid>386988</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 10:29:46 -0800</bug_when>
    <thetext>Created attachment 386988
ROLLOUT of r254132

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>1603639</commentid>
    <comment_count>2</comment_count>
      <attachid>386988</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 10:35:36 -0800</bug_when>
    <thetext>Comment on attachment 386988
ROLLOUT of r254132

Clearing flags on attachment: 386988

Committed r254137: &lt;https://trac.webkit.org/changeset/254137&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603640</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-07 10:35:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603644</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-07 10:36:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/58379245&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386988</attachid>
            <date>2020-01-07 10:29:46 -0800</date>
            <delta_ts>2020-01-07 10:35:36 -0800</delta_ts>
            <desc>ROLLOUT of r254132</desc>
            <filename>bug-205868-20200107102945.patch</filename>
            <type>text/plain</type>
            <size>101765</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZkNzVhZDAyOWIyYWVh
MzUzN2YyN2JmOGJjYTgwOTM1MGU1NTZkYS4uNDkwMjhlY2U1ZGZlM2ZiODMwYmQwNWQ1OGI0NGIy
NmRlZGVjZGU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTA3ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjU0MTMyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA1ODY4CisKKyAgICAgICAgSXQgaXMgYnJlYWtpbmcgV2luQ2Fpcm8g
YnVpbGQgYW5kIGludGVybmFsIGJ1aWxkcy4gKFJlcXVlc3RlZAorICAgICAgICBieSB5b3Vlbm4g
b24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJJ
bXBsZW1lbnQgTWVkaWFSZWNvcmRlciBiYWNrZW5kIGluIEdQVVByb2Nlc3MiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU4MDIKKyAgICAgICAgaHR0
cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI1NDEzMgorCiAyMDIwLTAxLTA3ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgTWVkaWFS
ZWNvcmRlciBiYWNrZW5kIGluIEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTFkZmQ3YWFkMjJlOWJk
Mjc3NjIwZTM2ZGI5MjE5MDVhMmI3Zjc5MS4uNTliODM3MmUxOTk5MDhjNGRkZGE3MjJmMWRiOGQ5
NjNmYTg2NmVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMS0wNyAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjI1NDEzMi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNTg2OAorCisgICAgICAgIEl0IGlzIGJyZWFraW5nIFdpbkNhaXJvIGJ1
aWxkIGFuZCBpbnRlcm5hbCBidWlsZHMuIChSZXF1ZXN0ZWQKKyAgICAgICAgYnkgeW91ZW5uIG9u
ICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiSW1w
bGVtZW50IE1lZGlhUmVjb3JkZXIgYmFja2VuZCBpbiBHUFVQcm9jZXNzIgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1ODAyCisgICAgICAgIGh0dHBz
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNTQxMzIKKwogMjAyMC0wMS0wNyAgeW91ZW5u
IGZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IE1lZGlhUmVj
b3JkZXIgYmFja2VuZCBpbiBHUFVQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggZDg4OTNhOGM0MTUxNzBhYThjODViMGVkMTY0NDU3MWFmMDI0NTBjYi4uYzc0ZWZhOWY3NDAz
ZTk3NjI4ZGUxNGE4MzlhZTMzODI1Y2FkZjNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTA3ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU0MTMy
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1ODY4
CisKKyAgICAgICAgSXQgaXMgYnJlYWtpbmcgV2luQ2Fpcm8gYnVpbGQgYW5kIGludGVybmFsIGJ1
aWxkcy4gKFJlcXVlc3RlZAorICAgICAgICBieSB5b3Vlbm4gb24gI3dlYmtpdCkuCisKKyAgICAg
ICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJJbXBsZW1lbnQgTWVkaWFSZWNvcmRl
ciBiYWNrZW5kIGluIEdQVVByb2Nlc3MiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU4MDIKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzI1NDEzMgorCiAyMDIwLTAxLTA3ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgTWVkaWFSZWNvcmRlciBiYWNrZW5kIGluIEdQ
VVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCAzYzhiYzJjZjIxZWMyOGY4
NjY0Y2RhZDQxMjA2MTJhYTE5YjgxMDdmLi4xODAyMDM3ODNjNjJkZWM5ZDJjYTdlYzIyMmFmYzgy
ZTc1NDVhNTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMjAtMDEtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTQxMzIuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU4NjgKKworICAgICAgICBJdCBpcyBi
cmVha2luZyBXaW5DYWlybyBidWlsZCBhbmQgaW50ZXJuYWwgYnVpbGRzLiAoUmVxdWVzdGVkCisg
ICAgICAgIGJ5IHlvdWVubiBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CisKKyAgICAgICAgIkltcGxlbWVudCBNZWRpYVJlY29yZGVyIGJhY2tlbmQgaW4gR1BVUHJv
Y2VzcyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
NTgwMgorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjU0MTMyCisK
IDIwMjAtMDEtMDcgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEltcGxlbWVudCBNZWRpYVJlY29yZGVyIGJhY2tlbmQgaW4gR1BVUHJvY2VzcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UKaW5kZXggODEyZWQ0NjlkMjA5MDg1NThjZGQ3Y2RlODI4M2NlZTg4NmI4ZWNjMC4uNDY2
MTljNjVkNmIzYzNkODFmZjRjMmU1MDA1MjE2YWE0OTYyZWMxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
CkBAIC04MCw4ICs4MCw2IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzdWx0RGF0YS5oCiAgICAgTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5zYWN0aW9uSW5mby5oCiAKLSAgICBNb2R1bGVzL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmgKLQogICAgIE1vZHVsZXMvbWVkaWFz
ZXNzaW9uL01lZGlhU2Vzc2lvbkV2ZW50cy5oCiAgICAgTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVk
aWFTZXNzaW9uTWV0YWRhdGEuaAogICAgIE1vZHVsZXMvbWVkaWFzZXNzaW9uL1dlYk1lZGlhU2Vz
c2lvbk1hbmFnZXIuaApAQCAtMTE1Nyw4ICsxMTU1LDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9G
UkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtT3BlcmF0aW9ucy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oCiAKLSAgICBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmgKLQogICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2UuaAog
ICAgIHBsYXRmb3JtL21lZGlhc3RyZWFtL0NhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKICAgICBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcAppbmRleCA0NGMz
MTg3MzM4YzM5YmUyODEyODk0ZTIzMmM2YjgxZGY4ZTI3OTI3Li45OTFlYTJhMGYzZDIyNDRkZjFl
OGVlMjdmNzkwODZkM2VjNDNkNmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCkBAIC0zNCw4ICszNCw2IEBACiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJFcnJvckV2ZW50
LmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKLSNpbmNsdWRlICJNZWRpYVJl
Y29yZGVyUHJvdmlkZXIuaCIKLSNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVm
ZmVyLmgiCiAjaW5jbHVkZSAiV2luZG93RXZlbnRMb29wLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KQEAgLTUyLDE0ICs1MCwxMSBAQCBjcmVhdG9yRnVuY3Rpb24gTWVkaWFS
ZWNvcmRlcjo6bV9jdXN0b21DcmVhdG9yID0gbnVsbHB0cjsKIAogRXhjZXB0aW9uT3I8UmVmPE1l
ZGlhUmVjb3JkZXI+PiBNZWRpYVJlY29yZGVyOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBS
ZWY8TWVkaWFTdHJlYW0+JiYgc3RyZWFtLCBPcHRpb25zJiYgb3B0aW9ucykKIHsKLSAgICBhdXRv
IHByaXZhdGVJbnN0YW5jZSA9IE1lZGlhUmVjb3JkZXI6OmNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2
YXRlKGRvY3VtZW50LCBzdHJlYW0tPnByaXZhdGVTdHJlYW0oKSk7CisgICAgYXV0byBwcml2YXRl
SW5zdGFuY2UgPSBNZWRpYVJlY29yZGVyOjpnZXRQcml2YXRlSW1wbChzdHJlYW0tPnByaXZhdGVT
dHJlYW0oKSk7CiAgICAgaWYgKCFwcml2YXRlSW5zdGFuY2UpCiAgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgIlRoZSBNZWRpYVJlY29yZGVyIGlzIHVuc3VwcG9y
dGVkIG9uIHRoaXMgcGxhdGZvcm0iX3MgfTsKICAgICBhdXRvIHJlY29yZGVyID0gYWRvcHRSZWYo
Km5ldyBNZWRpYVJlY29yZGVyKGRvY3VtZW50LCBXVEZNb3ZlKHN0cmVhbSksIFdURk1vdmUocHJp
dmF0ZUluc3RhbmNlKSwgV1RGTW92ZShvcHRpb25zKSkpOwogICAgIHJlY29yZGVyLT5zdXNwZW5k
SWZOZWVkZWQoKTsKLSAgICByZWNvcmRlci0+bV9wcml2YXRlLT5zZXRFcnJvckNhbGxiYWNrKFty
ZWNvcmRlciA9IHJlY29yZGVyLmNvcHlSZWYoKV0oYXV0byYmIGV4Y2VwdGlvbikgbXV0YWJsZSB7
Ci0gICAgICAgIHJlY29yZGVyLT5kaXNwYXRjaEVycm9yKFdURk1vdmUoKmV4Y2VwdGlvbikpOwot
ICAgIH0pOwogICAgIHJldHVybiByZWNvcmRlcjsKIH0KIApAQCAtNjgsMTYgKzYzLDE3IEBAIHZv
aWQgTWVkaWFSZWNvcmRlcjo6c2V0Q3VzdG9tUHJpdmF0ZVJlY29yZGVyQ3JlYXRvcihjcmVhdG9y
RnVuY3Rpb24gY3JlYXRvcikKICAgICBtX2N1c3RvbUNyZWF0b3IgPSBjcmVhdG9yOwogfQogCi1z
dGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IE1lZGlhUmVjb3JkZXI6OmNyZWF0
ZU1lZGlhUmVjb3JkZXJQcml2YXRlKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgTWVkaWFTdHJl
YW1Qcml2YXRlJiBzdHJlYW0pCitzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+
IE1lZGlhUmVjb3JkZXI6OmdldFByaXZhdGVJbXBsKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYg
c3RyZWFtKQogewogICAgIGlmIChtX2N1c3RvbUNyZWF0b3IpCiAgICAgICAgIHJldHVybiBtX2N1
c3RvbUNyZWF0b3IoKTsKICAgICAKLSAgICBhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpOwot
ICAgIGlmICghcGFnZSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICByZXR1cm4gcGFn
ZS0+bWVkaWFSZWNvcmRlclByb3ZpZGVyKCkuY3JlYXRlTWVkaWFSZWNvcmRlclByaXZhdGUoc3Ry
ZWFtKTsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICByZXR1cm4gTWVkaWFSZWNvcmRlclByaXZh
dGVBVkZJbXBsOjpjcmVhdGUoc3RyZWFtKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHN0cmVh
bSk7CisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKIH0KIAogTWVkaWFSZWNvcmRlcjo6TWVk
aWFSZWNvcmRlcihEb2N1bWVudCYgZG9jdW1lbnQsIFJlZjxNZWRpYVN0cmVhbT4mJiBzdHJlYW0s
IHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZT4mJiBwcml2YXRlSW1wbCwgT3B0
aW9ucyYmIG9wdGlvbikKQEAgLTE4NiwxNyArMTgyLDExIEBAIHZvaWQgTWVkaWFSZWNvcmRlcjo6
ZGlkQWRkT3JSZW1vdmVUcmFjaygpCiAgICAgICAgIGlmICghbV9pc0FjdGl2ZSB8fCBzdGF0ZSgp
ID09IFJlY29yZGluZ1N0YXRlOjpJbmFjdGl2ZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgc3RvcFJlY29yZGluZ0ludGVybmFsKCk7Ci0gICAgICAgIGRpc3BhdGNoRXJyb3IoRXhjZXB0
aW9uIHsgVW5rbm93bkVycm9yLCAiVHJhY2sgY2Fubm90IGJlIGFkZGVkIHRvIG9yIHJlbW92ZWQg
ZnJvbSB0aGUgTWVkaWFTdHJlYW0gd2hpbGUgcmVjb3JkaW5nIGlzIGhhcHBlbmluZyJfcyB9KTsK
KyAgICAgICAgYXV0byBldmVudCA9IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50OjpjcmVhdGUoZXZl
bnROYW1lcygpLmVycm9yRXZlbnQsIEV4Y2VwdGlvbiB7IFVua25vd25FcnJvciwgIlRyYWNrIGNh
bm5vdCBiZSBhZGRlZCB0byBvciByZW1vdmVkIGZyb20gdGhlIE1lZGlhU3RyZWFtIHdoaWxlIHJl
Y29yZGluZyBpcyBoYXBwZW5pbmciX3MgfSk7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoV1RGTW92
ZShldmVudCkpOwogICAgIH0pOwogfQogCi12b2lkIE1lZGlhUmVjb3JkZXI6OmRpc3BhdGNoRXJy
b3IoRXhjZXB0aW9uJiYgZXhjZXB0aW9uKQotewotICAgIGlmICghbV9pc0FjdGl2ZSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIGRpc3BhdGNoRXZlbnQoTWVkaWFSZWNvcmRlckVycm9yRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgV1RGTW92ZShleGNlcHRpb24pKSk7Ci19Ci0K
IHZvaWQgTWVkaWFSZWNvcmRlcjo6dHJhY2tFbmRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYp
CiB7CiAgICAgYXV0byBwb3NpdGlvbiA9IG1fdHJhY2tzLmZpbmRNYXRjaGluZyhbXShhdXRvJiB0
cmFjaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmgKaW5kZXggZTkwYjk5Yjk1NzU2NWNjMDA2ODMzZDk2M2ExZjU1MDg5ODc2
MDU4NS4uZWI2Zjk2YTZhZTBhMzliYTEwYjUyMGJiOThjYzRlZTFiNTM5Mzc0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5o
CkBAIC03MSwxMSArNzEsMTEgQEAgcHVibGljOgogICAgIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IHN0YXJ0UmVjb3JkaW5nKE9wdGlvbmFsPGludD4pOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHN0
b3BSZWNvcmRpbmcoKTsKLQorICAgIAogcHJpdmF0ZToKICAgICBNZWRpYVJlY29yZGVyKERvY3Vt
ZW50JiwgUmVmPE1lZGlhU3RyZWFtPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclBy
aXZhdGU+JiYsIE9wdGlvbnMmJiA9IHsgfSk7CiAKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PE1lZGlhUmVjb3JkZXJQcml2YXRlPiBjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZShEb2N1bWVu
dCYsIGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IGdldFByaXZhdGVJbXBsKGNvbnN0IE1lZGlhU3RyZWFt
UHJpdmF0ZSYpOwogICAgIAogICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0OwogCkBAIC05
MSw5ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IGZpbmFsOwogICAgIAogICAgIHZvaWQgc3RvcFJlY29yZGluZ0ludGVybmFsKCk7
Ci0KLSAgICB2b2lkIGRpc3BhdGNoRXJyb3IoRXhjZXB0aW9uJiYpOwotCisgICAgCiAgICAgLy8g
TWVkaWFTdHJlYW06Ok9ic2VydmVyCiAgICAgdm9pZCBkaWRBZGRPclJlbW92ZVRyYWNrKCkgZmlu
YWw7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3Jk
ZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmNjRmY2NjMzY4YTYxMjdkZjk5MWZiZmQzZGZjMWJmZjMzOTBhYzAwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNDkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJvdmlkZXIuaCIKLQotI2luY2x1ZGUgIk1lZGlhUmVj
b3JkZXJQcml2YXRlLmgiCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNpbmNsdWRlICJNZWRpYVJl
Y29yZGVyUHJpdmF0ZUFWRkltcGwuaCIKLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotc3RkOjp1bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQ
cml2YXRlPiBNZWRpYVJlY29yZGVyUHJvdmlkZXI6OmNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRl
KGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtKQotewotI2lmIFBMQVRGT1JNKENPQ09B
KQotICAgIHJldHVybiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmNyZWF0ZShzdHJlYW0p
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oc3RyZWFtKTsKLSAgICByZXR1cm4gbnVsbHB0cjsK
LSNlbmRpZgotfQotI2VuZGlmCi0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNGE5M2FmNDg2NzY2ZDc1ZWE4NGI1ZjVlYjY5MjI0MTkxNzEw
ZTA3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmgK
KysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNl
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGU7Ci1j
bGFzcyBNZWRpYVN0cmVhbVByaXZhdGU7Ci0KLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlhUmVj
b3JkZXJQcm92aWRlciB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0g
ICAgTWVkaWFSZWNvcmRlclByb3ZpZGVyKCkgPSBkZWZhdWx0OwotICAgIHZpcnR1YWwgfk1lZGlh
UmVjb3JkZXJQcm92aWRlcigpID0gZGVmYXVsdDsKLQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
Ci0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IGNyZWF0
ZU1lZGlhUmVjb3JkZXJQcml2YXRlKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYpOwotI2VuZGlm
Ci0KLSAgICB2b2lkIHNldFVzZUdQVVByb2Nlc3MoYm9vbCB2YWx1ZSkgeyBtX3VzZUdQVVByb2Nl
c3MgPSB2YWx1ZTsgfQotCi1wcm90ZWN0ZWQ6Ci0gICAgYm9vbCBtX3VzZUdQVVByb2Nlc3MgeyBm
YWxzZSB9OwotfTsKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0MTEyMTU1N2FlNmYzNWRiOWFkNWY0
YzFlOGFjY2NhMDg2NjNlNmZiLi42MGJiYmZkNDZlZTg3OTY4ZmQyYzFlZmE1ZmY3N2I3ZWYwYWM0
ZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTUxLDcgKzE1MSw2IEBAIE1vZHVsZXMvbWVkaWFjb250
cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5jcHAKIAogTW9kdWxlcy9tZWRpYXJlY29yZGVyL0Jsb2JF
dmVudC5jcHAKIE1vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcAotTW9kdWxl
cy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKIE1vZHVsZXMvbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyRXJyb3JFdmVudC5jcHAKIAogTW9kdWxlcy9tZWRpYXNlc3Np
b24vSFRNTE1lZGlhRWxlbWVudE1lZGlhU2Vzc2lvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NTE0YWY2YzUyMzkxMDEx
ODc3OTNiZjlkZmUzOGVhY2E4NjM0ZTRmLi5lYzQwODRkOTg0NThjMzUzMjQyNWJjOWVlZjc1Mzdm
NTA2MzViMzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMTAxLDcgKzExMDEsNiBAQAogCQk0MTc2MTJCMDFFM0E5OTQwMDBD
M0Q4MUQgLyogTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3NjEyQUMxRTNBOTkzQjAwQzNEODFEIC8qIExpYldl
YlJUQ01lZGlhRW5kcG9pbnQuaCAqLzsgfTsKIAkJNDE3NjEyQjExRTNBOTk0MDAwQzNEODFEIC8q
IExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTc2MTJBRDFFM0E5OTNCMDBDM0Q4MUQgLyogTGli
V2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCAqLzsgfTsKIAkJNDE3NjEyQjIxRTNBOTk0
MDAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3NjEyQUUxRTNBOTkzQjAwQzNE
ODFEIC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oICovOyB9OwotCQk0MTc2RTg5
NjIzQzM1MzdCMDAzRTgzRkUgLyogTWVkaWFSZWNvcmRlclByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTc2RTg4RjIzQzM0OEQyMDAzRTgz
RkUgLyogTWVkaWFSZWNvcmRlclByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKIAkJNDE3REE2
REExMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0Q0UxMzczNDMyNjAwN0M1N0ZCIC8qIEludGVy
bmFscy5oICovOyB9OwogCQk0MTdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE3
MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTEzNzUsOSAr
MTM3NCw5IEBACiAJCTRCREVBMzJDMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxT
Y29wZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDRCREVBMzJCMjE4MDMzRUIwMDUyREZDRCAvKiBKU1dvcmtsZXRHbG9iYWxTY29wZUJhc2UuaCAq
LzsgfTsKIAkJNEQzQjAwQUIyMTVENjlBNzAwNzZCOTgzIC8qIE1lZGlhUmVjb3JkZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDREM0IwMEE5MjE1RDY5
QTcwMDc2Qjk4MyAvKiBNZWRpYVJlY29yZGVyLmggKi87IH07CiAJCTREM0IwMEFGMjE1RDZBNjkw
MDc2Qjk4MyAvKiBCbG9iRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDREM0IwMEFEMjE1RDZBNjkwMDc2Qjk4MyAvKiBCbG9iRXZlbnQuaCAqLzsg
fTsKLQkJNEQzQjUwMTYyMTdFNThCNzAwNjY1REIxIC8qIE1lZGlhUmVjb3JkZXJQcml2YXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RDNCNTAxNDIx
N0U1OEI3MDA2NjVEQjEgLyogTWVkaWFSZWNvcmRlclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0RDNCNTAxNjIxN0U1OEI3MDA2NjVE
QjEgLyogTWVkaWFSZWNvcmRlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDREM0I1MDE0MjE3RTU4QjcwMDY2NURCMSAvKiBNZWRpYVJlY29y
ZGVyUHJpdmF0ZS5oICovOyB9OwogCQk0RDczRjk0NjIxOEJDNUZBMDAzQTNFRDYgLyogTWVkaWFS
ZWNvcmRlclByaXZhdGVBVkZJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0RDczRjk0NDIxOEJDNUZBMDAzQTNFRDYgLyogTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsLmggKi87IH07Ci0JCTRENzNGOTRFMjE4QzRBODcwMDNBM0VENiAvKiBNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0RDczRjk0QzIxOEM0QTg3MDAzQTNFRDYgLyogTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTRENzNGOTRFMjE4QzRBODcwMDNBM0VENiAvKiBNZWRpYVJlY29y
ZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0RDczRjk0QzIxOEM0QTg3MDAzQTNFRDYgLyogTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXJDb2NvYS5oICovOyB9OwogCQk0REI3MTMwRDIxNkVDQjREMDA5NkE0REQgLyog
TWVkaWFSZWNvcmRlckVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDREQjcxMzBDMjE2RUMyQkQwMDk2QTRERCAvKiBNZWRpYVJlY29yZGVy
RXJyb3JFdmVudC5oICovOyB9OwogCQk0RTE5NTkyMjBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFG
ZWF0dXJlTmFtZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDRFMTk1OTIwMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRFMTk1OTJBMEEz
OURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0RTE5NTkyNDBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVy
eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03
NDAwLDggKzczOTksNiBAQAogCQk0MTc2MTJBRTFFM0E5OTNCMDBDM0Q4MUQgLyogTGliV2ViUlRD
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldl
YlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTc2OTAwMzIyRkNEOEYyMDBCMTU3NkQgLyogTWVkaWFTb3VyY2VSZWdpc3RyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVNvdXJjZVJlZ2lzdHJ5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzY5MDA0MjJGQ0Q4RjIwMEIxNTc2RCAvKiBNZWRp
YVNvdXJjZVJlZ2lzdHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lZGlhU291cmNlUmVnaXN0cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0
MTc2RTg4RjIzQzM0OEQyMDAzRTgzRkUgLyogTWVkaWFSZWNvcmRlclByb3ZpZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUmVjb3JkZXJQcm92aWRlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTc2RTg5MTIzQzM0Qjc1MDAzRTgzRkUgLyogTWVk
aWFSZWNvcmRlclByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUmVjb3JkZXJQ
cm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzdGNTFDMjM4MjU0
NDAwMEMwNDQ4NiAvKiBCYXNlQXVkaW9TaGFyZWRVbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2VBdWRpb1NoYXJlZFVuaXQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTc3RjUxRTIzODI1NDVFMDBDMDQ0ODYgLyogQmFzZUF1ZGlvU2hh
cmVkVW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNlQXVkaW9TaGFy
ZWRVbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxN0RBNENFMTM3MzQzMjYw
MDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW50ZXJuYWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODkzNSw4ICsxODkz
Miw2IEBACiAJCQkJNERCNzEzMEUyMTZFRUJBRTAwOTZBNEREIC8qIE1lZGlhUmVjb3JkZXJFcnJv
ckV2ZW50LmNwcCAqLywKIAkJCQk0REI3MTMwQzIxNkVDMkJEMDA5NkE0REQgLyogTWVkaWFSZWNv
cmRlckVycm9yRXZlbnQuaCAqLywKIAkJCQk0REI3MTMwQTIxNkVDMkJDMDA5NkE0REQgLyogTWVk
aWFSZWNvcmRlckVycm9yRXZlbnQuaWRsICovLAotCQkJCTQxNzZFODkxMjNDMzRCNzUwMDNFODNG
RSAvKiBNZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwICovLAotCQkJCTQxNzZFODhGMjNDMzQ4RDIw
MDNFODNGRSAvKiBNZWRpYVJlY29yZGVyUHJvdmlkZXIuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0g
bWVkaWFyZWNvcmRlcjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMTQ3OSw3ICsz
MTQ3NCw2IEBACiAJCQkJNEQzQjUwMTYyMTdFNThCNzAwNjY1REIxIC8qIE1lZGlhUmVjb3JkZXJQ
cml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RDczRjk0NjIxOEJDNUZBMDAzQTNFRDYgLyog
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQk0RDczRjk0
RTIxOEM0QTg3MDAzQTNFRDYgLyogTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNDE3NkU4OTYyM0MzNTM3QjAwM0U4M0ZFIC8qIE1lZGlhUmVjb3Jk
ZXJQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzkwODQzRDAxQjE4RTQ3RDAwQjY4NTY0
IC8qIE1lZGlhUmVtb3RlQ29udHJvbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEOEFDQThGMUQy
Mzk3MTkwMEVDQzU5RSAvKiBNZWRpYVJlbW90ZVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRUVGQ0Q3QTE5REIzMUY3MDAzODc2RDcgLyogTWVkaWFSZXNvdXJjZUxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGNiNTFm
MzZmZWJmYjA4MWUyYjZmNzRlZTZlNDkwMThjZDk3MTA0ZGUuLjg0ZTRlMThjM2Y2MzhlZTMzZDI4
MDE4NGRkZDhjYWE4YWEwZTQ5MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
Y3BwCkBAIC01Myw4ICs1Myw2IEBACiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblRvU2VydmVyLmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlk
ZXIuaCIKLSNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgotI2luY2x1ZGUgIk1lZGlh
UmVjb3JkZXJQcm92aWRlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlQ29uZmlndXJhdGlvbi5oIgpAQCAtNTcz
LDE5ICs1NzEsMTAgQEAgUmVmPFN0b3JhZ2VOYW1lc3BhY2U+IEVtcHR5U3RvcmFnZU5hbWVzcGFj
ZVByb3ZpZGVyOjpjcmVhdGVUcmFuc2llbnRMb2NhbFN0b3JhZ2UKICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBFbXB0eVN0b3JhZ2VOYW1lc3BhY2UgeyBzZXNzaW9uSUQgfSk7CiB9CiAKLWNsYXNz
IEVtcHR5U3RvcmFnZVNlc3Npb25Qcm92aWRlciBmaW5hbCA6IHB1YmxpYyBTdG9yYWdlU2Vzc2lv
blByb3ZpZGVyIHsKK2NsYXNzIEVtcHR5U3RvcmFnZVNlc3Npb25Qcm92aWRlciA6IHB1YmxpYyBT
dG9yYWdlU2Vzc2lvblByb3ZpZGVyIHsKICAgICBOZXR3b3JrU3RvcmFnZVNlc3Npb24qIHN0b3Jh
Z2VTZXNzaW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbnVsbHB0cjsgfQogfTsKIAotY2xhc3Mg
RW1wdHlNZWRpYVJlY29yZGVyUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgTWVkaWFSZWNvcmRlclBy
b3ZpZGVyIHsKLXB1YmxpYzoKLSAgICBFbXB0eU1lZGlhUmVjb3JkZXJQcm92aWRlcigpID0gZGVm
YXVsdDsKLXByaXZhdGU6Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IGNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRlKGNv
bnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYpIGZpbmFsIHsgcmV0dXJuIG51bGxwdHI7IH0KLSNlbmRp
ZgotfTsKLQogUGFnZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGll
bnRzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBQYWdlQ29uZmlndXJhdGlvbiBw
YWdlQ29uZmlndXJhdGlvbiB7CkBAIC01OTYsOCArNTg1LDcgQEAgUGFnZUNvbmZpZ3VyYXRpb24g
cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRzKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCkKICAgICAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpLAogICAgICAgICBhZG9w
dFJlZigqbmV3IEVtcHR5QmFja0ZvcndhcmRDbGllbnQpLAogICAgICAgICBDb29raWVKYXI6OmNy
ZWF0ZShhZG9wdFJlZigqbmV3IEVtcHR5U3RvcmFnZVNlc3Npb25Qcm92aWRlcikpLAotICAgICAg
ICBtYWtlVW5pcXVlUmVmPEVtcHR5UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PigpLAotICAgICAgICBt
YWtlVW5pcXVlUmVmPEVtcHR5TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpCisgICAgICAgIG1ha2VV
bmlxdWVSZWY8RW1wdHlQcm9ncmVzc1RyYWNrZXJDbGllbnQ+KCkKICAgICB9OwogCiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEVtcHR5Q2hyb21lQ2xpZW50PiBkdW1teUNocm9tZUNsaWVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDAxMDI3OWZlZmM0NWY5ODZmMjgwNWJlNzdiZjNjY2RmNzFl
NTFkYzEuLjYzYzA1MzQzNzk4ZDMxMDJkODAzMmQzNTcxOTNjYzliYTkzNzY2MTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcApAQCAtMjQ2LDcgKzI0Niw2IEBAIFBhZ2U6OlBhZ2UoUGFnZUNvbmZpZ3VyYXRp
b24mJiBwYWdlQ29uZmlndXJhdGlvbikKICNpZiBFTkFCTEUoU1BFRUNIX1NZTlRIRVNJUykKICAg
ICAsIG1fc3BlZWNoU3ludGhlc2lzQ2xpZW50KFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24uc3Bl
ZWNoU3ludGhlc2lzQ2xpZW50KSkKICNlbmRpZgotICAgICwgbV9tZWRpYVJlY29yZGVyUHJvdmlk
ZXIoKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ubWVkaWFSZWNvcmRlclByb3ZpZGVyKSkpCiAg
ICAgLCBtX2xpYldlYlJUQ1Byb3ZpZGVyKFdURk1vdmUocGFnZUNvbmZpZ3VyYXRpb24ubGliV2Vi
UlRDUHJvdmlkZXIpKQogICAgICwgbV92ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkoU2Nyb2xsRWxh
c3RpY2l0eUFsbG93ZWQpCiAgICAgLCBtX2hvcml6b250YWxTY3JvbGxFbGFzdGljaXR5KFNjcm9s
bEVsYXN0aWNpdHlBbGxvd2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBlMWYyN2NmYzhjYzk3NTkzY2Fl
MjU0ZDZlOGU2NTA3Y2FlNzBlMmM3Li4yYzNmN2MzNDMzODdmYjQ4YzJmNTVlM2VhNmU5NWMzZTlm
NTQ3NjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMTEwLDcgKzExMCw2IEBAIGNsYXNzIExpYldlYlJU
Q1Byb3ZpZGVyOwogY2xhc3MgTG93UG93ZXJNb2RlTm90aWZpZXI7CiBjbGFzcyBNZWRpYUNhblN0
YXJ0TGlzdGVuZXI7CiBjbGFzcyBNZWRpYVBsYXliYWNrVGFyZ2V0OwotY2xhc3MgTWVkaWFSZWNv
cmRlclByb3ZpZGVyOwogY2xhc3MgUGFnZUNvbmZpZ3VyYXRpb247CiBjbGFzcyBQYWdlQ29uc29s
ZUNsaWVudDsKIGNsYXNzIFBhZ2VEZWJ1Z2dhYmxlOwpAQCAtNTg1LDcgKzU4NCw2IEBAIHB1Ymxp
YzoKICAgICBEYXRhYmFzZVByb3ZpZGVyJiBkYXRhYmFzZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9k
YXRhYmFzZVByb3ZpZGVyOyB9CiAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFn
ZVByb3ZpZGVyKCkgeyByZXR1cm4gbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsgfQogICAgIFNvY2tl
dFByb3ZpZGVyJiBzb2NrZXRQcm92aWRlcigpIHsgcmV0dXJuIG1fc29ja2V0UHJvdmlkZXI7IH0K
LSAgICBNZWRpYVJlY29yZGVyUHJvdmlkZXImIG1lZGlhUmVjb3JkZXJQcm92aWRlcigpIHsgcmV0
dXJuIG1fbWVkaWFSZWNvcmRlclByb3ZpZGVyOyB9CiAgICAgQ29va2llSmFyJiBjb29raWVKYXIo
KSB7IHJldHVybiBtX2Nvb2tpZUphci5nZXQoKTsgfQogCiAgICAgU3RvcmFnZU5hbWVzcGFjZVBy
b3ZpZGVyJiBzdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VOYW1l
c3BhY2VQcm92aWRlci5nZXQoKTsgfQpAQCAtNzk3LDcgKzc5NSw2IEBAIHByaXZhdGU6CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFNwZWVjaFN5bnRoZXNpc0NsaWVudD4gbV9zcGVlY2hTeW50aGVzaXND
bGllbnQ7CiAjZW5kaWYKIAotICAgIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+IG1f
bWVkaWFSZWNvcmRlclByb3ZpZGVyOwogICAgIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4g
bV9saWJXZWJSVENQcm92aWRlcjsKICAgICBSVENDb250cm9sbGVyIG1fcnRjQ29udHJvbGxlcjsK
IApAQCAtOTIzLDYgKzkyMCw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFVzZXJDb250ZW50UHJvdmlk
ZXI+IG1fdXNlckNvbnRlbnRQcm92aWRlcjsKICAgICBSZWY8VmlzaXRlZExpbmtTdG9yZT4gbV92
aXNpdGVkTGlua1N0b3JlOwogICAgIFJlZlB0cjxXaGVlbEV2ZW50VGVzdE1vbml0b3I+IG1fd2hl
ZWxFdmVudFRlc3RNb25pdG9yOworCiAgICAgSGFzaFNldDxBY3Rpdml0eVN0YXRlQ2hhbmdlT2Jz
ZXJ2ZXIqPiBtX2FjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlcnM7CiAKICNpZiBFTkFCTEUoUkVT
T1VSQ0VfVVNBR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCmlu
ZGV4IDMzOGY0ZTdjMTkxMjFhZjE3OTQyZDAxNzI0Y2UyOTExM2M1ZDNmMmIuLmVmODc3YTU1ODgy
MWU0NDY3ZjQ1Y2EzYzA1MjFjYWYyMmQ5MDdkZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiRHJhZ0NsaWVu
dC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3Zp
ZGVyLmgiCi0jaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGx1Z0luQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUGx1Z2luSW5mb1Byb3ZpZGVyLmgiCkBAIC01Niw3ICs1NSw3IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFnZUNvbmZpZ3VyYXRpb246OlBhZ2VDb25maWd1cmF0aW9uKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgVW5pcXVlUmVmPEVkaXRvckNsaWVudD4mJiBlZGl0b3JDbGll
bnQsIFJlZjxTb2NrZXRQcm92aWRlcj4mJiBzb2NrZXRQcm92aWRlciwgVW5pcXVlUmVmPExpYldl
YlJUQ1Byb3ZpZGVyPiYmIGxpYldlYlJUQ1Byb3ZpZGVyLCBSZWY8Q2FjaGVTdG9yYWdlUHJvdmlk
ZXI+JiYgY2FjaGVTdG9yYWdlUHJvdmlkZXIsIFJlZjxCYWNrRm9yd2FyZENsaWVudD4mJiBiYWNr
Rm9yd2FyZENsaWVudCwgUmVmPENvb2tpZUphcj4mJiBjb29raWVKYXIsIFVuaXF1ZVJlZjxQcm9n
cmVzc1RyYWNrZXJDbGllbnQ+JiYgcHJvZ3Jlc3NUcmFja2VyQ2xpZW50LCBVbmlxdWVSZWY8TWVk
aWFSZWNvcmRlclByb3ZpZGVyPiYmIG1lZGlhUmVjb3JkZXJQcm92aWRlcikKK1BhZ2VDb25maWd1
cmF0aW9uOjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1
ZVJlZjxFZGl0b3JDbGllbnQ+JiYgZWRpdG9yQ2xpZW50LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYg
c29ja2V0UHJvdmlkZXIsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiBsaWJXZWJSVENQ
cm92aWRlciwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmIGNhY2hlU3RvcmFnZVByb3ZpZGVy
LCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYgYmFja0ZvcndhcmRDbGllbnQsIFJlZjxDb29raWVK
YXI+JiYgY29va2llSmFyLCBVbmlxdWVSZWY8UHJvZ3Jlc3NUcmFja2VyQ2xpZW50PiYmIHByb2dy
ZXNzVHJhY2tlckNsaWVudCkKICAgICA6IHNlc3Npb25JRChzZXNzaW9uSUQpCiAgICAgLCBlZGl0
b3JDbGllbnQoV1RGTW92ZShlZGl0b3JDbGllbnQpKQogICAgICwgc29ja2V0UHJvdmlkZXIoV1RG
TW92ZShzb2NrZXRQcm92aWRlcikpCkBAIC02NSw3ICs2NCw2IEBAIFBhZ2VDb25maWd1cmF0aW9u
OjpQYWdlQ29uZmlndXJhdGlvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFVuaXF1ZVJlZjxF
ZGl0b3JDCiAgICAgLCBiYWNrRm9yd2FyZENsaWVudChXVEZNb3ZlKGJhY2tGb3J3YXJkQ2xpZW50
KSkKICAgICAsIGNvb2tpZUphcihXVEZNb3ZlKGNvb2tpZUphcikpCiAgICAgLCBjYWNoZVN0b3Jh
Z2VQcm92aWRlcihXVEZNb3ZlKGNhY2hlU3RvcmFnZVByb3ZpZGVyKSkKLSAgICAsIG1lZGlhUmVj
b3JkZXJQcm92aWRlcihXVEZNb3ZlKG1lZGlhUmVjb3JkZXJQcm92aWRlcikpCiB7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaAppbmRleCAzYThlZDMzNDQwYzJjMTg4
NTI4MzE4OTE4YTc1MjJiOTIxN2Y0NzZmLi4xOTFhMDJiNjE1ZjQwYTk4MGM0MjFmN2ZiZjNmMzE2
ZDJiMTY0ZmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1cmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCkBAIC01
Miw3ICs1Miw2IEBAIGNsYXNzIEVkaXRvckNsaWVudDsKIGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50
OwogY2xhc3MgSW5zcGVjdG9yQ2xpZW50OwogY2xhc3MgTGliV2ViUlRDUHJvdmlkZXI7Ci1jbGFz
cyBNZWRpYVJlY29yZGVyUHJvdmlkZXI7CiBjbGFzcyBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ7
CiBjbGFzcyBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ7CiBjbGFzcyBQbHVnSW5DbGllbnQ7CkBA
IC02OSw3ICs2OCw3IEBAIGNsYXNzIFNwZWVjaFN5bnRoZXNpc0NsaWVudDsKIGNsYXNzIFBhZ2VD
b25maWd1cmF0aW9uIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ29uZmlndXJhdGlv
bik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JU
IFBhZ2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50
PiYmLCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4m
JiwgUmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYs
IFJlZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYsIFVu
aXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIFBh
Z2VDb25maWd1cmF0aW9uKFBBTDo6U2Vzc2lvbklELCBVbmlxdWVSZWY8RWRpdG9yQ2xpZW50PiYm
LCBSZWY8U29ja2V0UHJvdmlkZXI+JiYsIFVuaXF1ZVJlZjxMaWJXZWJSVENQcm92aWRlcj4mJiwg
UmVmPENhY2hlU3RvcmFnZVByb3ZpZGVyPiYmLCBSZWY8QmFja0ZvcndhcmRDbGllbnQ+JiYsIFJl
ZjxDb29raWVKYXI+JiYsIFVuaXF1ZVJlZjxQcm9ncmVzc1RyYWNrZXJDbGllbnQ+JiYpOwogICAg
IFdFQkNPUkVfRVhQT1JUIH5QYWdlQ29uZmlndXJhdGlvbigpOwogICAgIFBhZ2VDb25maWd1cmF0
aW9uKFBhZ2VDb25maWd1cmF0aW9uJiYpOwogCkBAIC0xMjQsNyArMTIzLDYgQEAgcHVibGljOgog
ICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyPiBkZXZpY2VPcmllbnRh
dGlvblVwZGF0ZVByb3ZpZGVyOwogI2VuZGlmCiAgICAgVmVjdG9yPFN0cmluZz4gY29yc0Rpc2Fi
bGluZ1BhdHRlcm5zOwotICAgIFVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+IG1lZGlh
UmVjb3JkZXJQcm92aWRlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGUuaAppbmRleCBh
ZDUxODA3OWU4OTNiOWE0MDZmNjAxYzg4MDY0MTVkYTlhNGMwMGFiLi4xMGU5MWYzNzIxOTdlNzI2
MjdmMjY1NmJkZjJiNzQ5NmViOTNkOGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCkBAIC0y
Niw3ICsyNiw2IEBACiAKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgogCiAjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIApAQCAtNDQsMTkgKzQzLDEyIEBAIGNsYXNzIFNoYXJlZEJ1ZmZlcjsK
IAogY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGUgewogcHVibGljOgotICAgIHZpcnR1YWwgfk1l
ZGlhUmVjb3JkZXJQcml2YXRlKCkgPSBkZWZhdWx0OwotCi0gICAgdmlydHVhbCB2b2lkIHNhbXBs
ZUJ1ZmZlclVwZGF0ZWQoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmLCBNZWRpYVNhbXBs
ZSYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlJiwgY29uc3QgV1RGOjpNZWRpYVRpbWUmLCBjb25zdCBQbGF0
Zm9ybUF1ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZSYsIE1lZGlhU2FtcGxlJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhdWRpb1NhbXBs
ZXNBdmFpbGFibGUoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmLCBjb25zdCBXVEY6Ok1lZGlhVGlt
ZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYsIHNpemVfdCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGZldGNoRGF0YShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUpPiYmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHN0b3BSZWNvcmRpbmcoKSB7IH07Ci0KLSAg
ICB1c2luZyBFcnJvckNhbGxiYWNrID0gRnVuY3Rpb248dm9pZChPcHRpb25hbDxFeGNlcHRpb24+
JiYpPjsKLSAgICB2b2lkIHNldEVycm9yQ2FsbGJhY2soRXJyb3JDYWxsYmFjayYmIGVycm9yQ2Fs
bGJhY2spIHsgbV9lcnJvckNhbGxiYWNrID0gV1RGTW92ZShlcnJvckNhbGxiYWNrKTsgfQotCi1w
cm90ZWN0ZWQ6Ci0gICAgRXJyb3JDYWxsYmFjayBtX2Vycm9yQ2FsbGJhY2s7CisgICAgdmlydHVh
bCB+TWVkaWFSZWNvcmRlclByaXZhdGUoKSA9IGRlZmF1bHQ7CisgICAgdmlydHVhbCB2b2lkIHN0
b3BSZWNvcmRpbmcoKSB7IH0KIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3Jk
ZXJQcml2YXRlQVZGSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKaW5kZXggNmEyNGEyMGRlYzM4ZjY1
NmNlNWE4YWJmODA3ZWU3MDczZDA0ZWZmNS4uOTE4MzA0NjYwNjY2ZmNlZjU1OWUzYTczZDZmYzRk
NWI1NjVlOWU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApA
QCAtNDAsNiArNDAsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsPiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmNyZWF0ZQogewogICAgIC8vIEZJWE1F
OiB3ZSB3aWxsIG5lZWQgdG8gaW1wbGVtZW50IHN1cHBvcnQgZm9yIG11bHRpcGxlIGF1ZGlvL3Zp
ZGVvIHRyYWNrcwogICAgIC8vIEN1cnJlbnRseSB3ZSBvbmx5IGNob29zZSB0aGUgZmlyc3QgdHJh
Y2sgYXMgdGhlIHJlY29yZGVkIHRyYWNrLgorICAgIC8vIEZJWE1FOiBXZSB3b3VsZCBiZXR0ZXIg
dG8gdGhyb3cgYW4gZXhjZXB0aW9uIHRvIEphdmFTY3JpcHQgaWYgd3JpdGVyIGNyZWF0aW9uIGZh
aWxzLgogCiAgICAgU3RyaW5nIGF1ZGlvVHJhY2tJZDsKICAgICBTdHJpbmcgdmlkZW9UcmFja0lk
OwpAQCAtODEsMTQgKzgyLDE0IEBAIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6TWVkaWFS
ZWNvcmRlclByaXZhdGVBVkZJbXBsKFJlZjxNZWRpYVJlY29yZGVyUHJpdmF0CiB7CiB9CiAKLXZv
aWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpzYW1wbGVCdWZmZXJVcGRhdGVkKGNvbnN0
IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgTWVkaWFTYW1wbGUmIHNhbXBsZUJ1ZmZl
cikKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjpzYW1wbGVCdWZmZXJVcGRhdGVk
KE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgTWVkaWFTYW1wbGUmIHNhbXBsZUJ1ZmZl
cikKIHsKICAgICBpZiAodHJhY2suaWQoKSAhPSBtX3JlY29yZGVkVmlkZW9UcmFja0lEKQogICAg
ICAgICByZXR1cm47CiAgICAgbV93cml0ZXItPmFwcGVuZFZpZGVvU2FtcGxlQnVmZmVyKHNhbXBs
ZUJ1ZmZlci5wbGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcik7CiB9CiAKLXZv
aWQgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29u
c3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYg
bWVkaWFUaW1lLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGF0YSwgY29uc3QgQXVkaW9TdHJl
YW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKK3ZvaWQgTWVk
aWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmIHRyYWNrLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYgbWVkaWFUaW1lLCBj
b25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlv
biYgZGVzY3JpcHRpb24sIHNpemVfdCBzYW1wbGVDb3VudCkKIHsKICAgICBpZiAodHJhY2suaWQo
KSAhPSBtX3JlY29yZGVkQXVkaW9UcmFja0lEKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAppbmRleCAwY2YwZGYzYzY0Y2M5NzEzZTMwNTliZTM2
Y2FjYzlmYzdjY2MwYjM2Li41ZWMwYmVlN2I5NzcyMDlkZDhhNGYxOWRmMDk5YzE4MDM3MWUwYjc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKQEAgLTQzLDggKzQzLDgg
QEAgcHJpdmF0ZToKIAogICAgIGZyaWVuZCBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsPiBzdGQ6Om1ha2VfdW5pcXVlPE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1w
bD4oUmVmPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiYmLCBTdHJpbmcmJiwgU3RyaW5nJiYp
OwogCi0gICAgdm9pZCBzYW1wbGVCdWZmZXJVcGRhdGVkKGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlJiwgTWVkaWFTYW1wbGUmKSBmaW5hbDsKLSAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2YWls
YWJsZShjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIGNvbnN0IFdURjo6TWVkaWFUaW1l
JiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9u
Jiwgc2l6ZV90KSBmaW5hbDsKKyAgICB2b2lkIHNhbXBsZUJ1ZmZlclVwZGF0ZWQoTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmLCBNZWRpYVNhbXBsZSYpIGZpbmFsOworICAgIHZvaWQgYXVkaW9TYW1w
bGVzQXZhaWxhYmxlKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiwgY29uc3QgV1RGOjpNZWRpYVRp
bWUmLCBjb25zdCBQbGF0Zm9ybUF1ZGlvRGF0YSYsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24mLCBzaXplX3QpIGZpbmFsOwogICAgIHZvaWQgZmV0Y2hEYXRhKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3RyaW5nJik+JiYpIGZpbmFsOwog
ICAgIGNvbnN0IFN0cmluZyYgbWltZVR5cGUoKTsKICAgICB2b2lkIHN0b3BSZWNvcmRpbmcoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlclByaXZhdGVNb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrLmNwcAppbmRleCBmMmFjOGMyN2NiNDVjOTdj
MmRjMDNiOGZlNGE3MzY5MTdkNGJjZjg3Li5jODE2ZTFhYzEzMzUwZGI2ZDYwN2VjMWQwODUwMDQw
ZTM1N2I0NjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlTW9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2suY3BwCkBAIC0zMywx
NyArMzMsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIE1lZGlhUmVjb3JkZXJQ
cml2YXRlTW9jazo6c2FtcGxlQnVmZmVyVXBkYXRlZChjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZSYgdHJhY2ssIE1lZGlhU2FtcGxlJikKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVNb2Nr
OjpzYW1wbGVCdWZmZXJVcGRhdGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgTWVk
aWFTYW1wbGUmKQogewogICAgIGdlbmVyYXRlTW9ja1N0cmluZyh0cmFjayk7CiB9CiAKLXZvaWQg
TWVkaWFSZWNvcmRlclByaXZhdGVNb2NrOjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYsIGNvbnN0
IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVf
dCkKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrOjphdWRpb1NhbXBsZXNBdmFpbGFibGUo
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNp
emVfdCkKIHsKICAgICBnZW5lcmF0ZU1vY2tTdHJpbmcodHJhY2spOwogfQogCi12b2lkIE1lZGlh
UmVjb3JkZXJQcml2YXRlTW9jazo6Z2VuZXJhdGVNb2NrU3RyaW5nKGNvbnN0IE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlJiB0cmFjaykKK3ZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGVNb2NrOjpnZW5l
cmF0ZU1vY2tTdHJpbmcoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrKQogewogICAgIGF1
dG8gbG9ja2VyID0gaG9sZExvY2sobV9idWZmZXJMb2NrKTsKICAgICBpZiAodHJhY2sudHlwZSgp
ID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZU1vY2su
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclBy
aXZhdGVNb2NrLmgKaW5kZXggNGRhZWQ2NzMxZGVhNTNlOTc1NjYxYTQ0YTEyNzBmZjE4ZGUyZDg0
OS4uMDM1NzExZTU1YmY3ZTkxZjM5NzczZjc4ODgxOGQ4YjQzZGUyNTllZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0
ZU1vY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlh
UmVjb3JkZXJQcml2YXRlTW9jay5oCkBAIC0zNiwxMiArMzYsMTIgQEAgY2xhc3MgTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGU7CiAKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlhUmVjb3JkZXJQcml2
YXRlTW9jayBmaW5hbCA6IHB1YmxpYyBNZWRpYVJlY29yZGVyUHJpdmF0ZSB7CiBwcml2YXRlOgot
ICAgIHZvaWQgc2FtcGxlQnVmZmVyVXBkYXRlZChjb25zdCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZSYsIE1lZGlhU2FtcGxlJikgZmluYWw7Ci0gICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUo
Y29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYsIGNv
bnN0IFBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNp
emVfdCkgZmluYWw7CisgICAgdm9pZCBzYW1wbGVCdWZmZXJVcGRhdGVkKE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlJiwgTWVkaWFTYW1wbGUmKSBmaW5hbDsKKyAgICB2b2lkIGF1ZGlvU2FtcGxlc0F2
YWlsYWJsZShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIGNvbnN0IFdURjo6TWVkaWFUaW1lJiwg
Y29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmLCBjb25zdCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiwg
c2l6ZV90KSBmaW5hbDsKICAgICB2b2lkIGZldGNoRGF0YShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYpPiYmKSBmaW5hbDsKICAgICBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKCk7CiAgICAgCi0gICAgdm9pZCBnZW5lcmF0ZU1vY2tTdHJp
bmcoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKTsKKyAgICB2b2lkIGdlbmVyYXRlTW9j
a1N0cmluZyhNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpOwogCiAgICAgbXV0YWJsZSBMb2NrIG1f
YnVmZmVyTG9jazsKICAgICBTdHJpbmdCdWlsZGVyIG1fYnVmZmVyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCA1MTk3OGJiNmQ4
ZDFhMWIwZTVjMWM3YTAxNTEyMjJiZDhiZGZiMmE4Li5mZmY0NWQ2MzkzOGRiMzM4YjQ3MjRiN2E3
NDZjZTM3MjRmYTFkM2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyQ29jb2EuaApAQCAtNDksMTAgKzQ5LDkgQEAgY2xhc3MgQXVkaW9TdHJlYW1E
ZXNjcmlwdGlvbjsKIGNsYXNzIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOwogY2xhc3MgUGxhdGZv
cm1BdWRpb0RhdGE7CiAKLWNsYXNzIFdFQkNPUkVfRVhQT1JUIE1lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE1lZGlhUmVjb3JkZXJQcml2YXRl
V3JpdGVyLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiwgcHVibGljIENhbk1ha2VXZWFr
UHRyPE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiB7CitjbGFzcyBNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlciwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4sIHB1YmxpYyBDYW5NYWtl
V2Vha1B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gewogcHVibGljOgogICAgIHN0YXRp
YyBSZWZQdHI8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+IGNyZWF0ZShjb25zdCBNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSogYXVkaW9UcmFjaywgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGUqIHZpZGVvVHJhY2spOwotICAgIHN0YXRpYyBSZWZQdHI8TWVkaWFSZWNvcmRlclByaXZhdGVX
cml0ZXI+IGNyZWF0ZShib29sIGhhc0F1ZGlvLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwogICAg
IH5NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcigpOwogICAgIAogICAgIGJvb2wgc2V0dXBXcml0
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
Y29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJD
b2NvYS5tbQppbmRleCAwNjljODg3NGYwMDllMDk2YzI0OWEwNzgwMTkwZGQ4MDQ4YzZiOWJmLi45
MmZlMmE0NTBlNTkzZjI0YTk2OGZhZWYwYTZiOTZmOTVhZGUzNTEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCkBAIC05MCwxNyAr
OTAsNiBAQCBzdGF0aWMgTlNTdHJpbmcgKmdldEFWRW5jb2RlckJpdFJhdGVLZXlXaXRoRmFsbGJh
Y2soKQogfQogCiBSZWZQdHI8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+IE1lZGlhUmVjb3Jk
ZXJQcml2YXRlV3JpdGVyOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIGF1
ZGlvVHJhY2ssIGNvbnN0IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlKiB2aWRlb1RyYWNrKQotewot
ICAgIGludCB3aWR0aCA9IDAsIGhlaWdodCA9IDA7Ci0gICAgaWYgKHZpZGVvVHJhY2spIHsKLSAg
ICAgICAgYXV0byYgc2V0dGluZ3MgPSB2aWRlb1RyYWNrLT5zZXR0aW5ncygpOwotICAgICAgICB3
aWR0aCA9IHNldHRpbmdzLndpZHRoKCk7Ci0gICAgICAgIGhlaWdodCA9IHNldHRpbmdzLmhlaWdo
dCgpOwotICAgIH0KLSAgICByZXR1cm4gY3JlYXRlKCEhYXVkaW9UcmFjaywgd2lkdGgsIGhlaWdo
dCk7Ci19Ci0KLVJlZlB0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4gTWVkaWFSZWNvcmRl
clByaXZhdGVXcml0ZXI6OmNyZWF0ZShib29sIGhhc0F1ZGlvLCBpbnQgd2lkdGgsIGludCBoZWln
aHQpCiB7CiAgICAgTlNTdHJpbmcgKmRpcmVjdG9yeSA9IEZpbGVTeXN0ZW06OmNyZWF0ZVRlbXBv
cmFyeURpcmVjdG9yeShAInZpZGVvcyIpOwogICAgIE5TU3RyaW5nICpmaWxlbmFtZSA9IFtOU1N0
cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiLyVsbGQubXA0IiwgQ01DbG9ja0dldFRpbWUoQ01DbG9j
a0dldEhvc3RUaW1lQ2xvY2soKSkudmFsdWVdOwpAQCAtMTE3LDExICsxMDYsMTIgQEAgUmVmUHRy
PE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6
Y3JlYXRlKGJvb2wgaGFzQXUKIAogICAgIGF1dG8gd3JpdGVyID0gYWRvcHRSZWYoKm5ldyBNZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlcihXVEZNb3ZlKGF2QXNzZXRXcml0ZXIpLCBXVEZNb3ZlKGZp
bGVQYXRoKSkpOwogCi0gICAgaWYgKGhhc0F1ZGlvICYmICF3cml0ZXItPnNldEF1ZGlvSW5wdXQo
KSkKKyAgICBpZiAoYXVkaW9UcmFjayAmJiAhd3JpdGVyLT5zZXRBdWRpb0lucHV0KCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCi0gICAgaWYgKHdpZHRoICYmIGhlaWdodCkgewotICAgICAg
ICBpZiAoIXdyaXRlci0+c2V0VmlkZW9JbnB1dCh3aWR0aCwgaGVpZ2h0KSkKKyAgICBpZiAodmlk
ZW9UcmFjaykgeworICAgICAgICBhdXRvJiBzZXR0aW5ncyA9IHZpZGVvVHJhY2stPnNldHRpbmdz
KCk7CisgICAgICAgIGlmICghd3JpdGVyLT5zZXRWaWRlb0lucHV0KHNldHRpbmdzLndpZHRoKCks
IHNldHRpbmdzLmhlaWdodCgpKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1Qcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVByaXZhdGUuaAppbmRleCBkZTQ0ZDg4ZWY1YjljMzgxNDA0NGUwNWY3YzI4YmVlMThh
NzJlZDAzLi40YTA2ODQ0MzhjZTY2NWQ3Y2QwNGRhMTBlYTExYTViYzJiNmYyOWY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVByaXZhdGUuaApAQCAtODEsNyArODEsNyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgaWQoKSBj
b25zdCB7IHJldHVybiBtX2lkOyB9CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZVZlY3RvciB0cmFja3MoKSBjb25zdDsKKyAgICBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZVZlY3RvciB0cmFja3MoKSBjb25zdDsKICAgICBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSog
YWN0aXZlVmlkZW9UcmFjaygpIHsgcmV0dXJuIG1fYWN0aXZlVmlkZW9UcmFjazsgfQogCiAgICAg
Ym9vbCBhY3RpdmUoKSBjb25zdCB7IHJldHVybiBtX2lzQWN0aXZlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUuaAppbmRleCAwMDcxNmZkMGE0NTYxNGRlNmNkOGFiYWRlMDU5MGYyYmYxMGMwMjZl
Li4zOTFhNjUzZjQ4ZTNlN2UzMmE0ODJjNzc5N2M3ZGM3NzEzMTUwMjViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2tQcml2YXRlLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgUmVmPE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlPiBjbG9uZSgpOwogCiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZSYg
c291cmNlKCkgeyByZXR1cm4gbV9zb3VyY2UuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBS
ZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUoKSBjb25zdDsKKyAgICBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlIHR5cGUoKSBjb25zdDsKIAogICAgIHZvaWQgZW5kVHJhY2soKTsKIApAQCAt
MTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc09ic2VydmVyKE9ic2VydmVyJikg
Y29uc3Q7CiAjZW5kaWYKIAotICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFJlYWx0aW1lTWVkaWFT
b3VyY2VTZXR0aW5ncyYgc2V0dGluZ3MoKSBjb25zdDsKKyAgICBjb25zdCBSZWFsdGltZU1lZGlh
U291cmNlU2V0dGluZ3MmIHNldHRpbmdzKCkgY29uc3Q7CiAgICAgY29uc3QgUmVhbHRpbWVNZWRp
YVNvdXJjZUNhcGFiaWxpdGllcyYgY2FwYWJpbGl0aWVzKCkgY29uc3Q7CiAKICAgICB2b2lkIGFw
cGx5Q29uc3RyYWludHMoY29uc3QgTWVkaWFDb25zdHJhaW50cyYsIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OkFwcGx5Q29uc3RyYWludHNIYW5kbGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCmluZGV4IDY4YWI0MjM4NzZhNjUwOWU1ZGJlMjBmMDE2MmY0MjdmZTA5MDRjNTAuLmJh
OTQxOGM1MGM3OWYwMzg5NWUzN2JjN2IzNzdmYWE5M2I1NTczYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKQEAgLTEyMiw3ICsxMjIsNiBAQAogI2luY2x1ZGUgIk1lZGlhRW5n
aW5lQ29uZmlndXJhdGlvbkZhY3RvcnkuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgogI2lu
Y2x1ZGUgIk1lZGlhUHJvZHVjZXIuaCIKLSNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJvdmlkZXIu
aCIKICNpbmNsdWRlICJNZWRpYVJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJl
YW1UcmFjay5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCkBAIC01NTEsOCArNTUwLDYgQEAg
dm9pZCBJbnRlcm5hbHM6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoUGFnZSYgcGFnZSkKIAogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2VFbmFibGVk
KGZhbHNlKTsKLSAgICBXZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpzZXRDdXN0b21Qcml2YXRlUmVj
b3JkZXJDcmVhdG9yKG51bGxwdHIpOwotICAgIHBhZ2UubWVkaWFSZWNvcmRlclByb3ZpZGVyKCku
c2V0VXNlR1BVUHJvY2Vzcyh0cnVlKTsKICNlbmRpZgogCiAgICAgSFRNTENhbnZhc0VsZW1lbnQ6
OnNldE1heFBpeGVsTWVtb3J5Rm9yVGVzdGluZygwKTsgLy8gVGhpcyBtZWFucyB1c2UgdGhlIGRl
ZmF1bHQgdmFsdWUuCkBAIC0xNTYxLDkgKzE1NTgsNyBAQCB2b2lkIEludGVybmFsczo6c2V0VXNl
R1BVUHJvY2Vzc0ZvcldlYlJUQyhib29sIHVzZUdQVVByb2Nlc3MpCiAgICAgYXV0byogZG9jdW1l
bnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+
cGFnZSgpKQogICAgICAgICByZXR1cm47Ci0KICAgICBkb2N1bWVudC0+cGFnZSgpLT5saWJXZWJS
VENQcm92aWRlcigpLnNldFVzZUdQVVByb2Nlc3ModXNlR1BVUHJvY2Vzcyk7Ci0gICAgZG9jdW1l
bnQtPnBhZ2UoKS0+bWVkaWFSZWNvcmRlclByb3ZpZGVyKCkuc2V0VXNlR1BVUHJvY2Vzcyh1c2VH
UFVQcm9jZXNzKTsKICNlbmRpZgogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCA1MzI2
NzhmMzc2MDMzYzNjMDBmOWY2YmQ1YTMwYzM4NjkwZTMzNGJmLi5mZjUyZDI1MzZmNTY1ZmEyOTVi
ZWI2MjAxMjY4YTBmMzMzMTcwZmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTc4LDggKzc4LDYg
QEAgc2V0KFdlYktpdF9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUX0RJUn0vV2Vi
UHJvY2Vzcy9HYW1lcGFkIgogICAgICIke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MvR2VvbG9jYXRp
b24iCiAgICAgIiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9HUFUiCi0gICAgIiR7V0VCS0lUX0RJ
Un0vV2ViUHJvY2Vzcy9HUFUvbWVkaWEiCi0gICAgIiR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9H
UFUvd2VicnRjIgogICAgICIke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIgog
ICAgICIke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUiCiAgICAgIiR7V0VC
S0lUX0RJUn0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViS2l0
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZWRmYjZlMWUwNWU1NjQwMDhi
N2Q1N2E4NzQ1Mzc4YzQzZDY2Y2Y5Ni4uNzk5NGUzY2E3Nzc2MzI5ZDZmNzVkN2FhZjBjOTNmZDlh
YTA1OWUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtMTksOCArMTksNiBAQCAkKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICQoUFJPSkVD
VF9ESVIpL0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIubWVzc2Fn
ZXMuaW4KICQoUFJPSkVDVF9ESVIpL0dQVVByb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ0NvZGVjc1By
b3h5Lm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVN
ZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCi0kKFBST0pFQ1RfRElSKS9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbgogJChQUk9KRUNUX0RJUikv
TmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBS
T0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMvTGVnYWN5Q3VzdG9tUHJv
dG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluCiAkKFBST0pFQ1RfRElSKS9OZXR3b3JrUHJvY2Vzcy9J
bmRleGVkREIvV2ViSURCU2VydmVyLm1lc3NhZ2VzLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYktpdC9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBkZmJjMGVmZTZiODQ3MjZmOTZjODk4
MjhjZDgzZDBlZDc1OTA1YTA2Li4wY2QyM2UwMWJiYWNkMmVjNGEwYmRjM2JkZmYyYmUwZDdiNjBi
MDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0CisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKQEAgLTEyOSwxMyArMTI5LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyTWVzc2FnZXNSZXAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRp
YVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzUmVwbGllcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyTWVzc2FnZXMuaAotJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXJN
ZXNzYWdlc1JlcGxpZXMuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUmVtb3RlTWVkaWFSZWNvcmRlck1lc3NhZ2VSZWNlaXZlci5jcHAKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhUmVjb3JkZXJNZXNz
YWdlcy5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1v
dGVNZWRpYVJlY29yZGVyTWVzc2FnZXNSZXBsaWVzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1lZGlhUmVjb3JkZXJzTWVzc2FnZXNSZXBsaWVz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1JlbW90ZU1l
ZGlhUmVzb3VyY2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXJNZXNz
YWdlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9SZW1v
dGVNZWRpYVJlc291cmNlTWFuYWdlck1lc3NhZ2VzUmVwbGllcy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0L0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggZTI5MDkzMDk3Y2Q5YmRlYjM0NWExOWE1ZDM3ZmU1N2E1NDBkZWI3MC4u
OWQzZTJhOTBjN2I0ZDkwYTQyNmM3NmE0ZTA1ZTZiMmY4MWNjMGU5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMTQzLDggKzE0Myw2IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAog
ICAgIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkgXAogICAgIFJlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlciBcCiAgICAgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkgXAotICAgIFJl
bW90ZU1lZGlhUmVjb3JkZXIgXAotICAgIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyIFwKICAg
ICBSZW1vdGVNZWRpYVJlc291cmNlTWFuYWdlciBcCiAgICAgUmVtb3RlT2JqZWN0UmVnaXN0cnkg
XAogICAgIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA2MjBi
NDFmMjhkNjY3NmEzZGUxN2Y0NzZiMmRmMzg4ZmZmNjQ3NzBkLi41MmE5NWNlMGRlZDcwM2Q2MWQz
NGE5ZDE3ZjBjOGI0MmU2NjRmZGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0zOSw5ICszOSw2IEBACiAj
aW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiUmVtb3RlTWVkaWFS
ZWNvcmRlck1hbmFnZXIuaCIKLSNpbmNsdWRlICJSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlck1l
c3NhZ2VzLmgiCi0jaW5jbHVkZSAiUmVtb3RlTWVkaWFSZWNvcmRlck1lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFSZXNvdXJjZU1hbmFnZXIuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRp
YVJlc291cmNlTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JUcmFuc2FjdGlvbi5oIgpAQCAtMTQwLDE0ICsxMzcsNiBAQCBVc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp1c2VyTWVkaWFDYXB0
dXJlTWFuYWdlcgogCiAgICAgcmV0dXJuICptX3VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHk7
CiB9Ci0KLVJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyJiBHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjptZWRpYVJlY29yZGVyTWFuYWdlcigpCi17Ci0gICAgaWYgKCFtX3JlbW90ZU1lZGlhUmVj
b3JkZXJNYW5hZ2VyKQotICAgICAgICBtX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyID0gbWFr
ZVVuaXF1ZTxSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcj4oKnRoaXMpOwotCi0gICAgcmV0dXJu
ICptX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOwotfQogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkgJiYgVVNFKExJQldFQlJUQykKQEAgLTE3NCwxNCArMTYzLDYgQEAgdm9pZCBHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIEkKICAgICAgICAgdXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSgpLmRp
ZFJlY2VpdmVNZXNzYWdlRnJvbUdQVVByb2Nlc3MoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgp
ID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpKSB7Ci0gICAgICAgIG1lZGlhUmVjb3JkZXJNYW5hZ2VyKCkuZGlkUmVjZWl2ZU1lc3Nh
Z2VGcm9tV2ViUHJvY2Vzcyhjb25uZWN0aW9uLCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLSAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6
OlJlbW90ZU1lZGlhUmVjb3JkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBt
ZWRpYVJlY29yZGVyTWFuYWdlcigpLmRpZFJlY2VpdmVSZW1vdGVNZWRpYVJlY29yZGVyTWVzc2Fn
ZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRpZgog
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiBVU0UoTElCV0VCUlRDKQogICAgIGlmIChkZWNvZGVyLm1l
c3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TGliV2ViUlRDQ29kZWNzUHJveHk6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggZjQ4NTk2NGQ0NmM1MmUzMzhkMmFi
ZTRmNzY1ZGRjYjVhOTRhMDc5MC4uYWM3MTI1ZDczOGQ4Njg4OGVlYThiNGE5MjUxNWY5ZGU0ZDFm
NmIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oCkBAIC00MSw5ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xh
c3MgR1BVUHJvY2VzczsKIGNsYXNzIExpYldlYlJUQ0NvZGVjc1Byb3h5OwogY2xhc3MgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk7Ci1jbGFzcyBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
cjsKLWNsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogY2xhc3MgVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eTsKK2NsYXNzIFJlbW90ZU1lZGlhUmVzb3VyY2VNYW5hZ2VyOwogCiBj
bGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzCiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxH
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzPgpAQCAtNzIsNyArNzEsNiBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgVXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSYgdXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSgp
OwotICAgIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyJiBtZWRpYVJlY29yZGVyTWFuYWdlcigp
OwogI2VuZGlmCiAKICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudApAQCAtOTEsNyArODks
NiBAQCBwcml2YXRlOgogICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxV
c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5PiBtX3VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJv
eHk7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyPiBtX3Jl
bW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpICYm
IFVTRShMSUJXRUJSVEMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ0NvZGVjc1Byb3h5
PiBtX2xpYldlYlJUQ0NvZGVjc1Byb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGFkOGE4NWQ1NzRiY2U3Y2FjMzAzZDYzYTI5YmI5NWYwYzM5Y2NmMGYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDEzOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXIuaCIKLQotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBF
TkFCTEUoR1BVX1BST0NFU1MpCi0KLSNpbmNsdWRlICJTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5o
IgotI2luY2x1ZGUgPFdlYkNvcmUvQ0FSaW5nQnVmZmVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9J
bWFnZVRyYW5zZmVyU2Vzc2lvblZULmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW1vdGVWaWRlb1Nh
bXBsZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLQotc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhUmVjb3Jk
ZXI+IFJlbW90ZU1lZGlhUmVjb3JkZXI6OmNyZWF0ZShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
JiBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBNZWRpYVJlY29yZGVySWRlbnRpZmllciBpZGVu
dGlmaWVyLCBib29sIHJlY29yZEF1ZGlvLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCi17Ci0gICAg
YXV0byB3cml0ZXIgPSBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6Y3JlYXRlKHJlY29yZEF1
ZGlvLCB3aWR0aCwgaGVpZ2h0KTsKLSAgICBpZiAoIXdyaXRlcikKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVNZWRpYVJlY29yZGVyPihu
ZXcgUmVtb3RlTWVkaWFSZWNvcmRlciB7IGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MsIGlkZW50
aWZpZXIsIHdyaXRlci5yZWxlYXNlTm9uTnVsbCgpLCByZWNvcmRBdWRpbyB9KTsKLX0KLQotUmVt
b3RlTWVkaWFSZWNvcmRlcjo6UmVtb3RlTWVkaWFSZWNvcmRlcihHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJiBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBNZWRpYVJlY29yZGVySWRlbnRpZmll
ciBpZGVudGlmaWVyLCBSZWY8TWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXI+JiYgd3JpdGVyLCBi
b29sIHJlY29yZEF1ZGlvKQotICAgIDogbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKGdwdUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCi0gICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKLSAg
ICAsIG1fd3JpdGVyKFdURk1vdmUod3JpdGVyKSkKLXsKLSAgICBpZiAocmVjb3JkQXVkaW8pCi0g
ICAgICAgIG1fcmluZ0J1ZmZlciA9IG1ha2VVbmlxdWU8Q0FSaW5nQnVmZmVyPihtYWtlVW5pcXVl
UmVmPFNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlPihudWxscHRyKSk7Ci19Ci0KLVJlbW90ZU1lZGlh
UmVjb3JkZXI6On5SZW1vdGVNZWRpYVJlY29yZGVyKCkKLXsKLX0KLQotU2hhcmVkUmluZ0J1ZmZl
clN0b3JhZ2UmIFJlbW90ZU1lZGlhUmVjb3JkZXI6OnN0b3JhZ2UoKQotewotICAgIHJldHVybiBz
dGF0aWNfY2FzdDxTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZSY+KG1fcmluZ0J1ZmZlci0+c3RvcmFn
ZSgpKTsKLX0KLQotdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyOjphdWRpb1NhbXBsZXNTdG9yYWdl
Q2hhbmdlZChjb25zdCBTaGFyZWRNZW1vcnk6OkhhbmRsZSYgaGFuZGxlLCBjb25zdCBXZWJDb3Jl
OjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1iZXJP
ZkZyYW1lcykKLXsKLSAgICBBU1NFUlQobV9yaW5nQnVmZmVyKTsKLSAgICBpZiAoIW1fcmluZ0J1
ZmZlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9u
OwotCi0gICAgaWYgKGhhbmRsZS5pc051bGwoKSkgewotICAgICAgICBtX3JpbmdCdWZmZXItPmRl
YWxsb2NhdGUoKTsKLSAgICAgICAgc3RvcmFnZSgpLnNldFJlYWRPbmx5KGZhbHNlKTsKLSAgICAg
ICAgc3RvcmFnZSgpLnNldFN0b3JhZ2UobnVsbHB0cik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBhdXRvIG1lbW9yeSA9IFNoYXJlZE1lbW9yeTo6bWFwKGhhbmRsZSwgU2hhcmVkTWVt
b3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7Ci0gICAgc3RvcmFnZSgpLnNldFN0b3JhZ2UoV1RG
TW92ZShtZW1vcnkpKTsKLSAgICBzdG9yYWdlKCkuc2V0UmVhZE9ubHkodHJ1ZSk7Ci0KLSAgICBt
X3JpbmdCdWZmZXItPmFsbG9jYXRlKGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7Ci19Ci0K
LXZvaWQgUmVtb3RlTWVkaWFSZWNvcmRlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKE1lZGlhVGlt
ZSB0aW1lLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcywgdWludDY0X3Qgc3RhcnRGcmFtZSwgdWlu
dDY0X3QgZW5kRnJhbWUpCi17Ci0gICAgQVNTRVJUKG1fcmluZ0J1ZmZlcik7Ci0gICAgaWYgKCFt
X3JpbmdCdWZmZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fcmluZ0J1ZmZlci0+c2V0Q3Vy
cmVudEZyYW1lQm91bmRzKHN0YXJ0RnJhbWUsIGVuZEZyYW1lKTsKLQotICAgIFdlYkF1ZGlvQnVm
ZmVyTGlzdCBhdWRpb0RhdGEobV9kZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwotICAgIG1f
cmluZ0J1ZmZlci0+ZmV0Y2goYXVkaW9EYXRhLmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIHRpbWUu
dGltZVZhbHVlKCkpOwotCi0gICAgbV93cml0ZXItPmFwcGVuZEF1ZGlvU2FtcGxlQnVmZmVyKGF1
ZGlvRGF0YSwgbV9kZXNjcmlwdGlvbiwgdGltZSwgbnVtYmVyT2ZGcmFtZXMpOwotfQotCi12b2lk
IFJlbW90ZU1lZGlhUmVjb3JkZXI6OnZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlbW90
ZVZpZGVvU2FtcGxlJiYgcmVtb3RlU2FtcGxlKQotewotICAgIGlmICghbV9pbWFnZVRyYW5zZmVy
U2Vzc2lvbiB8fCBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uLT5waXhlbEZvcm1hdCgpICE9IHJlbW90
ZVNhbXBsZS52aWRlb0Zvcm1hdCgpKQotICAgICAgICBtX2ltYWdlVHJhbnNmZXJTZXNzaW9uID0g
SW1hZ2VUcmFuc2ZlclNlc3Npb25WVDo6Y3JlYXRlKHJlbW90ZVNhbXBsZS52aWRlb0Zvcm1hdCgp
KTsKLQotICAgIGlmICghbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbikgewotICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGF1dG8gc2FtcGxl
QnVmZmVyID0gbV9pbWFnZVRyYW5zZmVyU2Vzc2lvbi0+Y3JlYXRlTWVkaWFTYW1wbGUocmVtb3Rl
U2FtcGxlLnN1cmZhY2UoKSwgcmVtb3RlU2FtcGxlLnRpbWUoKSwgcmVtb3RlU2FtcGxlLnNpemUo
KSk7Ci0gICAgaWYgKCFzYW1wbGVCdWZmZXIpIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX3dyaXRlci0+YXBwZW5kVmlkZW9T
YW1wbGVCdWZmZXIoc2FtcGxlQnVmZmVyLT5wbGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5jbVNhbXBs
ZUJ1ZmZlcik7Ci19Ci0KLXZvaWQgUmVtb3RlTWVkaWFSZWNvcmRlcjo6ZmV0Y2hEYXRhKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoSVBDOjpEYXRhUmVmZXJlbmNlJiYsIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxjb25zdCBTdHJpbmc+IG1wNE1pbWVUeXBlKE1BS0VfU1RBVElDX1NUUklOR19JTVBMKCJ2aWRl
by9tcDQiKSk7Ci0gICAgbV93cml0ZXItPmZldGNoRGF0YShbJm1wNE1pbWVUeXBlID0gbXA0TWlt
ZVR5cGUuZ2V0KCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKGF1dG8mJiBkYXRhKSBtdXRhYmxlIHsKLSAgICAgICAgYXV0byogcG9pbnRlciA9IHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRhdGEgPyBkYXRhLT5kYXRhKCkgOiBudWxscHRy
KTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoSVBDOjpEYXRhUmVmZXJlbmNlIHsgcG9pbnRl
ciwgZGF0YSA/IGRhdGEtPnNpemUoKSA6IDAgfSwgbXA0TWltZVR5cGUpOwotICAgIH0pOwotfQot
Ci12b2lkIFJlbW90ZU1lZGlhUmVjb3JkZXI6OnN0b3BSZWNvcmRpbmcoKQotewotICAgIG1fd3Jp
dGVyLT5zdG9wUmVjb3JkaW5nKCk7Ci19Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NGE4ZDE3NTVjNTk1MzBjMjMxMzZiNDc3YjlhOGEwODU0
NDE0ZjU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCisrKyAv
ZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0j
aWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQotI2luY2x1ZGUgIk1l
ZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCi0jaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCi0j
aW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9DQUF1ZGlvU3RyZWFt
RGVzY3JpcHRpb24uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUmVjb3JkZXJQcml2YXRlV3Jp
dGVyQ29jb2EuaD4KLSNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Ci0KLW5hbWVzcGFjZSBJUEMg
ewotY2xhc3MgQ29ubmVjdGlvbjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7Ci1jbGFzcyBEZWNvZGVy
OwotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBDQVJpbmdCdWZmZXI7Ci1jbGFzcyBJ
bWFnZVRyYW5zZmVyU2Vzc2lvblZUOwotY2xhc3MgUmVtb3RlVmlkZW9TYW1wbGU7Ci19Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwotY2xh
c3MgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U7Ci0KLWNsYXNzIFJlbW90ZU1lZGlhUmVjb3JkZXIg
OiBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhUmVj
b3JkZXI+IGNyZWF0ZShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgTWVkaWFSZWNvcmRlcklk
ZW50aWZpZXIsIGJvb2wgcmVjb3JkQXVkaW8sIGludCB3aWR0aCwgaW50IGhlaWdodCk7Ci0gICAg
flJlbW90ZU1lZGlhUmVjb3JkZXIoKTsKLQotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7Ci0KLXByaXZhdGU6Ci0gICAgUmVt
b3RlTWVkaWFSZWNvcmRlcihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiwgTWVkaWFSZWNvcmRl
cklkZW50aWZpZXIsIFJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcj4mJiwg
Ym9vbCByZWNvcmRBdWRpbyk7Ci0KLSAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZv
aWQgYXVkaW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQoY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUm
LCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mLCB1aW50NjRfdCBudW1i
ZXJPZkZyYW1lcyk7Ci0gICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoTWVkaWFUaW1lLCB1
aW50NjRfdCBudW1iZXJPZkZyYW1lcywgdWludDY0X3Qgc3RhcnRGcmFtZSwgdWludDY0X3QgZW5k
RnJhbWUpOwotICAgIHZvaWQgdmlkZW9TYW1wbGVBdmFpbGFibGUoV2ViQ29yZTo6UmVtb3RlVmlk
ZW9TYW1wbGUmJik7Ci0gICAgdm9pZCBmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChJ
UEM6OkRhdGFSZWZlcmVuY2UmJiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk+JiYpOwotICAgIHZv
aWQgc3RvcFJlY29yZGluZygpOwotCi0gICAgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UmIHN0b3Jh
Z2UoKTsKLQotICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fZ3B1Q29ubmVjdGlvblRv
V2ViUHJvY2VzczsKLSAgICBNZWRpYVJlY29yZGVySWRlbnRpZmllciBtX2lkZW50aWZpZXI7Ci0g
ICAgUmVmPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyPiBtX3dyaXRlcjsKLQot
ICAgIFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiBtX2Rlc2NyaXB0aW9uOwotICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1fcmluZ0J1ZmZlcjsKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SW1hZ2VUcmFuc2ZlclNlc3Npb25WVD4gbV9pbWFn
ZVRyYW5zZmVyU2Vzc2lvbjsKLX07Ci0KLX0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVz
c2FnZXMuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0YmE2NGQ1NmZiZWEzMGZj
YmIzOTZkYWQ1ZWEzZmMzMGM5OTVkZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRp
YVJlY29yZGVyLm1lc3NhZ2VzLmluCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotIyBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0jIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0jIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotIyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0jIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0jIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotIyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotIyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotIyBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0j
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCi0KLW1lc3NhZ2Vz
IC0+IFJlbW90ZU1lZGlhUmVjb3JkZXIgTm90UmVmQ291bnRlZCB7Ci0gICAgQXVkaW9TYW1wbGVz
U3RvcmFnZUNoYW5nZWQoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBzdG9yYWdlSGFuZGxl
LCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gZGVzY3JpcHRpb24sIHVpbnQ2NF90
IG51bWJlck9mRnJhbWVzKQotICAgIEF1ZGlvU2FtcGxlc0F2YWlsYWJsZShNZWRpYVRpbWUgdGlt
ZSwgdWludDY0X3QgbnVtYmVyT2ZGcmFtZXMsIHVpbnQ2NF90IHN0YXJ0RnJhbWUsIHVpbnQ2NF90
IGVuZEZyYW1lKQotICAgIFZpZGVvU2FtcGxlQXZhaWxhYmxlKFdlYkNvcmU6OlJlbW90ZVZpZGVv
U2FtcGxlIHNhbXBsZSkKLSAgICBGZXRjaERhdGEoKSAtPiAoSVBDOjpEYXRhUmVmZXJlbmNlIGJ1
ZmZlciwgU3RyaW5nIG1pbWVUeXBlKSBBc3luYwotICAgIFN0b3BSZWNvcmRpbmcoKQotfQotCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
TWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDM0ZTNmZWRiYjIxODJiOTZmMWIzZmU2ZjZhY2FkNmFjZDUwZjI0MjYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw3MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgiCi0KLSNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCi0jaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgot
I2luY2x1ZGUgIkRlY29kZXIuaCIKLSNpbmNsdWRlICJSZW1vdGVNZWRpYVJlY29yZGVyLmgiCi0j
aW5jbHVkZSA8V2ViQ29yZS9FeGNlcHRpb25EYXRhLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewot
Ci1SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIo
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcykKLSAg
ICA6IG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
KQotewotfQotCi1SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6flJlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyKCkKLXsKLX0KLQotdm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjo6ZGlk
UmVjZWl2ZVJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQotewotICAgIGlmIChhdXRvKiByZWNvcmRlciA9
IG1fcmVjb3JkZXJzLmdldChtYWtlT2JqZWN0SWRlbnRpZmllcjxNZWRpYVJlY29yZGVySWRlbnRp
ZmllclR5cGU+KGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkpCi0gICAgICAgIHJlY29yZGVyLT5k
aWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKLX0KLQotdm9pZCBSZW1vdGVN
ZWRpYVJlY29yZGVyTWFuYWdlcjo6Y3JlYXRlUmVjb3JkZXIoTWVkaWFSZWNvcmRlcklkZW50aWZp
ZXIgaWRlbnRpZmllciwgYm9vbCByZWNvcmRBdWRpbywgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbkRhdGE+JiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQotewotICAgIEFTU0VSVCghbV9yZWNvcmRlcnMuY29udGFpbnMoaWRlbnRp
ZmllcikpOwotICAgIGF1dG8gcmVjb3JkZXIgPSBSZW1vdGVNZWRpYVJlY29yZGVyOjpjcmVhdGUo
bV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLCBpZGVudGlmaWVyLCByZWNvcmRBdWRpbywgd2lk
dGgsIGhlaWdodCk7Ci0gICAgaWYgKCFyZWNvcmRlcikKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRp
b25IYW5kbGVyKEV4Y2VwdGlvbkRhdGEgeyBOb3RTdXBwb3J0ZWRFcnJvciwgIlVuYWJsZSB0byBj
cmVhdGUgYSByZWNvcmRlciB3aXRoIHRoZSBwcm92aWRlZCBzdHJlYW0iX3MgfSk7Ci0KLSAgICBt
X3JlY29yZGVycy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShyZWNvcmRlcikpOwotICAgIGNvbXBs
ZXRpb25IYW5kbGVyKHsgfSk7Ci19Ci0KLXZvaWQgUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI6
OnJlbGVhc2VSZWNvcmRlcihNZWRpYVJlY29yZGVySWRlbnRpZmllciBpZGVudGlmaWVyKQotewot
ICAgIEFTU0VSVChtX3JlY29yZGVycy5jb250YWlucyhpZGVudGlmaWVyKSk7Ci0gICAgbV9yZWNv
cmRlcnMucmVtb3ZlKGlkZW50aWZpZXIpOwotfQotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
ci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
TWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDU3MGI0ZTIwMmZhZDI1
MzkzNTRhZjE3MGYxMDEwMzI4OGU5ZDZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVk
aWFSZWNvcmRlck1hbmFnZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLQotCi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxF
KEdQVV9QUk9DRVNTKQotCi0jaW5jbHVkZSAiTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaCIKLSNp
bmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgQ29ubmVjdGlv
bjsKLWNsYXNzIERlY29kZXI7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXN0cnVjdCBFeGNl
cHRpb25EYXRhOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzczsKLWNsYXNzIFJlbW90ZU1lZGlhUmVjb3JkZXI7Ci0KLWNsYXNzIFJlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyIDogcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7Ci0g
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgUmVtb3Rl
TWVkaWFSZWNvcmRlck1hbmFnZXIoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwotICAgIH5S
ZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcigpOwotCi0gICAgdm9pZCBkaWRSZWNlaXZlUmVtb3Rl
TWVkaWFSZWNvcmRlck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7Ci0g
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQcm9jZXNzKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKSB7IGRpZFJlY2VpdmVNZXNzYWdlKGNv
bm5lY3Rpb24sIGRlY29kZXIpOyB9Ci0KLXByaXZhdGU6Ci0gICAgLy8gSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIKLSAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIGZpbmFsOwotICAgIHZvaWQgY3JlYXRlUmVjb3JkZXIoTWVkaWFSZWNvcmRlcklk
ZW50aWZpZXIsIGJvb2wgcmVjb3JkQXVkaW8sIGludCB3aWR0aCwgaW50IGhlaWdodCwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiYmKT4mJik7
Ci0gICAgdm9pZCByZWxlYXNlUmVjb3JkZXIoTWVkaWFSZWNvcmRlcklkZW50aWZpZXIpOwotCi0g
ICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OwotICAgIEhhc2hNYXA8TWVkaWFSZWNvcmRlcklkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxS
ZW1vdGVNZWRpYVJlY29yZGVyPj4gbV9yZWNvcmRlcnM7Ci19OwotCi19Ci0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29y
ZGVyTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMv
UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4KZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM4N2E0MTM2MWNkYmQ5YjdlYWUyYzMzNzM2NTJhOThmNDkzNGUxNzQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5p
bgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotIyBhcmUgbWV0OgotIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotIyBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotIyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSMgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSMgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotIyBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0KLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi1tZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVJlY29y
ZGVyTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKLSAgICBDcmVhdGVSZWNvcmRlcihXZWJLaXQ6Ok1l
ZGlhUmVjb3JkZXJJZGVudGlmaWVyIGlkLCBib29sIGhhc0F1ZGlvLCBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpIC0+IChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb25EYXRhPiBjcmVhdGlvbkVycm9y
KSBBc3luYwotICAgIFJlbGVhc2VSZWNvcmRlcihXZWJLaXQ6Ok1lZGlhUmVjb3JkZXJJZGVudGlm
aWVyIGlkKQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93
ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5CmluZGV4IGY4YmNlMTQ1NTA3ZGY0OWU4OWVkNGY3MTk4NzZlMTBiZjcwOTZiZGUuLjVkODQ0
NzEzMjViYmE3YTQzNWVkOTMzYzA5MDkwOTQ1M2I5ZDQwMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMjIwLDcgKzIyMCw2IEBAIGRlZiB0eXBlc190aGF0
X2Nhbm5vdF9iZV9mb3J3YXJkX2RlY2xhcmVkKCk6CiAgICAgICAgICdXZWJLaXQ6OkFjdGl2aXR5
U3RhdGVDaGFuZ2VJRCcsCiAgICAgICAgICdXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCcs
CiAgICAgICAgICdXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXInLAot
ICAgICAgICAnV2ViS2l0OjpNZWRpYVJlY29yZGVySWRlbnRpZmllcicsCiAgICAgICAgICdXZWJL
aXQ6OlJlbW90ZU1lZGlhUmVzb3VyY2VJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYktpdDo6UlRD
RGVjb2RlcklkZW50aWZpZXInLAogICAgICAgICAnV2ViS2l0OjpSVENFbmNvZGVySWRlbnRpZmll
cicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzLnR4dAppbmRleCAzMDZjZDFlNjkzNTY2MWFkNDFjMDYwOTI4NDhiZjlhZjM2YjFi
NzI2Li5kMDM5M2JiMDYyZDk3YWU5NmE3MjI1YTZkNjA3YjA3NGIzOGUwYzk4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKQEAgLTI0LDggKzI0LDYgQEAKIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKIEdQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKLUdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3Jk
ZXIuY3BwCi1HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAK
IEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCiBHUFVQ
cm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUmVzb3VyY2UuY3BwCkBAIC01MTUsOCArNTEzLDYgQEAgV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmNwcAogV2ViUHJvY2Vzcy9HUFUvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNSU1FVHlwZUNhY2hlLmNwcCBAbm8tdW5pZnkKIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUmVzb3VyY2VQcm94eS5jcHAKIFdlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCi1XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFS
ZWNvcmRlclByaXZhdGUuY3BwCi1XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
b3ZpZGVyLmNwcAogCiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcAogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2Vz
Q29jb2EudHh0CmluZGV4IGFiYzhiODU5MmZiMjY3MDBiNTZjMGY0NzY4NzU5MGNmMmIwNmU2OTAu
LmZlNzU3OTUzNzYxYjk5ZjY5YjgyOGMxMWJiYzBmMzMxYWVlZmMxOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQKQEAgLTYzNSw3ICs2MzUsNSBAQCBHUFVQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwCiBHUFVQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcAogTGliV2ViUlRDQ29kZWNzUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwCiBMaWJXZWJSVENDb2RlY3NNZXNzYWdlUmVjZWl2ZXIuY3Bw
Ci1SZW1vdGVNZWRpYVJlY29yZGVyTWVzc2FnZVJlY2VpdmVyLmNwcAotUmVtb3RlTWVkaWFSZWNv
cmRlck1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwCiBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrTWVz
c2FnZVJlY2VpdmVyLmNwcAogVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggY2YwYjNiZWU3ZTAyZmQyNjgxMzk5M2MzNTVhMDk4ZTM1MmViODIzMC4uNTc3OGJh
NTg3MjMyYzZlNmE3ODIyNDZiOWM3Y2IzMjBhZThmY2NlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMzE2LDE3ICszMzE2LDYgQEAK
IAkJNDE3MjE5OEMyM0I2MTJFODAwQUU1Njg2IC8qIFJUQ0RlY29kZXJJZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0RlY29kZXJJZGVudGlmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzIxOThEMjNCNjJDN0MwMEFFNTY4NiAvKiBM
aWJXZWJSVENDb2RlY3MubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTGliV2ViUlRDQ29kZWNzLm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTc2OTAxMzIyRkRENDFCMDBCMTU3
NkQgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gTmV0d29ya1JUQ1Byb3ZpZGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk0MTc2RTg5MjIzQzM0RDZFMDAzRTgzRkUgLyogTWVkaWFSZWNvcmRlclByb3ZpZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUmVjb3JkZXJQcm92aWRlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk0MTc2RTg5MzIzQzM0RDZGMDAzRTgzRkUgLyogTWVkaWFSZWNvcmRl
clByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUmVjb3JkZXJQcm92aWRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxNzZFODk0MjNDMzRFMjYwMDNFODNG
RSAvKiBNZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTQxNzZFODk1MjNDMzRFMjcwMDNFODNGRSAvKiBNZWRpYVJlY29yZGVyUHJpdmF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVJlY29yZGVyUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTc2RTg5NzIzQzM2MUJEMDAzRTgz
RkUgLyogTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDE3NkU4OTgyM0MzNjY3NzAwM0U4M0ZFIC8qIFJlbW90ZU1lZGlhUmVjb3JkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3RlTWVkaWFSZWNvcmRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTc2RTg5OTIzQzM2RDhFMDAzRTgzRkUg
LyogUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNDE3NkU4OUEyM0MzNkY3MTAwM0U4M0ZFIC8qIFJlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NDE3NkU4OUIyM0MzNzIyMjAwM0U4M0ZFIC8qIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MTc2RTg5QzIz
QzM3NDc5MDAzRTgzRkUgLyogUmVtb3RlTWVkaWFSZWNvcmRlci5tZXNzYWdlcy5pbiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBSZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk0MTc2RTg5RDIzQzM3NkQ1MDAzRTgzRkUgLyogUmVtb3Rl
TWVkaWFSZWNvcmRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW1vdGVNZWRpYVJlY29yZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3
OTE1QUMyMjU2QkI3NDAwRDZGOTdFIC8qIFdlYlNvY2tldENoYW5uZWwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViU29ja2V0Q2hhbm5lbC5jcHA7IHBhdGggPSBO
ZXR3b3JrL1dlYlNvY2tldENoYW5uZWwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTc5MTVBRDIyNTZCQjc0MDBENkY5N0UgLyogV2ViU29ja2V0Q2hhbm5lbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJTb2NrZXRDaGFubmVsLmg7IHBhdGggPSBOZXR3
b3JrL1dlYlNvY2tldENoYW5uZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3
OTE1QjAyMjU2QzBENjAwRDZGOTdFIC8qIFdlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmg7IHBh
dGggPSBOZXR3b3JrL1dlYlNvY2tldENoYW5uZWxNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC03MTI4LDExICs3MTE3LDYgQEAKIAkJCQk0MTcyMTk4QTIzQjYxMjgyMDBB
RTU2ODYgLyogTGliV2ViUlRDQ29kZWNzLmNwcCAqLywKIAkJCQk0MTcyMTk4OTIzQjYxMjgyMDBB
RTU2ODYgLyogTGliV2ViUlRDQ29kZWNzLmggKi8sCiAJCQkJNDE3MjE5OEQyM0I2MkM3QzAwQUU1
Njg2IC8qIExpYldlYlJUQ0NvZGVjcy5tZXNzYWdlcy5pbiAqLywKLQkJCQk0MTc2RTg5NzIzQzM2
MUJEMDAzRTgzRkUgLyogTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaCAqLywKLQkJCQk0MTc2RTg5
NDIzQzM0RTI2MDAzRTgzRkUgLyogTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwICovLAotCQkJCTQx
NzZFODk1MjNDMzRFMjcwMDNFODNGRSAvKiBNZWRpYVJlY29yZGVyUHJpdmF0ZS5oICovLAotCQkJ
CTQxNzZFODkzMjNDMzRENkYwMDNFODNGRSAvKiBNZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwICov
LAotCQkJCTQxNzZFODkyMjNDMzRENkUwMDNFODNGRSAvKiBNZWRpYVJlY29yZGVyUHJvdmlkZXIu
aCAqLywKIAkJCQk0MTcyMTk4QzIzQjYxMkU4MDBBRTU2ODYgLyogUlRDRGVjb2RlcklkZW50aWZp
ZXIuaCAqLywKIAkJCQk0MTU4NjQ5QTIzQkUwOTI0MDBBMEE2MUUgLyogUlRDRW5jb2RlcklkZW50
aWZpZXIuaCAqLywKIAkJCSk7CkBAIC03MTQ1LDEyICs3MTI5LDYgQEAKIAkJCQk0MUUwQTdDNjIz
QjYzOTc4MDA1NjEwNjAgLyogTGliV2ViUlRDQ29kZWNzUHJveHkuaCAqLywKIAkJCQk0MUUwQTdD
NzIzQjYzOTc5MDA1NjEwNjAgLyogTGliV2ViUlRDQ29kZWNzUHJveHkubWVzc2FnZXMuaW4gKi8s
CiAJCQkJNDFFMEE3QzgyM0I2Mzk3OTAwNTYxMDYwIC8qIExpYldlYlJUQ0NvZGVjc1Byb3h5Lm1t
ICovLAotCQkJCTQxNzZFODlEMjNDMzc2RDUwMDNFODNGRSAvKiBSZW1vdGVNZWRpYVJlY29yZGVy
LmNwcCAqLywKLQkJCQk0MTc2RTg5ODIzQzM2Njc3MDAzRTgzRkUgLyogUmVtb3RlTWVkaWFSZWNv
cmRlci5oICovLAotCQkJCTQxNzZFODlDMjNDMzc0NzkwMDNFODNGRSAvKiBSZW1vdGVNZWRpYVJl
Y29yZGVyLm1lc3NhZ2VzLmluICovLAotCQkJCTQxNzZFODlBMjNDMzZGNzEwMDNFODNGRSAvKiBS
ZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAgKi8sCi0JCQkJNDE3NkU4OTkyM0MzNkQ4RTAw
M0U4M0ZFIC8qIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmggKi8sCi0JCQkJNDE3NkU4OUIy
M0MzNzIyMjAwM0U4M0ZFIC8qIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmlu
ICovLAogCQkJKTsKIAkJCXBhdGggPSB3ZWJydGM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVJl
Y29yZGVyUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
ZTJkNjZiZmJjYjQ5ZDkzODkzODY1OGMwMDBlYTMxZDkyZWJmNzI3Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVk
aWFSZWNvcmRlclByb3ZpZGVyLmgiCi0KLSNpZiBQTEFURk9STShDT0NPQSkKLSNpbmNsdWRlICJN
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCIKLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLXN0ZDo6dW5pcXVlX3B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZT4gTWVkaWFSZWNvcmRl
clByb3ZpZGVyOjpjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZShNZWRpYVN0cmVhbVByaXZhdGUm
IHN0cmVhbSkKLXsKLSNpZiBQTEFURk9STShDT0NPQSkKLSAgICByZXR1cm4gTWVkaWFSZWNvcmRl
clByaXZhdGVBVkZJbXBsOjpjcmVhdGUoc3RyZWFtKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KHN0cmVhbSk7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYKLX0KLQotfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVJlY29yZGVyUHJvdmlk
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFSZWNvcmRlclBy
b3ZpZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxMGU4ZDQ4MWY4NmEzNWQw
ZDllZTlmYjgzZWFlZTY2ZGM3OWRmY2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVJl
Y29yZGVyUHJvdmlkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBNZWRpYVJl
Y29yZGVyUHJpdmF0ZTsKLWNsYXNzIE1lZGlhU3RyZWFtUHJpdmF0ZTsKLQotY2xhc3MgV0VCQ09S
RV9FWFBPUlQgTWVkaWFSZWNvcmRlclByb3ZpZGVyIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgVW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRl
cj4gY3JlYXRlKCkgeyByZXR1cm4gbWFrZVVuaXF1ZVJlZjxNZWRpYVJlY29yZGVyUHJvdmlkZXI+
KCk7IH0KLSAgICB2aXJ0dWFsIH5NZWRpYVJlY29yZGVyUHJvdmlkZXIoKSA9IGRlZmF1bHQ7Ci0K
LSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZT4gY3JlYXRl
TWVkaWFSZWNvcmRlclByaXZhdGUoTWVkaWFTdHJlYW1Qcml2YXRlJik7Ci19OwotCi19CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVy
SWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFS
ZWNvcmRlcklkZW50aWZpZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJmMDRl
MzMzZmU4NDYzMjNjY2NlNzkzODVjYTc1MmI1NjQxOTNlZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVySWRlbnRpZmllci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSA8d3RmL09iamVjdElk
ZW50aWZpZXIuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWVudW0gTWVkaWFSZWNvcmRlcklk
ZW50aWZpZXJUeXBlIHsgfTsKLXVzaW5nIE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyID0gT2JqZWN0
SWRlbnRpZmllcjxNZWRpYVJlY29yZGVySWRlbnRpZmllclR5cGU+OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDgxMjhkMjIxNDZlY2IyMzFjNWEwYzI1ZTg0NTAwYWMxNjcyZTFiYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSwxNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgotCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykKLQotI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9uLmgiCi0j
aW5jbHVkZSAiUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUg
IlJlbW90ZU1lZGlhUmVjb3JkZXJNZXNzYWdlcy5oIgotI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIK
LSNpbmNsdWRlIDxXZWJDb3JlL0NBUmluZ0J1ZmZlci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTWVk
aWFTdHJlYW1Qcml2YXRlLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVtb3RlVmlkZW9TYW1wbGUuaD4KLSNpbmNsdWRl
IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZm
ZXJMaXN0Lmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0
IHsKLQotTWVkaWFSZWNvcmRlclByaXZhdGU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlKGNvbnN0IE1l
ZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtKQotICAgIDogbV9pZGVudGlmaWVyKE1lZGlhUmVjb3Jk
ZXJJZGVudGlmaWVyOjpnZW5lcmF0ZSgpKQotICAgICwgbV9jb25uZWN0aW9uKFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLmVuc3VyZUdQVVByb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpKQot
ewotICAgIC8vIEZJWE1FOiB3ZSB3aWxsIG5lZWQgdG8gaW1wbGVtZW50IHN1cHBvcnQgZm9yIG11
bHRpcGxlIGF1ZGlvL3ZpZGVvIHRyYWNrcwotICAgIC8vIEN1cnJlbnRseSB3ZSBvbmx5IGNob29z
ZSB0aGUgZmlyc3QgdHJhY2sgYXMgdGhlIHJlY29yZGVkIHRyYWNrLgotICAgIC8vIEZJWE1FOiBX
ZSB3b3VsZCBiZXR0ZXIgdG8gdGhyb3cgYW4gZXhjZXB0aW9uIHRvIEphdmFTY3JpcHQgaWYgd3Jp
dGVyIGNyZWF0aW9uIGZhaWxzLgotCi0gICAgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUq
IGF1ZGlvVHJhY2sgeyBudWxscHRyIH07Ci0gICAgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGUqIHZpZGVvVHJhY2sgeyBudWxscHRyIH07Ci0gICAgZm9yIChhdXRvJiB0cmFjayA6IHN0cmVh
bS50cmFja3MoKSkgewotICAgICAgICBpZiAoIXRyYWNrLT5lbmFibGVkKCkgfHwgdHJhY2stPmVu
ZGVkKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgc3dpdGNoICh0cmFjay0+dHlw
ZSgpKSB7Ci0gICAgICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsK
LSAgICAgICAgICAgIGF1dG8mIHNldHRpbmdzID0gdHJhY2stPnNldHRpbmdzKCk7Ci0gICAgICAg
ICAgICBpZiAoIXZpZGVvVHJhY2sgJiYgc2V0dGluZ3Muc3VwcG9ydHNXaWR0aCgpICYmIHNldHRp
bmdzLnN1cHBvcnRzSGVpZ2h0KCkpIHsKLSAgICAgICAgICAgICAgICB2aWRlb1RyYWNrID0gdHJh
Y2suZ2V0KCk7Ci0gICAgICAgICAgICAgICAgbV9yZWNvcmRlZFZpZGVvVHJhY2tJRCA9IHZpZGVv
VHJhY2stPmlkKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvOgotICAgICAg
ICAgICAgaWYgKCFhdWRpb1RyYWNrKSB7Ci0gICAgICAgICAgICAgICAgbV9yaW5nQnVmZmVyID0g
bWFrZVVuaXF1ZTxDQVJpbmdCdWZmZXI+KG1ha2VVbmlxdWVSZWY8U2hhcmVkUmluZ0J1ZmZlclN0
b3JhZ2U+KHRoaXMpKTsKLSAgICAgICAgICAgICAgICBhdWRpb1RyYWNrID0gdHJhY2suZ2V0KCk7
Ci0gICAgICAgICAgICAgICAgbV9yZWNvcmRlZEF1ZGlvVHJhY2tJRCA9IGF1ZGlvVHJhY2stPmlk
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlOjpOb25lOgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICB9Ci0gICAgbV9jb25uZWN0aW9uLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6
OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpDcmVhdGVSZWNvcmRlciB7IG1faWRlbnRpZmll
ciwgISFhdWRpb1RyYWNrLCB2aWRlb1RyYWNrID8gdmlkZW9UcmFjay0+c2V0dGluZ3MoKS53aWR0
aCgpIDogMCwgdmlkZW9UcmFjayA/IHZpZGVvVHJhY2stPnNldHRpbmdzKCkuaGVpZ2h0KCkgOiAw
IH0sIFt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXShhdXRvJiYgZXhjZXB0aW9u
KSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMgfHwgIWV4Y2VwdGlvbikKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgbV9lcnJvckNhbGxiYWNrKEV4Y2VwdGlvbiB7IGV4Y2VwdGlvbi0+Y29k
ZSwgV1RGTW92ZShleGNlcHRpb24tPm1lc3NhZ2UpIH0pOwotICAgIH0sIDApOwotfQotCi1NZWRp
YVJlY29yZGVyUHJpdmF0ZTo6fk1lZGlhUmVjb3JkZXJQcml2YXRlKCkKLXsKLSAgICBtX2Nvbm5l
Y3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjpSZWxlYXNl
UmVjb3JkZXIgeyBtX2lkZW50aWZpZXIgfSwgMCk7Ci19Ci0KLXZvaWQgTWVkaWFSZWNvcmRlclBy
aXZhdGU6OnNhbXBsZUJ1ZmZlclVwZGF0ZWQoY29uc3QgV2ViQ29yZTo6TWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmIHRyYWNrLCBXZWJDb3JlOjpNZWRpYVNhbXBsZSYgc2FtcGxlKQotewotICAgIGlm
ICh0cmFjay5pZCgpICE9IG1fcmVjb3JkZWRWaWRlb1RyYWNrSUQpCi0gICAgICAgIHJldHVybjsK
LSAgICBpZiAoYXV0byByZW1vdGVTYW1wbGUgPSBSZW1vdGVWaWRlb1NhbXBsZTo6Y3JlYXRlKHNh
bXBsZSkpCi0gICAgICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFS
ZWNvcmRlcjo6VmlkZW9TYW1wbGVBdmFpbGFibGUgeyBXVEZNb3ZlKCpyZW1vdGVTYW1wbGUpIH0s
IG1faWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZShjb25zdCBXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYgdHJh
Y2ssIGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGF1ZGlv
RGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNpemVfdCBu
dW1iZXJPZkZyYW1lcykKLXsKLSAgICBpZiAodHJhY2suaWQoKSAhPSBtX3JlY29yZGVkQXVkaW9U
cmFja0lEKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNj
cmlwdGlvbikgewotICAgICAgICBBU1NFUlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlv
bigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7
Ci0gICAgICAgIG1fZGVzY3JpcHRpb24gPSAqV1RGOjpnZXQ8Y29uc3QgQXVkaW9TdHJlYW1CYXNp
Y0Rlc2NyaXB0aW9uKj4oZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLmRlc2NyaXB0
aW9uKTsKLQotICAgICAgICAvLyBBbGxvY2F0ZSBhIHJpbmcgYnVmZmVyIGxhcmdlIGVub3VnaCB0
byBjb250YWluIDIgc2Vjb25kcyBvZiBhdWRpby4KLSAgICAgICAgbV9udW1iZXJPZkZyYW1lcyA9
IG1fZGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgpICogMjsKLSAgICAgICAgbV9yaW5nQnVmZmVyLT5h
bGxvY2F0ZShtX2Rlc2NyaXB0aW9uLnN0cmVhbURlc2NyaXB0aW9uKCksIG1fbnVtYmVyT2ZGcmFt
ZXMpOwotICAgIH0KLQotICAgIEFTU0VSVChpczxXZWJBdWRpb0J1ZmZlckxpc3Q+KGF1ZGlvRGF0
YSkpOwotICAgIG1fcmluZ0J1ZmZlci0+c3RvcmUoZG93bmNhc3Q8V2ViQXVkaW9CdWZmZXJMaXN0
PihhdWRpb0RhdGEpLmxpc3QoKSwgbnVtYmVyT2ZGcmFtZXMsIHRpbWUudGltZVZhbHVlKCkpOwot
ICAgIHVpbnQ2NF90IHN0YXJ0RnJhbWU7Ci0gICAgdWludDY0X3QgZW5kRnJhbWU7Ci0gICAgbV9y
aW5nQnVmZmVyLT5nZXRDdXJyZW50RnJhbWVCb3VuZHMoc3RhcnRGcmFtZSwgZW5kRnJhbWUpOwot
ICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFSZWNvcmRlcjo6QXVk
aW9TYW1wbGVzQXZhaWxhYmxlIHsgdGltZSwgbnVtYmVyT2ZGcmFtZXMsIHN0YXJ0RnJhbWUsIGVu
ZEZyYW1lIH0sIG1faWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6
OnN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSkKLXsKLSAgICBTaGFyZWRNZW1v
cnk6OkhhbmRsZSBoYW5kbGU7Ci0gICAgaWYgKHN0b3JhZ2UpCi0gICAgICAgIHN0b3JhZ2UtPmNy
ZWF0ZUhhbmRsZShoYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9ubHkpOwot
ICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFSZWNvcmRlcjo6QXVk
aW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQgeyBoYW5kbGUsIG1fZGVzY3JpcHRpb24sIHN0YXRpY19j
YXN0PHVpbnQ2NF90PihtX251bWJlck9mRnJhbWVzKSB9LCBtX2lkZW50aWZpZXIpOwotfQotCi12
b2lkIE1lZGlhUmVjb3JkZXJQcml2YXRlOjpmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBtX2Nvbm5lY3Rpb24tPnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6UmVtb3RlTWVkaWFSZWNvcmRlcjo6RmV0Y2hEYXRhIHsgfSwgW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBkYXRh
LCBhdXRvJiYgbWltZVR5cGUpIG11dGFibGUgewotICAgICAgICBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBidWZmZXI7Ci0gICAgICAgIGlmIChkYXRhLnNpemUoKSkKLSAgICAgICAgICAgIGJ1ZmZlciA9
IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7Ci0gICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoYnVmZmVyKSwgbWltZVR5cGUpOwotICAgIH0sIG1f
aWRlbnRpZmllcik7Ci19Ci0KLXZvaWQgTWVkaWFSZWNvcmRlclByaXZhdGU6OnN0b3BSZWNvcmRp
bmcoKQotewotICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFSZWNv
cmRlcjo6U3RvcFJlY29yZGluZyB7IH0sIG1faWRlbnRpZmllcik7Ci19Ci0KLX0KLQotI2VuZGlm
IC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQzZThiZjNkMGQ0MzM5NmFkOWI0
MGQyZDcyODhjZGEzYzdlNDY1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykKLQotI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCi0jaW5jbHVkZSAiU2hh
cmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUmVjb3JkZXJQ
cml2YXRlLmg+Ci0jaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgQ29ubmVjdGlvbjsKLX0KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotY2xhc3MgTWVkaWFTdHJlYW1Qcml2YXRlOwotfQotCi1uYW1lc3BhY2Ug
V2ViS2l0IHsKLQotY2xhc3MgTWVkaWFSZWNvcmRlclByaXZhdGUgZmluYWwgOiBwdWJsaWMgV2Vi
Q29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGUsIHB1YmxpYyBTaGFyZWRSaW5nQnVmZmVyU3RvcmFn
ZTo6Q2xpZW50LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IHsK
LSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBNZWRp
YVJlY29yZGVyUHJpdmF0ZShjb25zdCBXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGUmKTsKLSAg
ICB+TWVkaWFSZWNvcmRlclByaXZhdGUoKTsKLQotcHJpdmF0ZToKLSAgICAvLyBXZWJDb3JlOjpN
ZWRpYVJlY29yZGVyUHJpdmF0ZQotICAgIHZvaWQgc2FtcGxlQnVmZmVyVXBkYXRlZChjb25zdCBX
ZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikg
ZmluYWw7Ci0gICAgdm9pZCBhdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgV2ViQ29yZTo6TWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUmLCBjb25zdCBXVEY6Ok1lZGlhVGltZSYsIGNvbnN0IFdlYkNv
cmU6OlBsYXRmb3JtQXVkaW9EYXRhJiwgY29uc3QgV2ViQ29yZTo6QXVkaW9TdHJlYW1EZXNjcmlw
dGlvbiYsIHNpemVfdCkgZmluYWw7Ci0gICAgdm9pZCBmZXRjaERhdGEoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiYmLCBjb25zdCBTdHJpbmcmIG1p
bWVUeXBlKT4mJikgZmluYWw7Ci0gICAgdm9pZCBzdG9wUmVjb3JkaW5nKCkgZmluYWw7Ci0KLSAg
ICAvLyBTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6Q2xpZW50Ci0gICAgdm9pZCBzdG9yYWdlQ2hh
bmdlZChTaGFyZWRNZW1vcnkqKTsKLQotICAgIE1lZGlhUmVjb3JkZXJJZGVudGlmaWVyIG1faWRl
bnRpZmllcjsKLQotICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKLSAgICBT
dHJpbmcgbV9yZWNvcmRlZEF1ZGlvVHJhY2tJRDsKLSAgICBTdHJpbmcgbV9yZWNvcmRlZFZpZGVv
VHJhY2tJRDsKLQotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpDQVJpbmdCdWZmZXI+IG1f
cmluZ0J1ZmZlcjsKLSAgICBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gbV9kZXNj
cmlwdGlvbiB7IH07Ci0gICAgaW50NjRfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9OwotfTsKLQot
fQotCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4
YjdmN2U0N2M2MDJiMWFmOTk3NDgyNTQyYzJkNjM4MzFjNzJlMzIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUw
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTWVk
aWFSZWNvcmRlclByb3ZpZGVyLmgiCi0KLSNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5o
IgotI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFSZWNvcmRlclByaXZhdGUuaD4KLQotdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLXN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZT4g
TWVkaWFSZWNvcmRlclByb3ZpZGVyOjpjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZShjb25zdCBN
ZWRpYVN0cmVhbVByaXZhdGUmIHN0cmVhbSkKLXsKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCi0g
ICAgaWYgKCFtX3VzZUdQVVByb2Nlc3MpCi0gICAgICAgIHJldHVybiBXZWJDb3JlOjpNZWRpYVJl
Y29yZGVyUHJvdmlkZXI6OmNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRlKHN0cmVhbSk7Ci0KLSAg
ICByZXR1cm4gbWFrZVVuaXF1ZTxNZWRpYVJlY29yZGVyUHJpdmF0ZT4oc3RyZWFtKTsKLSNlbHNl
Ci0gICAgcmV0dXJuIFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcjo6Y3JlYXRlTWVkaWFS
ZWNvcmRlclByaXZhdGUoc3RyZWFtKTsKLSNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCi19
Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ1ZmFhNGJmMGU0Nzk3OGZmZjQ3YzM4
NzVkZDY3YmY0MWU0OTkzYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVy
UHJvdmlkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
cHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmg+
Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBNZWRpYVJlY29yZGVyUHJvdmlkZXIgZmlu
YWwgOiBwdWJsaWMgV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByb3ZpZGVyIHsKLXB1YmxpYzoKLSAg
ICBNZWRpYVJlY29yZGVyUHJvdmlkZXIoKSA9IGRlZmF1bHQ7Ci0KLXByaXZhdGU6Ci0jaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFSZWNv
cmRlclByaXZhdGU+IGNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRlKGNvbnN0IFdlYkNvcmU6Ok1l
ZGlhU3RyZWFtUHJpdmF0ZSYpIGZpbmFsOwotI2VuZGlmCi19OwotCi19CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDM5Njg3MGMxYTVlMGM4OTJj
Nzk2MDNmNWFlZDFlNDlhZTY4MGExN2EuLjFlM2VmNzc5NGYwMTdmMGU2YjhhZDQ2YzkwMjJmZGUz
MjNkMDViNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCkBAIC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNp
bmNsdWRlICJMb2FkUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRl
ICJNZWRpYVJlY29yZGVyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJOZXRzY2FwZVBsdWdpbi5oIgog
I2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKQEAgLTQ2Miw4ICs0NjEsNyBAQCBXZWJQ
YWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycyYmIHBhcmFtZXRlcnMpCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hl
U3RvcmFnZVByb3ZpZGVyKCksCiAgICAgICAgIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5OjpjcmVh
dGUoKnRoaXMpLAogICAgICAgICBXZWJDb29raWVKYXI6OmNyZWF0ZSgpLAotICAgICAgICBtYWtl
VW5pcXVlUmVmPFdlYlByb2dyZXNzVHJhY2tlckNsaWVudD4oKnRoaXMpLAotICAgICAgICBtYWtl
VW5pcXVlUmVmPE1lZGlhUmVjb3JkZXJQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5pcXVlUmVm
PFdlYlByb2dyZXNzVHJhY2tlckNsaWVudD4oKnRoaXMpCiAgICAgKTsKICAgICBwYWdlQ29uZmln
dXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBF
TkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQppbmRleCAxOWIyMjFjYjIyNzgzYzViNjRjMzUzZDAyODVhNDQ4ZjQ1M2QwYjY3Li40
YzQxODY0ZDg5ZjQwNTY3ZWQ4MWVkMmVmZWZiNTAxZjY3NTNkYjg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xODAsNyArMTgwLDYgQEAKICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2dJbml0
aWFsaXphdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+Ci0jaW1w
b3J0IDxXZWJDb3JlL01lZGlhUmVjb3JkZXJQcm92aWRlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9N
ZW1vcnlDYWNoZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9NZW1vcnlSZWxlYXNlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lvbi5oPgpAQCAtMTQ0OSw4ICsxNDQ4LDcgQEAg
c3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkK
ICAgICAgICAgV2ViQ29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpLAogICAgICAg
ICBCYWNrRm9yd2FyZExpc3Q6OmNyZWF0ZShzZWxmKSwKICAgICAgICAgV2ViQ29yZTo6Q29va2ll
SmFyOjpjcmVhdGUoc3RvcmFnZVByb3ZpZGVyLmNvcHlSZWYoKSksCi0gICAgICAgIG1ha2VVbmlx
dWVSZWY8V2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50PihzZWxmKSwKLSAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1
ZVJlZjxXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQ+KHNlbGYpCiAgICAgKTsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcg
V2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtMTcxOSw4ICsxNzE3LDcgQEAgc3RhdGljIHZvaWQg
V2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAgICAgV2Vi
Q29yZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpLAogICAgICAgICBCYWNrRm9yd2Fy
ZExpc3Q6OmNyZWF0ZShzZWxmKSwKICAgICAgICAgV2ViQ29yZTo6Q29va2llSmFyOjpjcmVhdGUo
c3RvcmFnZVByb3ZpZGVyLmNvcHlSZWYoKSksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50PihzZWxmKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3Jl
OjpNZWRpYVJlY29yZGVyUHJvdmlkZXI+KCkKKyAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJQcm9n
cmVzc1RyYWNrZXJDbGllbnQ+KHNlbGYpCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi5j
aHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50SU9TKHNlbGYpOwogI2lmIEVOQUJMRShE
UkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGU5NTczZDJi
NmU4YmE0YTRhYTAzNGZkMDA5OTE4YTE1MzgxZDU0ODUuLmViMDg2NjQ4Njc3OTE1NjgxZjNhYzNk
YzgwMzgyNGRhMDg5NzFiMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0x
MjksNyArMTI5LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Mb2dnaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJl
Z2lzdHJ5Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL01lbW9yeUNhY2hlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZW1vcnlS
ZWxlYXNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JrU3RvcmFnZVNlc3Npb24uaD4KQEAg
LTMxMTksMTEgKzMxMTgsMTAgQEAgSFJFU1VMVCBXZWJWaWV3Ojppbml0V2l0aEZyYW1lKFJFQ1Qg
ZnJhbWUsIF9Jbl8gQlNUUiBmcmFtZU5hbWUsIF9Jbl8gQlNUUiBncm91cE4KICAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJFZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBTb2NrZXRQcm92aWRl
cjo6Y3JlYXRlKCksCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8TGliV2ViUlRDUHJvdmlkZXI+KCks
Ci0gICAgICAgIENhY2hlU3RvcmFnZVByb3ZpZGVyOjpjcmVhdGUoKSwKKyAgICAgICAgV2ViQ29y
ZTo6Q2FjaGVTdG9yYWdlUHJvdmlkZXI6OmNyZWF0ZSgpLAogICAgICAgICBCYWNrRm9yd2FyZExp
c3Q6OmNyZWF0ZSgpLAogICAgICAgICBDb29raWVKYXI6OmNyZWF0ZShzdG9yYWdlUHJvdmlkZXIu
Y29weVJlZigpKSwKLSAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJQcm9ncmVzc1RyYWNrZXJDbGll
bnQ+KCksCi0gICAgICAgIG1ha2VVbmlxdWVSZWY8TWVkaWFSZWNvcmRlclByb3ZpZGVyPigpCisg
ICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50PigpCiAgICAgKTsK
ICAgICBjb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQodGhp
cyk7CiAgICAgY29uZmlndXJhdGlvbi5jb250ZXh0TWVudUNsaWVudCA9IG5ldyBXZWJDb250ZXh0
TWVudUNsaWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhN2NkMzIxZDk4ZThmNGJmMzRhOTIwMzliNjBjZGEw
ODg4OGU2OWNlLi5jOTlhZGM2M2ZhNDUxODVmOTQ3MTAyZWY4NmRlNmU5ODViZjY1NTUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDEtMDcgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTQxMzIu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU4NjgK
KworICAgICAgICBJdCBpcyBicmVha2luZyBXaW5DYWlybyBidWlsZCBhbmQgaW50ZXJuYWwgYnVp
bGRzLiAoUmVxdWVzdGVkCisgICAgICAgIGJ5IHlvdWVubiBvbiAjd2Via2l0KS4KKworICAgICAg
ICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIkltcGxlbWVudCBNZWRpYVJlY29yZGVy
IGJhY2tlbmQgaW4gR1BVUHJvY2VzcyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTgwMgorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvMjU0MTMyCisKIDIwMjAtMDEtMDcgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFw
cGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBbIE1vamF2ZSsgd2syIF0gd2ViZ3B1L2Ry
YXctaW5kZXhlZC10cmlhbmdsZXMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRp
by12aWRlby1kYXRhYXZhaWxhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9tZWRpYXJl
Y29yZGVyL01lZGlhUmVjb3JkZXItQVYtYXVkaW8tdmlkZW8tZGF0YWF2YWlsYWJsZS5odG1sCmlu
ZGV4IDQ0YjZhMmZlZTNiYTI1ZjdiYmNlYmFkZTk3NDMwYjIyNDg4MWRmYWMuLjNjNWY1Mzk2ZmNl
YWZiOWE4NTg4MjE3ZjJlMGJlMDZiMTA3NGY0MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci1BVi1hdWRpby12aWRlby1kYXRhYXZh
aWxhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyLUFWLWF1ZGlvLXZpZGVvLWRhdGFhdmFpbGFibGUuaHRtbApAQCAtMjAsMTAgKzIw
LDYgQEAKICAgICA8L2NhbnZhcz4KIDwvZGl2PgogPHNjcmlwdD4KLSAgICAvLyBUaGlzIHRlc3Qg
aXMgbm90IHBhc3Npbmcgd2l0aCBHUFVQcm9jZXNzIGFzIGxvbmcgYXMgY2FwdHVyZSBmcmFtZXMg
YXJlIG5vdCBJT1N1cmZhY2VkIGJhY2tlZC4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXRVc2VHUFVQcm9jZXNzRm9yV2ViUlRDKGZhbHNlKTsK
LQogICAgIHZhciBjb250ZXh0OwogICAgIHZhciBkcmF3U3RhcnRUaW1lOwogCkBAIC0xMTUsNCAr
MTExLDQgQEAKIAogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>