<?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>226740</bug_id>
          
          <creation_ts>2021-06-07 14:13:14 -0700</creation_ts>
          <short_desc>[Payment Request] upstream new features</short_desc>
          <delta_ts>2021-06-08 19:26:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>aestes</cc>
    
    <cc>annulen</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767545</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 14:13:14 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767546</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-07 14:13:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/78963132&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767663</commentid>
    <comment_count>2</comment_count>
      <attachid>430808</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 21:50:51 -0700</bug_when>
    <thetext>Created attachment 430808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767666</commentid>
    <comment_count>3</comment_count>
      <attachid>430809</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 22:00:14 -0700</bug_when>
    <thetext>Created attachment 430809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767672</commentid>
    <comment_count>4</comment_count>
      <attachid>430811</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-07 22:28:11 -0700</bug_when>
    <thetext>Created attachment 430811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767826</commentid>
    <comment_count>5</comment_count>
      <attachid>430862</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-08 10:42:21 -0700</bug_when>
    <thetext>Created attachment 430862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767931</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-08 15:15:25 -0700</bug_when>
    <thetext>Committed r278630 (238613@main): &lt;https://commits.webkit.org/238613@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430862.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768027</commentid>
    <comment_count>7</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-08 19:26:44 -0700</bug_when>
    <thetext>landed followup r278640 to remove mentions of file that doesn&apos;t exist anymore

Committed r278640 (238622@main): &lt;https://commits.webkit.org/238622@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430808</attachid>
            <date>2021-06-07 21:50:51 -0700</date>
            <delta_ts>2021-06-07 22:00:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226740-20210607225050.patch</filename>
            <type>text/plain</type>
            <size>274026</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNmE0NWVmMzAxYjNjZjc3MGU2OWNhYjU5MDkwZDRiYTlkMzlhYmI1ZS4uNjdmMjM4NzAz
ZDA0NWY3NmM3NmE5YjliMDk4MTdmZmJmMTUzMGM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW1Bh
eW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkK
KyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQor
ICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24g
Y29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQT05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVf
UEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAg
KGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWApCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoK
KwogMjAyMS0wNi0wNyAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1dURl1bR1N0cmVhbWVyXSBGaXggY2xhbmcgVFNBIHdhcm5pbmdzIGluIFdURjo6
RGF0YU11dGV4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJhNjU5YjJjY2EwMzEwOTdlMGFiMGU2ODNkOGIyOTVl
YmYxMGQ2ZC4uNWYzYmE4MmZlNGRkOWFmNWI1MmMxZTgyNzE0ZjBiMTQwZTIxZWU5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1NiBAQAorMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZl
YXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1z
IChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExF
X1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkKKyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVt
cyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExF
X1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQorICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcg
ZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5H
RWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNf
UkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24gY29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQ
T05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0g
c2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAgKGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFD
VF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VE
SVRJTkdfTU9ERWApCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
QXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLmh0bWwKKyAgICAgICAg
ICAgICAgIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlv
bmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy5odG1sCisgICAgICAg
ICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291
cG9uQ29kZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRyZXF1
ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy5odG1sCisKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5pZGw6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZS5pZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUNvdXBvbkNvZGVVcGRhdGUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oLgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOjpkZWNvZGUpOgorICAgICAgICBPYmpl
Y3QgdXNlZCB0byB1cGRhdGUgdGhlIHBheW1lbnQgcmVxdWVzdCB2aWEgYEFwcGxlUGF5U2Vzc2lv
bi5wcm90b3R5cGUuY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlYAorICAgICAgICB3aGVuIHJlc3Bv
bmRpbmcgdG8gdGhlIHVzZXIgbW9kaWZ5aW5nIHRoZSBjb3Vwb24gY29kZS4KKworICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaDoKKyAgICAgICAgQWRkIGAiY291cG9uQ29k
ZUludmFsaWQiYCBhbmQgYCJjb3Vwb25Db2RlRXhwaXJlZCJgLgorCisgICAgICAgICogTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5TGluZUl0ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5TGluZUl0
ZW06OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheUxpbmVJdGVtOjpk
ZWNvZGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5n
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRU
aW1pbmcuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlY3Vy
cmluZ1BheW1lbnREYXRlVW5pdC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaDogQWRkZWQuCisgICAgICAgIEFk
ZCBtZW1iZXJzIHRoYXQgaW5kaWNhdGUgd2hldGhlciB0aGlzIGxpbmUgaXRlbSBpcyBpbW1lZGlh
dGUsIHJlY3VycmluZywgb3IgZGVmZXJyZWQuCisgICAgICAgIERlcGVuZGluZyBvbiB0aGF0IHRp
bWluZywgYWRkaXRpb25hbCBtZW1iZXJzIGFyZSBhZGRlZCBmb3IgZnVydGhlciBjb25maWd1cmF0
aW9uIChlLmcuIHRoZQorICAgICAgICBzdGFydCBhbmQvb3IgZW5kIGRhdGUgb2YgYSByZWN1cnJp
bmcgcGF5bWVudCwgaXQncyBmcmVxdWVuY3ksIGV0Yy4pLgorCisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5U2hpcHBpbmdNZXRob2Q6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U6OmRlY29kZSk6Cisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50czo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6OmRlY29k
ZSk6CisgICAgICAgIEFkZCBtZW1iZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgdGhl
IGVzdGltYXRlZCBzaGlwcGluZyBkYXRlcyBmb3IgdGhpcyBzaGlwcGluZyBtZXRob2QuCisKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5oOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0OjpzdXBwb3J0c0NvdXBvbkNvZGUgY29uc3QpOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpzZXRTdXBwb3J0
c0NvdXBvbkNvZGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBh
eW1lbnRSZXF1ZXN0Ojpjb3Vwb25Db2RlIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6c2V0Q291cG9uQ29kZSk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OnNoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6c2V0U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUp
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaDogQWRkZWQuCisgICAgICAgIEFkZCBt
ZW1iZXJzIHRoYXQgaW5kaWNhdGU6CisgICAgICAgICAtIHdoZXRoZXIgdGhpcyBwYXltZW50IHJl
cXVlc3Qgc3VwcG9ydHMgYSBjb3Vwb24gY29kZSBhdCBhbGwKKyAgICAgICAgIC0gdGhlIGluaXRp
YWwgY291cG9uIGNvZGUgKGFzc3VtaW5nIHRoZSBhYm92ZSkKKyAgICAgICAgIC0gd2hldGhlciB0
aGlzIHBheW1lbnQgcmVxdWVzdCBhbGxvd3MgZWRpdGluZyB0aGUgc2hpcHBpbmcgY29udGFjdCAo
aS5lLiBpbi1zdG9yZSBwaWNrdXAgZG9lcyBub3QpCisKKyAgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaDoKKyAgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5n
ZWRFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50OjpBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpldmVudEludGVyZmFjZSBj
b25zdCk6CisgICAgICAgIEFkZCBhIGAiY291cG9uY29kZWNoYW5nZSJgIGV2ZW50IHRoYXQgaXMg
ZGlzcGF0Y2hlZCB3aGVuZXZlciB0aGUgdXNlciBtb2RpZmllcyB0aGUgY291cG9uIGNvZGUgZm9y
IGFuIGBBcHBsZVBheVNlc3Npb25gLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwuCisgICAg
ICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmg6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0
aG9kTW9kZVVwZGF0ZS5pZGwuCisgICAgICAgIFVzZWQgYXMgdGhlIGBvYmplY3QgbWV0aG9kRGF0
YWAgd2hlbiBhIGBQYXltZW50TWV0aG9kQ2hhbmdlRXZlbnRgIGlzIGRpc3BhdGNoZWQgZm9yIGEg
YFBheW1lbnRSZXF1ZXN0YC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5o
OgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmNvbnZlcnRBbmRWYWxpZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
ZVBheVNlc3Npb246OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBm
cm9tIGBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmRpZENoYW5nZVBheW1lbnRNZXRob2RNb2Rl
YC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuU3VzcGVuZFdpdGhvdXRD
YW5jZWxpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5C
ZWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkFib3J0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ2FuY2VsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNl
c3Npb246OmNhbkNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2Vs
ZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29t
cGxldGVDb3Vwb25Db2RlQ2hhbmdlIGNvbnN0KTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpBcHBs
ZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UgY29uc3RgLgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjppc0ZpbmFsU3RhdGUgY29u
c3QpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBh
eVBheW1lbnRIYW5kbGVyOjpwYXltZW50TWV0aG9kVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBm
cm9tIGBXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRDaGFuZ2VQYXltZW50TWV0
aG9kTW9kZWAuCisgICAgICAgIEFkZCBtZXRob2RzIGZvciBKUyB0byBjYWxsIGFuZCBzdGF0ZSBs
b2dpYyB0byBoYW5kbGUgY291cG9uIGNvZGUgY2hhbmdlcy4KKworICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3Jk
aW5hdG9yOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisg
ICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNvdXBvbkNvZGUp
OiBSZW5hbWVkIGZyb20gYFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hhbmdlUGF5
bWVudE1ldGhvZE1vZGVgLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50Lmg6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFbXB0eVBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVDb3Vw
b25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpFbXB0eVBheW1lbnRDb29yZGlu
YXRvckNsaWVudDo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisgICAgICAgIFBs
dW1iaW5nIHVwIHRvIFdlYktpdC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2Ev
UGF5bWVudFN1bW1hcnlJdGVtc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6dG9EYXRlKTog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0NhbGVuZGFyVW5pdCk6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6dG9QS1BheW1lbnRTdW1tYXJ5SXRlbSk6CisgICAgICAgIENvbnZlcnQgV2Vi
Q29yZSBvYmplY3RzIHRvIFBhc3NLaXQgb2JqZWN0cy4KKworICAgICAgICAqIHRlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENv
b3JkaW5hdG9yLmg6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnNob3dQYXltZW50
VUkpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVD
b3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpNb2NrUGF5bWVudENvb3Jk
aW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlYC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNoYW5nZUNvdXBvbkNvZGUpOiBBZGRlZC4KKwor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KToKKworICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEhlYWRlcnMuaDoKKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbDogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmg6IERlbGV0ZWQuCisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5pZGw6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oOiBE
ZWxldGVkLgorICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgYmFzZSB0eXBlcyBhZnRlciByMjc1
MTY5LgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0Nv
Y29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5t
YWtlOgorCiAyMDIxLTA2LTA3ICBFbGVuaSBNYXJpYSBTdGVhICA8ZXN0ZWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBDb21waWxlIGVycm9yIGJ5IHRyeWluZyB0byBmaXQgYSBHQ0dMaW50NjQqIHRv
IGEgR0xpbnQ2NCoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGM4NDJmOGVlYmVkODIzMzUxOTNiNDJj
NGY0ODM3OWViMjgyMDgwZWEuLmM5YjE0ODJkNGE5OGU2ODI5ZmQ1ZWM3NzAxYWE3YWQ0YmY2Njli
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA2LTA3ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0
XSB1cHN0cmVhbSBuZXcgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjc0MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg5NjMxMzI+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIC0gcmVj
dXJyaW5nIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTWAg
YW5kIGBFTkFCTEVfQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1gKQorICAgICAgICAgLSBk
ZWZlcnJlZCBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTWAg
YW5kIGBFTkFCTEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTWApCisgICAgICAgICAtIGVz
dGltYXRlZCBzaGlwcGluZyBkYXRlcyAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFU
RV9DT01QT05FTlRTX1JBTkdFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9E
X0RBVEVfQ09NUE9ORU5UU19SQU5HRWApCisgICAgICAgICAtIGNvdXBvbiBjb2RlIGVudHJ5IChg
SEFWRV9QQVNTS0lUX0NPVVBPTl9DT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfQ09VUE9OX0NP
REVgKQorICAgICAgICAgLSBzaGlwcGVkIHZzIGluLXN0b3JlIHBpY2t1cCAoYEhBVkVfUEFTU0tJ
VF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCkKKworICAgICAgICAqIHBhbC9jb2NvYS9QYXNz
S2l0U29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tOgor
ICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oOgorCiAyMDIxLTA2LTA2ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI3NzQ2NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjE0YWRhZWMwYjcxOGM4ZTExNmM4YTNi
ZjJmNjFlMDUyYjc0MjY2OS4uNTY1OGJhODc4YTljY2JjNDdhNTI5MTNlOTRhNTRiMTA0N2Y5MWU1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0g
bmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc4OTYzMTMyPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICAtIHJlY3VycmluZyBsaW5l
IGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU1gIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkKKyAgICAgICAgIC0gZGVmZXJyZWQgbGlu
ZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU1gIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQorICAgICAgICAgLSBlc3RpbWF0ZWQgc2hp
cHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5U
U19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBP
TkVOVFNfUkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24gY29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJ
VF9DT1VQT05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX0NPVVBPTl9DT0RFYCkKKyAgICAg
ICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAgKGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdf
Q09OVEFDVF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19DT05U
QUNUX0VESVRJTkdfTU9ERWApCisKKyAgICAgICAgICogUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1
dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgICgtW1dLUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlIHBheW1lbnRBdXRob3JpemF0aW9uVmlld0Nv
bnRyb2xsZXI6ZGlkQ2hhbmdlQ291cG9uQ29kZTpoYW5kbGVyOl0pOiBBZGRlZC4KKyAgICAgICAg
ICogUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlci5tbToKKyAgICAg
ICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyRGVsZWdhdGUgcGF5bWVudEF1
dGhvcml6YXRpb25Db250cm9sbGVyOmRpZENoYW5nZUNvdXBvbkNvZGU6aGFuZGxlcjpdKTogQWRk
ZWQuCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNl
bnRlci5tbToKKyAgICAgICAgKFdlYktpdDo6dG9QS1BheW1lbnRFcnJvckNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVDb3Vwb25D
b2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyOjpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlYC4KKyAgICAgICAgKiBQbGF0
Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaDoKKyAgICAgICAgKiBQ
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW06CisgICAgICAg
ICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZUNvdXBvbkNvZGVDaGFu
Z2U6XSk6IEFkZGVkLgorICAgICAgICAodG9EYXRlQ29tcG9uZW50cyk6IEFkZGVkLgorICAgICAg
ICAodG9EYXRlQ29tcG9uZW50c1JhbmdlKTogQWRkZWQuCisgICAgICAgICh0b1NoaXBwaW5nTWV0
aG9kKToKKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIF9kaWRDaGFu
Z2VDb3Vwb25Db2RlOmNvbXBsZXRpb246XSk6IEFkZGVkLgorICAgICAgICBBZGQgcGx1bWJpbmcg
ZnJvbS90byBQYXNzS2l0IGZvciBjb3Vwb24gY29kZSBjaGFuZ2VzLgorCisgICAgICAgICogU2hh
cmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oOgorICAg
ICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpjb21wbGV0ZUNvdXBv
bkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VgLgorICAgICAgICAoV2ViS2l0
OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkQ2hhbmdlQ291cG9uQ29k
ZSk6IFJlbmFtZWQgZnJvbSBgV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJl
c2VudGVyRGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGVgLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQmVnaW4gY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkNvbXBsZXRlUGF5bWVudCBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5B
Ym9ydCBjb25zdCk6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnRvTlNEYXRlQ29tcG9u
ZW50cyk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0Ojp0b1BLRGF0ZUNvbXBvbmVudHNSYW5nZSk6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0Ojp0b1BLU2hpcHBpbmdNZXRob2QpOgorICAgICAgICAo
V2ViS2l0Ojp0b1BLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVl
c3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZv
cm1Db21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZWAuCisgICAgICAgIENvbnZlcnQgUGFzc0tpdCBvYmplY3RzIHRvL2Zyb20gV2ViQ29yZSBv
YmplY3RzLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0Nv
Y29hLm1tOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2Rl
cjxXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdD46OmRlY29kZSk6CisKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5h
dG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlYC4KKyAgICAgICAgKFdlYktpdDo6
V2ViUGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBmcm9t
IGBXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1v
ZGVgLgorICAgICAgICBQbHVtYmluZyBpbnRvL2Zyb20gV2ViQ29yZS4KKwogMjAyMS0wNi0wNyAg
RGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgQ29udmVydCBXZWJD
b3JlOjpTbmFwc2hvdE9wdGlvbnMgaW50byBhbiBlbnVtIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKaW5kZXggMGFjMDYzMTU4YzY5YjE2MDE2MGU4MTIwOWNjZjAwYzUxNjMyMWNlYi4u
MjMzNDUzOTMyN2M2MDRmY2FiNWQ4ZmY4MzMxOTkzNWQ2MmYzYThiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA2LTA3ICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSB1cHN0cmVh
bSBuZXcgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjc0MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg5NjMxMzI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIC0gcmVjdXJyaW5nIGxp
bmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFC
TEVfQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1gKQorICAgICAgICAgLSBkZWZlcnJlZCBs
aW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFC
TEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTWApCisgICAgICAgICAtIGVzdGltYXRlZCBz
aGlwcGluZyBkYXRlcyAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05F
TlRTX1JBTkdFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09N
UE9ORU5UU19SQU5HRWApCisgICAgICAgICAtIGNvdXBvbiBjb2RlIGVudHJ5IChgSEFWRV9QQVNT
S0lUX0NPVVBPTl9DT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVgKQorICAg
ICAgICAgLSBzaGlwcGVkIHZzIGluLXN0b3JlIHBpY2t1cCAoYEhBVkVfUEFTU0tJVF9TSElQUElO
R19DT05UQUNUX0VESVRJTkdfTU9ERWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NP
TlRBQ1RfRURJVElOR19NT0RFYCkKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1l
bnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1l
bnRDb29yZGluYXRvckNsaWVudC5tbToKKyAgICAgICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNs
aWVudDo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VgLgorCiAy
MDIxLTA2LTA2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIFR1cm4gVGV4dEl0ZXJhdG9yQmVoYXZpb3JGbGFnIGludG8gYW4gZW51bSBjbGFzcyBhbmQg
d3JhcCBpdCBpbiBPcHRpb25TZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
RW5hYmxlQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRl
eCAwN2VkMDMyNGY4YjdmYzIyZTNkNjU0YjI2NTZkYzM3MDlmNTg3ODM2Li5kODYyZWFjMGQxYzhl
MDMwZjViOWQ4ZGFlMjI0ZDllYTY3NGQ4ZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUVuYWJsZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVD
b2NvYS5oCkBAIC01OSw2ICs1OSwxNCBAQAogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZIDEKICNl
bmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9DT1VQT05fQ09ERSkgJiYgSEFW
RShQQVNTS0lUX0NPVVBPTl9DT0RFKQorI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0NPVVBPTl9D
T0RFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9M
SU5FX0lURU0pICYmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0pCisjZGVmaW5l
IEVOQUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNIDEKKyNlbmRpZgorCiAjaWYgIWRl
ZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTIDEKICNlbmRp
ZgpAQCAtNjcsMTAgKzc1LDI2IEBACiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfTkVXX0JVVFRP
Tl9UWVBFUyAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJ
TkdfQ09OVEFDVF9FRElUSU5HX01PREUpICYmIEhBVkUoUEFTU0tJVF9TSElQUElOR19DT05UQUNU
X0VESVRJTkdfTU9ERSkKKyNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19DT05UQUNU
X0VESVRJTkdfTU9ERSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlf
UkVDVVJSSU5HX0xJTkVfSVRFTSkgJiYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lU
RU0pCisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSAxCisjZW5k
aWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfUkVNT1RFX1VJKSAmJiAhUExBVEZP
Uk0oTUFDKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSAm
JiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9SRU1PVEVfVUkg
MQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjExKSAm
JiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDE0MDUwMCkpCisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTEgMQor
I2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9E
QVRFX0NPTVBPTkVOVFNfUkFOR0UpICYmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFU
RV9DT01QT05FTlRTX1JBTkdFKQorI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX01F
VEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UgMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFC
TEVfQVBQTElDQVRJT05fTUFOSUZFU1QpCiAjZGVmaW5lIEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggNmUyMGQ2ZjhmMTIyMjYyYjJk
YzQ4MDk4YzQ4ZWQwNjUzNjZhYmIyZC4uYmQ0ZDUzYmVkZTMzZTAwN2YxZGZjZWM0ZDI0ZGQ3N2Vi
NjBkMjJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTcwOCw2ICs3MDgsMTggQEAKICNkZWZp
bmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAxCiAjZW5kaWYK
IAorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxNDAwMDApCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9ORVdfQlVUVE9OX1RZUEVT
IDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMCkKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1JFQ1VS
UklOR19TVU1NQVJZX0lURU0gMQorI2RlZmluZSBIQVZFX1BBU1NLSVRfREVGRVJSRURfU1VNTUFS
WV9JVEVNIDEKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBP
TkVOVFNfUkFOR0UgMQorI2RlZmluZSBIQVZFX1BBU1NLSVRfQ09VUE9OX0NPREUgMQorI2RlZmlu
ZSBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUgMQorI2VuZGlmCisK
ICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZp
bmUgSEFWRV9RVUlDS0xPT0tfVEhVTUJOQUlMSU5HIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYzc2ZmI3OWJkMDdjODgz
ZGIzODk1NzM0YzhhZTk0YWY5NzBiMjYzNC4uNmQ0Yjc2OWJjOWMzOTM3MTk1ZWE1ZjYyY2ViMTk1
YjIzZDdjNDdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0CkBAIC0yNCw2ICsyNCwxMSBAQCAkKFBST0pFQ1RfRElSKS9EZXJpdmVkU291cmNl
cy5tYWtlCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJn
ZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDYW5jZWxFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDb250YWN0RmllbGQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJh
c2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1Vw
ZGF0ZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3IuaWRsCkBAIC0zNCwyMCArMzksMTkgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwKLSQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25S
ZXN1bHQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVu
dEF1dGhvcml6ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50Q29udGFjdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50TWV0aG9kLmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwKLSQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRF
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
TWV0aG9kVHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50TWV0aG9kVXBkYXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRQYXNzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbkVycm9yLmlkbApAQCAtNTYsMTAgKzYwLDEwIEBA
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cENvbmZpZ3VyYXRp
b24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXBGZWF0
dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVh
dHVyZVN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNl
dHVwRmVhdHVyZVR5cGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRo
b2QuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdN
ZXRob2REYXRhLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGU5MDEz
OTUwODRlZjc0YWEzNWMyNmI3YjI3MmUwMDFhNjlhNWM5NmUuLmNiNjA4OTU5MWZmMWYzZjdmMzQz
NWY2ZTFmOTE3MDUxYTk0MzdhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC04Nyw2ICs4NywxNiBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q2Fu
Y2VsRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlDb250YWN0RmllbGQuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291
cG9uQ29kZURldGFpbHMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGF0
ZUNvbXBvbmVudHMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGF0
ZUNvbXBvbmVudHNSYW5nZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2Uu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eURldGFpbHNVcGRhdGVEYXRhLmNwcApAQCAtMTA3LDggKzExNyw2IEBAICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlJbnN0YWxsbWVudFJldGFp
bENoYW5uZWwuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlMaW5lSXRlbS5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlMaW5lSXRlbS5o
Ci0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5
TGluZUl0ZW1EYXRhLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheU1lcmNo
YW50Q2FwYWJpbGl0eS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0FwcGxlUGF5TW9kaWZpZXIuY3BwCkBAIC0xMjMsMTAgKzEzMSw2IEBAICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50Q29u
dGFjdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QXBwbGVQYXlQYXltZW50Q29udGFjdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kLmgK
LSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZURldGFpbHMuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmgKLSQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXlt
ZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1l
dGhvZFNlbGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRN
ZXRob2RUeXBlLmNwcApAQCAtMTM3LDYgKzE0MSwxMCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudFBhc3MuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudFBh
c3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVBheW1lbnRSZXF1ZXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50VGltaW5nLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBh
eW1lbnRUaW1pbmcuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50
RGF0ZVVuaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBcHBsZVBheVJlcXVlc3QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVxdWVzdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwCkBAIC0xNTUsMTQg
KzE2MywxNCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNldHVwRmVh
dHVyZVR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZl
bnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdNZXRo
b2QuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nTWV0
aG9kU2VsZWN0ZWRFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5n
TWV0aG9kVXBkYXRlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmY4OWNh
ZTJjZDFiZTYwNTcyMzk1YzE2MmY5MmZhMTcwOTg4ZTdmYy4uMjFjMWUzOWVjMTQ5NjgxYTZhZWQw
ODFiN2Q1NzI3YzkzZTBiMDYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01
Myw2ICs1MywxMSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvbnRhY3RGaWVsZC5pZGwg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFu
Z2VkRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
b3Vwb25Db2RlRGV0YWlscy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsIFwK
QEAgLTYzLDIwICs2OCwxOSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWwuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRl
bS5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVt
RGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheU1lcmNo
YW50Q2FwYWJpbGl0eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2QuaWRsIFwK
LSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZURldGFpbHMuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFBh
c3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
UmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRUaW1pbmcuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uRXJyb3IuaWRsIFwKQEAgLTg1LDEwICs4OSwxMCBAQCBK
U19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNldHVwRmVhdHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRo
b2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlW
YWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zODExOTczNGMwNDFmMjZlNjlmN2Q5NzJlN2ExM2RlNGU0MTA0OTY5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlDb3Vwb25Db2RlQ2hh
bmdlZEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50
KTsKKworQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpBcHBsZVBheUNvdXBvbkNvZGVD
aGFuZ2VkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgU3RyaW5nJiYgY291cG9uQ29kZSkK
KyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAg
LCBtX2NvdXBvbkNvZGUoV1RGTW92ZShjb3Vwb25Db2RlKSkKK3sKK30KKworQXBwbGVQYXlDb3Vw
b25Db2RlQ2hhbmdlZEV2ZW50Ojp+QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50KCkgPSBk
ZWZhdWx0OworCitFdmVudEludGVyZmFjZSBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQ6
OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gQXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50SW50ZXJmYWNlVHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29k
ZUNoYW5nZWRFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhZWY2N2M4MmU0NjMxYzRhYTdlOTZmZTZlNTVj
ZTQ1NDk2ZTFkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFwcGxlUGF5Q291cG9uQ29kZUNo
YW5nZWRFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQpOworcHVibGljOgorICAgIHN0YXRp
YyBSZWY8QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgU3RyaW5nJiYgY291cG9uQ29kZSkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCh0eXBlLCBXVEZNb3Zl
KGNvdXBvbkNvZGUpKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+QXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50KCk7CisKKyAgICBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUoKSBjb25zdCB7
IHJldHVybiBtX2NvdXBvbkNvZGU7IH0KKworcHJpdmF0ZToKKyAgICBBcHBsZVBheUNvdXBvbkNv
ZGVDaGFuZ2VkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgU3RyaW5nJiYpOworCisgICAg
Ly8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJy
aWRlOworCisgICAgY29uc3QgU3RyaW5nIG1fY291cG9uQ29kZTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9u
Q29kZUNoYW5nZWRFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg5OGMyMTVkODhi
NzJiMmM3YzQ1MDBhNmNiNmRhYzM5ZWU2NzQyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50Lmlk
bApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9DT1VQT05fQ09ERSwKKyAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKK10gaW50ZXJm
YWNlIEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvdXBvbkNvZGU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZmQ3N2FhYjVhNWI3YmY0ZTk4ODU0NTA3ZTY0OGMzZWU4ZTc3Yzk2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUNvdXBvbkNvZGVEZXRhaWxzLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKworI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBB
cHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzIHsKKyAgICBTdHJpbmcgY291cG9uQ29kZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q291cG9uQ29kZURldGFpbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWFhNzNjZmUy
YWNhMzNmMWI0ZWM1YzhlN2FmNTAxZTMyOTI4YjY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbApA
QCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BB
WV9DT1VQT05fQ09ERSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBKU0dl
bmVyYXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxz
IHsKKyAgICBET01TdHJpbmcgY291cG9uQ29kZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMDY0NWM2MzZiYzVmMTUzYWRjOTExZWZiYjQxNDE5OGE1ZWY1OWFkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBv
bkNvZGVVcGRhdGUuaApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCisjaW5jbHVkZSAiQXBwbGVQ
YXlEZXRhaWxzVXBkYXRlQmFzZS5oIgorI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3IuaCIKKyNpbmNs
dWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmgiCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlIGZpbmFsIDogcHVibGljIEFwcGxlUGF5RGV0YWlsc1Vw
ZGF0ZUJhc2UgeworICAgIFZlY3RvcjxSZWZQdHI8QXBwbGVQYXlFcnJvcj4+IGVycm9yczsKKwor
ICAgIFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBuZXdTaGlwcGluZ01ldGhvZHM7CisK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7
CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQ
YXlDb3Vwb25Db2RlVXBkYXRlPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KK3ZvaWQgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlOjplbmNv
ZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBlcnJvcnM7CisgICAgZW5jb2RlciA8PCBuZXdT
aGlwcGluZ01ldGhvZHM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9wdGlv
bmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4gQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOjpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUg
cmVzdWx0OworCisgICAgaWYgKCFyZXN1bHQuZGVjb2RlQmFzZShkZWNvZGVyKSkKKyAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFJlZlB0cjxB
cHBsZVBheUVycm9yPj4+IGVycm9yczsKKyAgICBkZWNvZGVyID4+IGVycm9yczsKKyAgICBpZiAo
IWVycm9ycykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXN1bHQuZXJyb3Jz
ID0gV1RGTW92ZSgqZXJyb3JzKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPEFwcGxlUGF5
U2hpcHBpbmdNZXRob2Q+PiBuZXdTaGlwcGluZ01ldGhvZHM7CisgICAgZGVjb2RlciA+PiBuZXdT
aGlwcGluZ01ldGhvZHM7CisgICAgaWYgKCFuZXdTaGlwcGluZ01ldGhvZHMpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmVzdWx0Lm5ld1NoaXBwaW5nTWV0aG9kcyA9IFdURk1v
dmUoKm5ld1NoaXBwaW5nTWV0aG9kcyk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9D
T0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUNvdXBvbkNvZGVVcGRhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZmM3MjhlY2ZmMWU5MTk4
ODFiNGJmNmIyNDVhODA4ZmY5MmI2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5pZGwKQEAgLTAsMCAr
MSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9O
X0NPREUsCitdIGRpY3Rpb25hcnkgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlIDogQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlQmFzZSB7CisgICAgc2VxdWVuY2U8QXBwbGVQYXlFcnJvcj4gZXJyb3JzOwor
CisgICAgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gbmV3U2hpcHBpbmdNZXRob2Rz
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlEYXRlQ29tcG9uZW50cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheURhdGVDb21wb25lbnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY1ODZlMWU0NjEzNDU2NDQyZGIwNDJi
OWQ4MmMxZjAyM2U4ZmY3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oCkBAIC0wLDAgKzEsNzIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdf
TUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitz
dHJ1Y3QgQXBwbGVQYXlEYXRlQ29tcG9uZW50cyB7CisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25l
ZD4geWVhcnM7CisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gbW9udGhzOworICAgIHN0ZDo6
b3B0aW9uYWw8dW5zaWduZWQ+IGRheXM7CisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gaG91
cnM7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8
QXBwbGVQYXlEYXRlQ29tcG9uZW50cz4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRl
PGNsYXNzIEVuY29kZXI+Cit2b2lkIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgeWVhcnM7CisgICAgZW5jb2Rl
ciA8PCBtb250aHM7CisgICAgZW5jb2RlciA8PCBkYXlzOworICAgIGVuY29kZXIgPDwgaG91cnM7
Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5RGF0
ZUNvbXBvbmVudHM+IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6OmRlY29kZShEZWNvZGVyJiBkZWNv
ZGVyKQoreworI2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkgXAorICAgIHN0ZDo6b3B0aW9uYWw8
dHlwZT4gbmFtZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkgXAor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OyBcCisKKyAgICBERUNPREUoeWVhcnMsIHN0ZDo6
b3B0aW9uYWw8dW5zaWduZWQ+KQorICAgIERFQ09ERShtb250aHMsIHN0ZDo6b3B0aW9uYWw8dW5z
aWduZWQ+KQorICAgIERFQ09ERShkYXlzLCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPikKKyAgICBE
RUNPREUoaG91cnMsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+KQorCisjdW5kZWYgREVDT0RFCisK
KyAgICByZXR1cm4ge3sgV1RGTW92ZSgqeWVhcnMpLCBXVEZNb3ZlKCptb250aHMpLCBXVEZNb3Zl
KCpkYXlzKSwgV1RGTW92ZSgqaG91cnMpIH19OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBP
TkVOVFNfUkFOR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTIwMmIwZTYyZDI1
YjYxNWQ2ZDYyMTI5OTZmMDhjYWI3YjEyZDFhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbApAQCAtMCww
ICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9TSElQ
UElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFLAorICAgIEV4cG9ydE1hY3JvPVdFQkNP
UkVfRVhQT1JULAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorXSBkaWN0aW9uYXJ5IEFwcGxl
UGF5RGF0ZUNvbXBvbmVudHMgeworICAgIHVuc2lnbmVkIGxvbmcgeWVhcnM7CisgICAgdW5zaWdu
ZWQgbG9uZyBtb250aHM7CisgICAgdW5zaWduZWQgbG9uZyBkYXlzOworICAgIHVuc2lnbmVkIGxv
bmcgaG91cnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU5ZTM3
NmQwZDdjODNmYTM4NDFmZWM4MWZjMTc1NTRlZTA4MjUyNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1Jhbmdl
LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorCisj
aW5jbHVkZSAiQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3N0cnVjdCBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgeworICAgIEFwcGxlUGF5RGF0
ZUNvbXBvbmVudHMgc3RhcnREYXRlQ29tcG9uZW50czsKKyAgICBBcHBsZVBheURhdGVDb21wb25l
bnRzIGVuZERhdGVDb21wb25lbnRzOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZT4gZGVjb2RlKERl
Y29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEFwcGxlUGF5RGF0
ZUNvbXBvbmVudHNSYW5nZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAg
ZW5jb2RlciA8PCBzdGFydERhdGVDb21wb25lbnRzOworICAgIGVuY29kZXIgPDwgZW5kRGF0ZUNv
bXBvbmVudHM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZT4gQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlOjpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNkZWZpbmUgREVDT0RFKG5hbWUsIHR5cGUpIFwK
KyAgICBzdGQ6Om9wdGlvbmFsPHR5cGU+IG5hbWU7IFwKKyAgICBkZWNvZGVyID4+IG5hbWU7IFwK
KyAgICBpZiAoIW5hbWUpIFwKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgXAorCisgICAg
REVDT0RFKHN0YXJ0RGF0ZUNvbXBvbmVudHMsIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMpCisgICAg
REVDT0RFKGVuZERhdGVDb21wb25lbnRzLCBBcHBsZVBheURhdGVDb21wb25lbnRzKQorCisjdW5k
ZWYgREVDT0RFCisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqc3RhcnREYXRlQ29tcG9uZW50cyks
IFdURk1vdmUoKmVuZERhdGVDb21wb25lbnRzKSB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2NGEzNzg2MmM0ZjM0ZmJhMmI1NmVkNGExYTE0YjA4YWQ3ZWU3YmUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVu
dHNSYW5nZS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSwKKyAg
ICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwK
K10gZGljdGlvbmFyeSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgeworICAgIHJlcXVpcmVk
IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgc3RhcnREYXRlQ29tcG9uZW50czsKKyAgICByZXF1aXJl
ZCBBcHBsZVBheURhdGVDb21wb25lbnRzIGVuZERhdGVDb21wb25lbnRzOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaAppbmRl
eCA0MmY2NTljZmYyMzQ0ZjBhNThiMTE1ODA1MzJjNzlkYjVhNzI3YWY3Li42NGIyZWM0ODYwNzhl
YzQzNDUzMzZlMmE3M2U0ODBjNTE2ZDFjNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5oCkBAIC0yOSwxMCArMjksNiBAQAog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
Ci0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zLmg+
Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIEFwcGxlUGF5RXJy
b3JDb2RlIHsKQEAgLTQwLDkgKzM2LDggQEAgZW51bSBjbGFzcyBBcHBsZVBheUVycm9yQ29kZSB7
CiAgICAgU2hpcHBpbmdDb250YWN0SW52YWxpZCwKICAgICBCaWxsaW5nQ29udGFjdEludmFsaWQs
CiAgICAgQWRkcmVzc1Vuc2VydmljZWFibGUsCi0jaWYgZGVmaW5lZChBcHBsZVBheUVycm9yQ29k
ZUFkZGl0aW9uc192YWx1ZXMpCi0gICAgQXBwbGVQYXlFcnJvckNvZGVBZGRpdGlvbnNfdmFsdWVz
Ci0jZW5kaWYKKyAgICBDb3Vwb25Db2RlSW52YWxpZCwKKyAgICBDb3Vwb25Db2RlRXhwaXJlZCwK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKQEAgLTU1LDEwICs1MCw5IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU+IHsKICAgICAg
ICAgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OlVua25vd24sCiAgICAgICAgIFdlYkNvcmU6
OkFwcGxlUGF5RXJyb3JDb2RlOjpTaGlwcGluZ0NvbnRhY3RJbnZhbGlkLAogICAgICAgICBXZWJD
b3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QmlsbGluZ0NvbnRhY3RJbnZhbGlkLAotICAgICAgICBX
ZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVzc1Vuc2VydmljZWFibGUKLSNpZiBkZWZp
bmVkKEFwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zX0VudW1UcmFpdHMpCi0gICAgICAgIEFwcGxl
UGF5RXJyb3JDb2RlQWRkaXRpb25zX0VudW1UcmFpdHMKLSNlbmRpZgorICAgICAgICBXZWJDb3Jl
OjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVzc1Vuc2VydmljZWFibGUsCisgICAgICAgIFdlYkNv
cmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlSW52YWxpZCwKKyAgICAgICAgV2ViQ29y
ZTo6QXBwbGVQYXlFcnJvckNvZGU6OkNvdXBvbkNvZGVFeHBpcmVkCiAgICAgPjsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNv
ZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29k
ZS5pZGwKaW5kZXggNGNkNDRmOGQ0MTJhZWVmZDM4N2IxODcxMmQwYzM4MjNkNTMyOGU4Yi4uZjFk
ZjllMmFiMmU2ZjFkMTdhYmJjNDIzMGYyZjdhYjhhZmM4N2VlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwKQEAgLTMw
LDUgKzMwLDcgQEAKICAgICAidW5rbm93biIsCiAgICAgInNoaXBwaW5nQ29udGFjdEludmFsaWQi
LAogICAgICJiaWxsaW5nQ29udGFjdEludmFsaWQiLAotICAgICJhZGRyZXNzVW5zZXJ2aWNlYWJs
ZSIKKyAgICAiYWRkcmVzc1Vuc2VydmljZWFibGUiLAorICAgICJjb3Vwb25Db2RlSW52YWxpZCIs
CisgICAgImNvdXBvbkNvZGVFeHBpcmVkIgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKaW5kZXggZThmYWJiM2NjMGNkYTJiZDYz
NGY5N2VhNmZjM2E4YmMzN2NlNTE5OC4uZjU0YjNiZDMxZWUzMGRkMzdlODY0ZWRjMmQ1YWJhZThi
MTc4ODY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUxpbmVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUxpbmVJdGVtLmgKQEAgLTI3LDEzICsyNywxNSBAQAogCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKIAotI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW1EYXRhLmgiCi0jaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRUaW1pbmcuaCIKKyNpbmNsdWRlICJB
cHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIgorI2luY2x1ZGUgPGxpbWl0cz4KKyNp
bmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbSBmaW5hbCA6IHB1Ymxp
YyBBcHBsZVBheUxpbmVJdGVtRGF0YSB7CitzdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbSBmaW5hbCB7
CiAgICAgZW51bSBjbGFzcyBUeXBlIDogYm9vbCB7CiAgICAgICAgIFBlbmRpbmcsCiAgICAgICAg
IEZpbmFsLApAQCAtNDMsNiArNDUsMjEgQEAgc3RydWN0IEFwcGxlUGF5TGluZUl0ZW0gZmluYWwg
OiBwdWJsaWMgQXBwbGVQYXlMaW5lSXRlbURhdGEgewogICAgIFN0cmluZyBsYWJlbDsKICAgICBT
dHJpbmcgYW1vdW50OwogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVN
KSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkKKyAgICBBcHBsZVBheVBh
eW1lbnRUaW1pbmcgcGF5bWVudFRpbWluZyB7IEFwcGxlUGF5UGF5bWVudFRpbWluZzo6SW1tZWRp
YXRlIH07CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRF
TSkKKyAgICBkb3VibGUgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSB7IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyAgICBBcHBsZVBheVJlY3VycmluZ1BheW1l
bnREYXRlVW5pdCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0IHsgQXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQ6Ok1vbnRoIH07CisgICAgdW5zaWduZWQgcmVjdXJyaW5nUGF5bWVu
dEludGVydmFsQ291bnQgPSAxOworICAgIGRvdWJsZSByZWN1cnJpbmdQYXltZW50RW5kRGF0ZSB7
IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyNlbmRpZgorCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisgICAgZG91YmxlIGRlZmVy
cmVkUGF5bWVudERhdGUgeyBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigp
IH07CisjZW5kaWYKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpv
cHRpb25hbDxBcHBsZVBheUxpbmVJdGVtPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKQEAgLTUwLDM5
ICs2Nyw2NyBAQCBzdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbSBmaW5hbCA6IHB1YmxpYyBBcHBsZVBh
eUxpbmVJdGVtRGF0YSB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBBcHBsZVBheUxp
bmVJdGVtOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBBcHBsZVBheUxp
bmVJdGVtRGF0YTo6ZW5jb2RlKGVuY29kZXIpOwogICAgIGVuY29kZXIgPDwgdHlwZTsKICAgICBl
bmNvZGVyIDw8IGxhYmVsOwogICAgIGVuY29kZXIgPDwgYW1vdW50OworI2lmIEVOQUJMRShBUFBM
RV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkgfHwgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9M
SU5FX0lURU0pCisgICAgZW5jb2RlciA8PCBwYXltZW50VGltaW5nOworI2VuZGlmCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKQorICAgIGVuY29kZXIgPDwgcmVjdXJy
aW5nUGF5bWVudFN0YXJ0RGF0ZTsKKyAgICBlbmNvZGVyIDw8IHJlY3VycmluZ1BheW1lbnRJbnRl
cnZhbFVuaXQ7CisgICAgZW5jb2RlciA8PCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudDsK
KyAgICBlbmNvZGVyIDw8IHJlY3VycmluZ1BheW1lbnRFbmREYXRlOworI2VuZGlmCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisgICAgZW5jb2RlciA8PCBkZWZlcnJl
ZFBheW1lbnREYXRlOworI2VuZGlmCiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBzdGQ6
Om9wdGlvbmFsPEFwcGxlUGF5TGluZUl0ZW0+IEFwcGxlUGF5TGluZUl0ZW06OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQogewotICAgIEFwcGxlUGF5TGluZUl0ZW0gcmVzdWx0OworI2RlZmluZSBE
RUNPREUobmFtZSwgdHlwZSkgXAorICAgIHN0ZDo6b3B0aW9uYWw8dHlwZT4gbmFtZTsgXAorICAg
IGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkgXAorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OyBcCiAKLSAgICBpZiAoIXJlc3VsdC5kZWNvZGVEYXRhKGRlY29kZXIpKQotICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIERFQ09ERSh0eXBlLCBUeXBlKQorICAgIERF
Q09ERShsYWJlbCwgU3RyaW5nKQorICAgIERFQ09ERShhbW91bnQsIFN0cmluZykKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVG
RVJSRURfTElORV9JVEVNKQorICAgIERFQ09ERShwYXltZW50VGltaW5nLCBBcHBsZVBheVBheW1l
bnRUaW1pbmcpCisjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lU
RU0pCisgICAgREVDT0RFKHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIGRvdWJsZSkKKyAgICBE
RUNPREUocmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgQXBwbGVQYXlSZWN1cnJpbmdQYXlt
ZW50RGF0ZVVuaXQpCisgICAgREVDT0RFKHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCB1
bnNpZ25lZCkKKyAgICBERUNPREUocmVjdXJyaW5nUGF5bWVudEVuZERhdGUsIGRvdWJsZSkKKyNl
bmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgIERFQ09E
RShkZWZlcnJlZFBheW1lbnREYXRlLCBkb3VibGUpCisjZW5kaWYKIAotICAgIHN0ZDo6b3B0aW9u
YWw8VHlwZT4gdHlwZTsKLSAgICBkZWNvZGVyID4+IHR5cGU7Ci0gICAgaWYgKCF0eXBlKQotICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC50eXBlID0gV1RGTW92ZSgqdHlw
ZSk7CisjdW5kZWYgREVDT0RFCiAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gbGFiZWw7Ci0g
ICAgZGVjb2RlciA+PiBsYWJlbDsKLSAgICBpZiAoIWxhYmVsKQotICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwotICAgIHJlc3VsdC5sYWJlbCA9IFdURk1vdmUoKmxhYmVsKTsKLQotICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiBhbW91bnQ7Ci0gICAgZGVjb2RlciA+PiBhbW91bnQ7Ci0gICAg
aWYgKCFhbW91bnQpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgcmVzdWx0LmFt
b3VudCA9IFdURk1vdmUoKmFtb3VudCk7Ci0KLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVy
biB7IHsKKyAgICAgICAgV1RGTW92ZSgqdHlwZSksCisgICAgICAgIFdURk1vdmUoKmxhYmVsKSwK
KyAgICAgICAgV1RGTW92ZSgqYW1vdW50KSwKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklO
R19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAg
ICAgICBXVEZNb3ZlKCpwYXltZW50VGltaW5nKSwKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9Q
QVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICAgICAgV1RGTW92ZSgqcmVjdXJyaW5nUGF5bWVu
dFN0YXJ0RGF0ZSksCisgICAgICAgIFdURk1vdmUoKnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVu
aXQpLAorICAgICAgICBXVEZNb3ZlKCpyZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCksCisg
ICAgICAgIFdURk1vdmUoKnJlY3VycmluZ1BheW1lbnRFbmREYXRlKSwKKyNlbmRpZgorI2lmIEVO
QUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgICAgICBXVEZNb3ZlKCpkZWZl
cnJlZFBheW1lbnREYXRlKSwKKyNlbmRpZgorICAgIH0gfTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUxpbmVJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5pZGwKaW5kZXggYTQyYjc3MjRiZThmNjg3ODU1ZDQ2MDk2M2ZkYjgxYTRiZDcx
OWE4Yy4uMWM0NDdhM2U0OGZlMzczYmZmYmIwMTRjYTMyMTZmNDRiM2U5MDY0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0uaWRs
CkBAIC0zNCw4ICszNCwxNyBAQAogICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwKICAgICBFeHBv
cnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLV0gZGlj
dGlvbmFyeSBBcHBsZVBheUxpbmVJdGVtIDogQXBwbGVQYXlMaW5lSXRlbURhdGEgeworXSBkaWN0
aW9uYXJ5IEFwcGxlUGF5TGluZUl0ZW0gewogICAgIEFwcGxlUGF5TGluZUl0ZW1UeXBlIHR5cGUg
PSAiZmluYWwiOwogICAgIERPTVN0cmluZyBsYWJlbDsKICAgICBET01TdHJpbmcgYW1vdW50Owor
CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNfEFQUExFX1BB
WV9ERUZFUlJFRF9MSU5FX0lURU1dIEFwcGxlUGF5UGF5bWVudFRpbWluZyBwYXltZW50VGltaW5n
ID0gImltbWVkaWF0ZSI7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklOR19M
SU5FX0lURU1dIERhdGUgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZTsKKyAgICBbQ29uZGl0aW9u
YWw9QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1dIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQgPSAibW9udGgiOworICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTV0gdW5zaWduZWQgbG9uZyBy
ZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCA9IDE7CisgICAgW0NvbmRpdGlvbmFsPUFQUExF
X1BBWV9SRUNVUlJJTkdfTElORV9JVEVNXSBEYXRlIHJlY3VycmluZ1BheW1lbnRFbmREYXRlOwor
CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1dIERhdGUgZGVm
ZXJyZWRQYXltZW50RGF0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGU2NDcyYWI2MDljMDRlZmZlZDI4MzU4NDg2OGVlYTQ0ZTRhMWU4NDAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5oCisrKyAvZGV2L251bGwKQEAgLTEs
ODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEFQUExF
X1BBWSkKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRk
aXRpb25zL0FwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25zLmg+Ci0jZW5kaWYKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbURhdGEgewotI2lmIGRlZmlu
ZWQoQXBwbGVQYXlMaW5lSXRlbURhdGFBZGRpdGlvbnNfbWVtYmVycykKLSAgICBBcHBsZVBheUxp
bmVJdGVtRGF0YUFkZGl0aW9uc19tZW1iZXJzCi0jZW5kaWYKLQotICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheUxpbmVJdGVtRGF0YT4gZGVj
b2RlKERlY29kZXImKTsKLQotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IFdBUk5fVU5VU0VE
X1JFVFVSTiBib29sIGRlY29kZURhdGEoRGVjb2RlciYpOwotfTsKLQotdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlMaW5lSXRlbURhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAotewotI2lmIGRlZmluZWQoQXBwbGVQYXlMaW5lSXRlbURhdGFBZGRpdGlvbnNf
ZW5jb2RlKQotICAgIEFwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25zX2VuY29kZQotI2Vsc2UK
LSAgICBVTlVTRURfUEFSQU0oZW5jb2Rlcik7Ci0jZW5kaWYKLX0KLQotdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4KLXN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlMaW5lSXRlbURhdGE+IEFwcGxlUGF5TGlu
ZUl0ZW1EYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAgICBBcHBsZVBheUxpbmVJ
dGVtRGF0YSByZXN1bHQ7Ci0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShkZWNvZGVyKSkKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi10ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPgotYm9vbCBBcHBsZVBheUxpbmVJdGVtRGF0YTo6ZGVjb2RlRGF0
YShEZWNvZGVyJiBkZWNvZGVyKQotewotI2lmIGRlZmluZWQoQXBwbGVQYXlMaW5lSXRlbURhdGFB
ZGRpdGlvbnNfZGVjb2RlRGF0YSkKLSAgICBBcHBsZVBheUxpbmVJdGVtRGF0YUFkZGl0aW9uc19k
ZWNvZGVEYXRhCi0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkZWNvZGVyKTsKLSNlbmRpZgotCi0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4OTRkMTEyNGNmYmExMjM4ZDk2NmU3MjM0NTQ2MzZjYThjZjlkODkzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVks
Ci1dIGRpY3Rpb25hcnkgQXBwbGVQYXlMaW5lSXRlbURhdGEgewotfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURl
dGFpbHMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZURldGFpbHMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY0NTU2
ZDJkYzA2ZWFiOGRjYWM4N2Q1NTcyMGJjMTZiZTMwY2E0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0
NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQot
I2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWls
c0FkZGl0aW9ucy5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IEFw
cGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzIHsKLSNpZiBkZWZpbmVkKEFwcGxlUGF5UGF5
bWVudE1ldGhvZE1vZGVEZXRhaWxzQWRkaXRpb25zX21lbWJlcnMpCi0gICAgQXBwbGVQYXlQYXlt
ZW50TWV0aG9kTW9kZURldGFpbHNBZGRpdGlvbnNfbWVtYmVycwotI2VuZGlmCi19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGUxNThjZGFhMTA3NzYzNmFkZGIxZWU0MzJiMzJk
OTZlY2VlN2RiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZURldGFpbHMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSwKLSAgICBF
eHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKLSAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKLV0g
ZGljdGlvbmFyeSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyB7Ci19OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NzJlMjdkYTUyZWU2NWVjYTNjNzQwYzdmMmQ4MDhiNzcxODg4NmM5My4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaAorKysgL2Rldi9udWxsCkBA
IC0xLDgwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLQotI2luY2x1ZGUgIkFwcGxlUGF5RGV0YWls
c1VwZGF0ZUJhc2UuaCIKLSNpbmNsdWRlICJBcHBsZVBheUVycm9yLmgiCi0jaW5jbHVkZSAiQXBw
bGVQYXlTaGlwcGluZ01ldGhvZC5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUgZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlEZXRhaWxzVXBk
YXRlQmFzZSB7Ci0gICAgVmVjdG9yPFJlZlB0cjxBcHBsZVBheUVycm9yPj4gZXJyb3JzOwotCi0g
ICAgVmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kczsKLQot
ICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsK
LSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiBkZWNvZGUoRGVjb2RlciYpOwotfTsKLQotdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZTo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgQXBwbGVQYXlEZXRhaWxzVXBk
YXRlQmFzZTo6ZW5jb2RlKGVuY29kZXIpOwotICAgIGVuY29kZXIgPDwgZXJyb3JzOwotICAgIGVu
Y29kZXIgPDwgbmV3U2hpcHBpbmdNZXRob2RzOwotfQotCi10ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
Pgotc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiBBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAg
ICBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlIHJlc3VsdDsKLQotICAgIGlmICghcmVz
dWx0LmRlY29kZUJhc2UoZGVjb2RlcikpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0K
LSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxSZWZQdHI8QXBwbGVQYXlFcnJvcj4+PiBlcnJvcnM7
Ci0gICAgZGVjb2RlciA+PiBlcnJvcnM7Ci0gICAgaWYgKCFlcnJvcnMpCi0gICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7Ci0gICAgcmVzdWx0LmVycm9ycyA9IFdURk1vdmUoKmVycm9ycyk7Ci0K
LSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPj4gbmV3U2hp
cHBpbmdNZXRob2RzOwotICAgIGRlY29kZXIgPj4gbmV3U2hpcHBpbmdNZXRob2RzOwotICAgIGlm
ICghbmV3U2hpcHBpbmdNZXRob2RzKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAg
IHJlc3VsdC5uZXdTaGlwcGluZ01ldGhvZHMgPSBXVEZNb3ZlKCpuZXdTaGlwcGluZ01ldGhvZHMp
OwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RN
b2RlVXBkYXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDEwMDE3OTU2MmI1MmNkMjc1ZmM0YjM5MDhjZGM4YjIwZTQxMzc3N2QuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmlkbAorKysgL2Rldi9udWxs
CkBAIC0xLDMyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUsCi1dIGRpY3Rpb25hcnkgQXBwbGVQYXlQYXltZW50TWV0
aG9kTW9kZVVwZGF0ZSA6IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UgewotICAgIHNlcXVlbmNl
PEFwcGxlUGF5RXJyb3I+IGVycm9yczsKLQotICAgIHNlcXVlbmNlPEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kczsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFRpbWluZy5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MjM5OWRkYjliY2NhZDg0ZjMwNDJkYjkyN2JkZGU2MTE2N2RiM2YxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcu
aApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVG
RVJSRURfTElORV9JVEVNKQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEFwcGxlUGF5UGF5bWVudFRpbWluZyA6IHVpbnQ4X3Qg
eworICAgIEltbWVkaWF0ZSwKKyAgICBSZWN1cnJpbmcsCisgICAgRGVmZXJyZWQsCit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudFRpbWluZz4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dFRpbWluZywKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50VGltaW5nOjpJbW1lZGlh
dGUsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudFRpbWluZzo6UmVjdXJyaW5nLAor
ICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRUaW1pbmc6OkRlZmVycmVkCisgICAgPjsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9S
RUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRF
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDg0NzIzYmNkZDQ3NDc2OGVkNmE0OTY5
MDRkMzRiMjMwNWIxN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lU
RU18QVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSwKK10gZW51bSBBcHBsZVBheVBheW1lbnRU
aW1pbmcgeworICAgICJpbW1lZGlhdGUiLAorICAgICJyZWN1cnJpbmciLAorICAgICJkZWZlcnJl
ZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDll
NDY3OGUwODViYWU0Mjk5M2FkZWZkOTdhMzhhNTExNDEwNjQ1NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50
RGF0ZVVuaXQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pCisKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQgeworICAgIFllYXIsCisgICAgTW9udGgsCisgICAg
RGF5LAorICAgIEhvdXIsCisgICAgTWludXRlLAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJD
b3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdD4geworICAgIHVzaW5nIHZhbHVl
cyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0LAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRl
VW5pdDo6WWVhciwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0
ZVVuaXQ6Ok1vbnRoLAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdDo6RGF5LAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdDo6SG91ciwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50
RGF0ZVVuaXQ6Ok1pbnV0ZQorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50
RGF0ZVVuaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJl
Y3VycmluZ1BheW1lbnREYXRlVW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI1OGVlYWNjYmUwMmQwMjI3
ZmUwODY2ZTU5ZDRlNThkMmZiYmZiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsCkBA
IC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X1JFQ1VSUklOR19MSU5FX0lURU0sCitdIGVudW0gQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0
ZVVuaXQgeworICAgICJ5ZWFyIiwKKyAgICAibW9udGgiLAorICAgICJkYXkiLAorICAgICJob3Vy
IiwKKyAgICAibWludXRlIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwCmluZGV4IDUyYWVmZjYxODIxMTIyYWQx
MzMzOGYyZTAyMjE2YmZlY2NjZDU5YmEuLjcxNGQzZGE2MTJmOGE0NTRjMTIzZjM2MzQ0NTNmNzI5
NzRkNTBmNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcApAQCAtMTE4LDYgKzExOCwxNSBAQCBFeGNlcHRpb25P
cjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdD4gY29udmVydEFuZFZhbGlkYXRlKERvY3Vt
ZW50JiBkb2N1bWVudAogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKyAgICByZXN1bHQuc2V0U3VwcG9ydHNDb3Vwb25Db2RlKHJlcXVlc3Quc3VwcG9y
dHNDb3Vwb25Db2RlKTsKKyAgICByZXN1bHQuc2V0Q291cG9uQ29kZShyZXF1ZXN0LmNvdXBvbkNv
ZGUpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJ
VElOR19NT0RFKQorICAgIHJlc3VsdC5zZXRTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZShyZXF1
ZXN0LnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChB
cHBsZVBheVJlcXVlc3RCYXNlQWRkaXRpb25zX2NvbnZlcnRBbmRWYWxpZGF0ZV9yZXF1ZXN0KQog
ICAgIEFwcGxlUGF5UmVxdWVzdEJhc2VBZGRpdGlvbnNfY29udmVydEFuZFZhbGlkYXRlX3JlcXVl
c3QKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UmVxdWVzdEJhc2UuaAppbmRleCA4ZGM1YWU1MjgyYWU3NzYzYzlhZjQ5YjBkMDY1ZGMz
OWU0ZjAxNGRkLi5kOWEyYjgzMTdlNGU1MzY1MWViZTE1ZjI1YjljYzQ1NDVjNGNkNzljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVz
dEJhc2UuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uV2ViQ29yZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hhbnRDYXBhYmls
aXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50Q29udGFjdC5oIgorI2luY2x1ZGUgIkFw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCIKIAogI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5UmVxdWVzdEJhc2VB
ZGRpdGlvbnMuaD4KQEAgLTU5LDYgKzYwLDE1IEBAIHN0cnVjdCBBcHBsZVBheVJlcXVlc3RCYXNl
IHsKICAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBp
bnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBzdXBwb3J0c0NvdXBvbkNvZGU7
CisgICAgU3RyaW5nIGNvdXBvbkNvZGU7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlf
U0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAgc3RkOjpvcHRpb25hbDxBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsK
KyNlbmRpZgorCiAjaWYgZGVmaW5lZChBcHBsZVBheVJlcXVlc3RCYXNlQWRkaXRpb25zX21lbWJl
cnMpCiAgICAgQXBwbGVQYXlSZXF1ZXN0QmFzZUFkZGl0aW9uc19tZW1iZXJzCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0
QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVz
dEJhc2UuaWRsCmluZGV4IGU3MTUyNTI4NGQ5MTA4Y2ZkOWEyZDY3NDEwMjlkYzUyYjAzNDZkMWUu
LjJlMGEzNDkxYjZlZjZkMzU3MGFiYTUzYjY0YjY3NWYxNWI5OTZmZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlk
bApAQCAtNDAsNCArNDAsOSBAQAogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gc3VwcG9ydGVkQ291
bnRyaWVzOwogCiAgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFNdIEFwcGxl
UGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKKwor
ICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREVdIGJvb2xlYW4gc3VwcG9ydHND
b3Vwb25Db2RlOworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREVdIERPTVN0
cmluZyBjb3Vwb25Db2RlOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9TSElQUElOR19D
T05UQUNUX0VESVRJTkdfTU9ERV0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSBz
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKaW5kZXggNWYyMzI0ODg5ZGQ2M2Nh
Y2QxZGMzODI2YzZhMDYxZDU5NDYyNTNlMy4uMDdhY2I4ZDE4MDAxMGMwODljOWRkYmU2ZmI2ZjYx
ZDA2ZmUxNTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmNwcApAQCAtMjksMTIgKzI5LDEzIEBACiAjaWYgRU5BQkxFKEFQUExF
X1BBWSkKIAogI2luY2x1ZGUgIkFwcGxlUGF5Q2FuY2VsRXZlbnQuaCIKKyNpbmNsdWRlICJBcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCIKKyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheUVycm9yQ29kZS5oIgogI2luY2x1ZGUgIkFw
cGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCIKICNpbmNsdWRlICJBcHBsZVBheUxpbmVJdGVtLmgi
CiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5oIgogI2luY2x1
ZGUgIkFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5oIgotI2luY2x1ZGUgIkFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRNZXRo
b2RTZWxlY3RlZEV2ZW50LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIgpAQCAtMjgxLDkgKzI4Miw5
IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiBjb252
ZXJ0QW5kVmFsaWRhdGUoQXBwbGVQYXlTaGlwCiAgICAgcmV0dXJuIFdURk1vdmUodXBkYXRlKTsK
IH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi1zdGF0aWMgRXhjZXB0aW9uT3I8QXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZT4gY29udmVydEFuZFZhbGlkYXRlKEFwcGxlUGF5UGF5bWVu
dE1ldGhvZE1vZGVVcGRhdGUmJiB1cGRhdGUpCitzdGF0aWMgRXhjZXB0aW9uT3I8QXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlPiBjb252ZXJ0QW5kVmFsaWRhdGUoQXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlJiYgdXBkYXRlKQogewogICAgIGF1dG8gY29udmVydGVkTmV3U2hpcHBpbmdNZXRob2RzID0g
Y29udmVydEFuZFZhbGlkYXRlKFdURk1vdmUodXBkYXRlLm5ld1NoaXBwaW5nTWV0aG9kcykpOwog
ICAgIGlmIChjb252ZXJ0ZWROZXdTaGlwcGluZ01ldGhvZHMuaGFzRXhjZXB0aW9uKCkpCkBAIC0z
MDMsNyArMzA0LDcgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPEFwcGxlUGF5UGF5bWVudE1ldGhvZE1v
ZGVVcGRhdGU+IGNvbnZlcnRBbmRWYWxpZGF0ZShBcHBsZVBheVAKICAgICByZXR1cm4gV1RGTW92
ZSh1cGRhdGUpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIEV4Y2Vw
dGlvbk9yPFJlZjxBcHBsZVBheVNlc3Npb24+PiBBcHBsZVBheVNlc3Npb246OmNyZWF0ZShEb2N1
bWVudCYgZG9jdW1lbnQsIHVuc2lnbmVkIHZlcnNpb24sIEFwcGxlUGF5UGF5bWVudFJlcXVlc3Qm
JiBwYXltZW50UmVxdWVzdCkKIHsKQEAgLTUyNSw2ICs1MjYsMjUgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gQXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oQXBwbGVQ
YXlQYXltZW4KICAgICByZXR1cm4geyB9OwogfQogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKworRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2UoQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlJiYgdXBkYXRlKQoreworICAg
IGlmICghY2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKCkpCisgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKworICAgIGF1dG8gY29udmVydGVkVXBkYXRl
ID0gY29udmVydEFuZFZhbGlkYXRlKFdURk1vdmUodXBkYXRlKSk7CisgICAgaWYgKGNvbnZlcnRl
ZFVwZGF0ZS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGNvbnZlcnRlZFVwZGF0ZS5y
ZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBtX3N0YXRlID0gU3RhdGU6OkFjdGl2ZTsKKyAgICBw
YXltZW50Q29vcmRpbmF0b3IoKS5jb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoY29udmVydGVkVXBk
YXRlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKworICAgIHJldHVybiB7IH07Cit9CisKKyNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCiBFeGNlcHRpb25Pcjx2b2lkPiBB
cHBsZVBheVNlc3Npb246OmNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRBdXRob3JpemF0
aW9uUmVzdWx0JiYgcmVzdWx0KQogewogICAgIGlmICghY2FuQ29tcGxldGVQYXltZW50KCkpCkBA
IC03MjEsMTggKzc0MSwyMyBAQCB2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6ZGlkU2VsZWN0UGF5bWVu
dE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJiBwYXltZW50TWV0aG9kKQogICAgIGRpc3BhdGNo
RXZlbnQoZXZlbnQuZ2V0KCkpOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLXZvaWQgQXBw
bGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZShTdHJpbmcmJiBwYXltZW50
TWV0aG9kTW9kZSkKK3ZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKFN0
cmluZyYmIGNvdXBvbkNvZGUpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gU3RhdGU6OkFjdGl2
ZSk7CiAKLSNpZiBkZWZpbmVkKEFwcGxlUGF5U2Vzc2lvbkFkZGl0aW9uc19kaWRDaGFuZ2VQYXlt
ZW50TWV0aG9kTW9kZSkKLSAgICBBcHBsZVBheVNlc3Npb25BZGRpdGlvbnNfZGlkQ2hhbmdlUGF5
bWVudE1ldGhvZE1vZGUKLSNlbmRpZgorICAgIGlmICghaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnRO
YW1lcygpLmNvdXBvbmNvZGVjaGFuZ2VkRXZlbnQpKSB7CisgICAgICAgIHBheW1lbnRDb29yZGlu
YXRvcigpLmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSh7IH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgbV9zdGF0ZSA9IFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDsKKyAgICBhdXRv
IGV2ZW50ID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmNvdXBvbmNvZGVjaGFuZ2VkRXZlbnQsIFdURk1vdmUoY291cG9uQ29kZSkpOworICAgIGRp
c3BhdGNoRXZlbnQoZXZlbnQuZ2V0KCkpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCiAKIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihQ
YXltZW50U2Vzc2lvbkVycm9yJiYgZXJyb3IpCiB7CkBAIC03NjMsOSArNzg4LDkgQEAgYm9vbCBB
cHBsZVBheVNlc3Npb246OmNhblN1c3BlbmRXaXRob3V0Q2FuY2VsaW5nKCkgY29uc3QKICAgICBj
YXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBw
aW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3Rl
ZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBT
dGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgY2FzZSBT
dGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAt
ODEzLDkgKzgzOCw5IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5CZWdpbigpIGNvbnN0CiAg
ICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpT
aGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2Vs
ZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNh
c2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05f
Q09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgIGNh
c2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
QEAgLTgzNSw5ICs4NjAsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQWJvcnQoKSBjb25z
dAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0
ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhv
ZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAg
ICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAg
ICBjYXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KQEAgLTg1Nyw5ICs4ODIsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ2FuY2VsKCkg
Y29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2Ug
U3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRN
ZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
Ci0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlm
CiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CkBAIC04ODcsOSArOTEyLDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OkF1dGhv
cml6ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgIGNhc2Ug
U3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5n
ZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lm
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29k
ZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApAQCAtOTA5LDkgKzkzNCw5IEBAIGJvb2wgQXBwbGVQYXlTZXNz
aW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbigpIGNvbnN0CiAgICAgY2Fz
ZSBTdGF0ZTo6QXV0aG9yaXplZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0
ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3Rh
dGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVx
dWVzdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTkzMSw5ICs5NTYsOSBAQCBib29s
IEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKCkgY29u
c3QKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5n
TWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3Rh
dGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkK
KyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3Rh
dGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC05NDIsOSAr
OTY3LDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbigpIGNvbnN0CiAgICAgfQogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5U
X01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLWJvb2wg
QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKCkgY29u
c3QKK2Jvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoKSBj
b25zdAogewogICAgIHN3aXRjaCAobV9zdGF0ZSkgewogICAgIGNhc2UgU3RhdGU6OklkbGU6CkBA
IC05NTksMTIgKzk4NCwxMiBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXlt
ZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhv
ZFNlbGVjdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBjYXNlIFN0YXRlOjpQYXlt
ZW50TWV0aG9kTW9kZUNoYW5nZWQ6CisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBM
RV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQogCiBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50KCkg
Y29uc3QKIHsKQEAgLTk3Nyw5ICsxMDAyLDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNv
bXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxl
Y3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNl
IFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
ZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2Rl
Q2hhbmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCkBAIC05OTYsOSArMTAyMSw5IEBAIGJvb2wgQXBwbGVQYXlTZXNz
aW9uOjppc0ZpbmFsU3RhdGUoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9k
U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAg
Y2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNo
YW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQor
I2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9u
Q29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVkOgogICAgIGNh
c2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTAx
NSwxMCArMTA0MCw2IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjp2aXJ0dWFsSGFzUGVuZGluZ0Fj
dGl2aXR5KCkgY29uc3QKICAgICByZXR1cm4gbV9zdGF0ZSAhPSBTdGF0ZTo6SWRsZSAmJiAhaXNG
aW5hbFN0YXRlKCk7CiB9CiAKLSNpZiBkZWZpbmVkKEFwcGxlUGF5U2Vzc2lvbkFkZGl0aW9uc19k
ZWZpbml0aW9ucykKLUFwcGxlUGF5U2Vzc2lvbkFkZGl0aW9uc19kZWZpbml0aW9ucwotI2VuZGlm
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KLQotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5oCmluZGV4IGUxNzhiZmFkY2JmMTk5ZjEyMjViYzc5MDRjZDYwYTVlOTIxYjgw
MzIuLmZjZTcyMDE3Y2IyMjJlNzRmZDQyNDQ5MWU0MzEwMTQ1MGM0ODQ4YWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaApAQCAtNTQs
MTMgKzU0LDExIEBAIGNsYXNzIFBheW1lbnRDb250YWN0OwogY2xhc3MgUGF5bWVudENvb3JkaW5h
dG9yOwogY2xhc3MgUGF5bWVudE1ldGhvZDsKIGVudW0gY2xhc3MgUGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXM7CitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwogc3RydWN0IEFwcGxl
UGF5TGluZUl0ZW07CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50UmVxdWVzdDsKIHN0cnVjdCBBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kOwogc3RydWN0IEFwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25S
ZXN1bHQ7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotc3RydWN0
IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQogc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZFVw
ZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIHN0cnVjdCBBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlOwpAQCAtOTEsNiArODksOSBAQCBwdWJsaWM6CiAgICAg
RXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kVXBkYXRlJiYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGNvbXBsZXRl
U2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlJiYp
OwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihB
cHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUmJik7CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uo
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlJiYpOworI2VuZGlmCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gY29tcGxldGVQYXltZW50KEFwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQmJik7
CiAKICAgICAvLyBPbGQgZnVuY3Rpb25zLgpAQCAtMTI2LDkgKzEyNyw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBBcHBsZVBheVNoaXBwaW5nTWV0
aG9kJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3Qg
UGF5bWVudENvbnRhY3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFNlbGVjdFBheW1lbnRNZXRo
b2QoY29uc3QgUGF5bWVudE1ldGhvZCYpIG92ZXJyaWRlOwotI2lmIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2b2lkIGRpZENoYW5nZVBheW1lbnRNZXRob2RNb2Rl
KFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKSBvdmVycmlkZTsKLSNlbmRpZiAvLyBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKyAgICB2b2lkIGRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29k
ZSkgb3ZlcnJpZGU7CisjZW5kaWYKICAgICB2b2lkIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFBh
eW1lbnRTZXNzaW9uRXJyb3ImJikgb3ZlcnJpZGU7CiAKICAgICBQYXltZW50Q29vcmRpbmF0b3Im
IHBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0OwpAQCAtMTQwLDkgKzE0MSw5IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKCkgY29uc3Q7CiAg
ICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbigpIGNvbnN0OwogICAg
IGJvb2wgY2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKCkgY29uc3Q7Ci0jaWYgRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGJvb2wgY2FuQ29tcGxldGVQ
YXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0OwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQorICAgIGJvb2wgY2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKCkgY29uc3Q7CisjZW5kaWYK
ICAgICBib29sIGNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0OwogICAgIGJvb2wgY2FuU3VzcGVu
ZFdpdGhvdXRDYW5jZWxpbmcoKSBjb25zdDsKIApAQCAtMTU1LDkgKzE1Niw5IEBAIHByaXZhdGU6
CiAgICAgICAgIFNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQsCiAgICAgICAgIFNoaXBwaW5nQ29udGFj
dFNlbGVjdGVkLAogICAgICAgICBQYXltZW50TWV0aG9kU2VsZWN0ZWQsCi0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgICAgICBQYXltZW50TWV0aG9kTW9kZUNo
YW5nZWQsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQor
I2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgICAgIENvdXBvbkNvZGVDaGFu
Z2VkLAorI2VuZGlmCiAgICAgICAgIENhbmNlbFJlcXVlc3RlZCwKICAgICAgICAgQXV0aG9yaXpl
ZCwKICAgICAgICAgQ29tcGxldGVkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCmluZGV4IDBiZTFkZDI3ZTNiMGFiY2VmODRjNjM1
Nzg4NjM5MWZmMmIxY2EyZDguLjg4ZGM1OTUxNzYxMTYxZDNiYWJkZDYzOTc4ZGYyNWYwYWYyY2Ji
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvbi5pZGwKQEAgLTUyLDYgKzUyLDcgQEAKICAgICB1bmRlZmluZWQgY29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlIHVwZGF0ZSk7
CiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKEFwcGxlUGF5
U2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0ZSk7CiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlUGF5
bWVudE1ldGhvZFNlbGVjdGlvbihBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUgdXBkYXRlKTsK
KyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSB1bmRlZmluZWQgY29tcGxl
dGVDb3Vwb25Db2RlQ2hhbmdlKEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSB1cGRhdGUpOwogICAg
IHVuZGVmaW5lZCBjb21wbGV0ZVBheW1lbnQoQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJl
c3VsdCByZXN1bHQpOwogCiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBBcHBsZVBheUxpbmVJdGVtIG5ld1RvdGFsLCBz
ZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOwpAQCAtNjQsNSArNjUsNiBA
QAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wYXltZW50YXV0aG9yaXplZDsKICAgICBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdtZXRob2RzZWxlY3RlZDsKICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdjb250YWN0c2VsZWN0ZWQ7CisgICAgW0NvbmRp
dGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNv
dXBvbmNvZGVjaGFuZ2VkOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jYW5jZWw7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oCmluZGV4IDQ5NjRlZDMwYjE4NjI2MDNlMTgw
NTEyZWI4NTYzNTdmNGE5OTA0MTUuLmY5ZTFiMWU1N2I1YzkzYmQzOTY1N2Q5NmQ2ZGFjZjA0ODk2
MzZiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgKQEAgLTI5LDYgKzI5LDcgQEAK
IAogI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3IuaCIKICNpbmNsdWRlICJBcHBsZVBheUxpbmVJdGVt
LmgiCisjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oIgogI2lu
Y2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNsdWRlICJQYXltZW50Q29udGFj
dC5oIgogI2luY2x1ZGUgIlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgi
CkBAIC0xMjksNiArMTMwLDE5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbihQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiYgaW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uKSB7IG1faW5zdGFsbG1lbnRDb25maWd1cmF0aW9uID0gV1RGTW92ZShpbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24pOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBzdXBwb3J0c0NvdXBvbkNvZGUo
KSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzQ291cG9uQ29kZTsgfQorICAgIHZvaWQgc2V0U3Vw
cG9ydHNDb3Vwb25Db2RlKHN0ZDo6b3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNDb3Vwb25Db2RlKSB7
IG1fc3VwcG9ydHNDb3Vwb25Db2RlID0gc3VwcG9ydHNDb3Vwb25Db2RlOyB9CisKKyAgICBjb25z
dCBTdHJpbmcmIGNvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvdXBvbkNvZGU7IH0KKyAg
ICB2b2lkIHNldENvdXBvbkNvZGUoY29uc3QgU3RyaW5nJiBjb3Vwb25Db2RlKSB7IG1fY291cG9u
Q29kZSA9IGNvdXBvbkNvZGU7IH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQ
UElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPEFwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+JiBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7IH0KKyAgICB2
b2lkIHNldFNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8QXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZT4mIHNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlKSB7IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgPSBzaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV92ZXJzaW9uIHsg
MCB9OwogCkBAIC0xNTksNiArMTczLDE1IEBAIHByaXZhdGU6CiAgICAgUGF5bWVudEluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbiBtX2luc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKICNlbmRpZgogCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyAgICBz
dGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+IG1fc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGU7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBtX3N1cHBvcnRzQ291cG9uQ29kZTsK
KyAgICBTdHJpbmcgbV9jb3Vwb25Db2RlOworI2VuZGlmCisKICNpZiBkZWZpbmVkKEFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0QWRkaXRpb25zX21lbWJlcnMpCiAgICAgQXBwbGVQYXlTZXNz
aW9uUGF5bWVudFJlcXVlc3RBZGRpdGlvbnNfbWVtYmVycwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRp
dGluZ01vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjNGIxZTFkMjA4MzIxMGY4MDE5
MjJlYjJmZjA3MGJkZWM2MTI0M2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaApAQCAt
MCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQ
TEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2VudW0gY2xhc3MgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSA6IGJv
b2wgeworICAgIEVuYWJsZWQsCisgICAgU3RvcmVQaWNrdXAsCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1Rf
RURJVElOR19NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzk1OGRhMTYwMGYxMjRhMWY3NzA0YzFiZWIxNWFkMWQzZDE1YmI2MgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5H
X01PREUsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCitdIGVudW0gQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSB7CisgICAgImVuYWJsZWQiLAorICAgICJzdG9yZVBp
Y2t1cCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCmluZGV4IDBjNDMzM2NkMGE1NTE1YmMyNGVlOWRkZjhh
OWMxODQzOTk0ZDA4MDguLjNiNzNkYTkxNGE1ODIxY2I1MDQ0YjVmNDFkMjQyYTQxYTcyMDNhYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ01ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZC5oCkBAIC0yNywxNyArMjcsMjIgQEAKIAogI2lmIEVOQUJMRShBUFBM
RV9QQVkpCiAKLSNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIgorI2luY2x1
ZGUgIkFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oIgorI2luY2x1ZGUgPG9wdGlvbmFsPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIGZpbmFsIDogcHVibGljIEFwcGxlUGF5U2hp
cHBpbmdNZXRob2REYXRhIHsKK3N0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIGZpbmFsIHsK
ICAgICBTdHJpbmcgbGFiZWw7CiAgICAgU3RyaW5nIGRldGFpbDsKICAgICBTdHJpbmcgYW1vdW50
OwogICAgIFN0cmluZyBpZGVudGlmaWVyOwogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElO
R19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGVQ
YXlEYXRlQ29tcG9uZW50c1JhbmdlPiBkYXRlQ29tcG9uZW50c1JhbmdlOworI2VuZGlmCisKICAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlT
aGlwcGluZ01ldGhvZD4gZGVjb2RlKERlY29kZXImKTsKIH07CkBAIC00NSwzNiArNTAsNDMgQEAg
c3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QgZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlTaGlw
cGluZ01ldGhvZERhdGEgewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgQXBwbGVQYXlT
aGlwcGluZ01ldGhvZDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgQXBw
bGVQYXlTaGlwcGluZ01ldGhvZERhdGE6OmVuY29kZShlbmNvZGVyKTsKICAgICBlbmNvZGVyIDw8
IGxhYmVsOwogICAgIGVuY29kZXIgPDwgZGV0YWlsOwogICAgIGVuY29kZXIgPDwgYW1vdW50Owog
ICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5H
X01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisgICAgZW5jb2RlciA8PCBkYXRlQ29tcG9u
ZW50c1JhbmdlOworI2VuZGlmCiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CiBzdGQ6Om9w
dGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIEFwcGxlUGF5U2hpcHBpbmdNZXRob2QgcmVz
dWx0OwotCi0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShkZWNvZGVyKSkKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKLQogI2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkgXAogICAgIHN0
ZDo6b3B0aW9uYWw8dHlwZT4gbmFtZTsgXAogICAgIGRlY29kZXIgPj4gbmFtZTsgXAogICAgIGlm
ICghbmFtZSkgXAogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OyBcCi0gICAgcmVzdWx0Lm5h
bWUgPSBXVEZNb3ZlKCpuYW1lKTsgXAogCiAgICAgREVDT0RFKGxhYmVsLCBTdHJpbmcpCiAgICAg
REVDT0RFKGRldGFpbCwgU3RyaW5nKQogICAgIERFQ09ERShhbW91bnQsIFN0cmluZykKICAgICBE
RUNPREUoaWRlbnRpZmllciwgU3RyaW5nKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdf
TUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBERUNPREUoZGF0ZUNvbXBvbmVudHNS
YW5nZSwgc3RkOjpvcHRpb25hbDxBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U+KQorI2VuZGlm
CiAKICN1bmRlZiBERUNPREUKIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIHsgewor
ICAgICAgICBXVEZNb3ZlKCpsYWJlbCksCisgICAgICAgIFdURk1vdmUoKmRldGFpbCksCisgICAg
ICAgIFdURk1vdmUoKmFtb3VudCksCisgICAgICAgIFdURk1vdmUoKmlkZW50aWZpZXIpLAorI2lm
IEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkK
KyAgICAgICAgV1RGTW92ZSgqZGF0ZUNvbXBvbmVudHNSYW5nZSksCisjZW5kaWYKKyAgICB9IH07
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCmluZGV4IGUw
ZjJhMjQxYmNhNTJmNmU0MGViOGJjODdiZmJmNTBkMWY2OWVlMzkuLjQ3MTBmNTJkYWNlZjg1Yzky
YTNiYTdjOWIwMTY2NTkwNjZiY2M5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbApAQCAtMjcsOSAr
MjcsMTEgQEAKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCiAgICAgRXhwb3J0TWFjcm89V0VC
Q09SRV9FWFBPUlQsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCi1dIGRpY3Rpb25hcnkgQXBw
bGVQYXlTaGlwcGluZ01ldGhvZCA6IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhIHsKK10gZGlj
dGlvbmFyeSBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIHsKICAgICByZXF1aXJlZCBET01TdHJpbmcg
bGFiZWw7CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGRldGFpbDsKICAgICByZXF1aXJlZCBET01T
dHJpbmcgYW1vdW50OwogICAgIHJlcXVpcmVkIERPTVN0cmluZyBpZGVudGlmaWVyOworCisgICAg
W0NvbmRpdGlvbmFsPUFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JB
TkdFXSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgZGF0ZUNvbXBvbmVudHNSYW5nZTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdNZXRob2REYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdNZXRob2REYXRhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1
OGU2N2MyZGZiMTBkZGY3MTBiNmUzYjc1M2M5YmQ4NzY5NzVmYmUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oCisrKyAvZGV2L251bGwKQEAgLTEsODAg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEFQUExFX1BB
WSkKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zLmg+Ci0jZW5kaWYKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEgewot
I2lmIGRlZmluZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfbWVtYmVycykK
LSAgICBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0aW9uc19tZW1iZXJzCi0jZW5kaWYK
LQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kRGF0YT4gZGVjb2RlKERlY29kZXImKTsKLQotICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZURhdGEoRGVjb2Rl
ciYpOwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZERhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotI2lmIGRlZmlu
ZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfZW5jb2RlKQotICAgIEFwcGxl
UGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zX2VuY29kZQotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oZW5jb2Rlcik7Ci0jZW5kaWYKLX0KLQotdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KLXN0
ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGE+IEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2REYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAgICBBcHBsZVBheVNoaXBw
aW5nTWV0aG9kRGF0YSByZXN1bHQ7Ci0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShkZWNvZGVy
KSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci10ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotYm9vbCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0
YTo6ZGVjb2RlRGF0YShEZWNvZGVyJiBkZWNvZGVyKQotewotI2lmIGRlZmluZWQoQXBwbGVQYXlT
aGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfZGVjb2RlRGF0YSkKLSAgICBBcHBsZVBheVNoaXBw
aW5nTWV0aG9kRGF0YUFkZGl0aW9uc19kZWNvZGVEYXRhCi0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShkZWNvZGVyKTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRh
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01l
dGhvZERhdGEuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlY2Q2ZTUyYTljYWVm
ZDZiOWI3NDNhZjYwYzJhZWZmMmU0NDM4MTFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZERhdGEuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCi1dIGRpY3Rpb25hcnkg
QXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEgewotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCA1ZDhjYmI2
NGJhODI2YzJlNzEzMGJmMmM1NWRlNWQ5MDZjYTRkZDlkLi41ODFlOTEzZDU2Zjg4OWIxMTliY2Mw
M2E1NWJhMTE1MzExYjIwYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZS5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oIgogI2luY2x1
ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5o
IgpAQCAtMTU0LDE2ICsxNTQsMTYgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRl
UGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGEKICAgICBtX2Ns
aWVudC5jb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oV1RGTW92ZSh1cGRhdGUpKTsKIH0K
IAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIFBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxl
dGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRlKQordm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBs
ZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZT4mJiB1cGRhdGUpCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlU2Vzc2lvbik7Ci0gICAgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRCgiY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIik7Ci0g
ICAgbV9jbGllbnQuY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShXVEZNb3ZlKHVwZGF0
ZSkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNvbXBsZXRlQ291cG9uQ29kZUNoYW5n
ZSgpIik7CisgICAgbV9jbGllbnQuY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1vdmUodXBk
YXRlKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01P
REUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9pZCBQYXlt
ZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRpb25hbDxQYXlt
ZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJiByZXN1bHQpCiB7CkBAIC0yNDksMjAgKzI0OSwyMCBA
QCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0
IFBheW1lbnRDb250YWN0JiBzaGlwcGluZwogICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkU2VsZWN0
U2hpcHBpbmdDb250YWN0KHNoaXBwaW5nQ29udGFjdCk7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKIAotdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZVBheW1lbnRNZXRob2RNb2Rl
KFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKQordm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRp
ZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSkKIHsKICAgICBpZiAoIW1fYWN0
aXZlU2Vzc2lvbikgewogICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHBheW1lbnQg
aGFzIGJlZW4gYWJvcnRlZCBhbHJlYWR5LgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
UkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoKSIpOwot
ICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoV1RGTW92ZShw
YXltZW50TWV0aG9kTW9kZSkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZENoYW5n
ZUNvdXBvbkNvZGUoKSIpOworICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkQ2hhbmdlQ291cG9uQ29k
ZShXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9D
T0RFKQogCiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24o
UGF5bWVudFNlc3Npb25FcnJvciYmIGVycm9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggYjJkMDJjNTEwMTE4
ZWVlMWUwOWFmMTI1ZDU5YTBiNGMyOGI0MzQ3Zi4uOWJmZmQ0YzBkOTI4YzA4ODJiZmFlOWRiOGE1
MTZhZTU3NDYwM2Y0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvci5oCkBAIC00NCw5ICs0NCw3IEBAIGNsYXNzIFBheW1lbnRN
ZXRob2Q7CiBjbGFzcyBQYXltZW50U2Vzc2lvbjsKIGNsYXNzIFBheW1lbnRTZXNzaW9uRXJyb3I7
CiBlbnVtIGNsYXNzIFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzOwotI2lmIEVOQUJMRShBUFBM
RV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RN
b2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlQYXlt
ZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9uOwogc3Ry
dWN0IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlOwpAQCAtNzUsOSArNzMsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7CiAgICAgdm9pZCBjb21wbGV0ZVNo
aXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250
YWN0VXBkYXRlPiYmKTsKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihz
dGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJik7Ci0jaWYgRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50
TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgY29tcGxldGVD
b3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYm
KTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFs
PFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmKTsKICAgICB2b2lkIGFib3J0UGF5bWVudFNl
c3Npb24oKTsKICAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCk7CkBAIC04Nyw5ICs4NSw5
IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZFNlbGVjdFBheW1lbnRNZXRo
b2QoY29uc3QgUGF5bWVudE1ldGhvZCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkU2Vs
ZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCYpOwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0IFBheW1lbnRD
b250YWN0Jik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYg
cGF5bWVudE1ldGhvZE1vZGUpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKTsK
KyNlbmRpZgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24o
UGF5bWVudFNlc3Npb25FcnJvciYmKTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB2YWxp
ZGF0ZWRQYXltZW50TmV0d29yayhEb2N1bWVudCYsIHVuc2lnbmVkIHZlcnNpb24sIGNvbnN0IFN0
cmluZyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5kZXggYzUwNzM2N2M5MzNhMTU3OTQ0
ZDM3MjRiM2U5NDBjNzlmZTEzZTExYy4uODcyN2UwZGE3MzVlOGNjM2FkNjliZjU0YjAzN2Y2YzU4
MWQ5YjE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0zNyw5ICszNyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBQYXltZW50TWVyY2hhbnRTZXNz
aW9uOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0cnVjdCBB
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU7
CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2V0
dXBDb25maWd1cmF0aW9uOwogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlOwpA
QCAtNjAsOSArNTgsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlU2hpcHBp
bmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBk
YXRlPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2Vs
ZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6
b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlPiYmKSA9IDA7Ci0jaWYgRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0
ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0
aG9kTW9kZVVwZGF0ZT4mJikgPSAwOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZp
cnR1YWwgdm9pZCBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBh
eUNvdXBvbkNvZGVVcGRhdGU+JiYpID0gMDsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBjb21w
bGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQ+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRIZWFkZXJzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRIZWFkZXJzLmgKaW5kZXggMWIyM2Qy
OWIyMDk3NjhhMWVmMmFjMzg1NzUyMmUxNThjZGM4ZWVlYy4uZjI1ZGQxZTQxMjA3MTdjMjEzMzFj
YTVkNWI1MmJkYTkwZDNkYTVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50SGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudEhlYWRlcnMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCIKKyNpbmNsdWRl
ICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRN
ZXRob2RVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5o
IgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmgKaW5kZXggYzEyNTA4
YTE2MGJkYzE2ZDRhMzA3NTRkMGRkMzgxOGQ5NzEwOWRiNi4uZGY0MmE1ZTE0NzM0MDdkMTM3Zjc3
ZjBlNmFlODQ2YWYyMGI1NWNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudFNlc3Npb24uaApAQCAtNTEsOSArNTEsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChj
b25zdCBQYXltZW50Q29udGFjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VsZWN0UGF5
bWVudE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJikgPSAwOwotI2lmIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUGF5bWVu
dE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpID0gMDsKLSNlbmRpZiAvLyBF
TkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BB
WV9DT1VQT05fQ09ERSkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJp
bmcmJiBjb3Vwb25Db2RlKSA9IDA7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2FuY2Vs
UGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmKSA9IDA7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJz
aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1l
bnRBUElWZXJzaW9uQ29jb2EubW0KaW5kZXggMTJlNDRmYWE0ZTA4MWFmNjQwOTBlYTgyN2EyYjEx
YjY4MTc5MGRjNi4uODcyNzZlODUzNTRhMDk3ZTYwYjU4ZGRiMGI1OGQ3NjRjZWZmOTBiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJ
VmVyc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiB1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpCiB7CiAgICAg
c3RhdGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9TRVNT
SU9OX1YxMikKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKSB8fCBFTkFCTEUoQVBQ
TEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKSB8fCBFTkFCTEUoQVBQTEVfUEFZ
X1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9J
VEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNf
UkFOR0UpCiAgICAgICAgIHJldHVybiAxMjsKICNlbGlmIEVOQUJMRShBUFBMRV9QQVlfU0VTU0lP
Tl9WMTEpCiAgICAgICAgIHJldHVybiAxMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50U3VtbWFyeUl0ZW1zQ29jb2Eu
bW0KaW5kZXggMTFlZGIwYjQ5NmRkNzkwM2YwZmI1YTJjNjJlNmVmODIxYWNjNDJkNi4uNjE0Y2I4
ZDg4YzkzYmFlYTBkZjg4OWIwMTljZDNmNWQ3OTZiZDIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50U3VtbWFyeUl0ZW1zQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50U3VtbWFy
eUl0ZW1zQ29jb2EubW0KQEAgLTUwLDE2ICs1MCw3OCBAQCBzdGF0aWMgUEtQYXltZW50U3VtbWFy
eUl0ZW1UeXBlIHRvUEtQYXltZW50U3VtbWFyeUl0ZW1UeXBlKEFwcGxlUGF5TGluZUl0ZW06OlR5
cAogICAgIH0KIH0KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxXZWJL
aXRBZGRpdGlvbnMvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29hQWRkaXRpb25zLm1tPgotI2VuZGlm
CisjaWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEhBVkUoUEFTU0tJVF9E
RUZFUlJFRF9MSU5FX0lURU0pCisKK3N0YXRpYyBOU0RhdGUgKnRvRGF0ZShkb3VibGUgZGF0ZSkK
K3sKKyAgICByZXR1cm4gW05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlMTk3MDpkYXRl
XTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBI
QVZFKFBBU1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorCisjaWYgSEFWRShQQVNTS0lUX1JFQ1VS
UklOR19MSU5FX0lURU0pCisKK3N0YXRpYyBOU0NhbGVuZGFyVW5pdCB0b0NhbGVuZGFyVW5pdChB
cHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdCB1bml0KQoreworICAgIHN3aXRjaCAodW5p
dCkgeworICAgIGNhc2UgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6OlllYXI6Cisg
ICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdFllYXI7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVj
dXJyaW5nUGF5bWVudERhdGVVbml0OjpNb250aDoKKyAgICAgICAgcmV0dXJuIE5TQ2FsZW5kYXJV
bml0TW9udGg7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0OjpE
YXk6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdERheTsKKworICAgIGNhc2UgQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6OkhvdXI6CisgICAgICAgIHJldHVybiBOU0NhbGVu
ZGFyVW5pdEhvdXI7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0
OjpNaW51dGU6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdE1pbnV0ZTsKKyAgICB9Cit9
CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRFTSkKIAotI2lmICFF
TkFCTEUoQVBQTEVfUEFZX0xJTkVfSVRFTV9EQVRBKQogc3RhdGljIFBLUGF5bWVudFN1bW1hcnlJ
dGVtICp0b1BLUGF5bWVudFN1bW1hcnlJdGVtKGNvbnN0IEFwcGxlUGF5TGluZUl0ZW0mIGxpbmVJ
dGVtKQogeworI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBIQVZFKFBB
U1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorICAgIHN3aXRjaCAobGluZUl0ZW0ucGF5bWVudFRp
bWluZykgeworICAgIGNhc2UgQXBwbGVQYXlQYXltZW50VGltaW5nOjpJbW1lZGlhdGU6CisgICAg
ICAgIGJyZWFrOworCisgICAgY2FzZSBBcHBsZVBheVBheW1lbnRUaW1pbmc6OlJlY3VycmluZzoK
KyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICB7CisgICAgICAgIFBL
UmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtICpzdW1tYXJ5SXRlbSA9IFtQQUw6OmdldFBLUmVj
dXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpsaW5l
SXRlbS5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGxpbmVJdGVtLmFtb3VudCkgdHlwZTp0
b1BLUGF5bWVudFN1bW1hcnlJdGVtVHlwZShsaW5lSXRlbS50eXBlKV07CisgICAgICAgIGlmICgh
c3RkOjppc25hbihsaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRlKSkKKyAgICAgICAg
ICAgIHN1bW1hcnlJdGVtLnN0YXJ0RGF0ZSA9IHRvRGF0ZShsaW5lSXRlbS5yZWN1cnJpbmdQYXlt
ZW50U3RhcnREYXRlKTsKKyAgICAgICAgc3VtbWFyeUl0ZW0uaW50ZXJ2YWxVbml0ID0gdG9DYWxl
bmRhclVuaXQobGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCk7CisgICAgICAg
IHN1bW1hcnlJdGVtLmludGVydmFsQ291bnQgPSBsaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50SW50
ZXJ2YWxDb3VudDsKKyAgICAgICAgaWYgKCFzdGQ6OmlzbmFuKGxpbmVJdGVtLnJlY3VycmluZ1Bh
eW1lbnRFbmREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJdGVtLmVuZERhdGUgPSB0b0RhdGUo
bGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEVuZERhdGUpOworICAgICAgICByZXR1cm4gc3VtbWFy
eUl0ZW07CisgICAgfQorI2Vsc2UKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKKworICAgIGNhc2Ug
QXBwbGVQYXlQYXltZW50VGltaW5nOjpEZWZlcnJlZDoKKyNpZiBIQVZFKFBBU1NLSVRfREVGRVJS
RURfTElORV9JVEVNKQorICAgIHsKKyAgICAgICAgUEtEZWZlcnJlZFBheW1lbnRTdW1tYXJ5SXRl
bSAqc3VtbWFyeUl0ZW0gPSBbUEFMOjpnZXRQS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtQ2xh
c3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91bnQ6dG9EZWNpbWFs
TnVtYmVyKGxpbmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5bWVudFN1bW1hcnlJdGVtVHlwZShs
aW5lSXRlbS50eXBlKV07CisgICAgICAgIGlmICghc3RkOjppc25hbihsaW5lSXRlbS5kZWZlcnJl
ZFBheW1lbnREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJdGVtLmRlZmVycmVkRGF0ZSA9IHRv
RGF0ZShsaW5lSXRlbS5kZWZlcnJlZFBheW1lbnREYXRlKTsKKyAgICAgICAgcmV0dXJuIHN1bW1h
cnlJdGVtOworICAgIH0KKyNlbHNlCisgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgfQorI2Vu
ZGlmCisKICAgICByZXR1cm4gW1BBTDo6Z2V0UEtQYXltZW50U3VtbWFyeUl0ZW1DbGFzcygpIHN1
bW1hcnlJdGVtV2l0aExhYmVsOmxpbmVJdGVtLmxhYmVsIGFtb3VudDp0b0RlY2ltYWxOdW1iZXIo
bGluZUl0ZW0uYW1vdW50KSB0eXBlOnRvUEtQYXltZW50U3VtbWFyeUl0ZW1UeXBlKGxpbmVJdGVt
LnR5cGUpXTsKIH0KLSNlbmRpZgogCiBOU0FycmF5ICpwbGF0Zm9ybVN1bW1hcnlJdGVtcyhjb25z
dCBBcHBsZVBheUxpbmVJdGVtJiB0b3RhbCwgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+
JiBsaW5lSXRlbXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5k
bGVyLmNwcAppbmRleCBiYzc3YTkxNWIzOTJmMzY1N2ExOTZiOTU5YmJhNGQ5MDk5ZTZiNjQ0Li4w
OWQzOWZmMTdjM2NiNTk3OTJiZWZlN2FkYWQ1M2YyNGU1Njg0Y2IxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKQEAgLTMwLDYgKzMwLDggQEAKIAog
I2luY2x1ZGUgIkFkZHJlc3NFcnJvcnMuaCIKICNpbmNsdWRlICJBcHBsZVBheUNvbnRhY3RGaWVs
ZC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCIKKyNpbmNsdWRlICJB
cHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheURldGFpbHNVcGRh
dGVEYXRhLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlFcnJvci5oIgogI2luY2x1ZGUgIkFwcGxlUGF5
RXJyb3JDb2RlLmgiCkBAIC0zOCw4ICs0MCw2IEBACiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFu
dENhcGFiaWxpdHkuaCIKICNpbmNsdWRlICJBcHBsZVBheU1vZGlmaWVyLmgiCiAjaW5jbHVkZSAi
QXBwbGVQYXlQYXltZW50LmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURl
dGFpbHMuaCIKLSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmgiCiAj
aW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdFVwZGF0ZS5oIgpAQCAtNDgsMTEgKzQ4LDEwIEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJK
U0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5RXJyb3Iu
aCIKLSNpbmNsdWRlICJKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAiSlNBcHBs
ZVBheVBheW1lbnQuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oIgotI2lu
Y2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaCIKICNpbmNsdWRlICJK
U0FwcGxlUGF5UmVxdWVzdC5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydC5oIgogI2luY2x1ZGUg
IkxpbmtJY29uQ29sbGVjdG9yLmgiCkBAIC01OTIsMTEgKzU5MSwxMSBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGluZ09wdGlvblVwZGF0ZWQoKQogCiBF
eGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXltZW50TWV0aG9kVXBk
YXRlZChWZWN0b3I8UmVmUHRyPEFwcGxlUGF5RXJyb3I+PiYmIGVycm9ycykKIHsKLSNpZiBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgaWYgKG1fdXBkYXRlU3RhdGUg
PT0gVXBkYXRlU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlKSB7CisjaWYgRU5BQkxFKEFQUExFX1BB
WV9DT1VQT05fQ09ERSkKKyAgICBpZiAobV91cGRhdGVTdGF0ZSA9PSBVcGRhdGVTdGF0ZTo6Q291
cG9uQ29kZSkgewogICAgICAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6Ok5vbmU7CiAK
LSAgICAgICAgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZSB1cGRhdGU7CisgICAgICAg
IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSB1cGRhdGU7CiAgICAgICAgIHVwZGF0ZS5lcnJvcnMg
PSBXVEZNb3ZlKGVycm9ycyk7CiAKICAgICAgICAgYXV0byBuZXdTaGlwcGluZ01ldGhvZHMgPSBj
b21wdXRlU2hpcHBpbmdNZXRob2RzKCk7CkBAIC02MTUsMTIgKzYxNCwxMiBAQCBFeGNlcHRpb25P
cjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXltZW50TWV0aG9kVXBkYXRlZChWZWN0
b3I8UmVmUHRyPEFwcAogICAgICAgICBpZiAoYXV0byBtb2RpZmllckRhdGEgPSBtb2RpZmllckV4
Y2VwdGlvbi5yZWxlYXNlUmV0dXJuVmFsdWUoKSkKICAgICAgICAgICAgIG1lcmdlKHVwZGF0ZSwg
V1RGTW92ZShzdGQ6OmdldDwxPigqbW9kaWZpZXJEYXRhKSkpOwogCi0gICAgICAgIHBheW1lbnRD
b29yZGluYXRvcigpLmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoV1RGTW92ZSh1cGRh
dGUpKTsKKyAgICAgICAgcGF5bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVDb3Vwb25Db2RlQ2hh
bmdlKFdURk1vdmUodXBkYXRlKSk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0oZXJyb3JzKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKIAogICAgIEFTU0VSVChtX3VwZGF0ZVN0YXRlID09IFVwZGF0ZVN0YXRlOjpQYXltZW50TWV0
aG9kKTsKICAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6Ok5vbmU7CkBAIC03NTAsMjAg
Kzc0OSwyMCBAQCB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZFNlbGVjdFBheW1lbnRN
ZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudAogICAgIH0pOwogfQogCi0jaWYgRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCiAKLXZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkQ2hhbmdlUGF5
bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpCit2b2lkIEFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OmRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSkK
IHsKICAgICBBU1NFUlQobV91cGRhdGVTdGF0ZSA9PSBVcGRhdGVTdGF0ZTo6Tm9uZSk7Ci0gICAg
bV91cGRhdGVTdGF0ZSA9IFVwZGF0ZVN0YXRlOjpQYXltZW50TWV0aG9kTW9kZTsKKyAgICBtX3Vw
ZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6OkNvdXBvbkNvZGU7CiAKLSAgICBBcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlRGV0YWlscyBhcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyB7IFdU
Rk1vdmUocGF5bWVudE1ldGhvZE1vZGUpIH07Ci0gICAgbV9wYXltZW50UmVxdWVzdC0+cGF5bWVu
dE1ldGhvZENoYW5nZWQoV1RGOjpnZXQ8VVJMPihtX2lkZW50aWZpZXIpLnN0cmluZygpLCBbYXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMgPSBXVEZNb3ZlKGFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVEZXRhaWxzKV0gKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QpIHsKLSAgICAgICAgcmV0dXJuIHRvSlNEaWN0aW9uYXJ5KGxleGljYWxHbG9iYWxPYmplY3Qs
IGFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzKTsKKyAgICBBcHBsZVBheUNvdXBvbkNv
ZGVEZXRhaWxzIGFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMgeyBXVEZNb3ZlKGNvdXBvbkNvZGUp
IH07CisgICAgbV9wYXltZW50UmVxdWVzdC0+cGF5bWVudE1ldGhvZENoYW5nZWQoV1RGOjpnZXQ8
VVJMPihtX2lkZW50aWZpZXIpLnN0cmluZygpLCBbYXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscyA9
IFdURk1vdmUoYXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscyldIChKU0M6OkpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSB7CisgICAgICAgIHJldHVybiB0b0pTRGljdGlvbmFyeShs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBhcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzKTsKICAgICB9KTsK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNl
bmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIEFwcGxlUGF5UGF5
bWVudEhhbmRsZXI6OmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFBheW1lbnRTZXNzaW9uRXJyb3Im
JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKaW5kZXgg
NzExYzJiNjU4NWZhNjVlNzcxYWJkMWIyOTY1YmYxMTNlMDI2MDI1MS4uZDRhZWFmNjZhNGViOGJl
YzcyMTQ4ZWIxNWU3YjgyZDI1YWUxNDA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eVBheW1lbnRIYW5kbGVyLmgKQEAgLTg3LDkgKzg3LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRp
ZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QmKSBmaW5h
bDsKICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBQYXltZW50Q29udGFj
dCYpIGZpbmFsOwogICAgIHZvaWQgZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBQYXltZW50
TWV0aG9kJikgZmluYWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RF
KQotICAgIHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1l
dGhvZE1vZGUpIGZpbmFsOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgZGlk
Q2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKSBmaW5hbDsKKyNlbmRpZgogICAg
IHZvaWQgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmKSBmaW5h
bDsKIAogICAgIFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyIG1faWRlbnRpZmllcjsK
QEAgLTEwMiw5ICsxMDIsOSBAQCBwcml2YXRlOgogICAgICAgICBTaGlwcGluZ0FkZHJlc3MsCiAg
ICAgICAgIFNoaXBwaW5nT3B0aW9uLAogICAgICAgICBQYXltZW50TWV0aG9kLAotI2lmIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICAgICAgUGF5bWVudE1ldGhvZE1v
ZGUsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lm
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgICAgIENvdXBvbkNvZGUsCisjZW5k
aWYKICAgICB9IG1fdXBkYXRlU3RhdGUgeyBVcGRhdGVTdGF0ZTo6Tm9uZSB9OwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggM2Zi
YWU4YzIwZDFlMzk0YzI0YmQ2MWFkZDdjNDI3ZWZkMGRmZGU2OC4uMGJjMjViNWNmNWNiMWUzMGU5
OWZlYTY2M2IxMDk3ODI4YjY1YWJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5oCkBAIC01Miw2ICs1MiwyMiBAQCBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbikKIFNPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtKQogI2Vu
ZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKK1NPRlRfTElO
S19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtSZWN1cnJpbmdQYXltZW50U3VtbWFyeUl0ZW0pCisj
ZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0pCitTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLRGVmZXJyZWRQYXltZW50U3VtbWFyeUl0ZW0pCisj
ZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRT
X1JBTkdFKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS0RhdGVDb21wb25lbnRz
UmFuZ2UpCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKK1NPRlRfTElO
S19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGUp
CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBTT0ZUX0xJTktfQ0xBU1NfRk9S
X0hFQURFUihQQUwsIFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyKQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5t
bSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCmluZGV4
IDY1ZmExMWZjNDVjN2NiZjY5Y2FhMjdlNzI0NDdiMzc0YjUzNWEyNDMuLmUxNTZjYmI4YjVlMjVj
MjIwMTY0NzgxNGI4YTlkZmNiZDc5N2U4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCkBAIC01Niw2ICs1NiwyMiBAQCBTT0ZUX0xJTktf
Q0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5
bWVudEluc3RhbGxtZQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9F
WFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0sIFBBTF9FWFBPUlQp
CiAjZW5kaWYKIAorI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9JVEVNKQorU09G
VF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1JlY3Vy
cmluZ1BheW1lbnRTdW1tYXJ5SXRlbSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCisjaWYgSEFWRShQ
QVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTSkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtEZWZlcnJlZFBheW1lbnRTdW1tYXJ5SXRlbSwg
UEFMX0VYUE9SVCkKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9E
QVRFX0NPTVBPTkVOVFNfUkFOR0UpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VY
UE9SVChQQUwsIFBhc3NLaXQsIFBLRGF0ZUNvbXBvbmVudHNSYW5nZSwgUEFMX0VYUE9SVCkKKyNl
bmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorU09GVF9MSU5LX0NMQVNTX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRSZXF1ZXN0Q291cG9u
Q29kZVVwZGF0ZSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NP
VVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLQ29udGFjdCwgUEFMX0VYUE9SVCkKIFNP
RlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXNz
TGlicmFyeSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50LCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCmluZGV4IDFlMGEyMTExMDBmZTlhMzU3
MjZlZmQwYmY2ZDdmYjZlZjBhM2IwMjQuLmIyYTJiMWFlMWQ5NzMzZjNhMWZiZGI4ZjExZTBhM2Fj
YTY3ZWNjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bh
c3NLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0
U1BJLmgKQEAgLTU5LDcgKzU5LDE3IEBAIFdURl9FWFRFUk5fQ19FTkQKICNpbXBvcnQgPFBhc3NL
aXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CiAjZW5kaWYKIAotI2ltcG9ydCA8V2ViS2l0
QWRkaXRpb25zL1Bhc3NLaXRTUElBZGRpdGlvbnMuaD4KKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJS
SU5HX1NVTU1BUllfSVRFTSkKKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUmVjdXJyaW5nUGF5bWVu
dFN1bW1hcnlJdGVtLmg+CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9TVU1N
QVJZX0lURU0pCisjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJ
dGVtLmg+CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFKQorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtEYXRlQ29tcG9uZW50c1Jh
bmdlLmg+CisjZW5kaWYKIAogI2Vsc2UKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCAx
OWVhM2FkZmQ4NjJlMWMwMzhkOGVjYmExMmIzMGE0YTgwOWRiMjY5Li4yYjM5MDYxMmM4NTU3ZWEw
NjM0ZDZjNDZiMzE3MTBhNTM3YWI0NTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAt
NDQ5LDIxICs0NDksMjMgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19I
RUFERVJTCiAgICAgTW9kdWxlcy9haXJwbGF5L1dlYk1lZGlhU2Vzc2lvbk1hbmFnZXIuaAogICAg
IE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50LmgKIAorICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgKKyAgICBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RGV0YWlsc1VwZGF0ZUJhc2UuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEZXRhaWxz
VXBkYXRlRGF0YS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmgKICAgICBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5o
Ci0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5o
Ci0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmgK
ICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oCisgICAg
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaAorICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTZXR1cENvbmZpZ3VyYXRpb24uaAogICAgIE1vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXR1cEZlYXR1cmVXZWJDb3JlLmgKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZC5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5n
TWV0aG9kRGF0YS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9k
VXBkYXRlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb25XZWJDb3JlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uRXJyb3Iu
aApAQCAtNzM1LDYgKzczNywxMSBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfRlJBTUVX
T1JLX0hFQURFUlMKIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlDb250YWN0RmllbGQuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBv
bkNvZGVDaGFuZ2VkRXZlbnQuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBv
bkNvZGVEZXRhaWxzLmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlLmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5p
ZGwKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5pZGwK
ICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaWRsCiAgICAg
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmlkbAogICAgIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwKQEAgLTc0NSwyMCArNzUyLDE5IEBAIGxpc3Qo
QVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5pZGwKLSAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRh
LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaWRs
CiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnQuaWRsCiAgICAgTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0LmlkbAogICAgIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmlkbAogICAgIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwKICAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5pZGwKLSAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbAotICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50UGFzcy5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJl
cXVlc3QuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRs
CisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5p
ZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCiAgICAgTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25FcnJvci5pZGwKQEAgLTc2NywxMCArNzczLDEwIEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVh
dHVyZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUu
aWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVR5cGUuaWRsCisg
ICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlk
bAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRh
dGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbAot
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsCiAgICAg
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwK
ICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsCiAg
ICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDdiY2Q4ZDFkNGVlMDlhYzZlYzIwNWE3MDk0ODU0OTFj
ODc4YTIzNzAuLjQ3MWQ4YTUxYmEyM2NiNWI4Y2Q1MzE0MzQ5MmI2MTE1NmU0NWE1YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dApAQCAtMjMsNiArMjMsMTEgQEAKIAogSlNBcHBsZVBheUNhbmNl
bEV2ZW50LmNwcAogSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKK0pTQXBwbGVQYXlDb3Vwb25D
b2RlQ2hhbmdlZEV2ZW50LmNwcAorSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcAorSlNB
cHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwCitKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuY3Bw
CitKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5jcHAKIEpTQXBwbGVQYXlEZXRhaWxzVXBk
YXRlQmFzZS5jcHAKIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5jcHAKIEpTQXBwbGVQYXlF
cnJvci5jcHAKQEAgLTMzLDcgKzM4LDYgQEAgSlNBcHBsZVBheUluc3RhbGxtZW50SXRlbS5jcHAK
IEpTQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmNwcAogSlNBcHBsZVBheUluc3RhbGxtZW50
UmV0YWlsQ2hhbm5lbC5jcHAKIEpTQXBwbGVQYXlMaW5lSXRlbS5jcHAKLUpTQXBwbGVQYXlMaW5l
SXRlbURhdGEuY3BwCiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcAogSlNBcHBsZVBh
eU1vZGlmaWVyLmNwcAogSlNBcHBsZVBheVBheW1lbnQuY3BwCkBAIC00MSwxMyArNDUsMTMgQEAg
SlNBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0LmNwcAogSlNBcHBsZVBheVBheW1l
bnRBdXRob3JpemVkRXZlbnQuY3BwCiBKU0FwcGxlUGF5UGF5bWVudENvbnRhY3QuY3BwCiBKU0Fw
cGxlUGF5UGF5bWVudE1ldGhvZC5jcHAKLUpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFp
bHMuY3BwCi1KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuY3BwCiBKU0FwcGxlUGF5
UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5
cGUuY3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5jcHAKIEpTQXBwbGVQYXlQYXlt
ZW50UGFzcy5jcHAKIEpTQXBwbGVQYXlQYXltZW50UmVxdWVzdC5jcHAKK0pTQXBwbGVQYXlQYXlt
ZW50VGltaW5nLmNwcAorSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5jcHAKIEpT
QXBwbGVQYXlSZXF1ZXN0LmNwcAogSlNBcHBsZVBheVJlcXVlc3RCYXNlLmNwcAogSlNBcHBsZVBh
eVNlc3Npb24uY3BwCkBAIC01NywxNCArNjEsMTUgQEAgSlNBcHBsZVBheVNldHVwQ29uZmlndXJh
dGlvbi5jcHAKIEpTQXBwbGVQYXlTZXR1cEZlYXR1cmUuY3BwCiBKU0FwcGxlUGF5U2V0dXBGZWF0
dXJlU3RhdGUuY3BwCiBKU0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5jcHAKK0pTQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5jcHAKIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RT
ZWxlY3RlZEV2ZW50LmNwcAogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5jcHAKIEpT
QXBwbGVQYXlTaGlwcGluZ01ldGhvZC5jcHAKLUpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEu
Y3BwCiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcAogSlNBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kVXBkYXRlLmNwcAogSlNBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVu
dC5jcHAKIE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNwcAorTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwCiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q29udGFjdEZpZWxkLmNwcAogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50Q2FwYWJp
bGl0eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAyMTJmMTgyYzJmYjEyNTgxZTdiZjk3YWE5ZTA1YTZjNDUzYTFlYzBiLi4w
ZmJlNzgyMTc2NzhjYWYyOWJhMDJiOTIyNTdlN2M3N2NkYTJmYjk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzkwLDcgKzIz
OTAsNiBAQAogCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RTIx
RTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzY1NzlFODFFMDA4MzE2MDBFM0EyN0Eg
LyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RTcxRTAwODMxNjAwRTNBMjdBIC8qIEFwcGxlUGF5U2hp
cHBpbmdNZXRob2QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QzY1NzlGMDFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzY1NzlFQTFF
MDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmggKi87IH07Ci0JCTdDNjU3OUYy
MUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNjU3OUVDMUUwMDg1NjYwMEUz
QTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCAqLzsgfTsKIAkJN0M2NTc5RjQxRTAw
ODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RUUxRTAwODU2NjAwRTNBMjdB
IC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oICovOyB9OwogCQk3QzczRkIwNzE5MUVGNDE3
MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzczRkIwNTE5MUVGNDE2MDA3REUw
NjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgKi87IH07CiAJCTdDNzNGQjA4
MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzczRkIwNjE5MUVGNDE3
MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yOTgxLDIwICsyOTgwLDMwIEBA
CiAJCTk0RTgzOTUxMURGQjJBMEUwMDdCQzZBNyAvKiBDU1NOYW1lc3BhY2VSdWxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NEU4Mzk0RjFERkIyNzAw
MDA3QkM2QTcgLyogQ1NTTmFtZXNwYWNlUnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk0RTgzOTU2MURGQjJCQzQwMDdCQzZBNyAvKiBKU0NT
U05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk0RTgzOTU0MURGQjJCQTYwMDdCQzZBNyAvKiBKU0NTU05hbWVzcGFjZVJ1bGUuaCAq
LzsgfTsKIAkJOTUwMTgzQ0QyNUQ2MzNEOTAwRDQzNDBGIC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0
ZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
MDE4M0NCMjVENjMzRDgwMEQ0MzQwRiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTUxREVERDIy
NUUwODQ1QTAwMjBFMUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTFERUREMDI1RTA4NDVBMDAy
MEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5NTFERURENjI1RTA4NDlFMDAyMEUxRUUg
LyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTUxREVERDQyNUUwODQ5RDAwMjBFMUVFIC8qIEpTQXBw
bGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCAqLzsgfTsKIAkJOTUyN0Q3QUIyNUQ1RkRFMjAwQTZF
MTc2IC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MjdEN0E4MjVENUZERTEwMEE2RTE3NiAvKiBBcHBs
ZVBheURldGFpbHNVcGRhdGVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTUyN0Q3QUYyNUQ1RkU2QzAwQTZFMTc2IC8qIEpTQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTUyN0Q3QUQyNUQ1RkU2QjAwQTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBk
YXRlRGF0YS5oICovOyB9OwogCQk5NTNCQ0VCMjI1RDYyODNEMDBBNEEyQTEgLyogSlNBcHBsZVBh
eURldGFpbHNVcGRhdGVCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NTNCQ0VBRjI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNV
cGRhdGVCYXNlLmggKi87IH07CiAJCTk1NjJFRUREMjVGMThERTcwMDMzNDQ0MiAvKiBQYXltZW50
UmVxdWVzdFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTU2MkVFREIyNUYxOERFNjAwMzM0NDQyIC8qIFBheW1lbnRSZXF1ZXN0VXRpbGl0
aWVzLmggKi87IH07Ci0JCTk1Njg0RDgzMjY1MzU3RjgwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTU2ODREODEyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVEZXRhaWxzLmggKi87IH07Ci0JCTk1NkZDNEJCMjVENDlDN0IwMEY3QjNBMiAvKiBB
cHBsZVBheUxpbmVJdGVtRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTU2RkM0QjgyNUQ0OUM3QTAwRjdCM0EyIC8qIEFwcGxlUGF5TGluZUl0ZW1E
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
OTU2RkM0QkIyNUQ0OUM3QjAwRjdCM0EzIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1NkZDNEJBMjVENDlD
N0QwMEY3QjNBMiAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggKi87IH07Ci0JCTk1OTZCOTMz
MjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTk2QjkzMDI1REVF
RTlGMDBFRDJDRkEgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk1OTZCOTM4MjVERUVG
MDMwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZCOTM2MjVERUVGMDIw
MEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCAqLzsgfTsKKwkJ
OTU2ODREODMyNjUzNTdGODAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1Njg0RDgxMjY1
MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi87IH07CisJCTk1
OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZCOTMwMjVERUVF
OUYwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5NTk2QjkzODI1REVFRjAzMDBFRDJD
RkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZCOTM2MjVERUVGMDIwMEVEMkNGQSAv
KiBKU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oICovOyB9OwogCQk5NUExRTJFOTI1
Q0M3NUE5MDAyNjhDOEUgLyogTWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBMUUyRTcyNUNDNzVBODAw
MjY4QzhFIC8qIE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5NUFBNTcxMDI1RUVFRDMyMDA0RTky
ODMgLyogSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBQTU3MEUyNUVFRUQzMTAwNEU5MjgzIC8qIEluc3Bl
Y3RvckNhbnZhc0NhbGxUcmFjZXIuaCAqLzsgfTsKIAkJOTVERjlEMjUyNTJCRURCMjAwMEQ3RjQ2
IC8qIFBvaW50ZXJDaGFyYWN0ZXJpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk1REY5RDIzMjUyQkVEOTkwMDBEN0Y0NiAvKiBQb2ludGVyQ2hh
cmFjdGVyaXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJOTVFQUQ1NjMyNjZFRjJEQjAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9uQ29kZUNo
YW5nZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTVFQUQ1NUYyNjZFRjJEQTAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRF
dmVudC5oICovOyB9OworCQk5NUVBRDU2QTI2NkVGMkZBMDA0QjlDRjEgLyogQXBwbGVQYXlEYXRl
Q29tcG9uZW50c1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NUVBRDU2NjI2NkVGMkY4MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50
c1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTVFQUQ1NkQyNjZFRjJGQTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFENTY5MjY2
RUYyRjkwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NzAyNjZFRjM4NjAwNEI5
Q0YxIC8qIEFwcGxlUGF5UGF5bWVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1NkUyNjZFRjM4NDAwNEI5Q0YxIC8qIEFwcGxlUGF5
UGF5bWVudFRpbWluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTk1RUFENTc0MjY2RUYzOTQwMDRCOUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1Bh
eW1lbnREYXRlVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTVFQUQ1NzIyNjZFRjM5MjAwNEI5Q0YxIC8qIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJOTVFQUQ1NzgyNjZFRjNBODAwNEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk1RUFENTc2MjY2RUYzQTYwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJOTVFQUQ1ODIyNjZFRjUzOTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUVB
RDU4MTI2NkVGNTMxMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCAqLzsg
fTsKKwkJOTVFQUQ1ODMyNjZFRjUzQjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlRGV0
YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVF
QUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oICov
OyB9OworCQk5NUVBRDU4NzI2NkVGNTZBMDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25l
bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUVB
RDU4NTI2NkVGNTY5MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmggKi87IH07
CisJCTk1RUFENThCMjY2RUY1N0EwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVF
QUQ1ODkyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmgg
Ki87IH07CisJCTk1RUFENThFMjY2RUY1OUMwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRp
bWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVF
QUQ1OEMyNjZFRjU5QTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50VGltaW5nLmggKi87IH07
CisJCTk1RUFENTkzMjY2RUY1Q0QwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NUVBRDU5MTI2NkVGNUNDMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdC5oICovOyB9OworCQk5NUVBRDU5NDI2NkVGNUQ0MDA0QjlDRjEgLyogSlNBcHBsZVBh
eVBheW1lbnRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QzY1NzlFQzFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVBheW1lbnRSZXF1
ZXN0LmggKi87IH07CisJCTk1RUFENTk3MjY2RUY2MEIwMDRCOUNGMSAvKiBKU0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk1RUFENTk1MjY2RUY2MDkwMDRCOUNGMSAvKiBKU0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCAqLzsgfTsKIAkJOTVGNDVEMjcyNjRERkJGMTAwRDBC
OEI4IC8qIFBhZ2VDb2xvclNhbXBsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk1RjQ1RDI2MjY0REZCRUIwMEQwQjhCOCAvKiBQYWdlQ29sb3JTYW1w
bGVyLmggKi87IH07CiAJCTk3MDU5OTdBMTA3RDk3NTIwMEE1MEE3QyAvKiBQb2xpY3lDaGVja2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzA1OTk3
NjEwN0Q5NzUyMDBBNTBBN0MgLyogUG9saWN5Q2hlY2tlci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk3MEI3MjhBMTQ0RkZBQzYwMEYwMEEzNyAv
KiBFdmVudEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk3MEI3Mjg5MTQ0RkZBQzYwMEYwMEEzNyAvKiBFdmVudEludGVyZmFjZXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTE5Mjgs
MTAgKzExOTM3LDYgQEAKIAkJOTUwQzQ4NDkyNUQ2Nzc0MjAwQUIzRDlDIC8qIG92ZXJmbG93LXN1
cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAib3ZlcmZsb3ctc3VwcG9ydC5qcyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1MEM0ODRCMjVENjc3NEUwMEFCM0Q5QyAvKiBv
dmVyZmxvdy1idXR0b24uanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAib3ZlcmZsb3ctYnV0dG9u
LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUwQzRDMDJCRUQ4OTM2RjgxOEUy
Rjk5IC8qIEpTU1ZHR3JhcGhpY3NFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1NWR0dyYXBoaWNzRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk5NTFERURDRTI1RTA4NDU5MDAyMEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERh
dGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRh
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTUxREVERDAyNUUwODQ1QTAwMjBF
MUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTk1MURFREQzMjVFMDg0OUMwMDIwRTFFRSAvKiBKU0FwcGxlUGF5U2hp
cHBpbmdNZXRob2REYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk5NTFERURENDI1RTA4NDlEMDAyMEUxRUUgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0
aG9kRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5U2hp
cHBpbmdNZXRob2REYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1MjdEN0E4
MjVENUZERTEwMEE2RTE3NiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUyN0Q3QUEyNUQ1RkRFMTAwQTZFMTc2IC8qIEFw
cGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxl
UGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
NTI3RDdBRDI1RDVGRTZCMDBBNkUxNzYgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRl
RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE5NTUsMjAgKzExOTYwLDQz
IEBACiAJCTk1NTE5NTlEMjVGQTlFRkIwMEY1OENGMCAvKiBza2lwLWZvcndhcmQtYnV0dG9uLmpz
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInNraXAtZm9yd2FyZC1idXR0b24uanMiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5NTYyRUVEOTI1RjE4REU1MDAzMzQ0NDIgLyogUGF5bWVu
dFJlcXVlc3RVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5NTYyRUVEQjI1RjE4REU2MDAzMzQ0NDIgLyogUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGF5bWVudFJlcXVlc3RVdGlsaXRp
ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU2ODREN0YyNjUzNTdGNzAwMDI2
OTM4IC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5NTZGQzRCODI1RDQ5QzdBMDBGN0IzQTIgLyogQXBwbGVQYXlMaW5lSXRl
bURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlMaW5lSXRl
bURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU2RkM0QjgyNUQ0OUM3QzAw
RjdCM0EyIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTk1NkZDNEJBMjVENDlDN0IwMEY3QjNBMiAvKiBBcHBsZVBheUxp
bmVJdGVtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlMaW5lSXRlbURh
dGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTZGQzRCQTI1RDQ5QzdEMDBG
N0IzQTIgLyogSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTk1OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OTU5NkI5MzIyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTk2QjkzNTI1REVFRjAw
MDBFRDJDRkEgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1OTZCOTM2MjVERUVG
MDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1Njg0RDdGMjY1MzU3RjcwMDAy
NjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTU2ODREODEyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURl
dGFpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlDb3Vwb25D
b2RlRGV0YWlscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzMDI1REVF
RTlGMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheUNvdXBv
bkNvZGVVcGRhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzNTI1
REVFRjAwMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzNjI1REVFRjAyMDBFRDJD
RkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVBMUUyRTcyNUNDNzVBODAwMjY4QzhFIC8qIE1l
ZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5NUFBNTcwRDI1RUVFRDMwMDA0RTkyODMgLyogSW5zcGVjdG9yQ2FudmFzQ2Fs
bFRyYWNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JDYW52YXNDYWxsVHJhY2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVB
QTU3MEUyNUVFRUQzMTAwNEU5MjgzIC8qIEluc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NURGOUQyMzI1MkJFRDk5MDAwRDdGNDYg
LyogUG9pbnRlckNoYXJhY3RlcmlzdGljcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb2ludGVyQ2hhcmFj
dGVyaXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTVGMjY2RUYy
REEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTYxMjY2RUYyREEwMDRCOUNGMSAv
KiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTk1RUFENTYyMjY2RUYyREIwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNv
ZGVDaGFuZ2VkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTVFQUQ1NjYyNjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVu
dHNSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheURhdGVD
b21wb25lbnRzUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1Njcy
NjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5NUVBRDU2ODI2NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29t
cG9uZW50c1JhbmdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheURhdGVDb21w
b25lbnRzUmFuZ2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU2OTI2
NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheURhdGVDb21wb25lbnRzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTZFMjY2RUYzODQwMDRCOUNGMSAvKiBBcHBsZVBheVBh
eW1lbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlQ
YXltZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTZGMjY2
RUYzODUwMDRCOUNGMSAvKiBBcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTk1RUFENTcyMjY2RUYzOTIwMDRCOUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1Bh
eW1lbnREYXRlVW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBh
eVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5NUVBRDU3MzI2NkVGMzkzMDA0QjlDRjEgLyogQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0
ZVVuaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1NzYyNjZF
RjNBNjAwNEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU3NzI2NkVGM0E3
MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTdEMjY2RUY1MjIwMDRCOUNGMSAv
KiBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNB
cHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTVFQUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWls
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODAyNjZFRjUzMDAwNEI5Q0YxIC8qIEpTQXBw
bGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBw
bGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTVFQUQ1ODEyNjZFRjUzMTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTg0MjY2RUY1NjgwMDRCOUNGMSAvKiBKU0Fw
cGxlUGF5RGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTVFQUQ1ODUyNjZFRjU2OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9u
ZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5RGF0ZUNv
bXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODgyNjZFRjU3
OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1Jhbmdl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODkyNjZFRjU3OTAwNEI5
Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENThDMjY2RUY1OUEwMDRCOUNGMSAvKiBKU0FwcGxl
UGF5UGF5bWVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fw
cGxlUGF5UGF5bWVudFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVB
RDU4RDI2NkVGNTlCMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRUaW1pbmcuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheVBheW1lbnRUaW1pbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU5MDI2NkVGNUNCMDA0QjlD
RjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVV
bml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1OTEyNjZFRjVDQzAw
NEI5Q0YxIC8qIEpTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5p
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU5NTI2NkVGNjA5MDA0QjlD
RjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU5NjI2NkVGNjBBMDA0QjlD
RjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1RjQ1RDI0MjY0REZC
RUIwMEQwQjhCOCAvKiBQYWdlQ29sb3JTYW1wbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
Z2VDb2xvclNhbXBsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NUY0NUQy
NjI2NERGQkVCMDBEMEI4QjggLyogUGFnZUNvbG9yU2FtcGxlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
YWdlQ29sb3JTYW1wbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MDU5OTc1
MTA3RDk3NTIwMEE1MEE3QyAvKiBQb2xpY3lDaGVja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBvbGljeUNoZWNrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTg2MDAsNiArMTg2MjgsMTcgQEAKIAkJCQlBMURGNUFCNDFGODA3OEYzMDA1
OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuY3BwICovLAogCQkJCUExREY1QTkxMUY3RUM0
MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5oICovLAogCQkJCUExREY1QTkzMUY3
RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5pZGwgKi8sCisJCQkJOTVFQUQ1
NjIyNjZFRjJEQjAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHAg
Ki8sCisJCQkJOTVFQUQ1NUYyNjZFRjJEQTAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9uQ29kZUNo
YW5nZWRFdmVudC5oICovLAorCQkJCTk1RUFENTYxMjY2RUYyREEwMDRCOUNGMSAvKiBBcHBsZVBh
eUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsICovLAorCQkJCTk1Njg0RDgxMjY1MzU3RjcwMDAy
NjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi8sCisJCQkJOTU2ODREN0YyNjUz
NTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaWRsICovLAorCQkJCTk1
OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCAqLywK
KwkJCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRl
LmlkbCAqLywKKwkJCQk5NUVBRDU2OTI2NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29t
cG9uZW50cy5oICovLAorCQkJCTk1RUFENTY3MjY2RUYyRjgwMDRCOUNGMSAvKiBBcHBsZVBheURh
dGVDb21wb25lbnRzLmlkbCAqLywKKwkJCQk5NUVBRDU2NjI2NkVGMkY4MDA0QjlDRjEgLyogQXBw
bGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi8sCisJCQkJOTVFQUQ1NjgyNjZFRjJGOTAwNEI5
Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5pZGwgKi8sCiAJCQkJOTUwMTgzQ0Iy
NUQ2MzNEODAwRDQzNDBGIC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaCAqLywKIAkJCQk5
NTAxODNDOTI1RDYzM0Q4MDBENDM0MEYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5pZGwg
Ki8sCiAJCQkJOTUyN0Q3QTgyNUQ1RkRFMTAwQTZFMTc2IC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0
ZURhdGEuaCAqLywKQEAgLTE4NjIwLDggKzE4NjU5LDYgQEAKIAkJCQlBMTNCNjE2OTI0NzVERkM1
MDBCQkU2REUgLyogQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsICovLAogCQkJ
CTdDNjU3OUUyMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggKi8sCiAJCQkJ
N0M2NTc5RTQxRTAwODJDODAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaWRsICovLAotCQkJ
CTk1NkZDNEI4MjVENDlDN0EwMEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0YS5oICovLAot
CQkJCTk1NkZDNEJBMjVENDlDN0IwMEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0YS5pZGwg
Ki8sCiAJCQkJQTFERjVBQTgxRjgwNzBENDAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBh
YmlsaXR5LmNwcCAqLywKIAkJCQlBMURGNUE4MzFGN0VCREYyMDA1OEE0NzcgLyogQXBwbGVQYXlN
ZXJjaGFudENhcGFiaWxpdHkuaCAqLywKIAkJCQlBMURGNUE4NTFGN0VCREYyMDA1OEE0NzcgLyog
QXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaWRsICovLApAQCAtMTg2MzYsMTAgKzE4NjczLDYg
QEAKIAkJCQk3QzY1MjJGOTFFMDBDOTA5MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50Q29udGFj
dC5pZGwgKi8sCiAJCQkJN0M2NTIyRUMxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVu
dE1ldGhvZC5oICovLAogCQkJCTdDNjUyMkVEMUUwMEE0QzcwMDY3N0YyMiAvKiBBcHBsZVBheVBh
eW1lbnRNZXRob2QuaWRsICovLAotCQkJCTk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBs
ZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oICovLAotCQkJCTk1Njg0RDdGMjY1MzU3Rjcw
MDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwgKi8sCi0JCQkJ
OTU5NkI5MzAyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGUuaCAqLywKLQkJCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZS5pZGwgKi8sCiAJCQkJMUE4QTY0NDAxRDE5RkNGQjAwRDBFMDBGIC8q
IEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJCTFBOEE2NDQy
MUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50Lmgg
Ki8sCiAJCQkJMUE4QTY0NDMxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhv
ZFNlbGVjdGVkRXZlbnQuaWRsICovLApAQCAtMTg2NTEsNiArMTg2ODQsMTAgQEAKIAkJCQk3QzY1
MjJGMzFFMDBBNTE3MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50UGFzcy5pZGwgKi8sCiAJCQkJ
N0M2NTc5REYxRTAwNzlGOTAwRTNBMjdBIC8qIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCAqLywK
IAkJCQk3QzY1NzlFMTFFMDA3QTExMDBFM0EyN0EgLyogQXBwbGVQYXlQYXltZW50UmVxdWVzdC5p
ZGwgKi8sCisJCQkJOTVFQUQ1NkUyNjZFRjM4NDAwNEI5Q0YxIC8qIEFwcGxlUGF5UGF5bWVudFRp
bWluZy5oICovLAorCQkJCTk1RUFENTZGMjY2RUYzODUwMDRCOUNGMSAvKiBBcHBsZVBheVBheW1l
bnRUaW1pbmcuaWRsICovLAorCQkJCTk1RUFENTcyMjY2RUYzOTIwMDRCOUNGMSAvKiBBcHBsZVBh
eVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovLAorCQkJCTk1RUFENTczMjY2RUYzOTMwMDRC
OUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5pZGwgKi8sCiAJCQkJQTFE
RjVBQUIxRjgwNzVGMDAwNThBNDc3IC8qIEFwcGxlUGF5UmVxdWVzdEJhc2UuY3BwICovLAogCQkJ
CUExREY1QUFBMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3RCYXNlLmggKi8sCiAJ
CQkJQTFERjVBQUMxRjgwNzVGMDAwNThBNDc3IC8qIEFwcGxlUGF5UmVxdWVzdEJhc2UuaWRsICov
LApAQCAtMTg2NzMsNiArMTg3MTAsOCBAQAogCQkJCTVDNTNEQ0Q0MjQ0NjQ0OUIwMEE5MzEyNCAv
KiBBcHBsZVBheVNldHVwRmVhdHVyZVR5cGVXZWJDb3JlLmggKi8sCiAJCQkJNUM1M0RDQ0YyNDQ2
NDQ5OTAwQTkzMTI0IC8qIEFwcGxlUGF5U2V0dXBGZWF0dXJlV2ViQ29yZS5oICovLAogCQkJCTVD
NTNEQ0NCMjQ0NjQ0OTgwMEE5MzEyNCAvKiBBcHBsZVBheVNldHVwV2ViQ29yZS5oICovLAorCQkJ
CTk1RUFENTc2MjY2RUYzQTYwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmggKi8sCisJCQkJOTVFQUQ1NzcyNjZFRjNBNzAwNEI5Q0YxIC8qIEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsICovLAogCQkJCTFBOEE2NDQ3MUQxOUZDRkIwMEQw
RTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJ
CTFBOEE2NDQ4MUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVj
dGVkRXZlbnQuaCAqLywKIAkJCQkxQThBNjQ0OTFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmlkbCAqLywKQEAgLTE4NjgwLDggKzE4NzE5LDYg
QEAKIAkJCQkxQURGREZERDFFNzFEOERGMDA4RjVEMzQgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RVcGRhdGUuaWRsICovLAogCQkJCTdDNjU3OUU3MUUwMDgzMTYwMEUzQTI3QSAvKiBBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kLmggKi8sCiAJCQkJN0M2NTc5RTUxRTAwODMwNjAwRTNBMjdBIC8qIEFw
cGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsICovLAotCQkJCTk1MURFREQwMjVFMDg0NUEwMDIwRTFF
RSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oICovLAotCQkJCTk1MURFRENFMjVFMDg0
NTkwMDIwRTFFRSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5pZGwgKi8sCiAJCQkJMUE4
QTY0NEIxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2
ZW50LmNwcCAqLywKIAkJCQkxQThBNjQ0QzFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJCQkxQThBNjQ0RDFEMTlGQ0ZCMDBEMEUw
MEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRsICovLApAQCAtMTg4
MjAsNiArMTg4NTcsMTYgQEAKIAkJCQlBMTk1NkYxQjIzMzFBNjQ2MDA1N0U5RDIgLyogSlNBcHBs
ZVBheUNhbmNlbEV2ZW50LmggKi8sCiAJCQkJQTFERjVBOTgxRjdFQzhDMDAwNThBNDc3IC8qIEpT
QXBwbGVQYXlDb250YWN0RmllbGQuY3BwICovLAogCQkJCUExREY1QTk3MUY3RUM4QkYwMDU4QTQ3
NyAvKiBKU0FwcGxlUGF5Q29udGFjdEZpZWxkLmggKi8sCisJCQkJOTVFQUQ1ODAyNjZFRjUzMDAw
NEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcCAqLywKKwkJCQk5
NTk2QjkzNjI1REVFRjAyMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZl
bnQuaCAqLywKKwkJCQk5NUVBRDU3RDI2NkVGNTIyMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBv
bkNvZGVEZXRhaWxzLmNwcCAqLywKKwkJCQk5NUVBRDU3RjI2NkVGNTIzMDA0QjlDRjEgLyogSlNB
cHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi8sCisJCQkJOTU5NkI5MzUyNURFRUYwMDAwRUQy
Q0ZBIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNwcCAqLywKKwkJCQk5NUVBRDU4MTI2
NkVGNTMxMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCAqLywKKwkJCQk5
NUVBRDU4NDI2NkVGNTY4MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmNwcCAq
LywKKwkJCQk5NUVBRDU4NTI2NkVGNTY5MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25l
bnRzLmggKi8sCisJCQkJOTVFQUQ1ODgyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRl
Q29tcG9uZW50c1JhbmdlLmNwcCAqLywKKwkJCQk5NUVBRDU4OTI2NkVGNTc5MDA0QjlDRjEgLyog
SlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCAqLywKIAkJCQk5NTNCQ0VCMTI1RDYyODND
MDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmNwcCAqLywKIAkJCQk5NTNC
Q0VBRjI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggKi8s
CiAJCQkJOTUyN0Q3QUUyNUQ1RkU2QjAwQTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRl
RGF0YS5jcHAgKi8sCkBAIC0xODg0MCw4ICsxODg4Nyw2IEBACiAJCQkJQTEzQjYxNkYyNDc1RTMx
MjAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCAqLywKIAkJ
CQk3QzY1NzlFOTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmNwcCAqLywK
IAkJCQk3QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmggKi8s
Ci0JCQkJOTU2RkM0QjgyNUQ0OUM3QzAwRjdCM0EyIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEu
Y3BwICovLAotCQkJCTk1NkZDNEJBMjVENDlDN0QwMEY3QjNBMiAvKiBKU0FwcGxlUGF5TGluZUl0
ZW1EYXRhLmggKi8sCiAJCQkJQTFERjVBODkxRjdFQzAwMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlN
ZXJjaGFudENhcGFiaWxpdHkuY3BwICovLAogCQkJCUExREY1QThBMUY3RUMwMDAwMDU4QTQ3NyAv
KiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggKi8sCiAJCQkJQTFGNkQwMEExRkUwOTky
MTAwMTgwNzhDIC8qIEpTQXBwbGVQYXlNb2RpZmllci5jcHAgKi8sCkBAIC0xODg1Niw4ICsxODkw
MSw2IEBACiAJCQkJN0M2NTIzMEMxRTAwREJCNDAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50
Q29udGFjdC5oICovLAogCQkJCTdDNjUyMzBEMUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5
UGF5bWVudE1ldGhvZC5jcHAgKi8sCiAJCQkJN0M2NTIzMEUxRTAwREJCNDAwNjc3RjIyIC8qIEpT
QXBwbGVQYXlQYXltZW50TWV0aG9kLmggKi8sCi0JCQkJOTU5NkI5MzUyNURFRUYwMDAwRUQyQ0ZB
IC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHAgKi8sCi0JCQkJOTU5NkI5
MzYyNURFRUYwMjAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5o
ICovLAogCQkJCTFBRTk2QTdDMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1l
dGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJCTFBRTk2QTdEMUQxQTBBODAwMEI4Njc2OCAv
KiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJCQlBMUY2RDAw
RDFGRTA5OTY0MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcCAqLywK
QEAgLTE4ODY4LDYgKzE4OTExLDEwIEBACiAJCQkJN0M2NTIzMTAxRTAwREJCNDAwNjc3RjIyIC8q
IEpTQXBwbGVQYXlQYXltZW50UGFzcy5oICovLAogCQkJCTdDNjU3OUVCMUUwMDg1NjYwMEUzQTI3
QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuY3BwICovLAogCQkJCTdDNjU3OUVDMUUwMDg1
NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCAqLywKKwkJCQk5NUVBRDU4
RDI2NkVGNTlCMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRUaW1pbmcuY3BwICovLAorCQkJ
CTk1RUFENThDMjY2RUY1OUEwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oICov
LAorCQkJCTk1RUFENTkwMjY2RUY1Q0IwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UmVjdXJyaW5nUGF5
bWVudERhdGVVbml0LmNwcCAqLywKKwkJCQk5NUVBRDU5MTI2NkVGNUNDMDA0QjlDRjEgLyogSlNB
cHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovLAogCQkJCUExREY1QThDMUY3RUMw
MDEwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5jcHAgKi8sCiAJCQkJQTFERjVBOEIxRjdF
QzAwMTAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0LmggKi8sCiAJCQkJQTFERjVBQjAxRjgw
Nzc1MjAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAgKi8sCkBAIC0xODg3Niwx
NCArMTg5MjMsMTQgQEAKIAkJCQkxQUU5NkE3RjFEMUEwQTgwMDBCODY3NjggLyogSlNBcHBsZVBh
eVNlc3Npb24uaCAqLywKIAkJCQlBMUQ1MDYxMzIzMzFFRDk3MDAxNEVFNEUgLyogSlNBcHBsZVBh
eVNlc3Npb25FcnJvci5jcHAgKi8sCiAJCQkJQTFENTA2MTEyMzMxRUQ5NjAwMTRFRTRFIC8qIEpT
QXBwbGVQYXlTZXNzaW9uRXJyb3IuaCAqLywKKwkJCQk5NUVBRDU5NjI2NkVGNjBBMDA0QjlDRjEg
LyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmNwcCAqLywKKwkJCQk5NUVB
RDU5NTI2NkVGNjA5MDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlLmggKi8sCiAJCQkJMUFFOTZBODAxRDFBMEE4MDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQUU5NkE4MTFEMUEwQTgwMDBC
ODY3NjggLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJ
CQkxQURGREZFNzFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVw
ZGF0ZS5jcHAgKi8sCiAJCQkJMUFERkRGRTgxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RVcGRhdGUuaCAqLywKIAkJCQk3QzY1NzlFRDFFMDA4NTY2MDBFM0EyN0Eg
LyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmNwcCAqLywKIAkJCQk3QzY1NzlFRTFFMDA4NTY2
MDBFM0EyN0EgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggKi8sCi0JCQkJOTUxREVERDMy
NUUwODQ5QzAwMjBFMUVFIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuY3BwICovLAot
CQkJCTk1MURFREQ0MjVFMDg0OUQwMDIwRTFFRSAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RE
YXRhLmggKi8sCiAJCQkJMUFFOTZBODIxRDFBMEE4MDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJCTFBRTk2QTgzMUQxQTBBODAwMEI4
Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmggKi8sCiAJCQkJ
MUFERkRGRTkxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0
ZS5jcHAgKi8sCkBAIC0zMTYzNiw2ICszMTY4MywxMSBAQAogCQkJCTQ0MjUwNzA5MjU4MjlBMjcw
MEMwOTM2OCAvKiBBcHBIaWdobGlnaHRTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTEz
RTAyRTIzMzFBMTM0MDA5QzMzQTAgLyogQXBwbGVQYXlDYW5jZWxFdmVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTFERjVBOTQxRjdFQzQzMjAwNThBNDc3IC8qIEFwcGxlUGF5Q29udGFjdEZpZWxk
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU2MzI2NkVGMkRCMDA0QjlDRjEgLyogQXBwbGVQ
YXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NTY4NEQ4MzI2
NTM1N0Y4MDAwMjY5MzggLyogQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTU5NkI5MzMyNURFRUVBMDAwRUQyQ0ZBIC8qIEFwcGxlUGF5Q291cG9uQ29kZVVw
ZGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1NkQyNjZFRjJGQTAwNEI5Q0YxIC8qIEFw
cGxlUGF5RGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFENTZBMjY2RUYy
RkEwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk1MDE4M0NEMjVENjMzRDkwMEQ0MzQwRiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVC
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NTI3RDdBQjI1RDVGREUyMDBBNkUxNzYgLyogQXBw
bGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RUUyMDM1
RkM5QjAwMTIyMzZCIC8qIEFwcGxlUGF5RXJyb3IuaCBpbiBIZWFkZXJzICovLApAQCAtMzE2NDYs
NyArMzE2OTgsNiBAQAogCQkJCUExMTc1MEExMjQ3NDY4RjcwMEQ0RDI2QyAvKiBBcHBsZVBheUlu
c3RhbGxtZW50SXRlbVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExM0I2MTZCMjQ3NUUwNDgw
MEJCRTZERSAvKiBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCBp
biBIZWFkZXJzICovLAotCQkJCTk1NkZDNEJCMjVENDlDN0IwMEY3QjNBMiAvKiBBcHBsZVBheUxp
bmVJdGVtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3
IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2
Q0ZGRjFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0M2NTIzMDExRTAwRDAzNDAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMTY1NSwxMyArMzE3MDYsMTMgQEAKIAkJCQk3QzY1MjJGQjFFMDBDOTA5
MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTFERjVBQTIxRjdFRTExMzAwNThBNDc3IC8qIEFwcGxlUGF5UGF5bWVudEhhbmRsZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDNjUyMkVGMUUwMEE0QzcwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1l
bnRNZXRob2QuaCBpbiBIZWFkZXJzICovLAotCQkJCTk1Njg0RDgzMjY1MzU3RjgwMDAyNjkzOCAv
KiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
OTU5NkI5MzMyNURFRUVBMDAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDU2MUQxOUZDRkMwMEQwRTAwRiAvKiBBcHBs
ZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2
RDAwNjFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTEyQzU5RjEyMDM1RkNCRjAwMTIyMzZCIC8qIEFwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRjUxRTAwQTUxNzAwNjc3
RjIyIC8qIEFwcGxlUGF5UGF5bWVudFBhc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUUw
MUUwMDc5RjkwMEUzQTI3QSAvKiBBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk5NUVBRDU3MDI2NkVGMzg2MDA0QjlDRjEgLyogQXBwbGVQYXlQYXltZW50VGltaW5n
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU3NDI2NkVGMzk0MDA0QjlDRjEgLyogQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QTdG
MUY3RUJEMEIwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExREY1QUFEMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3RCYXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQThBNjQ1OTFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlTZXNzaW9u
LmggaW4gSGVhZGVycyAqLywKQEAgLTMxNjcxLDEwICszMTcyMiwxMCBAQAogCQkJCUExRTA4NjYw
MjQ4OUQyQkEwMEU0OTZEOSAvKiBBcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1QzUzRENFMTI0NDY1REZDMDBBOTMxMjQgLyogQXBwbGVQYXlTZXR1cEZlYXR1
cmVXZWJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzUzRENFQTI0NDY4RkI0MDBBOTMxMjQg
LyogQXBwbGVQYXlTZXR1cFdlYkNvcmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFENTc4MjY2
RUYzQTgwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQThBNjQ1QzFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGMjIw
MzVGQ0Q2MDAxMjIzNkIgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDNjU3OUU4MUUwMDgzMTYwMEUzQTI3QSAvKiBBcHBsZVBheVNoaXBwaW5n
TWV0aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTFERUREMjI1RTA4NDVBMDAyMEUxRUUgLyog
QXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDYw
MUQxOUZDRkMwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjMyMDM1RkNFMjAwMTIyMzZCIC8qIEFwcGxlUGF5
U2hpcHBpbmdNZXRob2RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDYzMUQxOUZD
RkMwMEQwRTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMjQ3MSw3ICszMjUyMiw2IEBACiAJCQkJNDFGQUJEMkQxRjRERkU0QTAwNkE2Qzk3
IC8qIERPTUNhY2hlRW5naW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTM4MEMyOTFGMzQzNkFD
MDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QkRBM0ZG
RTIxNTFCNkY1MDBGRDY2MDQgLyogRE9NQ1NTQ3VzdG9tUHJvcGVydHlEZXNjcmlwdG9yLmggaW4g
SGVhZGVycyAqLywKLQkJCQlFNDQ3RjVCMzI2NkNGNjNEMDAxMzNGMDAgLyogVGV4dEJveFNlbGVj
dGFibGVSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkM5QTBGNzUxNjQwOTRDRjAwM0Q2QjhE
IC8qIERPTUNTU05hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEI2QjVDQkQyMTY0MEVG
RjAwNjAzODE3IC8qIERPTUNTU1BhaW50V29ya2xldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEJE
QTNGRkYyMTUxQjZGNTAwRkQ2NjA0IC8qIERPTUNTU1JlZ2lzdGVyQ3VzdG9tUHJvcGVydHkuaCBp
biBIZWFkZXJzICovLApAQCAtMzMyNTAsNiArMzMzMDAsMTEgQEAKIAkJCQk3MTAyNUVERTFGOTlG
MUVDMDA0QTI1MEMgLyogSlNBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE5NTZGMUMyMzMxQTY3NzAwNTdFOUQyIC8qIEpTQXBwbGVQYXlDYW5jZWxFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTFERjVBOTkxRjdFQzhDMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlDb250
YWN0RmllbGQuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1OTZCOTM4MjVERUVGMDMwMEVEMkNGQSAv
KiBKU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTVFQUQ1ODMyNjZFRjUzQjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1ODIyNjZFRjUzOTAwNEI5Q0YxIC8qIEpTQXBwbGVQ
YXlDb3Vwb25Db2RlVXBkYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU4NzI2NkVGNTZB
MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk5NUVBRDU4QjI2NkVGNTdBMDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFu
Z2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk1M0JDRUIyMjVENjI4M0QwMEE0QTJBMSAvKiBKU0Fw
cGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk1MjdEN0FGMjVE
NUZFNkMwMEE2RTE3NiAvKiBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExMkM1OUY5MjAzNjBBQ0IwMDEyMjM2QiAvKiBKU0FwcGxlUGF5RXJyb3IuaCBp
biBIZWFkZXJzICovLApAQCAtMzMyNjAsNyArMzMzMTUsNiBAQAogCQkJCUExM0I2MTc2MjQ3NUUz
N0EwMEJCRTZERSAvKiBKU0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTEzQjYxNzcyNDc1RTNBMzAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVu
dFJldGFpbENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUwMDg1NjYwMEUz
QTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLAotCQkJCTk1NkZDNEJC
MjVENDlDN0IwMEY3QjNBMyAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMURGNUE4RTFGN0VDMDAyMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2Fw
YWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNkQwMTIxRkUwOTlCNDAwMTgwNzhDIC8q
IEpTQXBwbGVQYXlNb2RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJC
NDAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMzMjY4
LDIwICszMzMyMiwyMSBAQAogCQkJCTFBRTk2QThCMUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxl
UGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTYx
RTAwREJCNTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0M2NTIzMTgxRTAwREJCNTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0
aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTk2QjkzODI1REVFRjAzMDBFRDJDRkEgLyogSlNB
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5
NkE4RDFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2RDAwRjFGRTA5OTk0MDAxODA3OEMgLyogSlNB
cHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGQzIw
MzYwQjI3MDAxMjIzNkIgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDNjUyMzFBMUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVu
dFBhc3MuaCBpbiBIZWFkZXJzICovLAotCQkJCTdDNjU3OUYyMUUwMDg1NjYwMEUzQTI3QSAvKiBK
U0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFENTk0MjY2
RUY1RDQwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJzICov
LAorCQkJCTk1RUFENThFMjY2RUY1OUMwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRpbWlu
Zy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1OTMyNjZFRjVDRDAwNEI5Q0YxIC8qIEpTQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1
QThGMUY3RUMwMDIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTFERjVBQjMxRjgwNzc1MzAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0QmFzZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFOTZBOEYxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQ
YXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUQ1MDYxNDIzMzFFREQ0MDAxNEVFNEUg
LyogSlNBcHBsZVBheVNlc3Npb25FcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1OTcy
NjZFRjYwQjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFOTZBOTExRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJD
NTlGRDIwMzYwQjNFMDAxMjIzNkIgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RjQxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTUxREVERDYyNUUwODQ5RTAw
MjBFMUVFIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBRTk2QTkzMUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RT
ZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGRTIwMzYwQjRBMDAxMjIz
NkIgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1N0QxMzUyQzIyOTRBQTNEMDA4Mjc0MDEgLyogSlNBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVm
ZXJlbmNlLmggaW4gSGVhZGVycyAqLywKQEAgLTM1Njc2LDYgKzM1NzMxLDcgQEAKIAkJCQlDRTdC
MkRCNTE1ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjU0RENFNjE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1dG9TaXppbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTM0MEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0Qm91
bmRhcmllcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTQ0N0Y1QjMyNjZDRjYzRDAwMTMzRjAwIC8q
IFRleHRCb3hTZWxlY3RhYmxlUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3MTUxQkQ4MTJG
MTU1OEYwMDVBMEY2NCAvKiBUZXh0Q2hlY2tlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc3RDAwMTIxMzNCMEFFQjAwRDY2NThDIC8qIFRleHRDaGVja2luZy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTdEQkY4REUxMjc2OTE5QzAwNkI2MDA4IC8qIFRleHRDaGVja2luZ0hlbHBlci5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA3ODMzNjAzMmEzMmFmNjEw
ZDgyNGY4MmE5MzM2NTMxYzJiZDAzMDdiLi45ZDQxZDc5MmRmMjJmNmFmYTg3MDNmNGQ2MzY1YmVk
YWQxYjAzZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTMyLDE4ICszMiwxNSBAQAog
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNlbmRpZgogCi0jaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvRXZlbnROYW1lc0Fk
ZGl0aW9ucy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmICFkZWZpbmVk
KEFERElUSU9OQUxfRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKQotI2RlZmluZSBBRERJVElPTkFM
X0RPTV9FVkVOVF9OQU1FU19GT1JfRUFDSChtYWNybykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQorI2RlZmluZSBET01fRVZFTlRfTkFNRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVf
Q0hBTkdFRChtYWNybykgbWFjcm8oY291cG9uY29kZWNoYW5nZWQpCisjZWxzZQorI2RlZmluZSBE
T01fRVZFTlRfTkFNRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVfQ0hBTkdFRChtYWNybykKICNlbmRp
ZgogCiAjZGVmaW5lIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSChtYWNybykgXAotICAgIEFERElU
SU9OQUxfRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCiAgICAgbWFjcm8oRE9NQWN0
aXZhdGUpIFwKICAgICBtYWNybyhET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQpIFwKICAgICBtYWNy
byhET01Db250ZW50TG9hZGVkKSBcCkBAIC0xMDMsNiArMTAwLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKGNvbnRyb2xsZXJjaGFuZ2UpIFwKICAgICBtYWNybyhjb29yZGluYXRv
cnN0YXRlY2hhbmdlKSBcCiAgICAgbWFjcm8oY29weSkgXAorICAgIERPTV9FVkVOVF9OQU1FX0FQ
UExFX1BBWV9DT1VQT05fQ09ERV9DSEFOR0VEKG1hY3JvKSBcCiAgICAgbWFjcm8oY3VlY2hhbmdl
KSBcCiAgICAgbWFjcm8oY3V0KSBcCiAgICAgbWFjcm8oZGF0YWF2YWlsYWJsZSkgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5pbgppbmRleCBjY2U4NmViYTU2NTJlMGZmYjJiZDJmMzAxZGNjMWFhNTli
Y2M2ZWY1Li42YzdjZTMxMjdiOTdhNTg4NDdjZDFjN2Q3ODQ3NGZjMDg4OGFlMDA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNDQsNiArNDQsNyBAQCBXZWJLaXRUcmFuc2l0aW9uRXZl
bnQKIFdoZWVsRXZlbnQKIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudAogQXBwbGVQYXlDYW5j
ZWxFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKK0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRF
dmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREUKIEFwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudE1ldGhv
ZFNlbGVjdGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdFNlbGVjdGVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDgzMzZjYjE4YjY3ZDJmYTgwOTNkZTc5MmRlM2Q1NTA1
ZTVmZThkNzAuLmFiNWMzMTY5MzFlZDIyZDAwOTViMDM1N2ZlMDkxNmJmMTA2ODA4ZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC00MTEsOCArNDExLDggQEAgY2xh
c3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQgZmluYWwgOiBwdWJsaWMgUGF5bWVudENv
b3JkaW5hdG9yQ2xpZW50IHsKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rp
b24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBmaW5hbCB7
IH0KICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFsIHsgfQogICAgIHZvaWQg
Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXlt
ZW50TWV0aG9kVXBkYXRlPiYmKSBmaW5hbCB7IH0KLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1F
TlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJikgZmluYWwg
eyB9CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGNvbXBsZXRl
Q291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4m
JikgZmluYWwgeyB9CiAjZW5kaWYKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3Rk
OjpvcHRpb25hbDxQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJikgZmluYWwgeyB9CiAgICAg
dm9pZCBjYW5jZWxQYXltZW50U2Vzc2lvbigpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggMTVkMzk2ZTc2Njk3
OTQ5NmQzN2ExYjFhYWU5OTU5NzRlNzgzMDAyMS4uYzI0Y2U0MmM0YWE0NjI4YjY0OTI2NjE1NmUx
NzY0NTU3YWI0M2ViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0yOCw5ICsyOCwxMCBAQAogCiAjaWYgRU5BQkxFKEFQUExF
X1BBWSkKIAotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCIKKyNp
bmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVBh
eW1lbnRNZXRob2RVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNlc3Npb25QYXltZW50UmVx
dWVzdC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCIK
ICNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oIgogI2luY2x1ZGUgIkFw
cGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaCIKICNpbmNsdWRlICJNb2NrQXBwbGVQYXlTZXR1
cEZlYXR1cmUuaCIKQEAgLTExMyw2ICsxMTQsMTMgQEAgYm9vbCBNb2NrUGF5bWVudENvb3JkaW5h
dG9yOjpzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiwgY29uc3QK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKICAgICBtX2luc3RhbGxtZW50Q29u
ZmlndXJhdGlvbiA9IHJlcXVlc3QuaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKCkuYXBwbGVQYXlJ
bnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKTsKICNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCisgICAgbV9zdXBwb3J0c0NvdXBvbkNvZGUgPSByZXF1ZXN0LnN1cHBvcnRz
Q291cG9uQ29kZSgpOworICAgIG1fY291cG9uQ29kZSA9IHJlcXVlc3QuY291cG9uQ29kZSgpOwor
I2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9E
RSkKKyAgICBtX3NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlID0gcmVxdWVzdC5zaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZSgpOworI2VuZGlmCiAjaWYgZGVmaW5lZChNb2NrUGF5bWVudENvb3Jk
aW5hdG9yQWRkaXRpb25zX3Nob3dQYXltZW50VUkpCiAgICAgTW9ja1BheW1lbnRDb29yZGluYXRv
ckFkZGl0aW9uc19zaG93UGF5bWVudFVJCiAjZW5kaWYKQEAgLTE4MCwyMyArMTg4LDIzIEBAIHZv
aWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9u
KHN0ZDo6b3B0aW9uYWw8QXBwbGVQCiAjZW5kaWYKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQog
Ci12b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmIHBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlKQordm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21w
bGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGU+JiYgY291cG9uQ29kZVVwZGF0ZSkKIHsKLSAgICBpZiAoIXBheW1lbnRNZXRob2RNb2RlVXBk
YXRlKQorICAgIGlmICghY291cG9uQ29kZVVwZGF0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
bV90b3RhbCA9IFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGVVcGRhdGUtPm5ld1RvdGFsKTsKLSAg
ICBtX2xpbmVJdGVtcyA9IFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGVVcGRhdGUtPm5ld0xpbmVJ
dGVtcyk7Ci0gICAgbV9lcnJvcnMgPSBjb252ZXJ0KFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGVV
cGRhdGUtPmVycm9ycykpOwotICAgIG1fc2hpcHBpbmdNZXRob2RzID0gV1RGTW92ZShwYXltZW50
TWV0aG9kTW9kZVVwZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKTsKLSNpZiBkZWZpbmVkKE1vY2tQ
YXltZW50Q29vcmRpbmF0b3JBZGRpdGlvbnNfY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5n
ZSkKLSAgICBNb2NrUGF5bWVudENvb3JkaW5hdG9yQWRkaXRpb25zX2NvbXBsZXRlUGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2UKKyAgICBtX3RvdGFsID0gV1RGTW92ZShjb3Vwb25Db2RlVXBkYXRlLT5u
ZXdUb3RhbCk7CisgICAgbV9saW5lSXRlbXMgPSBXVEZNb3ZlKGNvdXBvbkNvZGVVcGRhdGUtPm5l
d0xpbmVJdGVtcyk7CisgICAgbV9lcnJvcnMgPSBjb252ZXJ0KFdURk1vdmUoY291cG9uQ29kZVVw
ZGF0ZS0+ZXJyb3JzKSk7CisgICAgbV9zaGlwcGluZ01ldGhvZHMgPSBXVEZNb3ZlKGNvdXBvbkNv
ZGVVcGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcyk7CisjaWYgZGVmaW5lZChNb2NrUGF5bWVudENv
b3JkaW5hdG9yQWRkaXRpb25zX2NvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSkKKyAgICBNb2NrUGF5
bWVudENvb3JkaW5hdG9yQWRkaXRpb25zX2NvbXBsZXRlQ291cG9uQ29kZUNoYW5nZQogI2VuZGlm
CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisj
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9pZCBNb2NrUGF5bWVu
dENvb3JkaW5hdG9yOjpjaGFuZ2VTaGlwcGluZ09wdGlvbihTdHJpbmcmJiBzaGlwcGluZ09wdGlv
bikKIHsKQEAgLTIxNCw2ICsyMjIsMTcgQEAgdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpj
aGFuZ2VQYXltZW50TWV0aG9kKEFwcGxlUGF5UGF5bWVudE1ldGhvZCYmIHBheW1lbnQKICAgICB9
KTsKIH0KIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisKK3ZvaWQgTW9ja1Bh
eW1lbnRDb29yZGluYXRvcjo6Y2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKQor
eworICAgIGRpc3BhdGNoSWZTaG93aW5nKFtwYWdlID0gJm1fcGFnZSwgY291cG9uQ29kZSA9IFdU
Rk1vdmUoY291cG9uQ29kZSldKCkgbXV0YWJsZSB7CisgICAgICAgIHBhZ2UtPnBheW1lbnRDb29y
ZGluYXRvcigpLmRpZENoYW5nZUNvdXBvbkNvZGUoV1RGTW92ZShjb3Vwb25Db2RlKSk7CisgICAg
fSk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCiB2b2lk
IE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmFjY2VwdFBheW1lbnQoKQogewogICAgIGRpc3BhdGNo
SWZTaG93aW5nKFtwYWdlID0gJm1fcGFnZSwgc2hpcHBpbmdBZGRyZXNzID0gbV9zaGlwcGluZ0Fk
ZHJlc3NdKCkgbXV0YWJsZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5oCmluZGV4IDkyOGFjYzQ4M2JlNTMzOTMxZmRhMTA2ZTAxNzZiYmJkZGM5
YWVlNTUuLjlmZGYxYThmYjliZmQzNDUwNjRmNjY1ODQ0NjQwYTQ0MjllNDc2ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBAIC0zMCw2
ICszMCw3IEBACiAjaW5jbHVkZSAiQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJD
b3JlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5
U2V0dXBDb25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNs
dWRlICJNb2NrUGF5bWVudEFkZHJlc3MuaCIKICNpbmNsdWRlICJNb2NrUGF5bWVudENvbnRhY3RG
aWVsZHMuaCIKQEAgLTU2LDYgKzU3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hpcHBpbmdB
ZGRyZXNzKE1vY2tQYXltZW50QWRkcmVzcyYmIHNoaXBwaW5nQWRkcmVzcykgeyBtX3NoaXBwaW5n
QWRkcmVzcyA9IFdURk1vdmUoc2hpcHBpbmdBZGRyZXNzKTsgfQogICAgIHZvaWQgY2hhbmdlU2hp
cHBpbmdPcHRpb24oU3RyaW5nJiYgc2hpcHBpbmdPcHRpb24pOwogICAgIHZvaWQgY2hhbmdlUGF5
bWVudE1ldGhvZChBcHBsZVBheVBheW1lbnRNZXRob2QmJik7CisjaWYgRU5BQkxFKEFQUExFX1BB
WV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGNoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9u
Q29kZSk7CisjZW5kaWYKICAgICB2b2lkIGFjY2VwdFBheW1lbnQoKTsKICAgICB2b2lkIGNhbmNl
bFBheW1lbnQoKTsKIApAQCAtNzYsNiArODAsMTUgQEAgcHVibGljOgogICAgIEFwcGxlUGF5SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1faW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBzdXBwb3J0
c0NvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzQ291cG9uQ29kZTsgfQorICAg
IGNvbnN0IFN0cmluZyYgY291cG9uQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY291cG9uQ29kZTsg
fQorI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElO
R19NT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZT4gc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoKSBjb25zdCB7IHJldHVybiBtX3NoaXBw
aW5nQ29udGFjdEVkaXRpbmdNb2RlOyB9CisjZW5kaWYKKwogICAgIHZvaWQgcmVmKCkgY29uc3Qg
eyB9CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IHsgfQogCkBAIC04OSw5ICsxMDIsOSBAQCBwcml2
YXRlOgogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlv
bmFsPEFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZpbmFsOwogICAgIHZvaWQgY29t
cGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBw
aW5nQ29udGFjdFVwZGF0ZT4mJikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRo
b2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU+JiYp
IGZpbmFsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2
b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKSBmaW5hbDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05f
Q09ERSkKKyAgICB2b2lkIGNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJikgZmluYWw7CisjZW5kaWYKICAgICB2b2lkIGNvbXBs
ZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRpb25hbDxQYXltZW50QXV0aG9yaXphdGlvblJlc3Vs
dD4mJikgZmluYWw7CiAgICAgdm9pZCBhYm9ydFBheW1lbnRTZXNzaW9uKCkgZmluYWw7CiAgICAg
dm9pZCBjYW5jZWxQYXltZW50U2Vzc2lvbigpIGZpbmFsOwpAQCAtMTIwLDYgKzEzMywxMyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9zdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxlUGF5IHsgdHJ1ZSB9
OwogI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogICAgIEFwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uIG1faW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOworI2VuZGlmCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+
IG1fc3VwcG9ydHNDb3Vwb25Db2RlOworICAgIFN0cmluZyBtX2NvdXBvbkNvZGU7CisjZW5kaWYK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorICAg
IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZT4gbV9zaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKICNlbmRpZgogICAgIEFwcGxlUGF5U2V0dXBDb25maWd1
cmF0aW9uIG1fc2V0dXBDb25maWd1cmF0aW9uOwogICAgIFZlY3RvcjxSZWY8QXBwbGVQYXlTZXR1
cEZlYXR1cmU+PiBtX3NldHVwRmVhdHVyZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAppbmRleCA2MGY1MTlmZTg1ZDFhNTI3OTViZDk3
NDkxMDViNmI3YWY2OTVkNTc1Li5kMjdkMmI1ZTk0ZTgzMzM2OTJkYzUyMzExMzk5YmE5NGYxM2E1
NmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGlu
YXRvci5pZGwKQEAgLTMyLDYgKzMyLDcgQEAKICAgICB1bmRlZmluZWQgc2V0U2hpcHBpbmdBZGRy
ZXNzKE1vY2tQYXltZW50QWRkcmVzcyBzaGlwcGluZ0FkZHJlc3MpOwogICAgIHVuZGVmaW5lZCBj
aGFuZ2VTaGlwcGluZ09wdGlvbihET01TdHJpbmcgc2hpcHBpbmdPcHRpb24pOwogICAgIHVuZGVm
aW5lZCBjaGFuZ2VQYXltZW50TWV0aG9kKEFwcGxlUGF5UGF5bWVudE1ldGhvZCBwYXltZW50TWV0
aG9kKTsKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSB1bmRlZmluZWQg
Y2hhbmdlQ291cG9uQ29kZShET01TdHJpbmcgY291cG9uQ29kZSk7CiAgICAgdW5kZWZpbmVkIGFj
Y2VwdFBheW1lbnQoKTsKICAgICB1bmRlZmluZWQgY2FuY2VsUGF5bWVudCgpOwogCkBAIC00OSw0
ICs1MCw5IEBACiAgICAgYXR0cmlidXRlIGJvb2xlYW4gc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBs
ZVBheTsKIAogICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRTXSByZWFkb25s
eSBhdHRyaWJ1dGUgQXBwbGVQYXlJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0g
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4/IHN1cHBvcnRzQ291cG9uQ29kZTsKKyAgICBbQ29u
ZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBjb3Vwb25Db2RlOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9TSElQUElOR19D
T05UQUNUX0VESVRJTkdfTU9ERV0gcmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5U2hpcHBpbmdD
b250YWN0RWRpdGluZ01vZGU/IHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25Q
cmVzZW50ZXIuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6
YXRpb25QcmVzZW50ZXIuaAppbmRleCAyMmM2YjY1NmNjYWJiMWY3N2VhOTczZjU0NzQ4Y2FhNmY2
YWM3ODU3Li4yZWZjYjIwMGU4MDQ1NjdiZTUzMjA5MjBiNzFiM2M1NmY2YjIwMDY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9y
aXphdGlvblByZXNlbnRlci5oCkBAIC00Miw5ICs0Miw3IEBAIGNsYXNzIFBheW1lbnRDb250YWN0
OwogY2xhc3MgUGF5bWVudE1lcmNoYW50U2Vzc2lvbjsKIGNsYXNzIFBheW1lbnRNZXRob2Q7CiBj
bGFzcyBQYXltZW50U2Vzc2lvbkVycm9yOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKLXN0cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
Owogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlOwogc3RydWN0IEFwcGxlUGF5
U2hpcHBpbmdNZXRob2Q7CkBAIC02NSw5ICs2Myw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVh
bCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFBheW1lbnRNZXRob2QoUGF5bWVudEF1dGhvcml6YXRp
b25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50TWV0aG9kJikgPSAwOwogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KFBheW1lbnRB
dXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudENvbnRhY3QmKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ01ldGhv
ZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5
U2hpcHBpbmdNZXRob2QmKSA9IDA7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQotICAgICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlkQ2hhbmdlUGF5bWVudE1l
dGhvZE1vZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBTdHJpbmcmIHBh
eW1lbnRNZXRob2RNb2RlKSA9IDA7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5U
X01FVEhPRF9NT0RFKQorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKyAgICAgICAgdmly
dHVhbCB2b2lkIHByZXNlbnRlckRpZENoYW5nZUNvdXBvbkNvZGUoUGF5bWVudEF1dGhvcml6YXRp
b25QcmVzZW50ZXImLCBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUpID0gMDsKKyNlbmRpZgogICAg
ICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyV2lsbFZhbGlkYXRlTWVyY2hhbnQoUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBVUkwmKSA9IDA7CiAgICAgfTsKIApAQCAtODAs
OSArNzgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+Jik7CiAg
ICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKTsKICAgICB2b2lkIGNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKTsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJik7
Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEhB
VkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGNvbXBsZXRlQ291cG9uQ29kZUNoYW5n
ZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJik7Cisj
ZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNzKCkgPSAwOwogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQppbmRleCAwNDU0MWZmMzUxODk1YWE4
YTc5OWYzZjRlOGQ5YTNlODIwYmZjMGRlLi4xMjU5MGY2OGZiYTI1ZjE5YzY3MWU2ZWNhZGY4OTcy
NTE2NjQxOTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
Y29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KQEAgLTMwLDExICszMCwxMSBA
QAogCiAjaW1wb3J0ICJXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaCIKICNpbXBvcnQg
IldlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5RGV0YWls
c1VwZGF0ZURhdGEuaD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlFcnJvci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9BcHBsZVBheUVycm9yQ29kZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBh
eUVycm9yQ29udGFjdEZpZWxkLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVVcGRhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaD4KQEAg
LTg2LDE3ICs4NiwzMyBAQCBzdGF0aWMgUEtQYXltZW50RXJyb3JDb2RlIHRvUEtQYXltZW50RXJy
b3JDb2RlKFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlIGNvZGUpCiB7CiAgICAgc3dpdGNoIChj
b2RlKSB7CiAgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6VW5rbm93bjoKLSAg
ICAgICAgcmV0dXJuIFBLUGF5bWVudFVua25vd25FcnJvcjsKKyAgICAgICAgYnJlYWs7CisKICAg
ICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpTaGlwcGluZ0NvbnRhY3RJbnZhbGlk
OgogICAgICAgICByZXR1cm4gUEtQYXltZW50U2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yOwor
CiAgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QmlsbGluZ0NvbnRhY3RJbnZh
bGlkOgogICAgICAgICByZXR1cm4gUEtQYXltZW50QmlsbGluZ0NvbnRhY3RJbnZhbGlkRXJyb3I7
CisKICAgICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpBZGRyZXNzVW5zZXJ2aWNl
YWJsZToKICAgICAgICAgcmV0dXJuIFBLUGF5bWVudFNoaXBwaW5nQWRkcmVzc1Vuc2VydmljZWFi
bGVFcnJvcjsKLSNpZiBkZWZpbmVkKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyQWRkaXRp
b25zX3RvUEtQYXltZW50RXJyb3JDb2RlKQotICAgIFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2Vu
dGVyQWRkaXRpb25zX3RvUEtQYXltZW50RXJyb3JDb2RlCisKKyAgICBjYXNlIFdlYkNvcmU6OkFw
cGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlSW52YWxpZDoKKyNpZiBIQVZFKFBBU1NLSVRfQ09V
UE9OX0NPREUpCisgICAgICAgIHJldHVybiBQS1BheW1lbnRDb3Vwb25Db2RlSW52YWxpZEVycm9y
OworI2Vsc2UKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKKworICAgIGNhc2UgV2ViQ29yZTo6QXBw
bGVQYXlFcnJvckNvZGU6OkNvdXBvbkNvZGVFeHBpcmVkOgorI2lmIEhBVkUoUEFTU0tJVF9DT1VQ
T05fQ09ERSkKKyAgICAgICAgcmV0dXJuIFBLUGF5bWVudENvdXBvbkNvZGVFeHBpcmVkRXJyb3I7
CisjZWxzZQorICAgICAgICBicmVhazsKICNlbmRpZgogICAgIH0KKworICAgIHJldHVybiBQS1Bh
eW1lbnRVbmtub3duRXJyb3I7CiB9CiAKIHN0YXRpYyBOU0Vycm9yICp0b05TRXJyb3IoY29uc3Qg
V2ViQ29yZTo6QXBwbGVQYXlFcnJvciYgZXJyb3IpCkBAIC0yNTYsMjMgKzI3MiwyNCBAQCB2b2lk
IFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2Vs
ZWN0aW9uKHN0ZDo6b3B0aW9uYQogICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbjpzaGlwcGluZ01ldGhvZFVwZGF0ZS5nZXQoKV07CiB9CiAKLSNp
ZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgSEFWRShQQVNTS0lU
X0NPVVBPTl9DT0RFKQogCi12b2lkIFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21w
bGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJiB1cGRhdGUpCit2b2lkIFBheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYgdXBkYXRlKQogewogICAgIEFTU0VS
VChwbGF0Zm9ybURlbGVnYXRlKCkpOwogICAgIGlmICghdXBkYXRlKSB7Ci0gICAgICAgIFtwbGF0
Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZTpuaWxdOworICAg
ICAgICBbcGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZTpuaWxdOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgZGVmaW5lZChQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlckFkZGl0aW9uc19jb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKQotICAg
IFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyQWRkaXRpb25zX2NvbXBsZXRlUGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2UKKyAgICBhdXRvIGNvdXBvbkNvZGVVcGRhdGUgPSBhZG9wdE5TKFtQQUw6
OmFsbG9jUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGVJbnN0YW5jZSgpIGluaXRXaXRo
RXJyb3JzOnRvTlNFcnJvcnMoV1RGTW92ZSh1cGRhdGUtPmVycm9ycykpLmdldCgpIHBheW1lbnRT
dW1tYXJ5SXRlbXM6V2ViQ29yZTo6cGxhdGZvcm1TdW1tYXJ5SXRlbXMoV1RGTW92ZSh1cGRhdGUt
Pm5ld1RvdGFsKSwgV1RGTW92ZSh1cGRhdGUtPm5ld0xpbmVJdGVtcykpIHNoaXBwaW5nTWV0aG9k
czp0b1BLU2hpcHBpbmdNZXRob2RzKFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMp
KS5nZXQoKV0pOworI2lmIGRlZmluZWQoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXJBZGRp
dGlvbnNfY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKQorICAgIFBheW1lbnRBdXRob3JpemF0aW9u
UHJlc2VudGVyQWRkaXRpb25zX2NvbXBsZXRlQ291cG9uQ29kZUNoYW5nZQogI2VuZGlmCi0gICAg
W3BsYXRmb3JtRGVsZWdhdGUoKSBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlOnBheW1l
bnRNZXRob2RNb2RlVXBkYXRlLmdldCgpXTsKKyAgICBbcGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBs
ZXRlQ291cG9uQ29kZUNoYW5nZTpjb3Vwb25Db2RlVXBkYXRlLmdldCgpXTsKIH0KIAotI2VuZGlm
IC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBIQVZF
KFBBU1NLSVRfQ09VUE9OX0NPREUpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uVmll
d0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRo
b3JpemF0aW9uVmlld0NvbnRyb2xsZXIubW0KaW5kZXggOTc4ZTkxNDZmZjUxMGI2ODhiYzQwYjc0
Yzc2YTc5NmQ0OTQ3NTg4ZC4uNWU3MjUwMTJkMDM0MGQwMmQyMmUwOTlkOWU4OTVmZTkwZDgzZGMz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9y
aXphdGlvblZpZXdDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbQpAQCAtMzEsMTAgKzMxLDYg
QEAKICNpbXBvcnQgIldLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oIgogI2ltcG9ydCA8
cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29u
dHJvbGxlckFkZGl0aW9ucy5tbT4KLSNlbmRpZgotCiBAaW50ZXJmYWNlIFdLUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlIDogV0tQYXltZW50QXV0aG9yaXphdGlvbkRl
bGVnYXRlIDxQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSwgUEtQ
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyUHJpdmF0ZURlbGVnYXRlPgogCiAtIChp
bnN0YW5jZXR5cGUpaW5pdFdpdGhSZXF1ZXN0OihQS1BheW1lbnRSZXF1ZXN0ICopcmVxdWVzdCBw
cmVzZW50ZXI6KFdlYktpdDo6UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImKXByZXNlbnRl
cjsKQEAgLTgzLDkgKzc5LDE0IEBAIC0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29u
dHJvbGxlcjooUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyCiAgICAgW3NlbGYg
X2RpZFNlbGVjdFBheW1lbnRNZXRob2Q6cGF5bWVudE1ldGhvZCBjb21wbGV0aW9uOmNvbXBsZXRp
b25dOwogfQogCi0jaWYgZGVmaW5lZChQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVy
QWRkaXRpb25zX1BLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlKQot
UGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckFkZGl0aW9uc19QS1BheW1lbnRBdXRo
b3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZQotI2VuZGlmCisjaWYgSEFWRShQQVNTS0lU
X0NPVVBPTl9DT0RFKQorCistICh2b2lkKXBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xs
ZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgZGlk
Q2hhbmdlQ291cG9uQ29kZTooTlNTdHJpbmcgKiljb3Vwb25Db2RlIGhhbmRsZXI6KHZvaWQgKF4p
KFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICp1cGRhdGUpKWNvbXBsZXRpb24KK3sK
KyAgICBbc2VsZiBfZGlkQ2hhbmdlQ291cG9uQ29kZTpjb3Vwb25Db2RlIGNvbXBsZXRpb246Y29t
cGxldGlvbl07Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCiAKICNw
cmFnbWEgbWFyayBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZVBy
aXZhdGUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1l
bnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
V0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKaW5kZXggNTQ0OGRkYmFiNDA0MWUyOGU1
NDU1ZTdjMzU2ZTljYzk2NjE1MzgzNi4uMGIxNzgzNWMwOWRkZTg3NmFkYjE2YWIxZmI1MDlmN2Uy
MGQ5YzkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1l
bnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oCkBAIC0zMywxMCArMzMsNiBAQCBP
QkpDX0NMQVNTIE5TQXJyYXk7CiBPQkpDX0NMQVNTIE5TRXJyb3I7CiBPQkpDX0NMQVNTIFVJVmll
d0NvbnRyb2xsZXI7CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdl
YktpdEFkZGl0aW9ucy9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnMuaD4K
LSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUGF5bWVudEF1dGhvcml6YXRp
b25QcmVzZW50ZXI7CkBAIC00Nyw2ICs0Myw3IEBAIHVzaW5nIERpZEF1dGhvcml6ZVBheW1lbnRD
b21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQS1BheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0CiB1
c2luZyBEaWRTZWxlY3RQYXltZW50TWV0aG9kQ29tcGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQ
YXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUgKik+OwogdXNpbmcgRGlkU2VsZWN0U2hp
cHBpbmdDb250YWN0Q29tcGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50UmVxdWVzdFNo
aXBwaW5nQ29udGFjdFVwZGF0ZSAqKT47CiB1c2luZyBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZENv
bXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVw
ZGF0ZSAqKT47Cit1c2luZyBEaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbiA9IEJsb2NrUHRy
PHZvaWQoUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGUgKik+OwogCiB9CiAKQEAgLTYx
LDggKzU4LDggQEAgdXNpbmcgRGlkU2VsZWN0U2hpcHBpbmdNZXRob2RDb21wbGV0aW9uID0gQmxv
Y2tQdHI8dm9pZChQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmcKIC0gKHZvaWQpY29tcGxldGVQYXlt
ZW50U2Vzc2lvbjooUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cylzdGF0dXMgZXJyb3JzOihO
U0FycmF5PE5TRXJyb3IgKj4gKillcnJvcnM7CiAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdDb250
YWN0U2VsZWN0aW9uOihQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdDb250YWN0VXBkYXRlICopc2hp
cHBpbmdDb250YWN0VXBkYXRlOwogLSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0
aW9uOihQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKilzaGlwcGluZ01ldGhv
ZFVwZGF0ZTsKLSNpZiBkZWZpbmVkKFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0
aW9uc19pbnRlcmZhY2VfcHVibGljKQotV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRk
aXRpb25zX2ludGVyZmFjZV9wdWJsaWMKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCist
ICh2b2lkKWNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZTooUEtQYXltZW50UmVxdWVzdENvdXBvbkNv
ZGVVcGRhdGUgKiljb3Vwb25Db2RlVXBkYXRlOwogI2VuZGlmCiAtICh2b2lkKWludmFsaWRhdGU7
CiAKQEAgLTc5LDggKzc2LDggQEAgV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRp
b25zX2ludGVyZmFjZV9wdWJsaWMKIC0gKHZvaWQpX2RpZFNlbGVjdFBheW1lbnRNZXRob2Q6KFBL
UGF5bWVudE1ldGhvZCAqKXBheW1lbnRNZXRob2QgY29tcGxldGlvbjooV2ViS2l0OjpEaWRTZWxl
Y3RQYXltZW50TWV0aG9kQ29tcGxldGlvbjo6QmxvY2tUeXBlKWNvbXBsZXRpb247CiAtICh2b2lk
KV9kaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3Q6KFBLQ29udGFjdCAqKWNvbnRhY3QgY29tcGxldGlv
bjooV2ViS2l0OjpEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3RDb21wbGV0aW9uOjpCbG9ja1R5cGUp
Y29tcGxldGlvbjsKIC0gKHZvaWQpX2RpZFNlbGVjdFNoaXBwaW5nTWV0aG9kOihQS1NoaXBwaW5n
TWV0aG9kICopc2hpcHBpbmdNZXRob2QgY29tcGxldGlvbjooV2ViS2l0OjpEaWRTZWxlY3RTaGlw
cGluZ01ldGhvZENvbXBsZXRpb246OkJsb2NrVHlwZSljb21wbGV0aW9uOwotI2lmIGRlZmluZWQo
V0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ludGVyZmFjZV9wcm90ZWN0
ZWQpCi1XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW50ZXJmYWNlX3By
b3RlY3RlZAorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKy0gKHZvaWQpX2RpZENoYW5n
ZUNvdXBvbkNvZGU6KE5TU3RyaW5nICopY291cG9uQ29kZSBjb21wbGV0aW9uOihXZWJLaXQ6OkRp
ZENoYW5nZUNvdXBvbkNvZGVDb21wbGV0aW9uOjpCbG9ja1R5cGUpY29tcGxldGlvbjsKICNlbmRp
ZgogLSAodm9pZClfZ2V0UGF5bWVudFNlcnZpY2VzTWVyY2hhbnRVUkw6KHZvaWQoXikoTlNVUkwg
KiwgTlNFcnJvciAqKSljb21wbGV0aW9uOwogLSAodm9pZClfd2lsbEZpbmlzaFdpdGhFcnJvcjoo
TlNFcnJvciAqKWVycm9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQppbmRleCAwODM3MWI2
NWYyMmI5OTE4MzgwYTg2M2Q1ZGYzOGFmYTJmZDc0ZTNlLi41OGRkYzA4NjNlYWU3ZjQ1MTc3M2Zj
MDg1MDgwMzhiMGZkNDgwZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQpAQCAtMzMs
MTAgKzMzLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudE1ldGhvZC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9QYXltZW50U2Vzc2lvbkVycm9yLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVs
ZWdhdGVBZGRpdGlvbnMubW0+Ci0jZW5kaWYKLQogQGltcGxlbWVudGF0aW9uIFdLUGF5bWVudEF1
dGhvcml6YXRpb25EZWxlZ2F0ZSB7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtQYXltZW50U3Vt
bWFyeUl0ZW0gKj4+IF9zdW1tYXJ5SXRlbXM7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtTaGlw
cGluZ01ldGhvZCAqPj4gX3NoaXBwaW5nTWV0aG9kczsKQEAgLTQ3LDggKzQzLDggQEAgQGltcGxl
bWVudGF0aW9uIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSB7CiAgICAgV2ViS2l0OjpE
aWRTZWxlY3RQYXltZW50TWV0aG9kQ29tcGxldGlvbiBfZGlkU2VsZWN0UGF5bWVudE1ldGhvZENv
bXBsZXRpb247CiAgICAgV2ViS2l0OjpEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3RDb21wbGV0aW9u
IF9kaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3RDb21wbGV0aW9uOwogICAgIFdlYktpdDo6RGlkU2Vs
ZWN0U2hpcHBpbmdNZXRob2RDb21wbGV0aW9uIF9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZENvbXBs
ZXRpb247Ci0jaWYgZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlv
bnNfaW1wbGVtZW50YXRpb25fbWVtYmVycykKLSAgICBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVs
ZWdhdGVBZGRpdGlvbnNfaW1wbGVtZW50YXRpb25fbWVtYmVycworI2lmIEhBVkUoUEFTU0tJVF9D
T1VQT05fQ09ERSkKKyAgICBXZWJLaXQ6OkRpZENoYW5nZUNvdXBvbkNvZGVDb21wbGV0aW9uIF9k
aWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbjsKICNlbmRpZgogfQogCkBAIC05NCw5ICs5MCwx
NyBAQCAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJl
cXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSAqKQogICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNlbGVj
dFNoaXBwaW5nTWV0aG9kQ29tcGxldGlvbiwgbmlsKSh1cGRhdGUuZ2V0KCkpOwogfQogCi0jaWYg
ZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW1wbGVtZW50
YXRpb25fcHVibGljKQotICAgIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9u
c19pbXBsZW1lbnRhdGlvbl9wdWJsaWMKLSNlbmRpZgorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05f
Q09ERSkKKworLSAodm9pZCljb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6KFBLUGF5bWVudFJlcXVl
c3RDb3Vwb25Db2RlVXBkYXRlICopY291cG9uQ29kZVVwZGF0ZQoreworICAgIFBLUGF5bWVudFJl
cXVlc3RDb3Vwb25Db2RlVXBkYXRlICp1cGRhdGUgPSBjb3Vwb25Db2RlVXBkYXRlID86IGFkb3B0
TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZUluc3RhbmNlKCkg
aW5pdFdpdGhFcnJvcnM6QFtdIHBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQo
KSBzaGlwcGluZ01ldGhvZHM6X3NoaXBwaW5nTWV0aG9kcy5nZXQoKV0pLmF1dG9yZWxlYXNlKCk7
CisgICAgX3N1bW1hcnlJdGVtcyA9IGFkb3B0TlMoW3VwZGF0ZS5wYXltZW50U3VtbWFyeUl0ZW1z
IGNvcHldKTsKKyAgICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbdXBkYXRlLnNoaXBwaW5n
TWV0aG9kcyBjb3B5XSk7CisgICAgc3RkOjpleGNoYW5nZShfZGlkQ2hhbmdlQ291cG9uQ29kZUNv
bXBsZXRpb24sIG5pbCkodXBkYXRlKTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9DT1VQ
T05fQ09ERSkKIAogLSAodm9pZClpbnZhbGlkYXRlCiB7CkBAIC0xODUsNiArMTg5LDMyIEBAIC0g
KHZvaWQpX2RpZFNlbGVjdFNoaXBwaW5nQ29udGFjdDooUEtDb250YWN0ICopY29udGFjdCBjb21w
bGV0aW9uOihXZWJLaXQ6OkRpZFNlCiAgICAgcHJlc2VudGVyLT5jbGllbnQoKS5wcmVzZW50ZXJE
aWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoKnByZXNlbnRlciwgV2ViQ29yZTo6UGF5bWVudENvbnRh
Y3QoY29udGFjdCkpOwogfQogCisjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRF
X0NPTVBPTkVOVFNfUkFOR0UpCisKK3N0YXRpYyBXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25l
bnRzIHRvRGF0ZUNvbXBvbmVudHMoTlNEYXRlQ29tcG9uZW50cyAqZGF0ZUNvbXBvbmVudHMpCit7
CisgICAgQVNTRVJUKGRhdGVDb21wb25lbnRzKTsKKworICAgIFdlYkNvcmU6OkFwcGxlUGF5RGF0
ZUNvbXBvbmVudHMgcmVzdWx0OworICAgIHJlc3VsdC55ZWFycyA9IGRhdGVDb21wb25lbnRzLnll
YXI7CisgICAgcmVzdWx0Lm1vbnRocyA9IGRhdGVDb21wb25lbnRzLm1vbnRoOworICAgIHJlc3Vs
dC5kYXlzID0gZGF0ZUNvbXBvbmVudHMuZGF5OworICAgIHJlc3VsdC5ob3VycyA9IGRhdGVDb21w
b25lbnRzLmhvdXI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIFdlYkNvcmU6OkFw
cGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZSB0b0RhdGVDb21wb25lbnRzUmFuZ2UoUEtEYXRlQ29t
cG9uZW50c1JhbmdlICpkYXRlQ29tcG9uZW50c1JhbmdlKQoreworICAgIEFTU0VSVChkYXRlQ29t
cG9uZW50c1JhbmdlKTsKKworICAgIFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5n
ZSByZXN1bHQ7CisgICAgcmVzdWx0LnN0YXJ0RGF0ZUNvbXBvbmVudHMgPSB0b0RhdGVDb21wb25l
bnRzKGRhdGVDb21wb25lbnRzUmFuZ2Uuc3RhcnREYXRlQ29tcG9uZW50cyk7CisgICAgcmVzdWx0
LmVuZERhdGVDb21wb25lbnRzID0gdG9EYXRlQ29tcG9uZW50cyhkYXRlQ29tcG9uZW50c1Jhbmdl
LmVuZERhdGVDb21wb25lbnRzKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisjZW5kaWYgLy8g
SEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisKIHN0
YXRpYyBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kIHRvU2hpcHBpbmdNZXRob2QoUEtT
aGlwcGluZ01ldGhvZCAqc2hpcHBpbmdNZXRob2QpCiB7CiAgICAgQVNTRVJUKHNoaXBwaW5nTWV0
aG9kKTsKQEAgLTE5NCw4ICsyMjQsOSBAQCBzdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGlu
Z01ldGhvZCB0b1NoaXBwaW5nTWV0aG9kKFBLU2hpcHBpbmdNZXRob2QgKnNoaXBwaQogICAgIHJl
c3VsdC5kZXRhaWwgPSBzaGlwcGluZ01ldGhvZC5kZXRhaWw7CiAgICAgcmVzdWx0LmlkZW50aWZp
ZXIgPSBzaGlwcGluZ01ldGhvZC5pZGVudGlmaWVyOwogICAgIHJlc3VsdC5sYWJlbCA9IHNoaXBw
aW5nTWV0aG9kLmxhYmVsOwotI2lmIGRlZmluZWQoV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVn
YXRlQWRkaXRpb25zX3RvU2hpcHBpbmdNZXRob2QpCi0gICAgV0tQYXltZW50QXV0aG9yaXphdGlv
bkRlbGVnYXRlQWRkaXRpb25zX3RvU2hpcHBpbmdNZXRob2QKKyNpZiBIQVZFKFBBU1NLSVRfU0hJ
UFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBpZiAoc2hpcHBpbmdNZXRo
b2QuZGF0ZUNvbXBvbmVudHNSYW5nZSkKKyAgICAgICAgcmVzdWx0LmRhdGVDb21wb25lbnRzUmFu
Z2UgPSB0b0RhdGVDb21wb25lbnRzUmFuZ2Uoc2hpcHBpbmdNZXRob2QuZGF0ZUNvbXBvbmVudHNS
YW5nZSk7CiAjZW5kaWYKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtMjEyLDkgKzI0MywyMSBA
QCAtICh2b2lkKV9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZDooUEtTaGlwcGluZ01ldGhvZCAqKXNo
aXBwaW5nTWV0aG9kIGNvbXBsZXRpb246KAogICAgIHByZXNlbnRlci0+Y2xpZW50KCkucHJlc2Vu
dGVyRGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoKnByZXNlbnRlciwgdG9TaGlwcGluZ01ldGhvZChz
aGlwcGluZ01ldGhvZCkpOwogfQogCi0jaWYgZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0aW9u
RGVsZWdhdGVBZGRpdGlvbnNfaW1wbGVtZW50YXRpb25fcHJvdGVjdGVkKQotICAgIFdLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbXBsZW1lbnRhdGlvbl9wcm90ZWN0ZWQK
LSNlbmRpZgorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKworLSAodm9pZClfZGlkQ2hh
bmdlQ291cG9uQ29kZTooTlNTdHJpbmcgKiljb3Vwb25Db2RlIGNvbXBsZXRpb246KHZvaWQgKF4p
KFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICp1cGRhdGUpKWNvbXBsZXRpb24KK3sK
KyAgICBBU1NFUlQoIV9kaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbik7CisgICAgX2RpZENo
YW5nZUNvdXBvbkNvZGVDb21wbGV0aW9uID0gY29tcGxldGlvbjsKKworICAgIGF1dG8gcHJlc2Vu
dGVyID0gX3ByZXNlbnRlci5nZXQoKTsKKyAgICBpZiAoIXByZXNlbnRlcikKKyAgICAgICAgcmV0
dXJuIFtzZWxmIGNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZTpuaWxdOworCisgICAgcHJlc2VudGVy
LT5jbGllbnQoKS5wcmVzZW50ZXJEaWRDaGFuZ2VDb3Vwb25Db2RlKCpwcmVzZW50ZXIsIGNvdXBv
bkNvZGUpOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQogCiAtICh2
b2lkKSBOT19SRVRVUk5fRFVFX1RPX0FTU0VSVCBfZ2V0UGF5bWVudFNlcnZpY2VzTWVyY2hhbnRV
Ukw6KHZvaWQoXikoTlNVUkwgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2lvcy9QYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xs
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2lvcy9QYXltZW50QXV0aG9yaXphdGlvbkNv
bnRyb2xsZXIubW0KaW5kZXggOTBkM2VlYmM5MzdiZjY5NjZmMmNiN2Y4MzI4YWNmMGE5ZTA0MjFj
Mi4uZGY5OTc3NTU4NTMxYWExNTc5YzBkOTRhYWRjMTEzMWQzMWU3Njk3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9u
Q29udHJvbGxlci5tbQpAQCAtMzIsMTAgKzMyLDYgQEAKICNpbXBvcnQgPHBhbC9jb2NvYS9QYXNz
S2l0U29mdExpbmsuaD4KICNpbXBvcnQgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCi0jaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvUGF5bWVu
dEF1dGhvcml6YXRpb25Db250cm9sbGVyQWRkaXRpb25zLm1tPgotI2VuZGlmCi0KIEBpbnRlcmZh
Y2UgV0tQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZSA6IFdLUGF5bWVudEF1
dGhvcml6YXRpb25EZWxlZ2F0ZSA8UEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXJEZWxl
Z2F0ZSwgUEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXJQcml2YXRlRGVsZWdhdGU+CiAK
IC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFJlcXVlc3Q6KFBLUGF5bWVudFJlcXVlc3QgKilyZXF1
ZXN0IHByZXNlbnRlcjooV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYpcHJl
c2VudGVyOwpAQCAtODgsOSArODQsMTQgQEAgLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvbkNv
bnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyICopY29udHIKICAgICBb
c2VsZiBfZGlkU2VsZWN0UGF5bWVudE1ldGhvZDpwYXltZW50TWV0aG9kIGNvbXBsZXRpb246Y29t
cGxldGlvbl07CiB9CiAKLSNpZiBkZWZpbmVkKFBheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxl
ckFkZGl0aW9uc19QS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlckRlbGVnYXRlKQotUGF5
bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyQWRkaXRpb25zX1BLUGF5bWVudEF1dGhvcml6YXRp
b25Db250cm9sbGVyRGVsZWdhdGUKLSNlbmRpZgorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09E
RSkKKworLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXI6KFBLUGF5bWVudEF1
dGhvcml6YXRpb25Db250cm9sbGVyICopY29udHJvbGxlciBkaWRDaGFuZ2VDb3Vwb25Db2RlOihO
U1N0cmluZyAqKWNvdXBvbkNvZGUgaGFuZGxlcjoodm9pZCAoXikoUEtQYXltZW50UmVxdWVzdENv
dXBvbkNvZGVVcGRhdGUgKnVwZGF0ZSkpY29tcGxldGlvbgoreworICAgIFtzZWxmIF9kaWRDaGFu
Z2VDb3Vwb25Db2RlOmNvdXBvbkNvZGUgY29tcGxldGlvbjpjb21wbGV0aW9uXTsKK30KKworI2Vu
ZGlmIC8vIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKIAogI3ByYWdtYSBtYXJrIFBLUGF5bWVu
dEF1dGhvcml6YXRpb25Db250cm9sbGVyUHJpdmF0ZURlbGVnYXRlCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5LmNwcAppbmRleCA2OWI3MDhkNjI5NWJhMGFmZGRkNjA4MGYzMDc2ZjkyMzQ3N2YxNjQyLi5l
YTQ4NmQzMGJlYjgxMjk2YTY2ODU4MTkzMzBlYmQzMTBhYTM1MjMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5h
dG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9B
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9BcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RVcGRhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRh
dGUuaD4KQEAgLTE2OCwyMSArMTY4LDIxIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlCiAgICAg
bV9zdGF0ZSA9IFN0YXRlOjpBY3RpdmU7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1F
TlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGU+JiYgdXBkYXRlKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVD
b3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlPiYmIHVwZGF0ZSkKIHsKICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHBheW1l
bnQgaGFzIGJlZW4gY2FuY2VsZWQgYWxyZWFkeS4KICAgICBpZiAobV9zdGF0ZSA9PSBTdGF0ZTo6
SWRsZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTUVTU0FHRV9DSEVDSyhtX3N0YXRlID09IFN0
YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQpOworICAgIE1FU1NBR0VfQ0hFQ0sobV9zdGF0
ZSA9PSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQpOwogCi0gICAgcGxhdGZvcm1Db21wbGV0ZVBh
eW1lbnRNZXRob2RNb2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CisgICAgcGxhdGZvcm1Db21w
bGV0ZUNvdXBvbkNvZGVDaGFuZ2UoV1RGTW92ZSh1cGRhdGUpKTsKICAgICBtX3N0YXRlID0gU3Rh
dGU6OkFjdGl2ZTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpjb21wbGV0ZVBheW1lbnRTZXNzaW9uKGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiByZXN1
bHQpCiB7CkBAIC0yNDYsMTcgKzI0NiwxNyBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjpwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ01ldGhvZChQYXltZW50QXV0aG9yaQogICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6RGlkU2VsZWN0U2hpcHBpbmdN
ZXRob2Qoc2hpcHBpbmdNZXRob2QpKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRDaGFuZ2VQYXltZW50TWV0
aG9kTW9kZShQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFN0cmluZyYgcGF5
bWVudE1ldGhvZE1vZGUpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50
ZXJEaWRDaGFuZ2VDb3Vwb25Db2RlKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29u
c3QgU3RyaW5nJiBjb3Vwb25Db2RlKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpB
Y3RpdmUpOwogCi0gICAgbV9zdGF0ZSA9IFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ7
Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpEaWRDaGFuZ2VQYXlt
ZW50TWV0aG9kTW9kZShwYXltZW50TWV0aG9kTW9kZSkpOworICAgIG1fc3RhdGUgPSBTdGF0ZTo6
Q291cG9uQ29kZUNoYW5nZWQ7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5h
dG9yOjpEaWRDaGFuZ2VDb3Vwb25Db2RlKGNvdXBvbkNvZGUpKTsKIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpw
cmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVz
ZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQog
ewpAQCAtMjg3LDkgKzI4Nyw5IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bkJlZ2luKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgog
ICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6
OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVU
SE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2Vk
OgorI2VuZGlmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiB9CkBAIC0zMDMsOSArMzAz
LDkgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ2FuY2VsKCkgY29uc3QK
ICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6
OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RT
ZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAg
Y2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCiAgICAgY2FzZSBTdGF0ZTo6Q29tcGxldGluZzoKQEAgLTMyNyw5
ICszMjcsOSBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5Db21wbGV0ZVBh
eW1lbnQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAg
ICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6
UGF5bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5k
aWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShB
UFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6
CisjZW5kaWYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIH0KQEAgLTM0Myw5ICszNDMs
OSBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5BYm9ydCgpIGNvbnN0CiAg
ICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpT
aGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2Vs
ZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNh
c2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05f
Q09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAogICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRpbmc6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkuaAppbmRleCBhYjdkYjhmYmM4ZTNjNDFiMzEzNGNjMWQxZDJhNzI4NDY2ODQwZDgxLi5m
NGUyN2ZmZWE4NDliYmJiYzY5MzZjOWY0NGU5NDFiMGJiN2RmZDBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5LmgKQEAgLTUxLDkgKzUxLDcgQEAgY2xhc3MgUGF5bWVudDsKIGNsYXNzIFBheW1lbnRDb250
YWN0OwogY2xhc3MgUGF5bWVudE1lcmNoYW50U2Vzc2lvbjsKIGNsYXNzIFBheW1lbnRNZXRob2Q7
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotc3RydWN0IEFwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorc3RydWN0IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTsKIHN0
cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZDsKQEAgLTEyMCw5
ICsxMTgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0UGF5bWVudE1l
dGhvZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1l
bnRNZXRob2QmKSBmaW5hbDsKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nQ29u
dGFjdChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1l
bnRDb250YWN0JikgZmluYWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ01l
dGhvZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OkFwcGxl
UGF5U2hpcHBpbmdNZXRob2QmKSBmaW5hbDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCi0gICAgdm9pZCBwcmVzZW50ZXJEaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9k
ZShQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFN0cmluZyYgcGF5bWVudE1l
dGhvZE1vZGUpIGZpbmFsOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgcHJl
c2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZShQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYs
IGNvbnN0IFN0cmluZyYgY291cG9uQ29kZSkgZmluYWw7CisjZW5kaWYKICAgICB2b2lkIHByZXNl
bnRlcldpbGxWYWxpZGF0ZU1lcmNoYW50KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwg
Y29uc3QgVVJMJikgZmluYWw7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCkBAIC0xMzQsOSAr
MTMyLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rp
b24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYm
KTsKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpOwogICAgIHZvaWQg
Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlPiYmKTsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1F
TlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4m
Jik7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lm
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjb21wbGV0ZUNvdXBvbkNv
ZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+
JiYpOworI2VuZGlmCiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKGNvbnN0IHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+Jik7CiAgICAgdm9p
ZCBhYm9ydFBheW1lbnRTZXNzaW9uKCk7CiAgICAgdm9pZCBjYW5jZWxQYXltZW50U2Vzc2lvbigp
OwpAQCAtMTYyLDkgKzE2MCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRl
U2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNo
aXBwaW5nTWV0aG9kVXBkYXRlPiYmKTsKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVTaGlwcGlu
Z0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5n
Q29udGFjdFVwZGF0ZT4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudE1ldGhv
ZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZFVw
ZGF0ZT4mJik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAg
IHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJik7Ci0jZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlQ291cG9uQ29kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJik7
CisjZW5kaWYKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYpOwogICAg
IHZvaWQgcGxhdGZvcm1IaWRlUGF5bWVudFVJKCk7CiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0x
OTYsMTAgKzE5NCwxMCBAQCBwcml2YXRlOgogICAgICAgICAvLyBQYXltZW50TWV0aG9kU2VsZWN0
ZWQgLSBEaXNwYXRjaGluZyB0aGUgcGF5bWVudG1ldGhvZHNlbGVjdGVkIGV2ZW50IGFuZCB3YWl0
aW5nIGZvciBhIHJlcGx5LgogICAgICAgICBQYXltZW50TWV0aG9kU2VsZWN0ZWQsCiAKLSNpZiBF
TkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgICAgIC8vIFBheW1lbnRN
ZXRob2RTZWxlY3RlZCAtIERpc3BhdGNoaW5nIHRoZSBwYXltZW50bWV0aG9kbW9kZWNoYW5nZWQg
ZXZlbnQgYW5kIHdhaXRpbmcgZm9yIGEgcmVwbHkuCi0gICAgICAgIFBheW1lbnRNZXRob2RNb2Rl
Q2hhbmdlZCwKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICAgICAgLy8gQ291cG9uQ29k
ZUNoYW5nZWQgLSBEaXNwYXRjaGluZyB0aGUgY291cG9uY29kZWNoYW5nZWQgZXZlbnQgYW5kIHdh
aXRpbmcgZm9yIGEgcmVwbHkuCisgICAgICAgIENvdXBvbkNvZGVDaGFuZ2VkLAorI2VuZGlmCiAK
ICAgICAgICAgLy8gQ29tcGxldGluZyAtIENvbXBsZXRpbmcgdGhlIHBheW1lbnQgYW5kIHdhaXRp
bmcgZm9yIHByZXNlbnRlckRpZEZpbmlzaCB0byBiZSBjYWxsZWQuCiAgICAgICAgIENvbXBsZXRp
bmcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDI3NDBjOTFm
MTIxYzFjMzEyOGY1NzBhOTllMzEyYzYxOGZhMjJlM2UuLjdkODlhNWIxMTNlOTQ0OGU2YTIzZTlk
NGE3NWFhMzkxYTVjOTFmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC0zNSw5ICszNSw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5IE5vdFJlZkNvdW50ZWQgewogICAgIENvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24o
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiB1cGRh
dGUpCiAgICAgQ29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZT4gdXBkYXRlKQogICAgIENvbXBs
ZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5
UGF5bWVudE1ldGhvZFVwZGF0ZT4gdXBkYXRlKQotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKLSAgICBDb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4gdXBkYXRl
KQotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIENvbXBsZXRlQ291cG9uQ29kZUNoYW5n
ZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4gdXBkYXRl
KQorI2VuZGlmCiAgICAgQ29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiByZXN1bHQpCiAgICAgQWJvcnRQYXltZW50
U2Vzc2lvbigpCiAgICAgQ2FuY2VsUGF5bWVudFNlc3Npb24oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlD
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EubW0KaW5kZXggMzc0NWMwZTAzMzU2Y2Y4ZjljZjc1MjE3Mjlm
OTY4MmEyODJmNzI4Yy4uM2RhYjcwMGE5ZTI4NGM4ZjY0N2RlNGE3Yjc0NGMyYzU3YWZjNWI4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBs
ZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC0zNiw3ICsz
Niw3IEBACiAjaW1wb3J0ICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIgogI2ltcG9ydCAi
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Byb3h5LmgiCi0jaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9B
cHBsZVBheVNoaXBwaW5nTWV0aG9kLmg+CkBAIC0xNjUsMTcgKzE2NSw2MCBAQCBzdGF0aWMgUEtT
aGlwcGluZ1R5cGUgdG9QS1NoaXBwaW5nVHlwZShXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXlt
ZW50UmVxdWVzdDo6UwogICAgIH0KIH0KIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRI
T0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorCitzdGF0aWMgUmV0YWluUHRyPE5TRGF0ZUNvbXBv
bmVudHM+IHRvTlNEYXRlQ29tcG9uZW50cyhjb25zdCBXZWJDb3JlOjpBcHBsZVBheURhdGVDb21w
b25lbnRzJiBkYXRlQ29tcG9uZW50cykKK3sKKyAgICBhdXRvIHJlc3VsdCA9IGFkb3B0TlMoW1tO
U0RhdGVDb21wb25lbnRzIGFsbG9jXSBpbml0XSk7CisgICAgW3Jlc3VsdCBzZXRDYWxlbmRhcjpb
TlNDYWxlbmRhciBjYWxlbmRhcldpdGhJZGVudGlmaWVyOk5TQ2FsZW5kYXJJZGVudGlmaWVyR3Jl
Z29yaWFuXV07CisgICAgaWYgKGRhdGVDb21wb25lbnRzLnllYXJzKQorICAgICAgICBbcmVzdWx0
IHNldFllYXI6KmRhdGVDb21wb25lbnRzLnllYXJzXTsKKyAgICBpZiAoZGF0ZUNvbXBvbmVudHMu
bW9udGhzKQorICAgICAgICBbcmVzdWx0IHNldE1vbnRoOipkYXRlQ29tcG9uZW50cy5tb250aHNd
OworICAgIGlmIChkYXRlQ29tcG9uZW50cy5kYXlzKQorICAgICAgICBbcmVzdWx0IHNldERheToq
ZGF0ZUNvbXBvbmVudHMuZGF5c107CisgICAgaWYgKGRhdGVDb21wb25lbnRzLmhvdXJzKQorICAg
ICAgICBbcmVzdWx0IHNldEhvdXI6KmRhdGVDb21wb25lbnRzLmhvdXJzXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCitzdGF0aWMgUmV0YWluUHRyPFBLRGF0ZUNvbXBvbmVudHNSYW5nZT4gdG9Q
S0RhdGVDb21wb25lbnRzUmFuZ2UoY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50
c1JhbmdlJiBkYXRlQ29tcG9uZW50c1JhbmdlKQoreworICAgIHJldHVybiBhZG9wdE5TKFtQQUw6
OmFsbG9jUEtEYXRlQ29tcG9uZW50c1JhbmdlSW5zdGFuY2UoKSBpbml0V2l0aFN0YXJ0RGF0ZUNv
bXBvbmVudHM6dG9OU0RhdGVDb21wb25lbnRzKGRhdGVDb21wb25lbnRzUmFuZ2Uuc3RhcnREYXRl
Q29tcG9uZW50cykuZ2V0KCkgZW5kRGF0ZUNvbXBvbmVudHM6dG9OU0RhdGVDb21wb25lbnRzKGRh
dGVDb21wb25lbnRzUmFuZ2UuZW5kRGF0ZUNvbXBvbmVudHMpLmdldCgpXSk7Cit9CisKKyNlbmRp
ZiAvLyBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkK
KwogUEtTaGlwcGluZ01ldGhvZCAqdG9QS1NoaXBwaW5nTWV0aG9kKGNvbnN0IFdlYkNvcmU6OkFw
cGxlUGF5U2hpcHBpbmdNZXRob2QmIHNoaXBwaW5nTWV0aG9kKQogewogICAgIFBLU2hpcHBpbmdN
ZXRob2QgKnJlc3VsdCA9IFtQQUw6OmdldFBLU2hpcHBpbmdNZXRob2RDbGFzcygpIHN1bW1hcnlJ
dGVtV2l0aExhYmVsOnNoaXBwaW5nTWV0aG9kLmxhYmVsIGFtb3VudDp0b0RlY2ltYWxOdW1iZXIo
c2hpcHBpbmdNZXRob2QuYW1vdW50KV07CiAgICAgW3Jlc3VsdCBzZXRJZGVudGlmaWVyOnNoaXBw
aW5nTWV0aG9kLmlkZW50aWZpZXJdOwogICAgIFtyZXN1bHQgc2V0RGV0YWlsOnNoaXBwaW5nTWV0
aG9kLmRldGFpbF07Ci0jaWYgZGVmaW5lZChXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29h
QWRkaXRpb25zX3RvUEtTaGlwcGluZ01ldGhvZCkKLSAgICBXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hQWRkaXRpb25zX3RvUEtTaGlwcGluZ01ldGhvZAorI2lmIEhBVkUoUEFTU0tJVF9T
SElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorICAgIGlmIChhdXRvJiBkYXRl
Q29tcG9uZW50c1JhbmdlID0gc2hpcHBpbmdNZXRob2QuZGF0ZUNvbXBvbmVudHNSYW5nZSkKKyAg
ICAgICAgW3Jlc3VsdCBzZXREYXRlQ29tcG9uZW50c1JhbmdlOnRvUEtEYXRlQ29tcG9uZW50c1Jh
bmdlKCpkYXRlQ29tcG9uZW50c1JhbmdlKS5nZXQoKV07CiAjZW5kaWYKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCisjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RF
KQorCitzdGF0aWMgUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSB0b1BLU2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGUoV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZSBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSkKK3sKKyAgICBzd2l0Y2ggKHNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlKSB7CisgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlOjpFbmFibGVkOgorICAgICAgICByZXR1cm4gUEtTaGlwcGluZ0NvbnRh
Y3RFZGl0aW5nTW9kZUVuYWJsZWQ7CisKKyAgICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGU6OlN0b3JlUGlja3VwOgorICAgICAgICByZXR1cm4gUEtTaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZVN0b3JlUGlja3VwOworICAgIH0KKworICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBQS1NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlRW5h
YmxlZDsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJ
TkdfTU9ERSkKKwogc3RhdGljIFJldGFpblB0cjxOU1NldD4gdG9OU1NldChjb25zdCBWZWN0b3I8
U3RyaW5nPiYgc3RyaW5ncykKIHsKICAgICBpZiAoc3RyaW5ncy5pc0VtcHR5KCkpCkBAIC0yNjUs
NiArMzA4LDE5IEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eTo6cGxhdGZvcm1QYXltZW50UmVxdWVzdChjCiAgICAgfQogI2VuZGlmCiAKKyNp
ZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisgICAgaWYgKGF1dG8gc3VwcG9ydHNDb3Vwb25D
b2RlID0gcGF5bWVudFJlcXVlc3Quc3VwcG9ydHNDb3Vwb25Db2RlKCkpCisgICAgICAgIFtyZXN1
bHQgc2V0U3VwcG9ydHNDb3Vwb25Db2RlOipzdXBwb3J0c0NvdXBvbkNvZGVdOworCisgICAgaWYg
KGF1dG8mIGNvdXBvbkNvZGUgPSBwYXltZW50UmVxdWVzdC5jb3Vwb25Db2RlKCk7ICFjb3Vwb25D
b2RlLmlzTnVsbCgpKQorICAgICAgICBbcmVzdWx0IHNldENvdXBvbkNvZGU6Y291cG9uQ29kZV07
CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9E
RSkKKyAgICBpZiAoYXV0byYgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgPSBwYXltZW50UmVx
dWVzdC5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSgpKQorICAgICAgICBbcmVzdWx0IHNldFNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOnRvUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSgq
c2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpXTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hQWRkaXRpb25zX3BsYXRmb3JtUGF5bWVudFJlcXVl
c3QpCiAgICAgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYUFkZGl0aW9uc19wbGF0Zm9y
bVBheW1lbnRSZXF1ZXN0CiAjZW5kaWYKQEAgLTI5NywxNCArMzUzLDE0IEBAIHZvaWQgV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0
aW9uKHN0ZDo6b3B0CiAgICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5jb21wbGV0ZVBheW1l
bnRNZXRob2RTZWxlY3Rpb24oV1RGTW92ZSh1cGRhdGUpKTsKIH0KIAotI2lmIEVOQUJMRShBUFBM
RV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9D
T0RFKQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRl
UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmIHVwZGF0ZSkKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmIHVwZGF0ZSkKIHsKLSAgICBtX2F1
dGhvcml6YXRpb25QcmVzZW50ZXItPmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoV1RG
TW92ZSh1cGRhdGUpKTsKKyAgICBtX2F1dGhvcml6YXRpb25QcmVzZW50ZXItPmNvbXBsZXRlQ291
cG9uQ29kZUNoYW5nZShXVEZNb3ZlKHVwZGF0ZSkpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQ
UExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmdldFNldHVw
RmVhdHVyZXMoY29uc3QgUGF5bWVudFNldHVwQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbiwg
TWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpHZXRTZXR1cEZlYXR1cmVzOjpB
c3luY1JlcGx5JiYgcmVwbHkpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4IGU1N2RlNzE4NGM4MTkz
YTBhZDMyZTA1MGM4OTQyNWY1N2M5NzE2ODUuLmFiZWU0MjkyMjZhOGFmODAxMzJmYzhjMTIyNGZi
NzEyZjFkNDhlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNv
cmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0yMDQsNiArMjA0LDEzIEBAIHZvaWQg
QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdD46OmVu
Y29kZShFbmNvZGVyJiBlbmNvCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAg
ICAgZW5jb2RlciA8PCByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbigpOwogI2VuZGlm
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBlbmNvZGVyIDw8IHJlcXVl
c3Quc3VwcG9ydHNDb3Vwb25Db2RlKCk7CisgICAgZW5jb2RlciA8PCByZXF1ZXN0LmNvdXBvbkNv
ZGUoKTsKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElU
SU5HX01PREUpCisgICAgZW5jb2RlciA8PCByZXF1ZXN0LnNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlKCk7CisjZW5kaWYKICNpZiBkZWZpbmVkKFdlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hQWRk
aXRpb25zX0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0X2VuY29kZSkKICAgICBXZWJDb3Jl
QXJndW1lbnRDb2RlcnNDb2NvYUFkZGl0aW9uc19BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVz
dF9lbmNvZGUKICNlbmRpZgpAQCAtMjk4LDYgKzMwNSwyOCBAQCBib29sIEFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+OjpkZWNvZGUoRGVjb2RlciYg
ZGVjbwogICAgIHJlcXVlc3Quc2V0SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKFdURk1vdmUoKmlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbikpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxib29sPj4gc3Vw
cG9ydHNDb3Vwb25Db2RlOworICAgIGRlY29kZXIgPj4gc3VwcG9ydHNDb3Vwb25Db2RlOworICAg
IGlmICghc3VwcG9ydHNDb3Vwb25Db2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVx
dWVzdC5zZXRTdXBwb3J0c0NvdXBvbkNvZGUoV1RGTW92ZSgqc3VwcG9ydHNDb3Vwb25Db2RlKSk7
CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gY291cG9uQ29kZTsKKyAgICBkZWNvZGVyID4+
IGNvdXBvbkNvZGU7CisgICAgaWYgKCFjb3Vwb25Db2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgcmVxdWVzdC5zZXRDb3Vwb25Db2RlKFdURk1vdmUoKmNvdXBvbkNvZGUpKTsKKyNlbmRp
ZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkK
KyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RFZGl0aW5nTW9kZT4+IHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOworICAgIGRl
Y29kZXIgPj4gc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CisgICAgaWYgKCFzaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlcXVlc3Quc2V0
U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoV1RGTW92ZSgqc2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGUpKTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChXZWJDb3JlQXJndW1lbnRDb2RlcnNDb2Nv
YUFkZGl0aW9uc19BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdF9kZWNvZGUpCiAgICAgV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzQ29jb2FBZGRpdGlvbnNfQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJl
cXVlc3RfZGVjb2RlCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggY2VjMjM0YWZh
MjgxODI1ZWRjOWY5MTFmMThhMTU0OTM0MzQzMmIyNC4uZjRmYjI3MWFiMTZlY2YyMzZlMzZlNDBl
ZDhmMzUzMDA0MThmNjFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKQEAgLTM2LDcgKzM2LDcg
QEAKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRl
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaD4KQEAgLTEyOCwxNCArMTI4LDE0IEBAIHZv
aWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
c3RkOjpvcHRpb25hbDxXZWJDb3JlCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OkNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihXVEZNb3ZlKHVwZGF0
ZSkpKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRlKQordm9pZCBXZWJQ
YXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7Ci0gICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkNvbXBsZXRlUGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2UoV1RGTW92ZSh1cGRhdGUpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShXVEZNb3Zl
KHVwZGF0ZSkpKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmIHJlc3VsdCkKIHsKQEAg
LTIxNiwxNCArMjE2LDE0IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpkaWRTZWxlY3RQ
YXltZW50TWV0aG9kKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmCiAgICAgcGF5bWVudENv
b3JkaW5hdG9yKCkuZGlkU2VsZWN0UGF5bWVudE1ldGhvZChwYXltZW50TWV0aG9kKTsKIH0KIAot
I2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQ
TEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hh
bmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpCit2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25D
b2RlKQogewotICAgIHBheW1lbnRDb29yZGluYXRvcigpLmRpZENoYW5nZVBheW1lbnRNZXRob2RN
b2RlKFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGUpKTsKKyAgICBwYXltZW50Q29vcmRpbmF0b3Io
KS5kaWRDaGFuZ2VDb3Vwb25Db2RlKFdURk1vdmUoY291cG9uQ29kZSkpOwogfQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpk
aWRDYW5jZWxQYXltZW50U2Vzc2lvbihXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYgc2Vz
c2lvbkVycm9yKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCmluZGV4IGM4MWYyYjRjNGU1MTViZGVmMDEz
MmIyYjE3MTE5ZGY1MmExZDYzYzcuLjQyYjNmZjdmZGNhYTc4YTc1OTI3NTgwZGYyODM5Y2U4Yzdh
YTZjZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQ
YXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTY4LDkgKzY4LDkgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBvdmVycmlkZTsKICAgICB2b2lk
IGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29t
cGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlPiYmKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2Rl
Q2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVw
ZGF0ZT4mJikgb3ZlcnJpZGU7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBj
b21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGU+JiYpIG92ZXJyaWRlOworI2VuZGlmCiAgICAgdm9pZCBjb21wbGV0ZVBh
eW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25S
ZXN1bHQ+JiYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBhYm9ydFBheW1lbnRTZXNzaW9uKCkgb3Zl
cnJpZGU7CkBAIC0xMDIsOSArMTAyLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFNlbGVjdFNo
aXBwaW5nTWV0aG9kKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2QmKTsKICAg
ICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBXZWJDb3JlOjpQYXltZW50Q29u
dGFjdCYpOwogICAgIHZvaWQgZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBXZWJDb3JlOjpQ
YXltZW50TWV0aG9kJik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RF
KQotICAgIHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1l
dGhvZE1vZGUpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgZGlkQ2hhbmdl
Q291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKTsKKyNlbmRpZgogICAgIHZvaWQgZGlkQ2Fu
Y2VsUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYmKTsKIAogICAg
IFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5hdG9yKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgppbmRleCBlODVlYjE3YzRlMmJiYzA0NTkz
M2Y4OTc4NDlkY2ZkZTkwMDMwOWZhLi5lM2IxZGI1MWM4ZjRlMmI4NTIyMTE0YzZhODQwNWY5NDA0
MmEzMGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KQEAgLTMxLDkg
KzMxLDkgQEAgbWVzc2FnZXMgLT4gV2ViUGF5bWVudENvb3JkaW5hdG9yIE5vdFJlZkNvdW50ZWQg
ewogICAgIERpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKHN0cnVjdCBXZWJDb3JlOjpBcHBsZVBheVNo
aXBwaW5nTWV0aG9kIHNoaXBwaW5nTWV0aG9kKQogICAgIERpZFNlbGVjdFNoaXBwaW5nQ29udGFj
dChXZWJDb3JlOjpQYXltZW50Q29udGFjdCBzaGlwcGluZ0NvbnRhY3QpCiAgICAgRGlkU2VsZWN0
UGF5bWVudE1ldGhvZChXZWJDb3JlOjpQYXltZW50TWV0aG9kIHBheW1lbnRNZXRob2QpCi0jaWYg
RU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIERpZENoYW5nZVBheW1l
bnRNZXRob2RNb2RlKFN0cmluZyBwYXltZW50TWV0aG9kTW9kZSkKLSNlbmRpZiAvLyBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKyAgICBEaWRDaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyBjb3Vwb25Db2RlKQorI2Vu
ZGlmCiAgICAgRGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudFNlc3Npb25F
cnJvciBzZXNzaW9uRXJyb3IpCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmgKaW5kZXggNjEzNTdlYWM2MWM5ZTI5YmI4MDYwZTc1MGYzYjA4MWI2NTZiNTU3MC4uMjYw
NDM4ZGEyZjQ2OWJkMTU1YzI2YWNlNWFhODg3MzFjZDhjNTdkZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTQ1LDkgKzQ1LDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGNv
bXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGxl
dGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQ
YXltZW50TWV0aG9kVXBkYXRlPiYmKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hh
bmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0
ZT4mJikgb3ZlcnJpZGU7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjb21w
bGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBv
bkNvZGVVcGRhdGU+JiYpIG92ZXJyaWRlOworI2VuZGlmCiAgICAgdm9pZCBjb21wbGV0ZVBheW1l
bnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQ+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpIG92ZXJyaWRl
OwogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGlu
YXRvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQppbmRleCA0MDc5MmEwOTc1OTNiYjAwMzQzYTZm
MjJiZjhjYTkxZTYyNmQ5NzE1Li5kYzc2ZTZhZGQ2MjE1YjFkYWZiODc1ZGEzMWFlYWUwMzM5M2Q1
NTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCkBAIC04NCwx
MyArODQsMTMgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlUGF5
bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFcKIHsKIH0KIAotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVQYXlt
ZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dE1ldGhvZE1vZGVVcGRhdGU+JiYpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6
Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlPiYmKQogewogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NP
REUpCiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZVBheW1lbnRT
ZXNzaW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+
JiYpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNDAzOWNlYmI2ZTBlMmE3OTYwZjE1M2RkNzRkZGExNTFkZTU5ZDgzYS4u
MTJkOGVkNTIwMWNkNjc1MjNmZTUxZmU0ZWNiODRmZGYyZWVlZTc1NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDIxLTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSB1cHN0cmVhbSBuZXcgZmVhdHVyZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzg5NjMxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9k
aWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJ
dGVtcy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0
dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlNb2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNo
YW5nZS1jb3Vwb25Db2RlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXlt
ZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5
bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vw
b25Db2RlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA2
LTA3ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04gKHIyNzIyMDEpOiBpUGFkIHJlbmRlciBmbGFzaGluZyBvbiBsb2FkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIt
YWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVt
cy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc2ZDU4YTdhNGNkYzQ3ZTFiMGMyMmM0
YzE4NDZlODQwZTkxMTU5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFTUyBTaG91bGQgbm90IGhhdmUg
YW55IGxpbmUgaXRlbXMgaWYgYGFkZGl0aW9uYWxMaW5lSXRlbXNgIGlzIG5vdCBwcm92aWRlZC4K
K1BBU1MgU2hvdWxkIG5vdCBoYXZlIGFueSBsaW5lIGl0ZW1zIGlmIGBhZGRpdGlvbmFsTGluZUl0
ZW1zYCBpcyBlbXB0eS4KK1BBU1MgVGhlIGRlZmF1bHQgdmFsdWUgb2YgYHBheW1lbnRUaW1pbmdg
IHNob3VsZCBiZSBgImltbWVkaWF0ZSJgLgorUEFTUyBTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0
IHZhbHVlIGZvciBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVj
dXJyaW5nImAuCitQQVNTIFNob3VsZCBhbHNvIHByb3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVudElu
dGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIGlm
IHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVjdXJyaW5nImAuCitQQVNTIFNo
b3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBkZWZlcnJlZFBheW1lbnREYXRlYCB3
aGVuIGBwYXltZW50VGltaW5nYCBpcyBgImRlZmVycmVkImAuCitQQVNTIFNob3VsZCBhbHNvIHBy
b3BhZ2F0ZSBgZGVmZXJyZWRQYXltZW50RGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRp
bWluZ2AgaXMgYCJkZWZlcnJlZCJgLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODY5
ZDM0ZTkwMTE3ZDk5M2VjNmIzNGQ5OTFkZmFiMWFmNWUxMTE2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFk
ZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDk5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3IgcHJvdmlkaW5n
IGBhZGRpdGlvbmFsTGluZUl0ZW1zYCBhcyBwYXJ0IG9mIGBBcHBsZVBheU1vZGlmaWVyYC48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxi
b2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGlt
ZW91dDogdHJ1ZSB9KTsKKworY29uc3QgaW1tZWRpYXRlTGFiZWwgPSAiSW1tZWRpYXRlIExhYmVs
IjsKK2NvbnN0IGltbWVkaWF0ZUFtb3VudCA9ICIyMC4wMCI7Citjb25zdCByZWN1cnJpbmdMYWJl
bCA9ICJSZWN1cnJpbmcgTGFiZWwiOworY29uc3QgcmVjdXJyaW5nQW1vdW50ID0gIjMwLjAwIjsK
K2NvbnN0IHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUgPSBuZXcgRGF0ZSgwKTsKK2NvbnN0IHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQgPSAieWVhciI7Citjb25zdCByZWN1cnJpbmdQYXlt
ZW50SW50ZXJ2YWxDb3VudCA9IDEwOworY29uc3QgcmVjdXJyaW5nUGF5bWVudEVuZERhdGUgPSBu
ZXcgRGF0ZSgxKTsKK2NvbnN0IGRlZmVycmVkTGFiZWwgPSAiRGVmZXJyZWQgTGFiZWwiOworY29u
c3QgZGVmZXJyZWRQYXltZW50RGF0ZSA9IG5ldyBEYXRlKDIpOworY29uc3QgZGVmZXJyZWRBbW91
bnQgPSAiNDAuMDAiOworCitmdW5jdGlvbiB2YWxpZFBheW1lbnREZXRhaWxzV2l0aE1vZGlmaWVy
VGhhdEhhc0xpbmVJdGVtcyhhZGRpdGlvbmFsTGluZUl0ZW1zKSB7CisgICAgbGV0IGRldGFpbHMg
PSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGVsZXRlIGRldGFpbHMuZGlzcGxheUl0ZW1z
OworICAgIGlmIChhZGRpdGlvbmFsTGluZUl0ZW1zKQorICAgICAgICBkZXRhaWxzLm1vZGlmaWVy
cyA9IFsgeyBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5Iiwg
ZGF0YTogeyBhZGRpdGlvbmFsTGluZUl0ZW1zIH0gfSBdOworICAgIHJldHVybiBkZXRhaWxzOwor
fQorCitmdW5jdGlvbiB0ZXN0UGF5bWVudEl0ZW1EYXRhKGRlc2NyaXB0aW9uLCB7YWRkaXRpb25h
bExpbmVJdGVtcywgZXhwZWN0ZWRMaW5lSXRlbXN9KSB7CisgICAgdXNlcl9hY3RpdmF0aW9uX3Rl
c3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgbGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJl
cXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlsc1dpdGhNb2Rp
ZmllclRoYXRIYXNMaW5lSXRlbXMoYWRkaXRpb25hbExpbmVJdGVtcykpOworICAgICAgICByZXF1
ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4gewor
ICAgICAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICAgICAgfSk7CisgICAgICAgIHJl
cXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50KSA9
PiB7CisgICAgICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgfSk7CisgICAgICAgICAgICBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgICAgIH0p
OworCisgICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworCisgICAg
ICAgIGxldCBhY3R1YWxMaW5lSXRlbXMgPSBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5saW5lSXRlbXM7CisgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW1zLmxlbmd0
aCwgZXhwZWN0ZWRMaW5lSXRlbXMubGVuZ3RoLCBgY2hlY2sgdGhhdCB0aGVyZSBhcmUgJHtleHBl
Y3RlZExpbmVJdGVtcy5sZW5ndGh9IGxpbmUgaXRlbXNgKTsKKyAgICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBhY3R1YWxMaW5lSXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGxldCBh
Y3R1YWxMaW5lSXRlbSA9IGFjdHVhbExpbmVJdGVtc1tpXTsKKyAgICAgICAgICAgIGxldCBleHBl
Y3RlZExpbmVJdGVtID0gZXhwZWN0ZWRMaW5lSXRlbXNbaV07CisKKyAgICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0ubGFiZWwsIGV4cGVjdGVkTGluZUl0ZW0ubGFiZWwsIGBj
aGVjayB0aGF0IHRoZSBcYGxhYmVsXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsKKyAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0uYW1vdW50LCBleHBlY3RlZExp
bmVJdGVtLmFtb3VudCwgYGNoZWNrIHRoYXQgdGhlIFxgYW1vdW50XGAgbWF0Y2hlcyBmb3IgbGlu
ZSBpdGVtICR7aX1gKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0u
cGF5bWVudFRpbWluZywgZXhwZWN0ZWRMaW5lSXRlbS5wYXltZW50VGltaW5nLCBgY2hlY2sgdGhh
dCB0aGUgXGBwYXltZW50VGltaW5nXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsKKyAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudFN0
YXJ0RGF0ZT8uZ2V0VGltZSgpLCBleHBlY3RlZExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRTdGFy
dERhdGU/LmdldFRpbWUoKSwgYGNoZWNrIHRoYXQgdGhlIFxgcmVjdXJyaW5nUGF5bWVudFN0YXJ0
RGF0ZVxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIGV4cGVj
dGVkTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgYGNoZWNrIHRoYXQgdGhl
IFxgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdFxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAk
e2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3Vycmlu
Z1BheW1lbnRJbnRlcnZhbENvdW50LCBleHBlY3RlZExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbENvdW50LCBgY2hlY2sgdGhhdCB0aGUgXGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxD
b3VudFxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRFbmREYXRlPy5nZXRUaW1lKCks
IGV4cGVjdGVkTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEVuZERhdGU/LmdldFRpbWUoKSwgYGNo
ZWNrIHRoYXQgdGhlIFxgcmVjdXJyaW5nUGF5bWVudEVuZERhdGVcYCBtYXRjaGVzIGZvciBsaW5l
IGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxMaW5lSXRlbS5k
ZWZlcnJlZFBheW1lbnREYXRlPy5nZXRUaW1lKCksIGV4cGVjdGVkTGluZUl0ZW0uZGVmZXJyZWRQ
YXltZW50RGF0ZT8uZ2V0VGltZSgpLCBgY2hlY2sgdGhhdCB0aGUgXGBkZWZlcnJlZFBheW1lbnRE
YXRlXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsKKyAgICAgICAgfQorCisgICAgICAg
IGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgfSwgZGVzY3JpcHRpb24p
OworfQorCit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgbm90IGhhdmUgYW55IGxpbmUgaXRl
bXMgaWYgYGFkZGl0aW9uYWxMaW5lSXRlbXNgIGlzIG5vdCBwcm92aWRlZC4iLCB7CisgICAgYWRk
aXRpb25hbExpbmVJdGVtczogdW5kZWZpbmVkLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIF0s
Cit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhbnkgbGluZSBpdGVt
cyBpZiBgYWRkaXRpb25hbExpbmVJdGVtc2AgaXMgZW1wdHkuIiwgeworICAgIGFkZGl0aW9uYWxM
aW5lSXRlbXM6IFsgXSwKKyAgICBleHBlY3RlZExpbmVJdGVtczogWyBdLAorfSk7CisKK3Rlc3RQ
YXltZW50SXRlbURhdGEoIlRoZSBkZWZhdWx0IHZhbHVlIG9mIGBwYXltZW50VGltaW5nYCBzaG91
bGQgYmUgYFwiaW1tZWRpYXRlXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1zOiBbIHsg
bGFiZWw6IGltbWVkaWF0ZUxhYmVsLCBhbW91bnQ6IGltbWVkaWF0ZUFtb3VudCB9IF0sCisgICAg
ZXhwZWN0ZWRMaW5lSXRlbXM6IFsgeyBsYWJlbDogaW1tZWRpYXRlTGFiZWwsIGFtb3VudDogaW1t
ZWRpYXRlQW1vdW50LCBwYXltZW50VGltaW5nOiAiaW1tZWRpYXRlIiwgcmVjdXJyaW5nUGF5bWVu
dEludGVydmFsVW5pdDogIm1vbnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDEg
fSBdLAorfSk7CisKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1
bHQgdmFsdWUgZm9yIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFydERhdGVgIGFuZCBgcmVj
dXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMgYFwi
cmVjdXJyaW5nXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1zOiBbIHsgbGFiZWw6IHJl
Y3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzogInJl
Y3VycmluZyIgfSBdLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIHsgbGFiZWw6IHJlY3Vycmlu
Z0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzogInJlY3Vycmlu
ZyIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1BheW1l
bnRJbnRlcnZhbENvdW50OiAxIH0gXSwKK30pOwordGVzdFBheW1lbnRJdGVtRGF0YSgiU2hvdWxk
IGFsc28gcHJvcGFnYXRlIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFydERhdGVgIGFuZCBg
cmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVu
dFRpbWluZ2AgaXMgYFwicmVjdXJyaW5nXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1z
OiBbIHsgbGFiZWw6IHJlY3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5
bWVudFRpbWluZzogInJlY3VycmluZyIsIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCBy
ZWN1cnJpbmdQYXltZW50RW5kRGF0ZSB9IF0sCisgICAgZXhwZWN0ZWRMaW5lSXRlbXM6IFsgeyBs
YWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1vdW50LCBwYXltZW50VGlt
aW5nOiAicmVjdXJyaW5nIiwgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSwgcmVjdXJyaW5nUGF5
bWVudEludGVydmFsVW5pdCwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsIHJlY3Vycmlu
Z1BheW1lbnRFbmREYXRlIH0gXSwKK30pOworCit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQg
bm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgZGVmZXJyZWRQYXltZW50RGF0ZWAgd2hlbiBg
cGF5bWVudFRpbWluZ2AgaXMgYFwiZGVmZXJyZWRcImAuIiwgeworICAgIGFkZGl0aW9uYWxMaW5l
SXRlbXM6IFsgeyBsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwg
cGF5bWVudFRpbWluZzogImRlZmVycmVkIiB9IF0sCisgICAgZXhwZWN0ZWRMaW5lSXRlbXM6IFsg
eyBsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwgcGF5bWVudFRp
bWluZzogImRlZmVycmVkIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDogIm1vbnRoIiwg
cmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDEgfSBdLAorfSk7Cit0ZXN0UGF5bWVudEl0
ZW1EYXRhKCJTaG91bGQgYWxzbyBwcm9wYWdhdGUgYGRlZmVycmVkUGF5bWVudERhdGVgIGlmIHBy
b3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGBcImRlZmVycmVkXCJgLiIsIHsKKyAgICBh
ZGRpdGlvbmFsTGluZUl0ZW1zOiBbIHsgbGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDogZGVm
ZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCIsIGRlZmVycmVkUGF5bWVudERh
dGUgfSBdLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIHsgbGFiZWw6IGRlZmVycmVkTGFiZWws
IGFtb3VudDogZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCIsIHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZh
bENvdW50OiAxLCBkZWZlcnJlZFBheW1lbnREYXRlIH0gXSwKK30pOworCitkb25lKCk7Cis8L3Nj
cmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQwYWQ5OGIyOGJhMWExMTE3OGZkMDQ5NGE1MWNjNGYzNWY4MTk2MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1IEBACisKK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGFueSBzaGlwcGluZyBvcHRpb25z
IGlmIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBpcyBub3QgcHJvdmlkZWQuCitQQVNTIFNo
b3VsZCBub3QgaGF2ZSBhbnkgc2hpcHBpbmcgb3B0aW9ucyBpZiBgYWRkaXRpb25hbFNoaXBwaW5n
TWV0aG9kc2AgaXMgZW1wdHkuCitQQVNTIFNob3VsZCBwcm9wYWdhdGUgYGRhdGVDb21wb25lbnRz
UmFuZ2VgIGlmIHByb3ZpZGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9k
cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zYjBjZTFmZmJjMmJjODg0YjkyN2RhNzcxZjM0ODIyM2NkNzhjMjI3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDc4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0
cyBmb3IgcHJvdmlkaW5nIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBhcyBwYXJ0IG9mIGBB
cHBsZVBheU1vZGlmaWVyYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVu
dC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9u
ZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKworY29uc3Qgc2hpcHBpbmdNZXRo
b2QgPSB7CisgICAgYW1vdW50OiAiMTAuMDAiLAorICAgIGRldGFpbDogImRldGFpbCIsCisgICAg
aWRlbnRpZmllcjogImlkZW50aWZpZXIiLAorICAgIGxhYmVsOiAibGFiZWwiLAorICAgIGRhdGVD
b21wb25lbnRzUmFuZ2U6IHsKKyAgICAgICAgc3RhcnREYXRlQ29tcG9uZW50czogeyBkYXlzOiA1
IH0sCisgICAgICAgIGVuZERhdGVDb21wb25lbnRzOiB7IGRheXM6IDEwIH0sCisgICAgfSwKK307
CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudERldGFpbHNXaXRoTW9kaWZpZXJUaGF0SGFzQWRkaXRp
b25hbFNoaXBwaW5nT3B0aW9ucyhhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzKSB7CisgICAgbGV0
IGRldGFpbHMgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgaWYgKGFkZGl0aW9uYWxTaGlw
cGluZ01ldGhvZHMpCisgICAgICAgIGRldGFpbHMubW9kaWZpZXJzID0gWyB7IHN1cHBvcnRlZE1l
dGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLCBkYXRhOiB7IGFkZGl0aW9uYWxT
aGlwcGluZ01ldGhvZHMgfSB9IF07CisgICAgcmV0dXJuIGRldGFpbHM7Cit9CisKK2Z1bmN0aW9u
IHRlc3RQYXltZW50U2hpcHBpbmdPcHRpb25EYXRhKGRlc2NyaXB0aW9uLCB7YWRkaXRpb25hbFNo
aXBwaW5nTWV0aG9kcywgZXhwZWN0ZWRTaGlwcGluZ01ldGhvZHN9KSB7CisgICAgdXNlcl9hY3Rp
dmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgbGV0IHJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWls
c1dpdGhNb2RpZmllclRoYXRIYXNBZGRpdGlvbmFsU2hpcHBpbmdPcHRpb25zKGFkZGl0aW9uYWxT
aGlwcGluZ01ldGhvZHMpLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9KTsKKyAgICAgICAgcmVx
dWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+IHsK
KyAgICAgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgICAgIH0pOworICAgICAgICBy
ZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkg
PT4geworICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICAgICAgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgICAgICB9
KTsKKworICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAg
ICAgICBsZXQgYWN0dWFsU2hpcHBpbmdNZXRob2RzID0gaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNo
aXBwaW5nTWV0aG9kcy5sZW5ndGgsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzLmxlbmd0aCwgYGNo
ZWNrIHRoYXQgdGhlcmUgYXJlICR7ZXhwZWN0ZWRTaGlwcGluZ01ldGhvZHMubGVuZ3RofSBzaGlw
cGluZyBtZXRob2RzYCk7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0dWFsU2hpcHBp
bmdNZXRob2RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBsZXQgYWN0dWFsU2hpcHBpbmdN
ZXRob2QgPSBhY3R1YWxTaGlwcGluZ01ldGhvZHNbaV07CisgICAgICAgICAgICBsZXQgZXhwZWN0
ZWRTaGlwcGluZ01ldGhvZCA9IGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzW2ldOworCisgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmFtb3VudCwgZXhwZWN0ZWRT
aGlwcGluZ01ldGhvZC5hbW91bnQsIGBjaGVjayB0aGF0IHRoZSBcYGFtb3VudFxgIG1hdGNoZXMg
Zm9yIHNoaXBwaW5nIG1ldGhvZCAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFj
dHVhbFNoaXBwaW5nTWV0aG9kLmRldGFpbCwgZXhwZWN0ZWRTaGlwcGluZ01ldGhvZC5kZXRhaWws
IGBjaGVjayB0aGF0IHRoZSBcYGRldGFpbFxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAk
e2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmlk
ZW50aWZpZXIsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2QuaWRlbnRpZmllciwgYGNoZWNrIHRoYXQg
dGhlIFxgaWRlbnRpZmllclxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAke2l9YCk7Cisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmxhYmVsLCBleHBl
Y3RlZFNoaXBwaW5nTWV0aG9kLmxhYmVsLCBgY2hlY2sgdGhhdCB0aGUgXGBsYWJlbFxgIG1hdGNo
ZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAke2l9YCk7CisgICAgICAgICAgICBpZiAoZXhwZWN0ZWRT
aGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlKQorICAgICAgICAgICAgICAgIGFzc2Vy
dF9vYmplY3RfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2Us
IGV4cGVjdGVkU2hpcHBpbmdNZXRob2QuZGF0ZUNvbXBvbmVudHNSYW5nZSwgYGNoZWNrIHRoYXQg
dGhlIFxgZGF0ZUNvbXBvbmVudHNSYW5nZVxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAk
e2l9YCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhh
Y3R1YWxTaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlLCBleHBlY3RlZFNoaXBwaW5n
TWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UsIGBjaGVjayB0aGF0IHRoZSBcYGRhdGVDb21wb25l
bnRzUmFuZ2VcYCBtYXRjaGVzIGZvciBzaGlwcGluZyBtZXRob2QgJHtpfWApOworICAgICAgICB9
CisKKyAgICAgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKKyAgICB9LCBk
ZXNjcmlwdGlvbik7Cit9CisKK3Rlc3RQYXltZW50U2hpcHBpbmdPcHRpb25EYXRhKCJTaG91bGQg
bm90IGhhdmUgYW55IHNoaXBwaW5nIG9wdGlvbnMgaWYgYGFkZGl0aW9uYWxTaGlwcGluZ01ldGhv
ZHNgIGlzIG5vdCBwcm92aWRlZC4iLCB7CisgICAgYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kczog
dW5kZWZpbmVkLAorICAgIGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzOiBbIF0sCit9KTsKK3Rlc3RQ
YXltZW50U2hpcHBpbmdPcHRpb25EYXRhKCJTaG91bGQgbm90IGhhdmUgYW55IHNoaXBwaW5nIG9w
dGlvbnMgaWYgYGFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHNgIGlzIGVtcHR5LiIsIHsKKyAgICBh
ZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzOiBbIF0sCisgICAgZXhwZWN0ZWRTaGlwcGluZ01ldGhv
ZHM6IFsgXSwKK30pOwordGVzdFBheW1lbnRTaGlwcGluZ09wdGlvbkRhdGEoIlNob3VsZCBwcm9w
YWdhdGUgYGRhdGVDb21wb25lbnRzUmFuZ2VgIGlmIHByb3ZpZGVkLiIsIHsKKyAgICBhZGRpdGlv
bmFsU2hpcHBpbmdNZXRob2RzOiBbIHNoaXBwaW5nTWV0aG9kIF0sCisgICAgZXhwZWN0ZWRTaGlw
cGluZ01ldGhvZHM6IFsgc2hpcHBpbmdNZXRob2QgXSwKK30pOworCitkb25lKCk7Cis8L3Njcmlw
dD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9B
cHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYxZmMzZDYyNTBlZGQ1MjE0YzBkNzJmNzQyMDAxNzFlYjZm
Y2Y4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw3IEBACisKK1BBU1MgVGhlIGRlZmF1bHQgdmFsdWUgb2YgYHBheW1lbnRUaW1pbmdgIHNob3Vs
ZCBiZSBgImltbWVkaWF0ZSJgLgorUEFTUyBTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVl
IGZvciBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3VycmluZ1Bh
eW1lbnRJbnRlcnZhbEVuZERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVjdXJyaW5n
ImAuCitQQVNTIFNob3VsZCBhbHNvIHByb3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFs
U3RhcnREYXRlYCBhbmQgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIGlmIHByb3Zp
ZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVjdXJyaW5nImAuCitQQVNTIFNob3VsZCBu
b3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBkZWZlcnJlZFBheW1lbnREYXRlYCB3aGVuIGBw
YXltZW50VGltaW5nYCBpcyBgImRlZmVycmVkImAuCitQQVNTIFNob3VsZCBhbHNvIHByb3BhZ2F0
ZSBgZGVmZXJyZWRQYXltZW50RGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRpbWluZ2Ag
aXMgYCJkZWZlcnJlZCJgLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzMmRkNmI0MzM1NjUxNjNjODdmYTJmMzM1OTI3MjgxZGRkOGUz
NGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRtbApAQCAtMCwwICsxLDgzIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3Ig
cHJvdmlkaW5nIGB0b3RhbGAgYXMgcGFydCBvZiBgQXBwbGVQYXlNb2RpZmllcmAuPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6
IHRydWUgfSk7CisKK2NvbnN0IGltbWVkaWF0ZUxhYmVsID0gIkltbWVkaWF0ZSBMYWJlbCI7Citj
b25zdCBpbW1lZGlhdGVBbW91bnQgPSAiMjAuMDAiOworY29uc3QgcmVjdXJyaW5nTGFiZWwgPSAi
UmVjdXJyaW5nIExhYmVsIjsKK2NvbnN0IHJlY3VycmluZ0Ftb3VudCA9ICIzMC4wMCI7Citjb25z
dCByZWN1cnJpbmdQYXltZW50U3RhcnREYXRlID0gbmV3IERhdGUoMCk7Citjb25zdCByZWN1cnJp
bmdQYXltZW50SW50ZXJ2YWxVbml0ID0gInllYXIiOworY29uc3QgcmVjdXJyaW5nUGF5bWVudElu
dGVydmFsQ291bnQgPSAxMDsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRFbmREYXRlID0gbmV3IERh
dGUoMSk7Citjb25zdCBkZWZlcnJlZExhYmVsID0gIkRlZmVycmVkIExhYmVsIjsKK2NvbnN0IGRl
ZmVycmVkUGF5bWVudERhdGUgPSBuZXcgRGF0ZSgyKTsKK2NvbnN0IGRlZmVycmVkQW1vdW50ID0g
IjQwLjAwIjsKKworZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlsc1dpdGhNb2RpZmllclRoYXRI
YXNUb3RhbCh0b3RhbCkgeworICAgIGxldCBkZXRhaWxzID0gdmFsaWRQYXltZW50RGV0YWlscygp
OworICAgIGlmICh0b3RhbCkKKyAgICAgICAgZGV0YWlscy5tb2RpZmllcnMgPSBbIHsgc3VwcG9y
dGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsIGRhdGE6IHsgdG90YWwg
fSB9IF07CisgICAgcmV0dXJuIGRldGFpbHM7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXltZW50SXRl
bURhdGEoZGVzY3JpcHRpb24sIHtpbml0aWFsVG90YWwsIGV4cGVjdGVkVG90YWx9KSB7CisgICAg
dXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgbGV0IHJlcXVl
c3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXlt
ZW50RGV0YWlsc1dpdGhNb2RpZmllclRoYXRIYXNUb3RhbChpbml0aWFsVG90YWwpKTsKKyAgICAg
ICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQp
ID0+IHsKKyAgICAgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgICAgIH0pOworICAg
ICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChl
dmVudCkgPT4geworICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICAg
ICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAg
ICAgICB9KTsKKworICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsK
KworICAgICAgICBsZXQgYWN0dWFsVG90YWwgPSBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci50b3RhbDsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5sYWJlbCwgZXhw
ZWN0ZWRUb3RhbC5sYWJlbCwgImNoZWNrIHRoYXQgdGhlIGBsYWJlbGAgbWF0Y2hlcyBmb3IgdG90
YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5hbW91bnQsIGV4cGVjdGVk
VG90YWwuYW1vdW50LCAiY2hlY2sgdGhhdCB0aGUgYGFtb3VudGAgbWF0Y2hlcyBmb3IgdG90YWwi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5wYXltZW50VGltaW5nLCBleHBl
Y3RlZFRvdGFsLnBheW1lbnRUaW1pbmcsICJjaGVjayB0aGF0IHRoZSBgcGF5bWVudFRpbWluZ2Ag
bWF0Y2hlcyBmb3IgdG90YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5y
ZWN1cnJpbmdQYXltZW50U3RhcnREYXRlPy5nZXRUaW1lKCksIGV4cGVjdGVkVG90YWwucmVjdXJy
aW5nUGF5bWVudFN0YXJ0RGF0ZT8uZ2V0VGltZSgpLCAiY2hlY2sgdGhhdCB0aGUgYHJlY3Vycmlu
Z1BheW1lbnRTdGFydERhdGVgIG1hdGNoZXMgZm9yIHRvdGFsIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoYWN0dWFsVG90YWwucmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgZXhwZWN0ZWRU
b3RhbC5yZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0LCAiY2hlY2sgdGhhdCB0aGUgYHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbFVuaXRgIG1hdGNoZXMgZm9yIHRvdGFsIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoYWN0dWFsVG90YWwucmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsIGV4
cGVjdGVkVG90YWwucmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsICJjaGVjayB0aGF0IHRo
ZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnRgIG1hdGNoZXMgZm9yIHRvdGFsIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwucmVjdXJyaW5nUGF5bWVudEVuZERhdGU/
LmdldFRpbWUoKSwgZXhwZWN0ZWRUb3RhbC5yZWN1cnJpbmdQYXltZW50RW5kRGF0ZT8uZ2V0VGlt
ZSgpLCAiY2hlY2sgdGhhdCB0aGUgYHJlY3VycmluZ1BheW1lbnRFbmREYXRlYCBtYXRjaGVzIGZv
ciB0b3RhbCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFRvdGFsLmRlZmVycmVkUGF5
bWVudERhdGU/LmdldFRpbWUoKSwgZXhwZWN0ZWRUb3RhbC5kZWZlcnJlZFBheW1lbnREYXRlPy5n
ZXRUaW1lKCksICJjaGVjayB0aGF0IHRoZSBgZGVmZXJyZWRQYXltZW50RGF0ZWAgbWF0Y2hlcyBm
b3IgdG90YWwiKTsKKworICAgICAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIp
OworICAgIH0sIGRlc2NyaXB0aW9uKTsKK30KKwordGVzdFBheW1lbnRJdGVtRGF0YSgiVGhlIGRl
ZmF1bHQgdmFsdWUgb2YgYHBheW1lbnRUaW1pbmdgIHNob3VsZCBiZSBgXCJpbW1lZGlhdGVcImAu
IiwgeworICAgIGluaXRpYWxUb3RhbDogdW5kZWZpbmVkLAorICAgIGV4cGVjdGVkVG90YWw6IHts
YWJlbDogIlRvdGFsIiwgYW1vdW50OiAiMTAuMDAiLCBwYXltZW50VGltaW5nOiAiaW1tZWRpYXRl
IiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDogIm1vbnRoIiwgcmVjdXJyaW5nUGF5bWVu
dEludGVydmFsQ291bnQ6IDF9LAorfSk7CisKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBu
b3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFy
dERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgd2hlbiBgcGF5bWVu
dFRpbWluZ2AgaXMgYFwicmVjdXJyaW5nXCJgLiIsIHsKKyAgICBpbml0aWFsVG90YWw6IHtsYWJl
bDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1vdW50LCBwYXltZW50VGltaW5n
OiAicmVjdXJyaW5nIn0sCisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiByZWN1cnJpbmdMYWJl
bCwgYW1vdW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmciLCBy
ZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50
ZXJ2YWxDb3VudDogMX0sCit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBhbHNvIHBy
b3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3Vycmlu
Z1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdg
IGlzIGBcInJlY3VycmluZ1wiYC4iLCB7CisgICAgaW5pdGlhbFRvdGFsOiB7bGFiZWw6IHJlY3Vy
cmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzogInJlY3Vy
cmluZyIsIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZh
bFVuaXQsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCByZWN1cnJpbmdQYXltZW50RW5k
RGF0ZX0sCisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiByZWN1cnJpbmdMYWJlbCwgYW1vdW50
OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmciLCByZWN1cnJpbmdQ
YXltZW50U3RhcnREYXRlLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0LCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxDb3VudCwgcmVjdXJyaW5nUGF5bWVudEVuZERhdGV9LAorfSk7CisKK3Rl
c3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBk
ZWZlcnJlZFBheW1lbnREYXRlYCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJkZWZlcnJlZFwi
YC4iLCB7CisgICAgaW5pdGlhbFRvdGFsOiB7bGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDog
ZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCJ9LAorICAgIGV4cGVjdGVk
VG90YWw6IHtsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwgcGF5
bWVudFRpbWluZzogImRlZmVycmVkIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDogIm1v
bnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDF9LAorfSk7Cit0ZXN0UGF5bWVu
dEl0ZW1EYXRhKCJTaG91bGQgYWxzbyBwcm9wYWdhdGUgYGRlZmVycmVkUGF5bWVudERhdGVgIGlm
IHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGBcImRlZmVycmVkXCJgLiIsIHsKKyAg
ICBpbml0aWFsVG90YWw6IHtsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFt
b3VudCwgcGF5bWVudFRpbWluZzogImRlZmVycmVkIiwgZGVmZXJyZWRQYXltZW50RGF0ZX0sCisg
ICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91bnQ6IGRlZmVycmVk
QW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudDogMSwgZGVmZXJy
ZWRQYXltZW50RGF0ZX0sCit9KTsKKworZG9uZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5n
ZS1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yYTA5YTQ0MGFlMWQ1MTMwNWQ5ODJjNDZlMGUzZmY2MTAyNzQy
YzdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVx
dWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIFNob3VsZCBwcm9wYWdhdGUgYGNvdXBvbkNvZGVgIGlmIHBy
b3ZpZGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1
ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNv
ZGUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2EzMjg3YjM0ODM0ZjU2OWY3OTA0MWM5YTFlYjE3
NzVkNjg0ZGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMuaHRtbApAQCAt
MCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyBmb3IgYGNvdXBvbkNvZGVgIGJlaW5nIHByb3ZpZGVkIHZpYSBgInBheW1lbnRt
ZXRob2RjaGFuZ2UiYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1y
ZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTog
dHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChb
dmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7Cisg
ICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRFdmVu
dExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jb3Vwb25Db2Rl
LCBudWxsLCAiY2hlY2sgdGhhdCB0aGUgYGNvdXBvbkNvZGVgIHN0YXJ0cyBhcyBgbnVsbGAiKTsK
KyAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5jaGFuZ2VDb3Vwb25Db2RlKCJURVNUIik7CisgICAgfSk7CisgICAg
cmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJwYXltZW50bWV0aG9kY2hhbmdlIiwgKGV2ZW50KSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubWV0aG9kRGV0YWlscy5jb3Vwb25Db2Rl
LCAiVEVTVCIsICJjaGVjayB0aGF0IGBtZXRob2REZXRhaWxzYCBjb250YWlucyB0aGUgYGNvdXBv
bkNvZGVgIik7CisgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisg
ICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisgICAgYXdhaXQgcmVzcG9u
c2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKK30sICJTaG91bGQgcHJvcGFnYXRlIGBjb3Vwb25Db2Rl
YCBpZiBwcm92aWRlZC4iKTsKKworZG9uZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9u
Q29kZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBlYTE3NDdlNzM1Yjc3YWE4YWI3ZGI0NGE2ZDdlM2Y0MWQzZmZlYjkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRy
ZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQ
QVNTIFNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBjb3Vwb25Db2RlYC4KK1BB
U1MgU2hvdWxkIHByb3BhZ2F0ZSBgY291cG9uQ29kZWAgaWYgcHJvdmlkZWQuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qt
Y291cG9uQ29kZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVx
dWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzdj
MDc2NzhhYTM5MGY2YWUxOWQ5MjIxM2U0MTE3ZjJiNTlkNzhiMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291
cG9uQ29kZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYGNvdXBvbkNv
ZGVgIGluIGBkYXRhYCBhcyBwYXJ0IG9mIGBQYXltZW50TWV0aG9kRGF0YWAuPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRy
dWUgfSk7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgbGV0
IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFs
aWRQYXltZW50RGV0YWlscygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNo
YW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0p
OworICAgIH0pOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNz
Y2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbnVsbCwgImNoZWNrIHRoYXQgdGhlIGBj
b3Vwb25Db2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgYW4gdXBkYXRlIik7CisgICAgICAgIGV2
ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3BvbnNlID0gYXdh
aXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBgY291cG9u
Q29kZWAgaXMgc3RpbGwgYG51bGxgIGFmdGVyIHRoZSBwYXltZW50IGlzIGFjY2VwdGVkIik7CisK
KyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3VsZCBub3Qg
aGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBjb3Vwb25Db2RlYC4iKTsKKwordXNlcl9hY3RpdmF0
aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBtZXRob2QgPSB2YWxpZFBheW1l
bnRNZXRob2QoKTsKKyAgICBtZXRob2QuZGF0YS5jb3Vwb25Db2RlID0gIlRFU1QiOworCisgICAg
bGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW21ldGhvZF0sIHZhbGlkUGF5bWVudERl
dGFpbHMoKSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRp
b24iLCAoZXZlbnQpID0+IHsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9KTsK
KyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChl
dmVudCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLmNvdXBvbkNvZGUsIG1ldGhvZC5kYXRhLmNvdXBvbkNvZGUsICJjaGVjayB0aGF0
IHRoZSBgY291cG9uQ29kZWAgc3RpbGwgbWF0Y2hlcyBhZnRlciBhbiB1cGRhdGUiKTsKKyAgICAg
ICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVzcG9uc2Ug
PSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbWV0aG9kLmRhdGEuY291cG9uQ29kZSwg
ImNoZWNrIHRoYXQgdGhlIGBjb3Vwb25Db2RlYCBzdGlsbCBtYXRjaGVzIGFmdGVyIHRoZSBwYXlt
ZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2Vz
cyIpOworfSwgIlNob3VsZCBwcm9wYWdhdGUgYGNvdXBvbkNvZGVgIGlmIHByb3ZpZGVkLiIpOwor
Citkb25lKCk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1
ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hZjYyMjZmZGIzNmEyZWQxNGNiMjIzNzMyMGRlNjEwNDAwNzY5
ZGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVx
dWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVs
dCB2YWx1ZSBmb3IgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYC4KK1BBU1MgU2hvdWxkIHBy
b3BhZ2F0ZSBgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVgIGlmIHByb3ZpZGVkLgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1
ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNjODNhYzRjYjY2YmZjOTE3ZmU0YmM3
NmZiZGEyYWU0NzU2N2IxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01v
ZGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3IgcHJvdmlkaW5nIGBzaGlwcGluZ0NvbnRh
Y3RFZGl0aW5nTW9kZWAgaW4gYGRhdGFgIGFzIHBhcnQgb2YgYFBheW1lbnRNZXRob2REYXRhYC48
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRf
dGltZW91dDogdHJ1ZSB9KTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+
IHsKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0
aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0
ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50LmNv
bXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlw
cGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZSwgbnVsbCwgImNoZWNrIHRoYXQgdGhlIGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAgaXMg
c3RpbGwgYG51bGxgIGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51cGRhdGVXaXRo
KHsgfSk7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBh
eW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hv
dygpOworCisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSwgbnVsbCwgImNoZWNrIHRoYXQgdGhlIGBzaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAgaXMgc3RpbGwgYG51bGxgIGFmdGVyIHRoZSBwYXltZW50
IGlzIGFjY2VwdGVkIik7CisKKyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIp
OworfSwgIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBzaGlwcGluZ0NvbnRh
Y3RFZGl0aW5nTW9kZWAuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9
PiB7CisgICAgY29uc3QgbWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7CisgICAgbWV0aG9k
LmRhdGEuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgPSAiZW5hYmxlZCI7CisKKyAgICBsZXQg
cmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbbWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWls
cygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRhdGlvbiIs
IChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgIH0pOworICAg
IHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50
KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3Iuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUsIG1ldGhvZC5kYXRhLnNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlLCAiY2hlY2sgdGhhdCB0aGUgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlYCBzdGlsbCBtYXRjaGVzIGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51cGRh
dGVXaXRoKHsgfSk7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFj
Y2VwdFBheW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVl
c3Quc2hvdygpOworCisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSwgbWV0aG9kLmRhdGEuc2hpcHBpbmdD
b250YWN0RWRpdGluZ01vZGUsICJjaGVjayB0aGF0IHRoZSBgc2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGVgIHN0aWxsIG1hdGNoZXMgYWZ0ZXIgdGhlIHBheW1lbnQgaXMgYWNjZXB0ZWQiKTsKKwor
ICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Cit9LCAiU2hvdWxkIHByb3Bh
Z2F0ZSBgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVgIGlmIHByb3ZpZGVkLiIpOworCitkb25l
KCk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVx
dWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMz
YWEzY2QzNDRiNzhkZWYzNDk3YTgyNDY1ZGZkMDBkNzVlYjhlYjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1
cHBvcnRzQ291cG9uQ29kZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BB
U1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYHN1cHBvcnRzQ291cG9uQ29k
ZWAuCitQQVNTIFNob3VsZCBwcm9wYWdhdGUgYHN1cHBvcnRzQ291cG9uQ29kZWAgaWYgcHJvdmlk
ZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9u
Q29kZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczOGU5MTlkMjI2OTUxZTEwZmE4MTYxNzY5YTEy
MzE2ZmZmY2FjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy5odG1s
CkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYHN1cHBvcnRzQ291cG9uQ29kZWAgaW4gYGRh
dGFgIGFzIHBhcnQgb2YgYFBheW1lbnRNZXRob2REYXRhYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3Nl
dHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKwor
dXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnRE
ZXRhaWxzKCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0
aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7
CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAo
ZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5zdXBwb3J0c0NvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBgc3Vw
cG9ydHNDb3Vwb25Db2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgYW4gdXBkYXRlIik7CisgICAg
ICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3BvbnNl
ID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzQ291cG9uQ29kZSwgbnVsbCwgImNoZWNrIHRo
YXQgdGhlIGBzdXBwb3J0c0NvdXBvbkNvZGVgIGlzIHN0aWxsIGBudWxsYCBhZnRlciB0aGUgcGF5
bWVudCBpcyBhY2NlcHRlZCIpOworCisgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nl
c3MiKTsKK30sICJTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgc3VwcG9ydHND
b3Vwb25Db2RlYC4iKTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsK
KyAgICBjb25zdCBtZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsKKyAgICBtZXRob2QuZGF0
YS5zdXBwb3J0c0NvdXBvbkNvZGUgPSB0cnVlOworCisgICAgbGV0IHJlcXVlc3QgPSBuZXcgUGF5
bWVudFJlcXVlc3QoW21ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7CisgICAgcmVxdWVz
dC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+IHsKKyAg
ICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9KTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50
TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzQ291
cG9uQ29kZSwgbWV0aG9kLmRhdGEuc3VwcG9ydHNDb3Vwb25Db2RlLCAiY2hlY2sgdGhhdCB0aGUg
YHN1cHBvcnRzQ291cG9uQ29kZWAgc3RpbGwgbWF0Y2hlcyBhZnRlciBhbiB1cGRhdGUiKTsKKyAg
ICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVzcG9u
c2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc3VwcG9ydHNDb3Vwb25Db2RlLCBtZXRob2QuZGF0YS5z
dXBwb3J0c0NvdXBvbkNvZGUsICJjaGVjayB0aGF0IHRoZSBgc3VwcG9ydHNDb3Vwb25Db2RlYCBz
dGlsbCBtYXRjaGVzIGFmdGVyIHRoZSBwYXltZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBhd2Fp
dCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3VsZCBwcm9wYWdhdGUgYHN1
cHBvcnRzQ291cG9uQ29kZWAgaWYgcHJvdmlkZWQuIik7CisKK2RvbmUoKTsKKzwvc2NyaXB0Pgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
OGIxYWVlNjNlZTA0OWEwM2M3OGE0OWU3MjJmNmYwZWU1OGU4NDQ4My4uOWE1ODMyN2YzYTNlODg1
NDc3ZGMxNjA4Y2M4MTZiZTUxYzlmZTdlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjAsNiArNjAsMTMgQEAgd2Via2l0Lm9yZy9iLzIx
Mjk3NSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sIFsg
UGFzcyBUaW0KIHdlYmtpdC5vcmcvYi8yMTI5OTggaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIAogaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdCBbIFBhc3MgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0
cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGlu
Z01ldGhvZHMuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9B
cHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLmh0bWwgWyBT
a2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29k
ZS5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRy
ZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0
dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2Rl
Lmh0dHBzLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0IFsgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3QvYWxs
b3dwYXltZW50cmVxdWVzdC1hdHRyaWJ1dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0
cHMuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L25vLWF0dHJp
YnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDhmYmQ1
NzhhZjdjZWQ3ZTRmMTU0Y2Q3YjI3MGRmNjJhNzQ2MzJjMi4uNzMyMWJlOGJkYzFiNGNlYzBlZmI2
NDI1NWRkYmFjMzA2ZWM3YzMwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNTIsNiArNTIsMTMgQEAgZmFzdC92aXN1YWwtdmlld3BvcnQv
cnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12
aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAg
WyBQYXNzIF0KIAogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdCBbIFBhc3MgXQoraHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0
cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlm
aWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWwgWyBT
a2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vw
b25Db2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5
bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0
dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVl
c3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW5z
cGVjdG9yL3BheW1lbnRyZXF1ZXN0IFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BheW1lbnQtcmVxdWVzdCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRy
ZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250
YWluZXJzLmh0dHBzLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430809</attachid>
            <date>2021-06-07 22:00:14 -0700</date>
            <delta_ts>2021-06-07 22:53:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226740-20210607230013.patch</filename>
            <type>text/plain</type>
            <size>273052</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMDRmZjdmZWYzNTg3N2FjNjNkMjg0NmQ5MjVlN2E4ZTkzOGFhZWJlMi4uNjllZTUzZjgw
MWE0NTA4NTdmYjc3ZjBjN2E2NmY1ZTc4Zjg1OTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW1Bh
eW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkK
KyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQor
ICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24g
Y29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQT05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVf
UEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAg
KGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWApCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoK
KwogMjAyMS0wNi0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFkb3B0IFNlY1RydXN0R2V0Q2VydGlmaWNhdGVBdEluZGV4IHJlcGxhY2Vt
ZW50IHdoZXJlIGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcyMzA2NGIzNDVhNmExYjRiYzliOTEw
NDkyZWQzMzBmMDUzMWEzMDUuLjZiMzI1NTg2M2YzZWU1ZTlhZjkzODAzNWQ0MDE0YjljNDdmOTMx
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNTYgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIHVwc3Ry
ZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI2NzQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk2MzEzMj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgLSByZWN1cnJpbmcg
bGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9JVEVNYCBhbmQgYEVO
QUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTWApCisgICAgICAgICAtIGRlZmVycmVk
IGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVNYCBhbmQgYEVO
QUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNYCkKKyAgICAgICAgIC0gZXN0aW1hdGVk
IHNoaXBwaW5nIGRhdGVzIChgSEFWRV9QQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBP
TkVOVFNfUkFOR0VgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFYCkKKyAgICAgICAgIC0gY291cG9uIGNvZGUgZW50cnkgKGBIQVZFX1BB
U1NLSVRfQ09VUE9OX0NPREVgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9DT1VQT05fQ09ERWApCisg
ICAgICAgICAtIHNoaXBwZWQgdnMgaW4tc3RvcmUgcGlja3VwIChgSEFWRV9QQVNTS0lUX1NISVBQ
SU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdf
Q09OVEFDVF9FRElUSU5HX01PREVgKQorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZp
ZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy5odG1sCisgICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRt
bAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9k
Y2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMu
aHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaC4KKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTo6ZW5jb2RlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTo6ZGVjb2RlKToKKyAg
ICAgICAgT2JqZWN0IHVzZWQgdG8gdXBkYXRlIHRoZSBwYXltZW50IHJlcXVlc3QgdmlhIGBBcHBs
ZVBheVNlc3Npb24ucHJvdG90eXBlLmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZWAKKyAgICAgICAg
d2hlbiByZXNwb25kaW5nIHRvIHRoZSB1c2VyIG1vZGlmeWluZyB0aGUgY291cG9uIGNvZGUuCisK
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmg6CisgICAgICAgIEFkZCBg
ImNvdXBvbkNvZGVJbnZhbGlkImAgYW5kIGAiY291cG9uQ29kZUV4cGlyZWQiYC4KKworICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
ZVBheUxpbmVJdGVtOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlM
aW5lSXRlbTo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudFRpbWluZy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0Lmg6IEFkZGVkLgor
ICAgICAgICBBZGQgbWVtYmVycyB0aGF0IGluZGljYXRlIHdoZXRoZXIgdGhpcyBsaW5lIGl0ZW0g
aXMgaW1tZWRpYXRlLCByZWN1cnJpbmcsIG9yIGRlZmVycmVkLgorICAgICAgICBEZXBlbmRpbmcg
b24gdGhhdCB0aW1pbmcsIGFkZGl0aW9uYWwgbWVtYmVycyBhcmUgYWRkZWQgZm9yIGZ1cnRoZXIg
Y29uZmlndXJhdGlvbiAoZS5nLiB0aGUKKyAgICAgICAgc3RhcnQgYW5kL29yIGVuZCBkYXRlIG9m
IGEgcmVjdXJyaW5nIHBheW1lbnQsIGl0J3MgZnJlcXVlbmN5LCBldGMuKS4KKworICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGw6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmg6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5pZGw6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlOjpk
ZWNvZGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29t
cG9uZW50cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVu
dHM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25l
bnRzOjpkZWNvZGUpOgorICAgICAgICBBZGQgbWVtYmVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIGlu
ZGljYXRlIHRoZSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgZm9yIHRoaXMgc2hpcHBpbmcgbWV0
aG9kLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y29udmVydEFuZFZhbGlkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6c3VwcG9ydHNDb3Vwb25Db2RlIGNvbnN0KTog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6
c2V0U3VwcG9ydHNDb3Vwb25Db2RlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBh
eVNlc3Npb25QYXltZW50UmVxdWVzdDo6Y291cG9uQ29kZSBjb25zdCk6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OnNldENvdXBvbkNvZGUp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0
OjpzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSBjb25zdCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OnNldFNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlKTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmg6IEFkZGVkLgorICAg
ICAgICBBZGQgbWVtYmVycyB0aGF0IGluZGljYXRlOgorICAgICAgICAgLSB3aGV0aGVyIHRoaXMg
cGF5bWVudCByZXF1ZXN0IHN1cHBvcnRzIGEgY291cG9uIGNvZGUgYXQgYWxsCisgICAgICAgICAt
IHRoZSBpbml0aWFsIGNvdXBvbiBjb2RlIChhc3N1bWluZyB0aGUgYWJvdmUpCisgICAgICAgICAt
IHdoZXRoZXIgdGhpcyBwYXltZW50IHJlcXVlc3QgYWxsb3dzIGVkaXRpbmcgdGhlIHNoaXBwaW5n
IGNvbnRhY3QgKGkuZS4gaW4tc3RvcmUgcGlja3VwIGRvZXMgbm90KQorCisgICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmg6CisgICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmlkbDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBv
bkNvZGVDaGFuZ2VkRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5
Q291cG9uQ29kZUNoYW5nZWRFdmVudDo6QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudDo6ZXZlbnRJ
bnRlcmZhY2UgY29uc3QpOgorICAgICAgICBBZGQgYSBgImNvdXBvbmNvZGVjaGFuZ2UiYCBldmVu
dCB0aGF0IGlzIGRpc3BhdGNoZWQgd2hlbmV2ZXIgdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGNvdXBv
biBjb2RlIGZvciBhbiBgQXBwbGVQYXlTZXNzaW9uYC4KKworICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMu
aWRsLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWls
cy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsLgorICAgICAgICBVc2VkIGFzIHRoZSBgb2JqZWN0
IG1ldGhvZERhdGFgIHdoZW4gYSBgUGF5bWVudE1ldGhvZENoYW5nZUV2ZW50YCBpcyBkaXNwYXRj
aGVkIGZvciBhIGBQYXltZW50UmVxdWVzdGAuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6ZGlkQ2hhbmdlQ291cG9uQ29kZSk6
IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VQYXltZW50
TWV0aG9kTW9kZWAuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhblN1c3Bl
bmRXaXRob3V0Q2FuY2VsaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vz
c2lvbjo6Y2FuQmVnaW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9u
OjpjYW5BYm9ydCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNh
bkNhbmNlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVu
dE1ldGhvZFNlbGVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Np
b246OmNhbkNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSBjb25zdCk6IFJlbmFtZWQgZnJvbSBgV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
IGNvbnN0YC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQ
YXltZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6aXNGaW5h
bFN0YXRlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6cGF5bWVudE1ldGhvZFVwZGF0ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkQ2hhbmdlQ291cG9uQ29kZSk6
IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkQ2hhbmdl
UGF5bWVudE1ldGhvZE1vZGVgLgorICAgICAgICBBZGQgbWV0aG9kcyBmb3IgSlMgdG8gY2FsbCBh
bmQgc3RhdGUgbG9naWMgdG8gaGFuZGxlIGNvdXBvbiBjb2RlIGNoYW5nZXMuCisKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
eW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9t
IGBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2VgLgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VD
b3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmRp
ZENoYW5nZVBheW1lbnRNZXRob2RNb2RlYC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNv
bXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6RW1wdHlQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VgLgor
ICAgICAgICBQbHVtYmluZyB1cCB0byBXZWJLaXQuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L2NvY29hL1BheW1lbnRTdW1tYXJ5SXRlbXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OnRvRGF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9DYWxlbmRhclVuaXQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvUEtQYXltZW50U3VtbWFyeUl0ZW0pOgorICAgICAgICBD
b252ZXJ0IFdlYkNvcmUgb2JqZWN0cyB0byBQYXNzS2l0IG9iamVjdHMuCisKKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29y
ZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpz
aG93UGF5bWVudFVJKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6
OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6TW9ja1Bh
eW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjaGFuZ2VDb3Vwb25Db2RlKTog
QWRkZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJz
aW9uQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVu
dCk6CisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRIZWFkZXJzLmg6CisgICAg
ICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5oOgorCisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5pZGw6IERlbGV0ZWQuCisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5oOiBEZWxldGVkLgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZERhdGEuaDogRGVsZXRlZC4KKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGJhc2UgdHlwZXMg
YWZ0ZXIgcjI3NTE2OS4KKworICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAq
IFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKwogMjAyMS0wNi0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkb3B0IFNlY1RydXN0R2V0Q2VydGlmaWNhdGVB
dEluZGV4IHJlcGxhY2VtZW50IHdoZXJlIGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
Yzg0MmY4ZWViZWQ4MjMzNTE5M2I0MmM0ZjQ4Mzc5ZWIyODIwODBlYS4uYzliMTQ4MmQ0YTk4ZTY4
MjlmZDVlYzc3MDFhYTdhZDRiZjY2OWJjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisg
ICAgICAgIFtQYXltZW50IFJlcXVlc3RdIHVwc3RyZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzQwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83ODk2MzEzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAgLSByZWN1cnJpbmcgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9S
RUNVUlJJTkdfU1VNTUFSWV9JVEVNYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJ
TkVfSVRFTWApCisgICAgICAgICAtIGRlZmVycmVkIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRf
REVGRVJSRURfU1VNTUFSWV9JVEVNYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElO
RV9JVEVNYCkKKyAgICAgICAgIC0gZXN0aW1hdGVkIHNoaXBwaW5nIGRhdGVzIChgSEFWRV9QQVNT
S0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgIGFuZCBgRU5BQkxFX0FQ
UExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCkKKyAgICAgICAg
IC0gY291cG9uIGNvZGUgZW50cnkgKGBIQVZFX1BBU1NLSVRfQ09VUE9OX0NPREVgIGFuZCBgRU5B
QkxFX0FQUExFX1BBWV9DT1VQT05fQ09ERWApCisgICAgICAgICAtIHNoaXBwZWQgdnMgaW4tc3Rv
cmUgcGlja3VwIChgSEFWRV9QQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCBh
bmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgKQorCisg
ICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2Nv
YS9QYXNzS2l0U29mdExpbmsubW06CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJ
Lmg6CisKIDIwMjEtMDYtMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc3NDY0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAz
ZTIxZjFlMGRiMWE4NWJhNWY1ZGE1ZjAyZTdjZTdjZjgzNWY4ODQxLi4xMmU3NmE4NzlmNjQyNmM5
NzJkODk4ZTRmOGIwYzUyODIxZTcyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIx
LTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5
bWVudCBSZXF1ZXN0XSB1cHN0cmVhbSBuZXcgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc0MAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzg5NjMxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgIC0gcmVjdXJyaW5nIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NV
TU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1gKQor
ICAgICAgICAgLSBkZWZlcnJlZCBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NV
TU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTWApCisg
ICAgICAgICAtIGVzdGltYXRlZCBzaGlwcGluZyBkYXRlcyAoYEhBVkVfUEFTU0tJVF9TSElQUElO
R19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJ
UFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWApCisgICAgICAgICAtIGNvdXBvbiBj
b2RlIGVudHJ5IChgSEFWRV9QQVNTS0lUX0NPVVBPTl9DT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9Q
QVlfQ09VUE9OX0NPREVgKQorICAgICAgICAgLSBzaGlwcGVkIHZzIGluLXN0b3JlIHBpY2t1cCAo
YEhBVkVfUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWAgYW5kIGBFTkFCTEVf
QVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCkKKworICAgICAgICAgKiBQ
bGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tOgorICAg
ICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUgcGF5
bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjpkaWRDaGFuZ2VDb3Vwb25Db2RlOmhhbmRs
ZXI6XSk6IEFkZGVkLgorICAgICAgICAgKiBQbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRp
b25Db250cm9sbGVyLm1tOgorICAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkNvbnRy
b2xsZXJEZWxlZ2F0ZSBwYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXI6ZGlkQ2hhbmdlQ291
cG9uQ29kZTpoYW5kbGVyOl0pOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9QYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oOgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1Bh
eW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tOgorICAgICAgICAoV2ViS2l0Ojp0b1BLUGF5
bWVudEVycm9yQ29kZSk6CisgICAgICAgIChXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6
UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2VgLgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25E
ZWxlZ2F0ZS5oOgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRp
b25EZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
IGNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZTpdKTogQWRkZWQuCisgICAgICAgICh0b0RhdGVDb21w
b25lbnRzKTogQWRkZWQuCisgICAgICAgICh0b0RhdGVDb21wb25lbnRzUmFuZ2UpOiBBZGRlZC4K
KyAgICAgICAgKHRvU2hpcHBpbmdNZXRob2QpOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3Jp
emF0aW9uRGVsZWdhdGUgX2RpZENoYW5nZUNvdXBvbkNvZGU6Y29tcGxldGlvbjpdKTogQWRkZWQu
CisgICAgICAgIEFkZCBwbHVtYmluZyBmcm9tL3RvIFBhc3NLaXQgZm9yIGNvdXBvbiBjb2RlIGNo
YW5nZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2ViS2l0
OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZWAuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVz
ZW50ZXJEaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJLaXQ6OldlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZWAu
CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5CZWdpbiBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5D
YW5jZWwgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6Y2FuQ29tcGxldGVQYXltZW50IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OmNhbkFib3J0IGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6dG9OU0RhdGVDb21wb25lbnRzKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnRv
UEtEYXRlQ29tcG9uZW50c1JhbmdlKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnRvUEtTaGlw
cGluZ01ldGhvZCk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cGxhdGZvcm1QYXltZW50UmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFt
ZWQgZnJvbSBgV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21w
bGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlYC4KKyAgICAgICAgQ29udmVydCBQYXNzS2l0IG9i
amVjdHMgdG8vZnJvbSBXZWJDb3JlIG9iamVjdHMuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2Ev
V2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+OjplbmNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0Pjo6ZGVjb2RlKToKKworICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5
bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3I6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2Vi
S2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2VgLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNv
dXBvbkNvZGUpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpk
aWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZWAuCisgICAgICAgIFBsdW1iaW5nIGludG8vZnJvbSBX
ZWJDb3JlLgorCiAyMDIxLTA2LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQWRvcHQgU2VjVHJ1c3RHZXRDZXJ0aWZpY2F0ZUF0SW5kZXgg
cmVwbGFjZW1lbnQgd2hlcmUgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOTU2ODQ4ZDZiYmVmMDRiNWVhMzlkOWEzYzRjMTc0NjQ0ZDAzYWI5ZS4uMDZiMzBmMGZiMWJh
YWFiNDYyZmUyNzExMTA5ZWU3Nzg3YTcwYTZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSB1cHN0cmVhbSBuZXcgZmVhdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc0
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg5NjMxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIC0gcmVjdXJyaW5nIGxpbmUgaXRlbXMgKGBI
QVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZ
X1JFQ1VSUklOR19MSU5FX0lURU1gKQorICAgICAgICAgLSBkZWZlcnJlZCBsaW5lIGl0ZW1zIChg
SEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZ
X0RFRkVSUkVEX0xJTkVfSVRFTWApCisgICAgICAgICAtIGVzdGltYXRlZCBzaGlwcGluZyBkYXRl
cyAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCBh
bmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5H
RWApCisgICAgICAgICAtIGNvdXBvbiBjb2RlIGVudHJ5IChgSEFWRV9QQVNTS0lUX0NPVVBPTl9D
T0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVgKQorICAgICAgICAgLSBzaGlw
cGVkIHZzIGluLXN0b3JlIHBpY2t1cCAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VE
SVRJTkdfTU9ERWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElO
R19NT0RFYCkKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5tbToKKyAgICAgICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxl
dGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQ6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VgLgorCiAyMDIxLTA2LTA3ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVwc3RyZWFt
IFdlYktpdCBzdXBwb3J0IGZvciBMaXZlIFRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29j
b2EuaAppbmRleCBjM2ZiYjJiZWVhMTM3MjhmZTVlYjFhYzM2ODJiZjZkOWM2YjRlNDk3Li44ODhk
MWNlMTYyZmQ1ODUyMzlkYWQ3N2Y4OGJhZTNlOTk4M2EyNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1FbmFibGVDb2NvYS5oCkBAIC01OSw2ICs1OSwxNCBAQAogI2RlZmluZSBFTkFCTEVfQVBQTEVf
UEFZIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9DT1VQT05fQ09E
RSkgJiYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9E
RUZFUlJFRF9MSU5FX0lURU0pICYmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0p
CisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNIDEKKyNlbmRpZgor
CiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFT
U0tJVF9JTlNUQUxMTUVOVFMpCiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRT
IDEKICNlbmRpZgpAQCAtNjcsMTAgKzc1LDI2IEBACiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlf
TkVXX0JVVFRPTl9UWVBFUyAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9Q
QVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpICYmIEhBVkUoUEFTU0tJVF9TSElQUElO
R19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TSElQUElO
R19DT05UQUNUX0VESVRJTkdfTU9ERSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9B
UFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkgJiYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU0pCisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRF
TSAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfUkVNT1RFX1VJKSAm
JiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShX
QVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9S
RU1PVEVfVUkgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjExKSAmJiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDE0MDUwMCkpCisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMTEgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5H
X01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpICYmIEhBVkUoUEFTU0tJVF9TSElQUElOR19N
RVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UgMQorI2VuZGlmCisKICNpZiAhZGVm
aW5lZChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpCiAjZGVmaW5lIEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMjdkYzk2YTYz
MmIyMzlkYjY2ZDdlMDMzY2QzMzc2ZjE4MjQ4NWQ2MS4uNzk3NWUwNmVhMDRiZmY2MTIwZTE1NGFk
ZWNjYTk1OWNhZWI5ZDM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZl
LmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTcwOCw2ICs3MDgsMTgg
QEAKICNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAx
CiAjZW5kaWYKIAorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9ORVdfQlVU
VE9OX1RZUEVTIDEKKyNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMCkKKyNkZWZpbmUgSEFWRV9QQVNT
S0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0gMQorI2RlZmluZSBIQVZFX1BBU1NLSVRfREVGRVJS
RURfU1VNTUFSWV9JVEVNIDEKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1NISVBQSU5HX01FVEhPRF9E
QVRFX0NPTVBPTkVOVFNfUkFOR0UgMQorI2RlZmluZSBIQVZFX1BBU1NLSVRfQ09VUE9OX0NPREUg
MQorI2RlZmluZSBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUgMQor
I2VuZGlmCisKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKICNkZWZpbmUgSEFWRV9RVUlDS0xPT0tfVEhVTUJOQUlMSU5HIDEKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYzc2ZmI3
OWJkMDdjODgzZGIzODk1NzM0YzhhZTk0YWY5NzBiMjYzNC4uNmQ0Yjc2OWJjOWMzOTM3MTk1ZWE1
ZjYyY2ViMTk1YjIzZDdjNDdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yNCw2ICsyNCwxMSBAQCAkKFBST0pFQ1RfRElSKS9EZXJp
dmVkU291cmNlcy5tYWtlCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxh
eWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlk
bAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWls
c1VwZGF0ZUJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RGV0YWlsc1VwZGF0ZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5RXJyb3IuaWRsCkBAIC0zNCwyMCArMzksMTkgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwK
LSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRDYXBhYmls
aXR5LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhv
cml6YXRpb25SZXN1bHQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwKLSQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
U2VsZWN0ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kVHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVBheW1lbnRQYXNzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbkVycm9yLmlkbApAQCAtNTYsMTAg
KzYwLDEwIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cENv
bmZpZ3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2V0dXBGZWF0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNldHVwRmVhdHVyZVN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNldHVwRmVhdHVyZVR5cGUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RVcGRhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdNZXRob2QuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdNZXRob2REYXRhLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IGU5MDEzOTUwODRlZjc0YWEzNWMyNmI3YjI3MmUwMDFhNjlhNWM5NmUuLmNiNjA4OTU5MWZm
MWYzZjdmMzQzNWY2ZTFmOTE3MDUxYTk0MzdhZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC04Nyw2ICs4NywxNiBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q2FuY2VsRXZl
bnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlDb250YWN0RmllbGQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBvbkNv
ZGVDaGFuZ2VkRXZlbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZURldGFp
bHMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5Q291cG9uQ29kZURldGFpbHMuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZVVw
ZGF0ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5RGF0ZUNvbXBvbmVudHMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFu
Z2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGV0YWlsc1Vw
ZGF0ZUJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmNwcApAQCAtMTA3LDggKzExNyw2IEBAICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlJbnN0YWxs
bWVudFJldGFpbENoYW5uZWwuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlMaW5lSXRlbS5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlM
aW5lSXRlbS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0FwcGxlUGF5TGluZUl0ZW1EYXRhLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TW9kaWZpZXIuY3BwCkBAIC0xMjMsMTAgKzEzMSw2IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQ
YXltZW50Q29udGFjdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50Q29udGFjdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50
TWV0aG9kLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRh
aWxzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5
UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eVBheW1lbnRNZXRob2RUeXBlLmNwcApAQCAtMTM3LDYgKzE0MSwxMCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudFBhc3MuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5
UGF5bWVudFBhc3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50VGlt
aW5nLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
cHBsZVBheVBheW1lbnRUaW1pbmcuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcHBsZVBheVJlcXVlc3QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVxdWVzdC5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwCkBA
IC0xNTUsMTQgKzE2MywxNCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eVNldHVwRmVhdHVyZVR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRp
dGluZ01vZGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250
YWN0VXBkYXRlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hp
cHBpbmdNZXRob2QuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNo
aXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kVXBkYXRlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggYmY4OWNhZTJjZDFiZTYwNTcyMzk1YzE2MmY5MmZhMTcwOTg4ZTdmYy4uMjFjMWUzOWVjMTQ5
NjgxYTZhZWQwODFiN2Q1NzI3YzkzZTBiMDYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC01Myw2ICs1MywxMSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVu
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvbnRhY3RG
aWVsZC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBv
bkNvZGVDaGFuZ2VkRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRh
dGVEYXRhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3IuaWRsIFwKQEAgLTYzLDIwICs2OCwxOSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJl
dGFpbENoYW5uZWwuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUxpbmVJdGVtRGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVBheW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRo
b2QuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZURldGFpbHMuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0
aG9kVXBkYXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFBhc3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50UmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRUaW1pbmcuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uRXJyb3IuaWRsIFwKQEAgLTg1LDEwICs4
OSwxMCBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2Rl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdD
b250YWN0U2VsZWN0ZWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbCBcCi0gICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hh
bmdlZEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODExOTczNGMwNDFmMjZlNjlmN2Q5NzJlN2ExM2Rl
NGU0MTA0OTY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlDb3Vw
b25Db2RlQ2hhbmdlZEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQXBwbGVQYXlDb3Vwb25Db2RlQ2hh
bmdlZEV2ZW50KTsKKworQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpBcHBsZVBheUNv
dXBvbkNvZGVDaGFuZ2VkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgU3RyaW5nJiYgY291
cG9uQ29kZSkKKyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6
Tm8pCisgICAgLCBtX2NvdXBvbkNvZGUoV1RGTW92ZShjb3Vwb25Db2RlKSkKK3sKK30KKworQXBw
bGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50Ojp+QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2
ZW50KCkgPSBkZWZhdWx0OworCitFdmVudEludGVyZmFjZSBBcHBsZVBheUNvdXBvbkNvZGVDaGFu
Z2VkRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gQXBwbGVQYXlD
b3Vwb25Db2RlQ2hhbmdlZEV2ZW50SW50ZXJmYWNlVHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhZWY2N2M4MmU0NjMxYzRhYTdl
OTZmZTZlNTVjZTQ1NDk2ZTFkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCkBAIC0wLDAg
KzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9Q
QVlfQ09VUE9OX0NPREUpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEFwcGxlUGF5Q291
cG9uQ29kZUNoYW5nZWRFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CisgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQpOworcHVibGljOgor
ICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50PiBjcmVhdGUoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgU3RyaW5nJiYgY291cG9uQ29kZSkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCh0eXBl
LCBXVEZNb3ZlKGNvdXBvbkNvZGUpKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+QXBwbGVQYXlD
b3Vwb25Db2RlQ2hhbmdlZEV2ZW50KCk7CisKKyAgICBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUo
KSBjb25zdCB7IHJldHVybiBtX2NvdXBvbkNvZGU7IH0KKworcHJpdmF0ZToKKyAgICBBcHBsZVBh
eUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgU3RyaW5nJiYp
OworCisgICAgLy8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNv
bnN0IG92ZXJyaWRlOworCisgICAgY29uc3QgU3RyaW5nIG1fY291cG9uQ29kZTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg5
OGMyMTVkODhiNzJiMmM3YzQ1MDBhNmNiNmRhYzM5ZWU2NzQyNwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdl
ZEV2ZW50LmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERSwKKyAgICBMZWdhY3lOb0ludGVyZmFjZU9iamVjdCwK
K10gaW50ZXJmYWNlIEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCA6IEV2ZW50IHsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvdXBvbkNvZGU7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRh
aWxzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29k
ZURldGFpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmQ3N2FhYjVhNWI3YmY0ZTk4ODU0NTA3ZTY0OGMzZWU4
ZTc3Yzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKwor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzIHsKKyAgICBTdHJpbmcgY291cG9uQ29k
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ZWFhNzNjZmUyYWNhMzNmMWI0ZWM1YzhlN2FmNTAxZTMyOTI4YjY5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRh
aWxzLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWV9DT1VQT05fQ09ERSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwK
KyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBBcHBsZVBheUNvdXBvbkNv
ZGVEZXRhaWxzIHsKKyAgICBET01TdHJpbmcgY291cG9uQ29kZTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMDY0NWM2MzZiYzVmMTUzYWRjOTExZWZiYjQxNDE5OGE1ZWY1OWFk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGUuaApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCisjaW5jbHVk
ZSAiQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5oIgorI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3Iu
aCIKKyNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmgiCisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlIGZpbmFsIDogcHVibGljIEFwcGxlUGF5
RGV0YWlsc1VwZGF0ZUJhc2UgeworICAgIFZlY3RvcjxSZWZQdHI8QXBwbGVQYXlFcnJvcj4+IGVy
cm9yczsKKworICAgIFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBuZXdTaGlwcGluZ01l
dGhvZHM7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVy
JikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBBcHBsZVBheURldGFpbHNVcGRhdGVC
YXNlOjplbmNvZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBlcnJvcnM7CisgICAgZW5jb2Rl
ciA8PCBuZXdTaGlwcGluZ01ldGhvZHM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+Citz
dGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4gQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGUgcmVzdWx0OworCisgICAgaWYgKCFyZXN1bHQuZGVjb2RlQmFzZShkZWNvZGVyKSkK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9y
PFJlZlB0cjxBcHBsZVBheUVycm9yPj4+IGVycm9yczsKKyAgICBkZWNvZGVyID4+IGVycm9yczsK
KyAgICBpZiAoIWVycm9ycykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXN1
bHQuZXJyb3JzID0gV1RGTW92ZSgqZXJyb3JzKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9y
PEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+PiBuZXdTaGlwcGluZ01ldGhvZHM7CisgICAgZGVjb2Rl
ciA+PiBuZXdTaGlwcGluZ01ldGhvZHM7CisgICAgaWYgKCFuZXdTaGlwcGluZ01ldGhvZHMpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmVzdWx0Lm5ld1NoaXBwaW5nTWV0aG9k
cyA9IFdURk1vdmUoKm5ld1NoaXBwaW5nTWV0aG9kcyk7CisKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZmM3Mjhl
Y2ZmMWU5MTk4ODFiNGJmNmIyNDVhODA4ZmY5MmI2M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5pZGwK
QEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9Q
QVlfQ09VUE9OX0NPREUsCitdIGRpY3Rpb25hcnkgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlIDog
QXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZSB7CisgICAgc2VxdWVuY2U8QXBwbGVQYXlFcnJvcj4g
ZXJyb3JzOworCisgICAgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gbmV3U2hpcHBp
bmdNZXRob2RzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY1ODZlMWU0NjEzNDU2
NDQyZGIwNDJiOWQ4MmMxZjAyM2U4ZmY3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oCkBAIC0wLDAgKzEs
NzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVlf
U0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitzdHJ1Y3QgQXBwbGVQYXlEYXRlQ29tcG9uZW50cyB7CisgICAgc3RkOjpvcHRpb25h
bDx1bnNpZ25lZD4geWVhcnM7CisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gbW9udGhzOwor
ICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IGRheXM7CisgICAgc3RkOjpvcHRpb25hbDx1bnNp
Z25lZD4gaG91cnM7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShF
bmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6
b3B0aW9uYWw8QXBwbGVQYXlEYXRlQ29tcG9uZW50cz4gZGVjb2RlKERlY29kZXImKTsKK307CisK
K3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgeWVhcnM7Cisg
ICAgZW5jb2RlciA8PCBtb250aHM7CisgICAgZW5jb2RlciA8PCBkYXlzOworICAgIGVuY29kZXIg
PDwgaG91cnM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5RGF0ZUNvbXBvbmVudHM+IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6OmRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyKQoreworI2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkgXAorICAgIHN0ZDo6
b3B0aW9uYWw8dHlwZT4gbmFtZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICgh
bmFtZSkgXAorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OyBcCisKKyAgICBERUNPREUoeWVh
cnMsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+KQorICAgIERFQ09ERShtb250aHMsIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+KQorICAgIERFQ09ERShkYXlzLCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVk
PikKKyAgICBERUNPREUoaG91cnMsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+KQorCisjdW5kZWYg
REVDT0RFCisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqeWVhcnMpLCBXVEZNb3ZlKCptb250aHMp
LCBXVEZNb3ZlKCpkYXlzKSwgV1RGTW92ZSgqaG91cnMpIH19OworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9E
QVRFX0NPTVBPTkVOVFNfUkFOR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTIw
MmIwZTYyZDI1YjYxNWQ2ZDYyMTI5OTZmMDhjYWI3YjEyZDFhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlk
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExF
X1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFLAorICAgIEV4cG9ydE1h
Y3JvPVdFQkNPUkVfRVhQT1JULAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorXSBkaWN0aW9u
YXJ5IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgeworICAgIHVuc2lnbmVkIGxvbmcgeWVhcnM7Cisg
ICAgdW5zaWduZWQgbG9uZyBtb250aHM7CisgICAgdW5zaWduZWQgbG9uZyBkYXlzOworICAgIHVu
c2lnbmVkIGxvbmcgaG91cnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDU5ZTM3NmQwZDdjODNmYTM4NDFmZWM4MWZjMTc1NTRlZTA4MjUyNQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9u
ZW50c1JhbmdlLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JB
TkdFKQorCisjaW5jbHVkZSAiQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0cnVjdCBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgeworICAgIEFw
cGxlUGF5RGF0ZUNvbXBvbmVudHMgc3RhcnREYXRlQ29tcG9uZW50czsKKyAgICBBcHBsZVBheURh
dGVDb21wb25lbnRzIGVuZERhdGVDb21wb25lbnRzOworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZT4g
ZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEFw
cGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisgICAgZW5jb2RlciA8PCBzdGFydERhdGVDb21wb25lbnRzOworICAgIGVuY29kZXIgPDwg
ZW5kRGF0ZUNvbXBvbmVudHM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9w
dGlvbmFsPEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZT4gQXBwbGVQYXlEYXRlQ29tcG9uZW50
c1JhbmdlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNkZWZpbmUgREVDT0RFKG5hbWUs
IHR5cGUpIFwKKyAgICBzdGQ6Om9wdGlvbmFsPHR5cGU+IG5hbWU7IFwKKyAgICBkZWNvZGVyID4+
IG5hbWU7IFwKKyAgICBpZiAoIW5hbWUpIFwKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsg
XAorCisgICAgREVDT0RFKHN0YXJ0RGF0ZUNvbXBvbmVudHMsIEFwcGxlUGF5RGF0ZUNvbXBvbmVu
dHMpCisgICAgREVDT0RFKGVuZERhdGVDb21wb25lbnRzLCBBcHBsZVBheURhdGVDb21wb25lbnRz
KQorCisjdW5kZWYgREVDT0RFCisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqc3RhcnREYXRlQ29t
cG9uZW50cyksIFdURk1vdmUoKmVuZERhdGVDb21wb25lbnRzKSB9fTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRI
T0RfREFURV9DT01QT05FTlRTX1JBTkdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU2NGEzNzg2MmM0ZjM0ZmJhMmI1NmVkNGExYTE0YjA4YWQ3ZWU3YmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0
ZUNvbXBvbmVudHNSYW5nZS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19S
QU5HRSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBKU0dlbmVyYXRlVG9K
U09iamVjdCwKK10gZGljdGlvbmFyeSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgeworICAg
IHJlcXVpcmVkIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgc3RhcnREYXRlQ29tcG9uZW50czsKKyAg
ICByZXF1aXJlZCBBcHBsZVBheURhdGVDb21wb25lbnRzIGVuZERhdGVDb21wb25lbnRzOworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJv
ckNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNv
ZGUuaAppbmRleCA0MmY2NTljZmYyMzQ0ZjBhNThiMTE1ODA1MzJjNzlkYjVhNzI3YWY3Li42NGIy
ZWM0ODYwNzhlYzQzNDUzMzZlMmE3M2U0ODBjNTE2ZDFjNzFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5oCkBAIC0yOSwxMCAr
MjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5RXJyb3JDb2RlQWRk
aXRpb25zLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBlbnVtIGNsYXNzIEFw
cGxlUGF5RXJyb3JDb2RlIHsKQEAgLTQwLDkgKzM2LDggQEAgZW51bSBjbGFzcyBBcHBsZVBheUVy
cm9yQ29kZSB7CiAgICAgU2hpcHBpbmdDb250YWN0SW52YWxpZCwKICAgICBCaWxsaW5nQ29udGFj
dEludmFsaWQsCiAgICAgQWRkcmVzc1Vuc2VydmljZWFibGUsCi0jaWYgZGVmaW5lZChBcHBsZVBh
eUVycm9yQ29kZUFkZGl0aW9uc192YWx1ZXMpCi0gICAgQXBwbGVQYXlFcnJvckNvZGVBZGRpdGlv
bnNfdmFsdWVzCi0jZW5kaWYKKyAgICBDb3Vwb25Db2RlSW52YWxpZCwKKyAgICBDb3Vwb25Db2Rl
RXhwaXJlZCwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKQEAgLTU1LDEwICs1MCw5IEBA
IHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU+
IHsKICAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OlVua25vd24sCiAgICAgICAg
IFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpTaGlwcGluZ0NvbnRhY3RJbnZhbGlkLAogICAg
ICAgICBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QmlsbGluZ0NvbnRhY3RJbnZhbGlkLAot
ICAgICAgICBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVzc1Vuc2VydmljZWFibGUK
LSNpZiBkZWZpbmVkKEFwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zX0VudW1UcmFpdHMpCi0gICAg
ICAgIEFwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zX0VudW1UcmFpdHMKLSNlbmRpZgorICAgICAg
ICBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVzc1Vuc2VydmljZWFibGUsCisgICAg
ICAgIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlSW52YWxpZCwKKyAgICAg
ICAgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OkNvdXBvbkNvZGVFeHBpcmVkCiAgICAgPjsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlFcnJvckNvZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUVycm9yQ29kZS5pZGwKaW5kZXggNGNkNDRmOGQ0MTJhZWVmZDM4N2IxODcxMmQwYzM4MjNkNTMy
OGU4Yi4uZjFkZjllMmFiMmU2ZjFkMTdhYmJjNDIzMGYyZjdhYjhhZmM4N2VlYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5p
ZGwKQEAgLTMwLDUgKzMwLDcgQEAKICAgICAidW5rbm93biIsCiAgICAgInNoaXBwaW5nQ29udGFj
dEludmFsaWQiLAogICAgICJiaWxsaW5nQ29udGFjdEludmFsaWQiLAotICAgICJhZGRyZXNzVW5z
ZXJ2aWNlYWJsZSIKKyAgICAiYWRkcmVzc1Vuc2VydmljZWFibGUiLAorICAgICJjb3Vwb25Db2Rl
SW52YWxpZCIsCisgICAgImNvdXBvbkNvZGVFeHBpcmVkIgogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKaW5kZXggZThmYWJiM2Nj
MGNkYTJiZDYzNGY5N2VhNmZjM2E4YmMzN2NlNTE5OC4uZjU0YjNiZDMxZWUzMGRkMzdlODY0ZWRj
MmQ1YWJhZThiMTc4ODY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKQEAgLTI3LDEzICsyNywxNSBAQAogCiAjaWYgRU5BQkxF
KEFQUExFX1BBWSkKIAotI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW1EYXRhLmgiCi0jaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRUaW1pbmcuaCIKKyNp
bmNsdWRlICJBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIgorI2luY2x1ZGUgPGxp
bWl0cz4KKyNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbSBmaW5h
bCA6IHB1YmxpYyBBcHBsZVBheUxpbmVJdGVtRGF0YSB7CitzdHJ1Y3QgQXBwbGVQYXlMaW5lSXRl
bSBmaW5hbCB7CiAgICAgZW51bSBjbGFzcyBUeXBlIDogYm9vbCB7CiAgICAgICAgIFBlbmRpbmcs
CiAgICAgICAgIEZpbmFsLApAQCAtNDMsNiArNDUsMjEgQEAgc3RydWN0IEFwcGxlUGF5TGluZUl0
ZW0gZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlMaW5lSXRlbURhdGEgewogICAgIFN0cmluZyBsYWJl
bDsKICAgICBTdHJpbmcgYW1vdW50OwogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdf
TElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkKKyAgICBB
cHBsZVBheVBheW1lbnRUaW1pbmcgcGF5bWVudFRpbWluZyB7IEFwcGxlUGF5UGF5bWVudFRpbWlu
Zzo6SW1tZWRpYXRlIH07CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5H
X0xJTkVfSVRFTSkKKyAgICBkb3VibGUgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSB7IHN0ZDo6
bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyAgICBBcHBsZVBheVJlY3Vy
cmluZ1BheW1lbnREYXRlVW5pdCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0IHsgQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6Ok1vbnRoIH07CisgICAgdW5zaWduZWQgcmVjdXJy
aW5nUGF5bWVudEludGVydmFsQ291bnQgPSAxOworICAgIGRvdWJsZSByZWN1cnJpbmdQYXltZW50
RW5kRGF0ZSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyNl
bmRpZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisgICAgZG91
YmxlIGRlZmVycmVkUGF5bWVudERhdGUgeyBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1
aWV0X05hTigpIH07CisjZW5kaWYKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheUxpbmVJdGVtPiBkZWNvZGUoRGVjb2RlciYpOwogfTsK
QEAgLTUwLDM5ICs2Nyw2NyBAQCBzdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbSBmaW5hbCA6IHB1Ymxp
YyBBcHBsZVBheUxpbmVJdGVtRGF0YSB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBB
cHBsZVBheUxpbmVJdGVtOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBB
cHBsZVBheUxpbmVJdGVtRGF0YTo6ZW5jb2RlKGVuY29kZXIpOwogICAgIGVuY29kZXIgPDwgdHlw
ZTsKICAgICBlbmNvZGVyIDw8IGxhYmVsOwogICAgIGVuY29kZXIgPDwgYW1vdW50OworI2lmIEVO
QUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkgfHwgRU5BQkxFKEFQUExFX1BBWV9E
RUZFUlJFRF9MSU5FX0lURU0pCisgICAgZW5jb2RlciA8PCBwYXltZW50VGltaW5nOworI2VuZGlm
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKQorICAgIGVuY29kZXIg
PDwgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZTsKKyAgICBlbmNvZGVyIDw8IHJlY3VycmluZ1Bh
eW1lbnRJbnRlcnZhbFVuaXQ7CisgICAgZW5jb2RlciA8PCByZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxDb3VudDsKKyAgICBlbmNvZGVyIDw8IHJlY3VycmluZ1BheW1lbnRFbmREYXRlOworI2VuZGlm
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisgICAgZW5jb2RlciA8
PCBkZWZlcnJlZFBheW1lbnREYXRlOworI2VuZGlmCiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+CiBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5TGluZUl0ZW0+IEFwcGxlUGF5TGluZUl0ZW06OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIEFwcGxlUGF5TGluZUl0ZW0gcmVzdWx0Owor
I2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkgXAorICAgIHN0ZDo6b3B0aW9uYWw8dHlwZT4gbmFt
ZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkgXAorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OyBcCiAKLSAgICBpZiAoIXJlc3VsdC5kZWNvZGVEYXRhKGRlY29k
ZXIpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIERFQ09ERSh0eXBlLCBUeXBl
KQorICAgIERFQ09ERShsYWJlbCwgU3RyaW5nKQorICAgIERFQ09ERShhbW91bnQsIFN0cmluZykK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBM
RV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgIERFQ09ERShwYXltZW50VGltaW5nLCBBcHBs
ZVBheVBheW1lbnRUaW1pbmcpCisjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklO
R19MSU5FX0lURU0pCisgICAgREVDT0RFKHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIGRvdWJs
ZSkKKyAgICBERUNPREUocmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgQXBwbGVQYXlSZWN1
cnJpbmdQYXltZW50RGF0ZVVuaXQpCisgICAgREVDT0RFKHJlY3VycmluZ1BheW1lbnRJbnRlcnZh
bENvdW50LCB1bnNpZ25lZCkKKyAgICBERUNPREUocmVjdXJyaW5nUGF5bWVudEVuZERhdGUsIGRv
dWJsZSkKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQor
ICAgIERFQ09ERShkZWZlcnJlZFBheW1lbnREYXRlLCBkb3VibGUpCisjZW5kaWYKIAotICAgIHN0
ZDo6b3B0aW9uYWw8VHlwZT4gdHlwZTsKLSAgICBkZWNvZGVyID4+IHR5cGU7Ci0gICAgaWYgKCF0
eXBlKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC50eXBlID0gV1RG
TW92ZSgqdHlwZSk7CisjdW5kZWYgREVDT0RFCiAKLSAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4g
bGFiZWw7Ci0gICAgZGVjb2RlciA+PiBsYWJlbDsKLSAgICBpZiAoIWxhYmVsKQotICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC5sYWJlbCA9IFdURk1vdmUoKmxhYmVsKTsK
LQotICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBhbW91bnQ7Ci0gICAgZGVjb2RlciA+PiBhbW91
bnQ7Ci0gICAgaWYgKCFhbW91bnQpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAg
cmVzdWx0LmFtb3VudCA9IFdURk1vdmUoKmFtb3VudCk7Ci0KLSAgICByZXR1cm4gcmVzdWx0Owor
ICAgIHJldHVybiB7IHsKKyAgICAgICAgV1RGTW92ZSgqdHlwZSksCisgICAgICAgIFdURk1vdmUo
KmxhYmVsKSwKKyAgICAgICAgV1RGTW92ZSgqYW1vdW50KSwKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9J
VEVNKQorICAgICAgICBXVEZNb3ZlKCpwYXltZW50VGltaW5nKSwKKyNlbmRpZgorI2lmIEVOQUJM
RShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICAgICAgV1RGTW92ZSgqcmVjdXJy
aW5nUGF5bWVudFN0YXJ0RGF0ZSksCisgICAgICAgIFdURk1vdmUoKnJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbFVuaXQpLAorICAgICAgICBXVEZNb3ZlKCpyZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxD
b3VudCksCisgICAgICAgIFdURk1vdmUoKnJlY3VycmluZ1BheW1lbnRFbmREYXRlKSwKKyNlbmRp
ZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgICAgICBXVEZN
b3ZlKCpkZWZlcnJlZFBheW1lbnREYXRlKSwKKyNlbmRpZgorICAgIH0gfTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwKaW5kZXggYTQyYjc3MjRiZThmNjg3ODU1ZDQ2MDk2M2Zk
YjgxYTRiZDcxOWE4Yy4uMWM0NDdhM2U0OGZlMzczYmZmYmIwMTRjYTMyMTZmNDRiM2U5MDY0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJ
dGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGlu
ZUl0ZW0uaWRsCkBAIC0zNCw4ICszNCwxNyBAQAogICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwK
ICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBKU0dlbmVyYXRlVG9KU09iamVj
dCwKLV0gZGljdGlvbmFyeSBBcHBsZVBheUxpbmVJdGVtIDogQXBwbGVQYXlMaW5lSXRlbURhdGEg
eworXSBkaWN0aW9uYXJ5IEFwcGxlUGF5TGluZUl0ZW0gewogICAgIEFwcGxlUGF5TGluZUl0ZW1U
eXBlIHR5cGUgPSAiZmluYWwiOwogICAgIERPTVN0cmluZyBsYWJlbDsKICAgICBET01TdHJpbmcg
YW1vdW50OworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVN
fEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1dIEFwcGxlUGF5UGF5bWVudFRpbWluZyBwYXlt
ZW50VGltaW5nID0gImltbWVkaWF0ZSI7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1JF
Q1VSUklOR19MSU5FX0lURU1dIERhdGUgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZTsKKyAgICBb
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1dIEFwcGxlUGF5UmVjdXJy
aW5nUGF5bWVudERhdGVVbml0IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQgPSAibW9udGgi
OworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTV0gdW5zaWdu
ZWQgbG9uZyByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCA9IDE7CisgICAgW0NvbmRpdGlv
bmFsPUFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNXSBEYXRlIHJlY3VycmluZ1BheW1lbnRF
bmREYXRlOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1d
IERhdGUgZGVmZXJyZWRQYXltZW50RGF0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGU2NDcyYWI2MDljMDRlZmZlZDI4MzU4NDg2OGVlYTQ0ZTRhMWU4NDAu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5oCisrKyAvZGV2L251
bGwKQEAgLTEsODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5B
QkxFKEFQUExFX1BBWSkKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8
V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25zLmg+Ci0jZW5kaWYK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbURhdGEgewot
I2lmIGRlZmluZWQoQXBwbGVQYXlMaW5lSXRlbURhdGFBZGRpdGlvbnNfbWVtYmVycykKLSAgICBB
cHBsZVBheUxpbmVJdGVtRGF0YUFkZGl0aW9uc19tZW1iZXJzCi0jZW5kaWYKLQotICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheUxpbmVJdGVt
RGF0YT4gZGVjb2RlKERlY29kZXImKTsKLQotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IFdB
Uk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZURhdGEoRGVjb2RlciYpOwotfTsKLQotdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlMaW5lSXRlbURhdGE6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAotewotI2lmIGRlZmluZWQoQXBwbGVQYXlMaW5lSXRlbURhdGFB
ZGRpdGlvbnNfZW5jb2RlKQotICAgIEFwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25zX2VuY29k
ZQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5jb2Rlcik7Ci0jZW5kaWYKLX0KLQotdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4KLXN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlMaW5lSXRlbURhdGE+IEFw
cGxlUGF5TGluZUl0ZW1EYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAgICBBcHBs
ZVBheUxpbmVJdGVtRGF0YSByZXN1bHQ7Ci0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShkZWNv
ZGVyKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi10ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotYm9vbCBBcHBsZVBheUxpbmVJdGVtRGF0YTo6
ZGVjb2RlRGF0YShEZWNvZGVyJiBkZWNvZGVyKQotewotI2lmIGRlZmluZWQoQXBwbGVQYXlMaW5l
SXRlbURhdGFBZGRpdGlvbnNfZGVjb2RlRGF0YSkKLSAgICBBcHBsZVBheUxpbmVJdGVtRGF0YUFk
ZGl0aW9uc19kZWNvZGVEYXRhCi0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkZWNvZGVyKTsKLSNl
bmRpZgotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4OTRkMTEyNGNmYmExMjM4ZDk2NmU3MjM0NTQ2MzZjYThjZjlkODkz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1B
UFBMRV9QQVksCi1dIGRpY3Rpb25hcnkgQXBwbGVQYXlMaW5lSXRlbURhdGEgewotfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0
aG9kTW9kZURldGFpbHMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZmY0NTU2ZDJkYzA2ZWFiOGRjYWM4N2Q1NTcyMGJjMTZiZTMwY2E0Yi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BcHBsZVBheVBheW1lbnRNZXRob2RN
b2RlRGV0YWlsc0FkZGl0aW9ucy5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
c3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzIHsKLSNpZiBkZWZpbmVkKEFw
cGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzQWRkaXRpb25zX21lbWJlcnMpCi0gICAgQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHNBZGRpdGlvbnNfbWVtYmVycwotI2VuZGlmCi19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMu
aWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGUxNThjZGFhMTA3NzYzNmFkZGIx
ZWU0MzJiMzJkOTZlY2VlN2RiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZURldGFpbHMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSwKLSAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKLSAgICBKU0dlbmVyYXRlVG9KU09i
amVjdCwKLV0gZGljdGlvbmFyeSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyB7Ci19
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzJlMjdkYTUyZWU2NWVjYTNjNzQwYzdmMmQ4MDhiNzcxODg4NmM5My4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaAorKysgL2Rl
di9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLQotI2luY2x1ZGUgIkFwcGxl
UGF5RGV0YWlsc1VwZGF0ZUJhc2UuaCIKLSNpbmNsdWRlICJBcHBsZVBheUVycm9yLmgiCi0jaW5j
bHVkZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
LSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RydWN0
IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUgZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlQmFzZSB7Ci0gICAgVmVjdG9yPFJlZlB0cjxBcHBsZVBheUVycm9yPj4gZXJy
b3JzOwotCi0gICAgVmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0
aG9kczsKLQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXIm
KSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25h
bDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiBkZWNvZGUoRGVjb2RlciYpOwotfTsK
LQotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlQmFzZTo6ZW5jb2RlKGVuY29kZXIpOwotICAgIGVuY29kZXIgPDwgZXJyb3Jz
OwotICAgIGVuY29kZXIgPDwgbmV3U2hpcHBpbmdNZXRob2RzOwotfQotCi10ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPgotc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRl
PiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKLXsKLSAgICBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlIHJlc3VsdDsKLQotICAg
IGlmICghcmVzdWx0LmRlY29kZUJhc2UoZGVjb2RlcikpCi0gICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7Ci0KLSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxSZWZQdHI8QXBwbGVQYXlFcnJvcj4+
PiBlcnJvcnM7Ci0gICAgZGVjb2RlciA+PiBlcnJvcnM7Ci0gICAgaWYgKCFlcnJvcnMpCi0gICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgcmVzdWx0LmVycm9ycyA9IFdURk1vdmUoKmVy
cm9ycyk7Ci0KLSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9k
Pj4gbmV3U2hpcHBpbmdNZXRob2RzOwotICAgIGRlY29kZXIgPj4gbmV3U2hpcHBpbmdNZXRob2Rz
OwotICAgIGlmICghbmV3U2hpcHBpbmdNZXRob2RzKQotICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwotICAgIHJlc3VsdC5uZXdTaGlwcGluZ01ldGhvZHMgPSBXVEZNb3ZlKCpuZXdTaGlwcGlu
Z01ldGhvZHMpOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlVXBkYXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDEwMDE3OTU2MmI1MmNkMjc1ZmM0YjM5MDhjZGM4YjIwZTQxMzc3N2QuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9u
YWw9QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUsCi1dIGRpY3Rpb25hcnkgQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZSA6IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UgewotICAg
IHNlcXVlbmNlPEFwcGxlUGF5RXJyb3I+IGVycm9yczsKLQotICAgIHNlcXVlbmNlPEFwcGxlUGF5
U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kczsKLX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFRpbWluZy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MjM5OWRkYjliY2NhZDg0ZjMwNDJkYjkyN2JkZGU2MTE2N2RiM2YxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRUaW1pbmcuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBM
RV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEFwcGxlUGF5UGF5bWVudFRpbWluZyA6
IHVpbnQ4X3QgeworICAgIEltbWVkaWF0ZSwKKyAgICBSZWN1cnJpbmcsCisgICAgRGVmZXJyZWQs
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudFRpbWluZz4g
eworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFwcGxl
UGF5UGF5bWVudFRpbWluZywKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50VGltaW5n
OjpJbW1lZGlhdGUsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudFRpbWluZzo6UmVj
dXJyaW5nLAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRUaW1pbmc6OkRlZmVycmVk
CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8gRU5BQkxFKEFQ
UExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVE
X0xJTkVfSVRFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDg0NzIzYmNkZDQ3NDc2
OGVkNmE0OTY5MDRkMzRiMjMwNWIxN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklO
R19MSU5FX0lURU18QVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSwKK10gZW51bSBBcHBsZVBh
eVBheW1lbnRUaW1pbmcgeworICAgICJpbW1lZGlhdGUiLAorICAgICJyZWN1cnJpbmciLAorICAg
ICJkZWZlcnJlZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDllNDY3OGUwODViYWU0Mjk5M2FkZWZkOTdhMzhhNTExNDEwNjQ1NQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pCisKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xh
c3MgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQgeworICAgIFllYXIsCisgICAgTW9u
dGgsCisgICAgRGF5LAorICAgIEhvdXIsCisgICAgTWludXRlLAorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRy
YWl0czxXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdD4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UmVjdXJy
aW5nUGF5bWVudERhdGVVbml0LAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1Bh
eW1lbnREYXRlVW5pdDo6WWVhciwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJpbmdQ
YXltZW50RGF0ZVVuaXQ6Ok1vbnRoLAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3Vycmlu
Z1BheW1lbnREYXRlVW5pdDo6RGF5LAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3Vycmlu
Z1BheW1lbnREYXRlVW5pdDo6SG91ciwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQ6Ok1pbnV0ZQorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
VEYKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI1OGVlYWNj
YmUwMmQwMjI3ZmUwODY2ZTU5ZDRlNThkMmZiYmZiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVu
aXQuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9
QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0sCitdIGVudW0gQXBwbGVQYXlSZWN1cnJpbmdQ
YXltZW50RGF0ZVVuaXQgeworICAgICJ5ZWFyIiwKKyAgICAibW9udGgiLAorICAgICJkYXkiLAor
ICAgICJob3VyIiwKKyAgICAibWludXRlIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwCmluZGV4IDUyYWVmZjYx
ODIxMTIyYWQxMzMzOGYyZTAyMjE2YmZlY2NjZDU5YmEuLjcxNGQzZGE2MTJmOGE0NTRjMTIzZjM2
MzQ0NTNmNzI5NzRkNTBmNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcApAQCAtMTE4LDYgKzExOCwxNSBAQCBF
eGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdD4gY29udmVydEFuZFZhbGlk
YXRlKERvY3VtZW50JiBkb2N1bWVudAogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKKyAgICByZXN1bHQuc2V0U3VwcG9ydHNDb3Vwb25Db2RlKHJlcXVl
c3Quc3VwcG9ydHNDb3Vwb25Db2RlKTsKKyAgICByZXN1bHQuc2V0Q291cG9uQ29kZShyZXF1ZXN0
LmNvdXBvbkNvZGUpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NP
TlRBQ1RfRURJVElOR19NT0RFKQorICAgIHJlc3VsdC5zZXRTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZShyZXF1ZXN0LnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKTsKKyNlbmRpZgorCiAjaWYg
ZGVmaW5lZChBcHBsZVBheVJlcXVlc3RCYXNlQWRkaXRpb25zX2NvbnZlcnRBbmRWYWxpZGF0ZV9y
ZXF1ZXN0KQogICAgIEFwcGxlUGF5UmVxdWVzdEJhc2VBZGRpdGlvbnNfY29udmVydEFuZFZhbGlk
YXRlX3JlcXVlc3QKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaAppbmRleCA4ZGM1YWU1MjgyYWU3NzYzYzlhZjQ5
YjBkMDY1ZGMzOWU0ZjAxNGRkLi5kOWEyYjgzMTdlNGU1MzY1MWViZTE1ZjI1YjljYzQ1NDVjNGNk
NzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UmVxdWVzdEJhc2UuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5SW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hh
bnRDYXBhYmlsaXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50Q29udGFjdC5oIgorI2lu
Y2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCIKIAogI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5UmVx
dWVzdEJhc2VBZGRpdGlvbnMuaD4KQEAgLTU5LDYgKzYwLDE1IEBAIHN0cnVjdCBBcHBsZVBheVJl
cXVlc3RCYXNlIHsKICAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uPiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAjZW5kaWYKIAorI2lmIEVOQUJMRShB
UFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBzdXBwb3J0c0Nv
dXBvbkNvZGU7CisgICAgU3RyaW5nIGNvdXBvbkNvZGU7CisjZW5kaWYKKworI2lmIEVOQUJMRShB
UFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAgc3RkOjpvcHRpb25h
bDxBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiBzaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChBcHBsZVBheVJlcXVlc3RCYXNlQWRkaXRp
b25zX21lbWJlcnMpCiAgICAgQXBwbGVQYXlSZXF1ZXN0QmFzZUFkZGl0aW9uc19tZW1iZXJzCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlSZXF1ZXN0QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UmVxdWVzdEJhc2UuaWRsCmluZGV4IGU3MTUyNTI4NGQ5MTA4Y2ZkOWEyZDY3NDEwMjlkYzUy
YjAzNDZkMWUuLjJlMGEzNDkxYjZlZjZkMzU3MGFiYTUzYjY0YjY3NWYxNWI5OTZmZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFz
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVl
c3RCYXNlLmlkbApAQCAtNDAsNCArNDAsOSBAQAogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gc3Vw
cG9ydGVkQ291bnRyaWVzOwogCiAgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVO
VFNdIEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJh
dGlvbjsKKworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREVdIGJvb2xlYW4g
c3VwcG9ydHNDb3Vwb25Db2RlOworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NP
REVdIERPTVN0cmluZyBjb3Vwb25Db2RlOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9T
SElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERV0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZSBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKaW5kZXggNWYyMzI0
ODg5ZGQ2M2NhY2QxZGMzODI2YzZhMDYxZDU5NDYyNTNlMy4uMDdhY2I4ZDE4MDAxMGMwODljOWRk
YmU2ZmI2ZjYxZDA2ZmUxNTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApAQCAtMjksMTIgKzI5LDEzIEBACiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKIAogI2luY2x1ZGUgIkFwcGxlUGF5Q2FuY2VsRXZlbnQuaCIKKyNpbmNs
dWRlICJBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCIKKyNpbmNsdWRlICJBcHBsZVBh
eUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheUVycm9yQ29kZS5oIgogI2lu
Y2x1ZGUgIkFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCIKICNpbmNsdWRlICJBcHBsZVBheUxp
bmVJdGVtLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5o
IgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5oIgotI2luY2x1ZGUg
IkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVBh
eW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0
aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIgpAQCAtMjgx
LDkgKzI4Miw5IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBk
YXRlPiBjb252ZXJ0QW5kVmFsaWRhdGUoQXBwbGVQYXlTaGlwCiAgICAgcmV0dXJuIFdURk1vdmUo
dXBkYXRlKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi1zdGF0aWMgRXhjZXB0aW9uT3I8
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4gY29udmVydEFuZFZhbGlkYXRlKEFwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUmJiB1cGRhdGUpCitzdGF0aWMgRXhjZXB0aW9uT3I8
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiBjb252ZXJ0QW5kVmFsaWRhdGUoQXBwbGVQYXlDb3Vw
b25Db2RlVXBkYXRlJiYgdXBkYXRlKQogewogICAgIGF1dG8gY29udmVydGVkTmV3U2hpcHBpbmdN
ZXRob2RzID0gY29udmVydEFuZFZhbGlkYXRlKFdURk1vdmUodXBkYXRlLm5ld1NoaXBwaW5nTWV0
aG9kcykpOwogICAgIGlmIChjb252ZXJ0ZWROZXdTaGlwcGluZ01ldGhvZHMuaGFzRXhjZXB0aW9u
KCkpCkBAIC0zMDMsNyArMzA0LDcgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPEFwcGxlUGF5UGF5bWVu
dE1ldGhvZE1vZGVVcGRhdGU+IGNvbnZlcnRBbmRWYWxpZGF0ZShBcHBsZVBheVAKICAgICByZXR1
cm4gV1RGTW92ZSh1cGRhdGUpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUp
CiAKIEV4Y2VwdGlvbk9yPFJlZjxBcHBsZVBheVNlc3Npb24+PiBBcHBsZVBheVNlc3Npb246OmNy
ZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIHVuc2lnbmVkIHZlcnNpb24sIEFwcGxlUGF5UGF5bWVu
dFJlcXVlc3QmJiBwYXltZW50UmVxdWVzdCkKIHsKQEAgLTUyNSw2ICs1MjYsMjUgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gQXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rp
b24oQXBwbGVQYXlQYXltZW4KICAgICByZXR1cm4geyB9OwogfQogCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKKworRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlTZXNzaW9uOjpj
b21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlJiYgdXBkYXRl
KQoreworICAgIGlmICghY2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKCkpCisgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKworICAgIGF1dG8gY29udmVy
dGVkVXBkYXRlID0gY29udmVydEFuZFZhbGlkYXRlKFdURk1vdmUodXBkYXRlKSk7CisgICAgaWYg
KGNvbnZlcnRlZFVwZGF0ZS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGNvbnZlcnRl
ZFVwZGF0ZS5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBtX3N0YXRlID0gU3RhdGU6OkFjdGl2
ZTsKKyAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5jb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoY29u
dmVydGVkVXBkYXRlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKworICAgIHJldHVybiB7IH07Cit9
CisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCiBFeGNlcHRpb25P
cjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRB
dXRob3JpemF0aW9uUmVzdWx0JiYgcmVzdWx0KQogewogICAgIGlmICghY2FuQ29tcGxldGVQYXlt
ZW50KCkpCkBAIC03MjEsMTggKzc0MSwyMyBAQCB2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6ZGlkU2Vs
ZWN0UGF5bWVudE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJiBwYXltZW50TWV0aG9kKQogICAg
IGRpc3BhdGNoRXZlbnQoZXZlbnQuZ2V0KCkpOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAK
LXZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZShTdHJpbmcm
JiBwYXltZW50TWV0aG9kTW9kZSkKK3ZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VDb3Vw
b25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gU3Rh
dGU6OkFjdGl2ZSk7CiAKLSNpZiBkZWZpbmVkKEFwcGxlUGF5U2Vzc2lvbkFkZGl0aW9uc19kaWRD
aGFuZ2VQYXltZW50TWV0aG9kTW9kZSkKLSAgICBBcHBsZVBheVNlc3Npb25BZGRpdGlvbnNfZGlk
Q2hhbmdlUGF5bWVudE1ldGhvZE1vZGUKLSNlbmRpZgorICAgIGlmICghaGFzRXZlbnRMaXN0ZW5l
cnMoZXZlbnROYW1lcygpLmNvdXBvbmNvZGVjaGFuZ2VkRXZlbnQpKSB7CisgICAgICAgIHBheW1l
bnRDb29yZGluYXRvcigpLmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSh7IH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgbV9zdGF0ZSA9IFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDsK
KyAgICBhdXRvIGV2ZW50ID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmNvdXBvbmNvZGVjaGFuZ2VkRXZlbnQsIFdURk1vdmUoY291cG9uQ29kZSkp
OworICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQuZ2V0KCkpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfQ09VUE9OX0NPREUpCiAKIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDYW5jZWxQYXltZW50
U2Vzc2lvbihQYXltZW50U2Vzc2lvbkVycm9yJiYgZXJyb3IpCiB7CkBAIC03NjMsOSArNzg4LDkg
QEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhblN1c3BlbmRXaXRob3V0Q2FuY2VsaW5nKCkgY29u
c3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3Rh
dGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRo
b2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0g
ICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAg
ICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQpAQCAtODEzLDkgKzgzOCw5IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5CZWdpbigp
IGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNl
IFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50
TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RF
KQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBF
TkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BB
WV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRp
ZgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KQEAgLTgzNSw5ICs4NjAsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQWJv
cnQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAg
Y2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5
bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0Rf
TU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6Cisj
ZW5kaWYKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KQEAgLTg1Nyw5ICs4ODIsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2Fu
Q2FuY2VsKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgog
ICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6
OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVU
SE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2Vk
OgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CkBAIC04ODcsOSArOTEyLDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246
OmNhbkNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oKSBjb25zdAogICAgIGNhc2UgU3Rh
dGU6OkF1dGhvcml6ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgog
ICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBM
RV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9k
TW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9N
T0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6
Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0
ZWQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtOTA5LDkgKzkzNCw5IEBAIGJvb2wgQXBw
bGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbigpIGNvbnN0
CiAgICAgY2FzZSBTdGF0ZTo6QXV0aG9yaXplZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0
aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKLSNp
ZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6
UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAg
IGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6
Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTkzMSw5ICs5NTYs
OSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0
aW9uKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVkOgogICAgIGNhc2UgU3RhdGU6
OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0
U2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAg
IGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAg
IGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBA
IC05NDIsOSArOTY3LDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVu
dE1ldGhvZFNlbGVjdGlvbigpIGNvbnN0CiAgICAgfQogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUp
CiAKLWJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hh
bmdlKCkgY29uc3QKK2Jvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZUNvdXBvbkNvZGVD
aGFuZ2UoKSBjb25zdAogewogICAgIHN3aXRjaCAobV9zdGF0ZSkgewogICAgIGNhc2UgU3RhdGU6
OklkbGU6CkBAIC05NTksMTIgKzk4NCwxMiBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29t
cGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6UGF5
bWVudE1ldGhvZFNlbGVjdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBjYXNlIFN0
YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6CisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29k
ZUNoYW5nZWQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX0NPVVBPTl9DT0RFKQogCiBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQ
YXltZW50KCkgY29uc3QKIHsKQEAgLTk3Nyw5ICsxMDAyLDkgQEAgYm9vbCBBcHBsZVBheVNlc3Np
b246OmNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdN
ZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoK
ICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RN
b2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01P
REUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpD
b3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3Rl
ZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC05OTYsOSArMTAyMSw5IEBAIGJvb2wgQXBw
bGVQYXlTZXNzaW9uOjppc0ZpbmFsU3RhdGUoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBw
aW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0
ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0
aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0
ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVk
OgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNl
OwpAQCAtMTAxNSwxMCArMTA0MCw2IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjp2aXJ0dWFsSGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKICAgICByZXR1cm4gbV9zdGF0ZSAhPSBTdGF0ZTo6SWRs
ZSAmJiAhaXNGaW5hbFN0YXRlKCk7CiB9CiAKLSNpZiBkZWZpbmVkKEFwcGxlUGF5U2Vzc2lvbkFk
ZGl0aW9uc19kZWZpbml0aW9ucykKLUFwcGxlUGF5U2Vzc2lvbkFkZGl0aW9uc19kZWZpbml0aW9u
cwotI2VuZGlmCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KLQotI2VuZGlmCisjZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5oCmluZGV4IGUxNzhiZmFkY2JmMTk5ZjEyMjViYzc5MDRjZDYw
YTVlOTIxYjgwMzIuLmZjZTcyMDE3Y2IyMjJlNzRmZDQyNDQ5MWU0MzEwMTQ1MGM0ODQ4YWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24u
aApAQCAtNTQsMTMgKzU0LDExIEBAIGNsYXNzIFBheW1lbnRDb250YWN0OwogY2xhc3MgUGF5bWVu
dENvb3JkaW5hdG9yOwogY2xhc3MgUGF5bWVudE1ldGhvZDsKIGVudW0gY2xhc3MgUGF5bWVudEF1
dGhvcml6YXRpb25TdGF0dXM7CitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwogc3Ry
dWN0IEFwcGxlUGF5TGluZUl0ZW07CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50UmVxdWVzdDsKIHN0
cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOwogc3RydWN0IEFwcGxlUGF5UGF5bWVudEF1dGhv
cml6YXRpb25SZXN1bHQ7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RF
KQotc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU7Ci0jZW5kaWYgLy8gRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQogc3RydWN0IEFwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIHN0
cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlOwpAQCAtOTEsNiArODksOSBAQCBwdWJs
aWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlv
bihBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlJiYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKEFwcGxlUGF5U2hpcHBpbmdDb250YWN0
VXBkYXRlJiYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUmJik7CisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZUNvdXBvbkNv
ZGVDaGFuZ2UoQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlJiYpOworI2VuZGlmCiAgICAgRXhjZXB0
aW9uT3I8dm9pZD4gY29tcGxldGVQYXltZW50KEFwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25S
ZXN1bHQmJik7CiAKICAgICAvLyBPbGQgZnVuY3Rpb25zLgpAQCAtMTI2LDkgKzEyNyw5IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBBcHBsZVBheVNo
aXBwaW5nTWV0aG9kJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ0NvbnRh
Y3QoY29uc3QgUGF5bWVudENvbnRhY3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFNlbGVjdFBh
eW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYpIG92ZXJyaWRlOwotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2b2lkIGRpZENoYW5nZVBheW1lbnRN
ZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKSBvdmVycmlkZTsKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYg
Y291cG9uQ29kZSkgb3ZlcnJpZGU7CisjZW5kaWYKICAgICB2b2lkIGRpZENhbmNlbFBheW1lbnRT
ZXNzaW9uKFBheW1lbnRTZXNzaW9uRXJyb3ImJikgb3ZlcnJpZGU7CiAKICAgICBQYXltZW50Q29v
cmRpbmF0b3ImIHBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0OwpAQCAtMTQwLDkgKzE0MSw5IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKCkg
Y29uc3Q7CiAgICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbigpIGNv
bnN0OwogICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKCkgY29uc3Q7
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGJvb2wgY2Fu
Q29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0OwotI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQorICAgIGJvb2wgY2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKCkgY29uc3Q7
CisjZW5kaWYKICAgICBib29sIGNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0OwogICAgIGJvb2wg
Y2FuU3VzcGVuZFdpdGhvdXRDYW5jZWxpbmcoKSBjb25zdDsKIApAQCAtMTU1LDkgKzE1Niw5IEBA
IHByaXZhdGU6CiAgICAgICAgIFNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQsCiAgICAgICAgIFNoaXBw
aW5nQ29udGFjdFNlbGVjdGVkLAogICAgICAgICBQYXltZW50TWV0aG9kU2VsZWN0ZWQsCi0jaWYg
RU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgICAgICBQYXltZW50TWV0
aG9kTW9kZUNoYW5nZWQsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgICAgIENvdXBv
bkNvZGVDaGFuZ2VkLAorI2VuZGlmCiAgICAgICAgIENhbmNlbFJlcXVlc3RlZCwKICAgICAgICAg
QXV0aG9yaXplZCwKICAgICAgICAgQ29tcGxldGVkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCmluZGV4IDBiZTFkZDI3ZTNiMGFi
Y2VmODRjNjM1Nzg4NjM5MWZmMmIxY2EyZDguLjg4ZGM1OTUxNzYxMTYxZDNiYWJkZDYzOTc4ZGYy
NWYwYWYyY2JiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvbi5pZGwKQEAgLTUyLDYgKzUyLDcgQEAKICAgICB1bmRlZmluZWQgY29t
cGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRl
IHVwZGF0ZSk7CiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9u
KEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0ZSk7CiAgICAgdW5kZWZpbmVkIGNv
bXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUg
dXBkYXRlKTsKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSB1bmRlZmlu
ZWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSB1cGRh
dGUpOwogICAgIHVuZGVmaW5lZCBjb21wbGV0ZVBheW1lbnQoQXBwbGVQYXlQYXltZW50QXV0aG9y
aXphdGlvblJlc3VsdCByZXN1bHQpOwogCiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdN
ZXRob2RTZWxlY3Rpb24odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBBcHBsZVBheUxpbmVJdGVtIG5l
d1RvdGFsLCBzZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRlbXMpOwpAQCAtNjQs
NSArNjUsNiBAQAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wYXltZW50YXV0aG9yaXpl
ZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdtZXRob2RzZWxlY3RlZDsK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdjb250YWN0c2VsZWN0ZWQ7Cisg
ICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0gYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbmNvdXBvbmNvZGVjaGFuZ2VkOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25j
YW5jZWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oCmluZGV4IDQ5NjRlZDMwYjE4
NjI2MDNlMTgwNTEyZWI4NTYzNTdmNGE5OTA0MTUuLmY5ZTFiMWU1N2I1YzkzYmQzOTY1N2Q5NmQ2
ZGFjZjA0ODk2MzZiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgKQEAgLTI5LDYg
KzI5LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3IuaCIKICNpbmNsdWRlICJBcHBsZVBh
eUxpbmVJdGVtLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNsdWRlICJQYXlt
ZW50Q29udGFjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25X
ZWJDb3JlLmgiCkBAIC0xMjksNiArMTMwLDE5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbihQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uJiYgaW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uKSB7IG1faW5zdGFsbG1lbnRDb25maWd1cmF0aW9uID0gV1RG
TW92ZShpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShB
UFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBzdXBwb3J0c0Nv
dXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzQ291cG9uQ29kZTsgfQorICAgIHZv
aWQgc2V0U3VwcG9ydHNDb3Vwb25Db2RlKHN0ZDo6b3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNDb3Vw
b25Db2RlKSB7IG1fc3VwcG9ydHNDb3Vwb25Db2RlID0gc3VwcG9ydHNDb3Vwb25Db2RlOyB9CisK
KyAgICBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvdXBvbkNv
ZGU7IH0KKyAgICB2b2lkIHNldENvdXBvbkNvZGUoY29uc3QgU3RyaW5nJiBjb3Vwb25Db2RlKSB7
IG1fY291cG9uQ29kZSA9IGNvdXBvbkNvZGU7IH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyAgICBjb25zdCBzdGQ6Om9wdGlv
bmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+JiBzaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7
IH0KKyAgICB2b2lkIHNldFNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKGNvbnN0IHN0ZDo6b3B0
aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZT4mIHNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlKSB7IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgPSBzaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV92
ZXJzaW9uIHsgMCB9OwogCkBAIC0xNTksNiArMTczLDE1IEBAIHByaXZhdGU6CiAgICAgUGF5bWVu
dEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBtX2luc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKICNl
bmRpZgogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9E
RSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+
IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBtX3N1cHBvcnRzQ291
cG9uQ29kZTsKKyAgICBTdHJpbmcgbV9jb3Vwb25Db2RlOworI2VuZGlmCisKICNpZiBkZWZpbmVk
KEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0QWRkaXRpb25zX21lbWJlcnMpCiAgICAgQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3RBZGRpdGlvbnNfbWVtYmVycwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdD
b250YWN0RWRpdGluZ01vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjNGIxZTFkMjA4
MzIxMGY4MDE5MjJlYjJmZjA3MGJkZWM2MTI0M2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01v
ZGUuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZSA6IGJvb2wgeworICAgIEVuYWJsZWQsCisgICAgU3RvcmVQaWNrdXAsCit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5H
X0NPTlRBQ1RfRURJVElOR19NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzk1OGRhMTYwMGYxMjRhMWY3NzA0YzFiZWIxNWFkMWQzZDE1
YmI2MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFD
VF9FRElUSU5HX01PREUsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCitdIGVudW0g
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSB7CisgICAgImVuYWJsZWQiLAorICAg
ICJzdG9yZVBpY2t1cCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCmluZGV4IDBjNDMzM2NkMGE1NTE1YmMy
NGVlOWRkZjhhOWMxODQzOTk0ZDA4MDguLjNiNzNkYTkxNGE1ODIxY2I1MDQ0YjVmNDFkMjQyYTQx
YTcyMDNhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ01ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCkBAIC0yNywxNyArMjcsMjIgQEAKIAogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAKLSNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5o
IgorI2luY2x1ZGUgIkFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oIgorI2luY2x1ZGUgPG9w
dGlvbmFsPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLXN0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIGZpbmFsIDogcHVibGljIEFw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhIHsKK3N0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9k
IGZpbmFsIHsKICAgICBTdHJpbmcgbGFiZWw7CiAgICAgU3RyaW5nIGRldGFpbDsKICAgICBTdHJp
bmcgYW1vdW50OwogICAgIFN0cmluZyBpZGVudGlmaWVyOwogCisjaWYgRU5BQkxFKEFQUExFX1BB
WV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorICAgIHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlPiBkYXRlQ29tcG9uZW50c1JhbmdlOworI2Vu
ZGlmCisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8
QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gZGVjb2RlKERlY29kZXImKTsKIH07CkBAIC00NSwzNiAr
NTAsNDMgQEAgc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QgZmluYWwgOiBwdWJsaWMgQXBw
bGVQYXlTaGlwcGluZ01ldGhvZERhdGEgewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQg
QXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7
Ci0gICAgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGE6OmVuY29kZShlbmNvZGVyKTsKICAgICBl
bmNvZGVyIDw8IGxhYmVsOwogICAgIGVuY29kZXIgPDwgZGV0YWlsOwogICAgIGVuY29kZXIgPDwg
YW1vdW50OwogICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisgICAgZW5jb2RlciA8PCBk
YXRlQ29tcG9uZW50c1JhbmdlOworI2VuZGlmCiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
CiBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2Q6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2QgcmVzdWx0OwotCi0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShkZWNvZGVyKSkKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLQogI2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkg
XAogICAgIHN0ZDo6b3B0aW9uYWw8dHlwZT4gbmFtZTsgXAogICAgIGRlY29kZXIgPj4gbmFtZTsg
XAogICAgIGlmICghbmFtZSkgXAogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OyBcCi0gICAg
cmVzdWx0Lm5hbWUgPSBXVEZNb3ZlKCpuYW1lKTsgXAogCiAgICAgREVDT0RFKGxhYmVsLCBTdHJp
bmcpCiAgICAgREVDT0RFKGRldGFpbCwgU3RyaW5nKQogICAgIERFQ09ERShhbW91bnQsIFN0cmlu
ZykKICAgICBERUNPREUoaWRlbnRpZmllciwgU3RyaW5nKQorI2lmIEVOQUJMRShBUFBMRV9QQVlf
U0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBERUNPREUoZGF0ZUNv
bXBvbmVudHNSYW5nZSwgc3RkOjpvcHRpb25hbDxBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U+
KQorI2VuZGlmCiAKICN1bmRlZiBERUNPREUKIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0
dXJuIHsgeworICAgICAgICBXVEZNb3ZlKCpsYWJlbCksCisgICAgICAgIFdURk1vdmUoKmRldGFp
bCksCisgICAgICAgIFdURk1vdmUoKmFtb3VudCksCisgICAgICAgIFdURk1vdmUoKmlkZW50aWZp
ZXIpLAorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5U
U19SQU5HRSkKKyAgICAgICAgV1RGTW92ZSgqZGF0ZUNvbXBvbmVudHNSYW5nZSksCisjZW5kaWYK
KyAgICB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRs
CmluZGV4IGUwZjJhMjQxYmNhNTJmNmU0MGViOGJjODdiZmJmNTBkMWY2OWVlMzkuLjQ3MTBmNTJk
YWNlZjg1YzkyYTNiYTdjOWIwMTY2NTkwNjZiY2M5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbApA
QCAtMjcsOSArMjcsMTEgQEAKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCiAgICAgRXhwb3J0
TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCi1dIGRpY3Rp
b25hcnkgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCA6IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRh
IHsKK10gZGljdGlvbmFyeSBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIHsKICAgICByZXF1aXJlZCBE
T01TdHJpbmcgbGFiZWw7CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGRldGFpbDsKICAgICByZXF1
aXJlZCBET01TdHJpbmcgYW1vdW50OwogICAgIHJlcXVpcmVkIERPTVN0cmluZyBpZGVudGlmaWVy
OworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01Q
T05FTlRTX1JBTkdFXSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgZGF0ZUNvbXBvbmVudHNS
YW5nZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGU1OGU2N2MyZGZiMTBkZGY3MTBiNmUzYjc1M2M5YmQ4NzY5NzVmYmUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oCisrKyAvZGV2L251bGwK
QEAgLTEsODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxF
KEFQUExFX1BBWSkKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zLmg+Ci0jZW5k
aWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZERhdGEgewotI2lmIGRlZmluZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNf
bWVtYmVycykKLSAgICBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0aW9uc19tZW1iZXJz
Ci0jZW5kaWYKLQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YT4gZGVjb2RlKERlY29kZXImKTsKLQotICAg
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZURh
dGEoRGVjb2RlciYpOwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZERhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewot
I2lmIGRlZmluZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfZW5jb2RlKQot
ICAgIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zX2VuY29kZQotI2Vsc2UKLSAg
ICBVTlVTRURfUEFSQU0oZW5jb2Rlcik7Ci0jZW5kaWYKLX0KLQotdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4KLXN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGE+IEFwcGxlUGF5
U2hpcHBpbmdNZXRob2REYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKLXsKLSAgICBBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kRGF0YSByZXN1bHQ7Ci0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0
YShkZWNvZGVyKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXR1cm4gcmVz
dWx0OwotfQotCi10ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotYm9vbCBBcHBsZVBheVNoaXBwaW5n
TWV0aG9kRGF0YTo6ZGVjb2RlRGF0YShEZWNvZGVyJiBkZWNvZGVyKQotewotI2lmIGRlZmluZWQo
QXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfZGVjb2RlRGF0YSkKLSAgICBBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0aW9uc19kZWNvZGVEYXRhCi0jZWxzZQotICAgIFVO
VVNFRF9QQVJBTShkZWNvZGVyKTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdN
ZXRob2REYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ01ldGhvZERhdGEuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlY2Q2
ZTUyYTljYWVmZDZiOWI3NDNhZjYwYzJhZWZmMmU0NDM4MTFlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjkg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCi1dIGRp
Y3Rpb25hcnkgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEgewotfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRl
eCA1ZDhjYmI2NGJhODI2YzJlNzEzMGJmMmM1NWRlNWQ5MDZjYTRkZDlkLi41ODFlOTEzZDU2Zjg4
OWIxMTliY2MwM2E1NWJhMTE1MzExYjIwYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0yOCw3ICsyOCw3
IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZS5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5o
IgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIgogI2luY2x1ZGUgIkFw
cGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZC5oIgpAQCAtMTU0LDE2ICsxNTQsMTYgQEAgdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6
OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGEK
ICAgICBtX2NsaWVudC5jb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oV1RGTW92ZSh1cGRh
dGUpKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIFBheW1lbnRDb29yZGluYXRv
cjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRlKQordm9pZCBQYXltZW50Q29vcmRpbmF0
b3I6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9u
Q29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZlU2Vzc2lvbik7Ci0g
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5n
ZSgpIik7Ci0gICAgbV9jbGllbnQuY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShXVEZN
b3ZlKHVwZGF0ZSkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNvbXBsZXRlQ291cG9u
Q29kZUNoYW5nZSgpIik7CisgICAgbV9jbGllbnQuY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdU
Rk1vdmUodXBkYXRlKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAog
dm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRp
b25hbDxQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJiByZXN1bHQpCiB7CkBAIC0yNDksMjAg
KzI0OSwyMCBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0U2hpcHBpbmdDb250
YWN0KGNvbnN0IFBheW1lbnRDb250YWN0JiBzaGlwcGluZwogICAgIG1fYWN0aXZlU2Vzc2lvbi0+
ZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KHNoaXBwaW5nQ29udGFjdCk7CiB9CiAKLSNpZiBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKIAotdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZVBheW1lbnRN
ZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKQordm9pZCBQYXltZW50Q29vcmRp
bmF0b3I6OmRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSkKIHsKICAgICBp
ZiAoIW1fYWN0aXZlU2Vzc2lvbikgewogICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhl
IHBheW1lbnQgaGFzIGJlZW4gYWJvcnRlZCBhbHJlYWR5LgogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1v
ZGUoKSIpOwotICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUo
V1RGTW92ZShwYXltZW50TWV0aG9kTW9kZSkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
ImRpZENoYW5nZUNvdXBvbkNvZGUoKSIpOworICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkQ2hhbmdl
Q291cG9uQ29kZShXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQogCiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2FuY2VsUGF5bWVu
dFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmIGVycm9yKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggYjJk
MDJjNTEwMTE4ZWVlMWUwOWFmMTI1ZDU5YTBiNGMyOGI0MzQ3Zi4uOWJmZmQ0YzBkOTI4YzA4ODJi
ZmFlOWRiOGE1MTZhZTU3NDYwM2Y0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCkBAIC00NCw5ICs0NCw3IEBAIGNsYXNz
IFBheW1lbnRNZXRob2Q7CiBjbGFzcyBQYXltZW50U2Vzc2lvbjsKIGNsYXNzIFBheW1lbnRTZXNz
aW9uRXJyb3I7CiBlbnVtIGNsYXNzIFBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzOwotI2lmIEVO
QUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0cnVjdCBBcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU7CiBzdHJ1Y3QgQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2V0dXBDb25maWd1cmF0
aW9uOwogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlOwpAQCAtNzUsOSArNzMs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0
ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7CiAgICAgdm9pZCBj
b21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlPiYmKTsKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJik7Ci0j
aWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxl
dGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVVcGRhdGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQg
Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlPiYmKTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6
Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmKTsKICAgICB2b2lkIGFib3J0
UGF5bWVudFNlc3Npb24oKTsKICAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCk7CkBAIC04
Nyw5ICs4NSw5IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZFNlbGVjdFBh
eW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0
IFBheW1lbnRDb250YWN0Jik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9N
T0RFKQotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUo
U3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQor
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vw
b25Db2RlKTsKKyNlbmRpZgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2FuY2VsUGF5bWVu
dFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmKTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8U3Ry
aW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhEb2N1bWVudCYsIHVuc2lnbmVkIHZlcnNpb24s
IGNvbnN0IFN0cmluZyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5kZXggYzUwNzM2N2M5
MzNhMTU3OTQ0ZDM3MjRiM2U5NDBjNzlmZTEzZTExYy4uODcyN2UwZGE3MzVlOGNjM2FkNjliZjU0
YjAzN2Y2YzU4MWQ5YjE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0zNyw5ICszNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBQYXltZW50TWVy
Y2hhbnRTZXNzaW9uOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
LXN0cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFw
cGxlUGF5U2V0dXBDb25maWd1cmF0aW9uOwogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0
VXBkYXRlOwpAQCAtNjAsOSArNTgsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5n
TWV0aG9kVXBkYXRlPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlU2hpcHBpbmdD
b250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRh
dGU+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0
aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlPiYmKSA9IDA7Ci0j
aWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZpcnR1YWwgdm9p
ZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJikgPSAwOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQorICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25h
bDxBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYpID0gMDsKKyNlbmRpZgogICAgIHZpcnR1YWwg
dm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6
YXRpb25SZXN1bHQ+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lv
bigpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRIZWFkZXJz
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRIZWFkZXJzLmgKaW5k
ZXggMWIyM2QyOWIyMDk3NjhhMWVmMmFjMzg1NzUyMmUxNThjZGM4ZWVlYy4uZjI1ZGQxZTQxMjA3
MTdjMjEzMzFjYTVkNWI1MmJkYTkwZDNkYTVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50SGVhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudEhlYWRlcnMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCIK
KyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBh
eVBheW1lbnRNZXRob2RVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmgKaW5k
ZXggYzEyNTA4YTE2MGJkYzE2ZDRhMzA3NTRkMGRkMzgxOGQ5NzEwOWRiNi4uZGY0MmE1ZTE0NzM0
MDdkMTM3Zjc3ZjBlNmFlODQ2YWYyMGI1NWNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uaApAQCAtNTEsOSArNTEsOSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5
U2hpcHBpbmdNZXRob2QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNlbGVjdFNoaXBwaW5n
Q29udGFjdChjb25zdCBQYXltZW50Q29udGFjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
U2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJikgPSAwOwotI2lmIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hh
bmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpID0gMDsKLSNl
bmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ291cG9u
Q29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKSA9IDA7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmKSA9IDA7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1l
bnRBUElWZXJzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2Nv
Y29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KaW5kZXggMTJlNDRmYWE0ZTA4MWFmNjQwOTBl
YTgyN2EyYjExYjY4MTc5MGRjNi4uODcyNzZlODUzNTRhMDk3ZTYwYjU4ZGRiMGI1OGQ3NjRjZWZm
OTBiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9Q
YXltZW50QVBJVmVyc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpAQCAtMzUsNyArMzUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgp
CiB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7Ci0jaWYgRU5BQkxFKEFQUExF
X1BBWV9TRVNTSU9OX1YxMikKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKSB8fCBF
TkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKSB8fCBFTkFCTEUo
QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVGRVJS
RURfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NP
TVBPTkVOVFNfUkFOR0UpCiAgICAgICAgIHJldHVybiAxMjsKICNlbGlmIEVOQUJMRShBUFBMRV9Q
QVlfU0VTU0lPTl9WMTEpCiAgICAgICAgIHJldHVybiAxMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29hLm1t
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50U3VtbWFyeUl0
ZW1zQ29jb2EubW0KaW5kZXggMTFlZGIwYjQ5NmRkNzkwM2YwZmI1YTJjNjJlNmVmODIxYWNjNDJk
Ni4uNjE0Y2I4ZDg4YzkzYmFlYTBkZjg4OWIwMTljZDNmNWQ3OTZiZDIxZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50U3VtbWFyeUl0ZW1z
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXlt
ZW50U3VtbWFyeUl0ZW1zQ29jb2EubW0KQEAgLTUwLDE2ICs1MCw3OCBAQCBzdGF0aWMgUEtQYXlt
ZW50U3VtbWFyeUl0ZW1UeXBlIHRvUEtQYXltZW50U3VtbWFyeUl0ZW1UeXBlKEFwcGxlUGF5TGlu
ZUl0ZW06OlR5cAogICAgIH0KIH0KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1w
b3J0IDxXZWJLaXRBZGRpdGlvbnMvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29hQWRkaXRpb25zLm1t
PgotI2VuZGlmCisjaWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEhBVkUo
UEFTU0tJVF9ERUZFUlJFRF9MSU5FX0lURU0pCisKK3N0YXRpYyBOU0RhdGUgKnRvRGF0ZShkb3Vi
bGUgZGF0ZSkKK3sKKyAgICByZXR1cm4gW05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNl
MTk3MDpkYXRlXTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfTElORV9J
VEVNKSB8fCBIQVZFKFBBU1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorCisjaWYgSEFWRShQQVNT
S0lUX1JFQ1VSUklOR19MSU5FX0lURU0pCisKK3N0YXRpYyBOU0NhbGVuZGFyVW5pdCB0b0NhbGVu
ZGFyVW5pdChBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdCB1bml0KQoreworICAgIHN3
aXRjaCAodW5pdCkgeworICAgIGNhc2UgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6
OlllYXI6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdFllYXI7CisKKyAgICBjYXNlIEFw
cGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0OjpNb250aDoKKyAgICAgICAgcmV0dXJuIE5T
Q2FsZW5kYXJVbml0TW9udGg7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERh
dGVVbml0OjpEYXk6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdERheTsKKworICAgIGNh
c2UgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6OkhvdXI6CisgICAgICAgIHJldHVy
biBOU0NhbGVuZGFyVW5pdEhvdXI7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0OjpNaW51dGU6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdE1pbnV0ZTsK
KyAgICB9Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRFTSkK
IAotI2lmICFFTkFCTEUoQVBQTEVfUEFZX0xJTkVfSVRFTV9EQVRBKQogc3RhdGljIFBLUGF5bWVu
dFN1bW1hcnlJdGVtICp0b1BLUGF5bWVudFN1bW1hcnlJdGVtKGNvbnN0IEFwcGxlUGF5TGluZUl0
ZW0mIGxpbmVJdGVtKQogeworI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfTElORV9JVEVNKSB8
fCBIQVZFKFBBU1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorICAgIHN3aXRjaCAobGluZUl0ZW0u
cGF5bWVudFRpbWluZykgeworICAgIGNhc2UgQXBwbGVQYXlQYXltZW50VGltaW5nOjpJbW1lZGlh
dGU6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBcHBsZVBheVBheW1lbnRUaW1pbmc6OlJl
Y3VycmluZzoKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICB7Cisg
ICAgICAgIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtICpzdW1tYXJ5SXRlbSA9IFtQQUw6
OmdldFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhM
YWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGxpbmVJdGVtLmFtb3Vu
dCkgdHlwZTp0b1BLUGF5bWVudFN1bW1hcnlJdGVtVHlwZShsaW5lSXRlbS50eXBlKV07CisgICAg
ICAgIGlmICghc3RkOjppc25hbihsaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRlKSkK
KyAgICAgICAgICAgIHN1bW1hcnlJdGVtLnN0YXJ0RGF0ZSA9IHRvRGF0ZShsaW5lSXRlbS5yZWN1
cnJpbmdQYXltZW50U3RhcnREYXRlKTsKKyAgICAgICAgc3VtbWFyeUl0ZW0uaW50ZXJ2YWxVbml0
ID0gdG9DYWxlbmRhclVuaXQobGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCk7
CisgICAgICAgIHN1bW1hcnlJdGVtLmludGVydmFsQ291bnQgPSBsaW5lSXRlbS5yZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxDb3VudDsKKyAgICAgICAgaWYgKCFzdGQ6OmlzbmFuKGxpbmVJdGVtLnJl
Y3VycmluZ1BheW1lbnRFbmREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJdGVtLmVuZERhdGUg
PSB0b0RhdGUobGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEVuZERhdGUpOworICAgICAgICByZXR1
cm4gc3VtbWFyeUl0ZW07CisgICAgfQorI2Vsc2UKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKKwor
ICAgIGNhc2UgQXBwbGVQYXlQYXltZW50VGltaW5nOjpEZWZlcnJlZDoKKyNpZiBIQVZFKFBBU1NL
SVRfREVGRVJSRURfTElORV9JVEVNKQorICAgIHsKKyAgICAgICAgUEtEZWZlcnJlZFBheW1lbnRT
dW1tYXJ5SXRlbSAqc3VtbWFyeUl0ZW0gPSBbUEFMOjpnZXRQS0RlZmVycmVkUGF5bWVudFN1bW1h
cnlJdGVtQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91bnQ6
dG9EZWNpbWFsTnVtYmVyKGxpbmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5bWVudFN1bW1hcnlJ
dGVtVHlwZShsaW5lSXRlbS50eXBlKV07CisgICAgICAgIGlmICghc3RkOjppc25hbihsaW5lSXRl
bS5kZWZlcnJlZFBheW1lbnREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJdGVtLmRlZmVycmVk
RGF0ZSA9IHRvRGF0ZShsaW5lSXRlbS5kZWZlcnJlZFBheW1lbnREYXRlKTsKKyAgICAgICAgcmV0
dXJuIHN1bW1hcnlJdGVtOworICAgIH0KKyNlbHNlCisgICAgICAgIGJyZWFrOworI2VuZGlmCisg
ICAgfQorI2VuZGlmCisKICAgICByZXR1cm4gW1BBTDo6Z2V0UEtQYXltZW50U3VtbWFyeUl0ZW1D
bGFzcygpIHN1bW1hcnlJdGVtV2l0aExhYmVsOmxpbmVJdGVtLmxhYmVsIGFtb3VudDp0b0RlY2lt
YWxOdW1iZXIobGluZUl0ZW0uYW1vdW50KSB0eXBlOnRvUEtQYXltZW50U3VtbWFyeUl0ZW1UeXBl
KGxpbmVJdGVtLnR5cGUpXTsKIH0KLSNlbmRpZgogCiBOU0FycmF5ICpwbGF0Zm9ybVN1bW1hcnlJ
dGVtcyhjb25zdCBBcHBsZVBheUxpbmVJdGVtJiB0b3RhbCwgY29uc3QgVmVjdG9yPEFwcGxlUGF5
TGluZUl0ZW0+JiBsaW5lSXRlbXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcAppbmRleCBiYzc3YTkxNWIzOTJmMzY1N2ExOTZiOTU5YmJhNGQ5MDk5
ZTZiNjQ0Li4wOWQzOWZmMTdjM2NiNTk3OTJiZWZlN2FkYWQ1M2YyNGU1Njg0Y2IxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKQEAgLTMwLDYgKzMw
LDggQEAKIAogI2luY2x1ZGUgIkFkZHJlc3NFcnJvcnMuaCIKICNpbmNsdWRlICJBcHBsZVBheUNv
bnRhY3RGaWVsZC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCIKKyNp
bmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheURl
dGFpbHNVcGRhdGVEYXRhLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlFcnJvci5oIgogI2luY2x1ZGUg
IkFwcGxlUGF5RXJyb3JDb2RlLmgiCkBAIC0zOCw4ICs0MCw2IEBACiAjaW5jbHVkZSAiQXBwbGVQ
YXlNZXJjaGFudENhcGFiaWxpdHkuaCIKICNpbmNsdWRlICJBcHBsZVBheU1vZGlmaWVyLmgiCiAj
aW5jbHVkZSAiQXBwbGVQYXlQYXltZW50LmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0
aG9kTW9kZURldGFpbHMuaCIKLSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVk
ZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRlICJBcHBsZVBheVNo
aXBwaW5nQ29udGFjdFVwZGF0ZS5oIgpAQCAtNDgsMTEgKzQ4LDEwIEBACiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNp
bmNsdWRlICJKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCIKICNpbmNsdWRlICJKU0FwcGxl
UGF5RXJyb3IuaCIKLSNpbmNsdWRlICJKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmgiCiAjaW5jbHVk
ZSAiSlNBcHBsZVBheVBheW1lbnQuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhv
ZC5oIgotI2luY2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaCIKICNp
bmNsdWRlICJKU0FwcGxlUGF5UmVxdWVzdC5oIgogI2luY2x1ZGUgIkpTRE9NQ29udmVydC5oIgog
I2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCkBAIC01OTIsMTEgKzU5MSwxMSBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGluZ09wdGlvblVwZGF0
ZWQoKQogCiBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXltZW50
TWV0aG9kVXBkYXRlZChWZWN0b3I8UmVmUHRyPEFwcGxlUGF5RXJyb3I+PiYmIGVycm9ycykKIHsK
LSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgaWYgKG1fdXBk
YXRlU3RhdGUgPT0gVXBkYXRlU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlKSB7CisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBpZiAobV91cGRhdGVTdGF0ZSA9PSBVcGRhdGVT
dGF0ZTo6Q291cG9uQ29kZSkgewogICAgICAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6
Ok5vbmU7CiAKLSAgICAgICAgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZSB1cGRhdGU7
CisgICAgICAgIEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSB1cGRhdGU7CiAgICAgICAgIHVwZGF0
ZS5lcnJvcnMgPSBXVEZNb3ZlKGVycm9ycyk7CiAKICAgICAgICAgYXV0byBuZXdTaGlwcGluZ01l
dGhvZHMgPSBjb21wdXRlU2hpcHBpbmdNZXRob2RzKCk7CkBAIC02MTUsMTIgKzYxNCwxMiBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXltZW50TWV0aG9kVXBk
YXRlZChWZWN0b3I8UmVmUHRyPEFwcAogICAgICAgICBpZiAoYXV0byBtb2RpZmllckRhdGEgPSBt
b2RpZmllckV4Y2VwdGlvbi5yZWxlYXNlUmV0dXJuVmFsdWUoKSkKICAgICAgICAgICAgIG1lcmdl
KHVwZGF0ZSwgV1RGTW92ZShzdGQ6OmdldDwxPigqbW9kaWZpZXJEYXRhKSkpOwogCi0gICAgICAg
IHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoV1RG
TW92ZSh1cGRhdGUpKTsKKyAgICAgICAgcGF5bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVDb3Vw
b25Db2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CiAgICAgICAgIHJldHVybiB7IH07CiAgICAg
fQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZXJyb3JzKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQ
TEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKIAogICAgIEFTU0VSVChtX3VwZGF0ZVN0YXRlID09IFVwZGF0ZVN0YXRlOjpQ
YXltZW50TWV0aG9kKTsKICAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6Ok5vbmU7CkBA
IC03NTAsMjAgKzc0OSwyMCBAQCB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZFNlbGVj
dFBheW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudAogICAgIH0pOwogfQog
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShB
UFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLXZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlk
Q2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpCit2b2lk
IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291
cG9uQ29kZSkKIHsKICAgICBBU1NFUlQobV91cGRhdGVTdGF0ZSA9PSBVcGRhdGVTdGF0ZTo6Tm9u
ZSk7Ci0gICAgbV91cGRhdGVTdGF0ZSA9IFVwZGF0ZVN0YXRlOjpQYXltZW50TWV0aG9kTW9kZTsK
KyAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6OkNvdXBvbkNvZGU7CiAKLSAgICBBcHBs
ZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyBhcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0
YWlscyB7IFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGUpIH07Ci0gICAgbV9wYXltZW50UmVxdWVz
dC0+cGF5bWVudE1ldGhvZENoYW5nZWQoV1RGOjpnZXQ8VVJMPihtX2lkZW50aWZpZXIpLnN0cmlu
ZygpLCBbYXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMgPSBXVEZNb3ZlKGFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzKV0gKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIHRvSlNEaWN0aW9uYXJ5KGxleGljYWxHbG9i
YWxPYmplY3QsIGFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzKTsKKyAgICBBcHBsZVBh
eUNvdXBvbkNvZGVEZXRhaWxzIGFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMgeyBXVEZNb3ZlKGNv
dXBvbkNvZGUpIH07CisgICAgbV9wYXltZW50UmVxdWVzdC0+cGF5bWVudE1ldGhvZENoYW5nZWQo
V1RGOjpnZXQ8VVJMPihtX2lkZW50aWZpZXIpLnN0cmluZygpLCBbYXBwbGVQYXlDb3Vwb25Db2Rl
RGV0YWlscyA9IFdURk1vdmUoYXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscyldIChKU0M6OkpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSB7CisgICAgICAgIHJldHVybiB0b0pTRGlj
dGlvbmFyeShsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzKTsK
ICAgICB9KTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0Rf
TU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIEFw
cGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFBheW1lbnRTZXNz
aW9uRXJyb3ImJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVy
LmgKaW5kZXggNzExYzJiNjU4NWZhNjVlNzcxYWJkMWIyOTY1YmYxMTNlMDI2MDI1MS4uZDRhZWFm
NjZhNGViOGJlYzcyMTQ4ZWIxNWU3YjgyZDI1YWUxNDA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5k
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTg3LDkgKzg3LDkgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2hpcHBpbmdNZXRo
b2QmKSBmaW5hbDsKICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBQYXlt
ZW50Q29udGFjdCYpIGZpbmFsOwogICAgIHZvaWQgZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25z
dCBQYXltZW50TWV0aG9kJikgZmluYWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQotICAgIHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYg
cGF5bWVudE1ldGhvZE1vZGUpIGZpbmFsOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAg
IHZvaWQgZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKSBmaW5hbDsKKyNl
bmRpZgogICAgIHZvaWQgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJv
ciYmKSBmaW5hbDsKIAogICAgIFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyIG1faWRl
bnRpZmllcjsKQEAgLTEwMiw5ICsxMDIsOSBAQCBwcml2YXRlOgogICAgICAgICBTaGlwcGluZ0Fk
ZHJlc3MsCiAgICAgICAgIFNoaXBwaW5nT3B0aW9uLAogICAgICAgICBQYXltZW50TWV0aG9kLAot
I2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICAgICAgUGF5bWVu
dE1ldGhvZE1vZGUsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9N
T0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgICAgIENvdXBvbkNv
ZGUsCisjZW5kaWYKICAgICB9IG1fdXBkYXRlU3RhdGUgeyBVcGRhdGVTdGF0ZTo6Tm9uZSB9Owog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29m
dExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgK
aW5kZXggM2ZiYWU4YzIwZDFlMzk0YzI0YmQ2MWFkZDdjNDI3ZWZkMGRmZGU2OC4uMGJjMjViNWNm
NWNiMWUzMGU5OWZlYTY2M2IxMDk3ODI4YjY1YWJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCkBAIC01Miw2ICs1MiwyMiBAQCBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlv
bikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRJ
dGVtKQogI2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtSZWN1cnJpbmdQYXltZW50U3VtbWFy
eUl0ZW0pCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0p
CitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLRGVmZXJyZWRQYXltZW50U3VtbWFy
eUl0ZW0pCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS0RhdGVD
b21wb25lbnRzUmFuZ2UpCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkK
K1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50UmVxdWVzdENvdXBvbkNv
ZGVVcGRhdGUpCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiBTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyKQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5r
Lm1tCmluZGV4IDY1ZmExMWZjNDVjN2NiZjY5Y2FhMjdlNzI0NDdiMzc0YjUzNWEyNDMuLmUxNTZj
YmI4YjVlMjVjMjIwMTY0NzgxNGI4YTlkZmNiZDc5N2U4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCkBAIC01Niw2ICs1NiwyMiBAQCBT
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NL
aXQsIFBLUGF5bWVudEluc3RhbGxtZQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfT1BUSU9O
QUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW0sIFBB
TF9FWFBPUlQpCiAjZW5kaWYKIAorI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9J
VEVNKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQS1JlY3VycmluZ1BheW1lbnRTdW1tYXJ5SXRlbSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCisj
aWYgSEFWRShQQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTSkKK1NPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtEZWZlcnJlZFBheW1lbnRTdW1t
YXJ5SXRlbSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5H
X01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLRGF0ZUNvbXBvbmVudHNSYW5nZSwgUEFMX0VY
UE9SVCkKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRSZXF1
ZXN0Q291cG9uQ29kZVVwZGF0ZSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCiBTT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLQ29udGFjdCwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tp
dCwgUEtQYXNzTGlicmFyeSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50LCBQQUxfRVhQT1JUKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCmluZGV4IDFlMGEyMTEx
MDBmZTlhMzU3MjZlZmQwYmY2ZDdmYjZlZjBhM2IwMjQuLmIyYTJiMWFlMWQ5NzMzZjNhMWZiZGI4
ZjExZTBhM2FjYTY3ZWNjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9QYXNzS2l0U1BJLmgKQEAgLTU5LDcgKzU5LDE3IEBAIFdURl9FWFRFUk5fQ19FTkQKICNpbXBv
cnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CiAjZW5kaWYKIAotI2ltcG9y
dCA8V2ViS2l0QWRkaXRpb25zL1Bhc3NLaXRTUElBZGRpdGlvbnMuaD4KKyNpZiBIQVZFKFBBU1NL
SVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUmVjdXJy
aW5nUGF5bWVudFN1bW1hcnlJdGVtLmg+CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9ERUZF
UlJFRF9TVU1NQVJZX0lURU0pCisjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS0RlZmVycmVkUGF5bWVu
dFN1bW1hcnlJdGVtLmg+CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRI
T0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtEYXRlQ29t
cG9uZW50c1JhbmdlLmg+CisjZW5kaWYKIAogI2Vsc2UKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFr
ZQppbmRleCAxOWVhM2FkZmQ4NjJlMWMwMzhkOGVjYmExMmIzMGE0YTgwOWRiMjY5Li4yYjM5MDYx
MmM4NTU3ZWEwNjM0ZDZjNDZiMzE3MTBhNTM3YWI0NTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5j
bWFrZQpAQCAtNDQ5LDIxICs0NDksMjMgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0ZS
QU1FV09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9haXJwbGF5L1dlYk1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaAogICAgIE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyQ2xpZW50LmgK
IAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgKKyAgICBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaAorICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlEZXRhaWxzVXBkYXRlRGF0YS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9y
LmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgKICAgICBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaAogICAgIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlMaW5lSXRlbS5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJ
dGVtRGF0YS5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
RGV0YWlscy5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
VXBkYXRlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0
ZS5oCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaAorICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cENvbmZpZ3VyYXRpb24uaAogICAgIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXR1cEZlYXR1cmVXZWJDb3JlLmgKKyAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaAogICAgIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nTWV0aG9kRGF0YS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBw
aW5nTWV0aG9kVXBkYXRlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNz
aW9uRXJyb3IuaApAQCAtNzM1LDYgKzczNywxMSBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZB
VEVfRlJBTUVXT1JLX0hFQURFUlMKIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAg
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmlkbAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlLmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29t
cG9uZW50cy5pZGwKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNS
YW5nZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2Uu
aWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmlkbAog
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwKQEAgLTc0NSwyMCArNzUyLDE5
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAogICAgIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwKLSAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGlu
ZUl0ZW1EYXRhLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudENhcGFi
aWxpdHkuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnQuaWRsCiAgICAg
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0LmlkbAog
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmlkbAog
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwKICAgICBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5pZGwKLSAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbAotICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKICAgICBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRsCiAgICAgTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmlkbAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmlkbAogICAgIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50UGFzcy5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRU
aW1pbmcuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRs
CiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCiAgICAgTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb25FcnJvci5pZGwKQEAgLTc2NywxMCArNzczLDEwIEBAIGxp
c3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNldHVwRmVhdHVyZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXBGZWF0
dXJlU3RhdGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVR5
cGUuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RT
ZWxlY3RlZEV2ZW50LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RVcGRhdGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0
aG9kLmlkbAotICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEu
aWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRF
dmVudC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRh
dGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVu
dC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDdiY2Q4ZDFkNGVlMDlhYzZlYzIwNWE3
MDk0ODU0OTFjODc4YTIzNzAuLjQ3MWQ4YTUxYmEyM2NiNWI4Y2Q1MzE0MzQ5MmI2MTE1NmU0NWE1
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMjMsNiArMjMsMTEgQEAKIAogSlNBcHBs
ZVBheUNhbmNlbEV2ZW50LmNwcAogSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKK0pTQXBwbGVQ
YXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcAorSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxz
LmNwcAorSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwCitKU0FwcGxlUGF5RGF0ZUNvbXBv
bmVudHMuY3BwCitKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5jcHAKIEpTQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlQmFzZS5jcHAKIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5jcHAKIEpT
QXBwbGVQYXlFcnJvci5jcHAKQEAgLTMzLDcgKzM4LDYgQEAgSlNBcHBsZVBheUluc3RhbGxtZW50
SXRlbS5jcHAKIEpTQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmNwcAogSlNBcHBsZVBheUlu
c3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5jcHAKIEpTQXBwbGVQYXlMaW5lSXRlbS5jcHAKLUpTQXBw
bGVQYXlMaW5lSXRlbURhdGEuY3BwCiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcAog
SlNBcHBsZVBheU1vZGlmaWVyLmNwcAogSlNBcHBsZVBheVBheW1lbnQuY3BwCkBAIC00MSwxMyAr
NDUsMTMgQEAgSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0LmNwcAogSlNBcHBs
ZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuY3BwCiBKU0FwcGxlUGF5UGF5bWVudENvbnRhY3Qu
Y3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5jcHAKLUpTQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZURldGFpbHMuY3BwCi1KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuY3BwCiBK
U0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiBKU0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFR5cGUuY3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5jcHAKIEpTQXBw
bGVQYXlQYXltZW50UGFzcy5jcHAKIEpTQXBwbGVQYXlQYXltZW50UmVxdWVzdC5jcHAKK0pTQXBw
bGVQYXlQYXltZW50VGltaW5nLmNwcAorSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5p
dC5jcHAKIEpTQXBwbGVQYXlSZXF1ZXN0LmNwcAogSlNBcHBsZVBheVJlcXVlc3RCYXNlLmNwcAog
SlNBcHBsZVBheVNlc3Npb24uY3BwCkBAIC01NywxNCArNjEsMTUgQEAgSlNBcHBsZVBheVNldHVw
Q29uZmlndXJhdGlvbi5jcHAKIEpTQXBwbGVQYXlTZXR1cEZlYXR1cmUuY3BwCiBKU0FwcGxlUGF5
U2V0dXBGZWF0dXJlU3RhdGUuY3BwCiBKU0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5jcHAKK0pT
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5jcHAKIEpTQXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcAogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0
ZS5jcHAKIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5jcHAKLUpTQXBwbGVQYXlTaGlwcGluZ01l
dGhvZERhdGEuY3BwCiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcAog
SlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmNwcAogSlNBcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudC5jcHAKIE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmNw
cAorTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCiBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwCiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5Q29udGFjdEZpZWxkLmNwcAogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheU1lcmNo
YW50Q2FwYWJpbGl0eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBkNzdiOGZlOWY3MmM2YWI1MDBjZjU2NzEzYjZjMjQxOWI0
YTRiZDlkLi4yYWNjMWVlYjAyMzY0OWEyOWVkYjI0NjQ0NzZlODhjMjA2OTYxNDgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MzkwLDcgKzIzOTAsNiBAQAogCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlM
aW5lSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M2NTc5RTIxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzY1NzlFODFFMDA4MzE2
MDBFM0EyN0EgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RTcxRTAwODMxNjAwRTNBMjdBIC8qIEFw
cGxlUGF5U2hpcHBpbmdNZXRob2QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3QzY1NzlGMDFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxp
bmVJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmggKi87IH07Ci0J
CTdDNjU3OUYyMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNjU3OUVDMUUw
MDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCAqLzsgfTsKIAkJN0M2
NTc5RjQxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RUUxRTAwODU2
NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oICovOyB9OwogCQk3QzczRkIw
NzE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzczRkIwNTE5MUVG
NDE2MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgKi87IH07CiAJ
CTdDNzNGQjA4MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzczRkIw
NjE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yOTgxLDIwICsy
OTgwLDMwIEBACiAJCTk0RTgzOTUxMURGQjJBMEUwMDdCQzZBNyAvKiBDU1NOYW1lc3BhY2VSdWxl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NEU4Mzk0
RjFERkIyNzAwMDA3QkM2QTcgLyogQ1NTTmFtZXNwYWNlUnVsZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk0RTgzOTU2MURGQjJCQzQwMDdCQzZB
NyAvKiBKU0NTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk0RTgzOTU0MURGQjJCQTYwMDdCQzZBNyAvKiBKU0NTU05hbWVzcGFj
ZVJ1bGUuaCAqLzsgfTsKIAkJOTUwMTgzQ0QyNUQ2MzNEOTAwRDQzNDBGIC8qIEFwcGxlUGF5RGV0
YWlsc1VwZGF0ZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk1MDE4M0NCMjVENjMzRDgwMEQ0MzQwRiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVC
YXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
OTUxREVERDIyNUUwODQ1QTAwMjBFMUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTFERUREMDI1
RTA4NDVBMDAyMEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5NTFERURENjI1RTA4NDlF
MDAyMEUxRUUgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTUxREVERDQyNUUwODQ5RDAwMjBFMUVF
IC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCAqLzsgfTsKIAkJOTUyN0Q3QUIyNUQ1
RkRFMjAwQTZFMTc2IC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MjdEN0E4MjVENUZERTEwMEE2RTE3
NiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTUyN0Q3QUYyNUQ1RkU2QzAwQTZFMTc2IC8qIEpT
QXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTUyN0Q3QUQyNUQ1RkU2QjAwQTZFMTc2IC8qIEpTQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlRGF0YS5oICovOyB9OwogCQk5NTNCQ0VCMjI1RDYyODNEMDBBNEEyQTEgLyog
SlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5NTNCQ0VBRjI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBh
eURldGFpbHNVcGRhdGVCYXNlLmggKi87IH07CiAJCTk1NjJFRUREMjVGMThERTcwMDMzNDQ0MiAv
KiBQYXltZW50UmVxdWVzdFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTU2MkVFREIyNUYxOERFNjAwMzM0NDQyIC8qIFBheW1lbnRSZXF1
ZXN0VXRpbGl0aWVzLmggKi87IH07Ci0JCTk1Njg0RDgzMjY1MzU3RjgwMDAyNjkzOCAvKiBBcHBs
ZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTU2ODREODEyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmggKi87IH07Ci0JCTk1NkZDNEJCMjVENDlDN0IwMEY3
QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTU2RkM0QjgyNUQ0OUM3QTAwRjdCM0EyIC8qIEFwcGxlUGF5
TGluZUl0ZW1EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJOTU2RkM0QkIyNUQ0OUM3QjAwRjdCM0EzIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1NkZD
NEJBMjVENDlDN0QwMEY3QjNBMiAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggKi87IH07Ci0J
CTk1OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTk2
QjkzMDI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk1OTZC
OTM4MjVERUVGMDMwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZCOTM2
MjVERUVGMDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCAq
LzsgfTsKKwkJOTU2ODREODMyNjUzNTdGODAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURl
dGFpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi87
IH07CisJCTk1OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZC
OTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5NTk2QjkzODI1REVF
RjAzMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZCOTM2MjVERUVGMDIw
MEVEMkNGQSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oICovOyB9OwogCQk5
NUExRTJFOTI1Q0M3NUE5MDAyNjhDOEUgLyogTWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBMUUyRTcy
NUNDNzVBODAwMjY4QzhFIC8qIE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5NUFBNTcxMDI1RUVF
RDMyMDA0RTkyODMgLyogSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBQTU3MEUyNUVFRUQzMTAwNEU5Mjgz
IC8qIEluc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIuaCAqLzsgfTsKIAkJOTVERjlEMjUyNTJCRURC
MjAwMEQ3RjQ2IC8qIFBvaW50ZXJDaGFyYWN0ZXJpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1REY5RDIzMjUyQkVEOTkwMDBEN0Y0NiAvKiBQ
b2ludGVyQ2hhcmFjdGVyaXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NjMyNjZFRjJEQjAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291
cG9uQ29kZUNoYW5nZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTVFQUQ1NUYyNjZFRjJEQTAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9uQ29k
ZUNoYW5nZWRFdmVudC5oICovOyB9OworCQk5NUVBRDU2QTI2NkVGMkZBMDA0QjlDRjEgLyogQXBw
bGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NUVBRDU2NjI2NkVGMkY4MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRl
Q29tcG9uZW50c1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJOTVFQUQ1NkQyNjZFRjJGQTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBv
bmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1
RUFENTY5MjY2RUYyRjkwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NzAyNjZF
RjM4NjAwNEI5Q0YxIC8qIEFwcGxlUGF5UGF5bWVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1NkUyNjZFRjM4NDAwNEI5Q0YxIC8q
IEFwcGxlUGF5UGF5bWVudFRpbWluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTk1RUFENTc0MjY2RUYzOTQwMDRCOUNGMSAvKiBBcHBsZVBheVJl
Y3VycmluZ1BheW1lbnREYXRlVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTVFQUQ1NzIyNjZFRjM5MjAwNEI5Q0YxIC8qIEFwcGxlUGF5UmVjdXJy
aW5nUGF5bWVudERhdGVVbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NzgyNjZFRjNBODAwNEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk1RUFENTc2MjY2RUYzQTYwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1ODIyNjZFRjUzOTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vw
b25Db2RlVXBkYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NUVBRDU4MTI2NkVGNTMxMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaCAqLzsgfTsKKwkJOTVFQUQ1ODMyNjZFRjUzQjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vw
b25Db2RlRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTVFQUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlRGV0
YWlscy5oICovOyB9OworCQk5NUVBRDU4NzI2NkVGNTZBMDA0QjlDRjEgLyogSlNBcHBsZVBheURh
dGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NUVBRDU4NTI2NkVGNTY5MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRz
LmggKi87IH07CisJCTk1RUFENThCMjY2RUY1N0EwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNv
bXBvbmVudHNSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTVFQUQ1ODkyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50
c1JhbmdlLmggKi87IH07CisJCTk1RUFENThFMjY2RUY1OUMwMDRCOUNGMSAvKiBKU0FwcGxlUGF5
UGF5bWVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTVFQUQ1OEMyNjZFRjU5QTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50VGltaW5n
LmggKi87IH07CisJCTk1RUFENTkzMjY2RUY1Q0QwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UmVjdXJy
aW5nUGF5bWVudERhdGVVbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NUVBRDU5MTI2NkVGNUNDMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3Vycmlu
Z1BheW1lbnREYXRlVW5pdC5oICovOyB9OworCQk5NUVBRDU5NDI2NkVGNUQ0MDA0QjlDRjEgLyog
SlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QzY1NzlFQzFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVBh
eW1lbnRSZXF1ZXN0LmggKi87IH07CisJCTk1RUFENTk3MjY2RUY2MEIwMDRCOUNGMSAvKiBKU0Fw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFENTk1MjY2RUY2MDkwMDRCOUNGMSAvKiBKU0Fw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCAqLzsgfTsKIAkJOTVGNDVEMjcyNjRE
RkJGMTAwRDBCOEI4IC8qIFBhZ2VDb2xvclNhbXBsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RjQ1RDI2MjY0REZCRUIwMEQwQjhCOCAvKiBQYWdl
Q29sb3JTYW1wbGVyLmggKi87IH07CiAJCTk3MDU5OTdBMTA3RDk3NTIwMEE1MEE3QyAvKiBQb2xp
Y3lDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NzA1OTk3NjEwN0Q5NzUyMDBBNTBBN0MgLyogUG9saWN5Q2hlY2tlci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk3MEI3MjhBMTQ0RkZBQzYw
MEYwMEEzNyAvKiBFdmVudEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3MEI3Mjg5MTQ0RkZBQzYwMEYwMEEzNyAvKiBFdmVudEludGVy
ZmFjZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtMTE5MjcsMTAgKzExOTM2LDYgQEAKIAkJOTUwQzQ4NDkyNUQ2Nzc0MjAwQUIzRDlDIC8qIG92
ZXJmbG93LXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAib3ZlcmZsb3ctc3VwcG9y
dC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1MEM0ODRCMjVENjc3NEUwMEFC
M0Q5QyAvKiBvdmVyZmxvdy1idXR0b24uanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAib3ZlcmZs
b3ctYnV0dG9uLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUwQzRDMDJCRUQ4
OTM2RjgxOEUyRjk5IC8qIEpTU1ZHR3JhcGhpY3NFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1NWR0dyYXBoaWNzRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5NTFERURDRTI1RTA4NDU5MDAyMEUxRUUgLyogQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZERhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2REYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTUxREVERDAyNUUw
ODQ1QTAwMjBFMUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1MURFREQzMjVFMDg0OUMwMDIwRTFFRSAvKiBKU0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk5NTFERURENDI1RTA4NDlEMDAyMEUxRUUgLyogSlNBcHBsZVBheVNo
aXBwaW5nTWV0aG9kRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk1MjdEN0E4MjVENUZERTEwMEE2RTE3NiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUyN0Q3QUEyNUQ1RkRFMTAwQTZF
MTc2IC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5NTI3RDdBRDI1RDVGRTZCMDBBNkUxNzYgLyogSlNBcHBsZVBheURldGFpbHNVcGRh
dGVEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlEZXRh
aWxzVXBkYXRlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE5NTQsMjAg
KzExOTU5LDQzIEBACiAJCTk1NTE5NTlEMjVGQTlFRkIwMEY1OENGMCAvKiBza2lwLWZvcndhcmQt
YnV0dG9uLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInNraXAtZm9yd2FyZC1idXR0b24uanMi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NTYyRUVEOTI1RjE4REU1MDAzMzQ0NDIg
LyogUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5NTYyRUVEQjI1RjE4REU2MDAzMzQ0NDIgLyogUGF5bWVudFJlcXVlc3RV
dGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGF5bWVudFJlcXVl
c3RVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU2ODREN0YyNjUz
NTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAv
KiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk5NTZGQzRCODI1RDQ5QzdBMDBGN0IzQTIgLyogQXBwbGVQ
YXlMaW5lSXRlbURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQ
YXlMaW5lSXRlbURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU2RkM0Qjgy
NUQ0OUM3QzAwRjdCM0EyIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1NkZDNEJBMjVENDlDN0IwMEY3QjNBMiAvKiBB
cHBsZVBheUxpbmVJdGVtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlM
aW5lSXRlbURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTZGQzRCQTI1
RDQ5QzdEMDBGN0IzQTIgLyogSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTk1OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJOTU5NkI5MzIyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVVcGRhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTk2Qjkz
NTI1REVFRjAwMDBFRDJDRkEgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1OTZC
OTM2MjVERUVGMDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1Njg0RDdGMjY1
MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTU2ODREODEyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5Q291
cG9uQ29kZURldGFpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQ
YXlDb3Vwb25Db2RlRGV0YWlscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2
QjkzMDI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyog
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NTk2QjkzNTI1REVFRjAwMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzNjI1REVF
RjAyMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVBMUUyRTcyNUNDNzVBODAwMjY4
QzhFIC8qIE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5NUFBNTcwRDI1RUVFRDMwMDA0RTkyODMgLyogSW5zcGVjdG9y
Q2FudmFzQ2FsbFRyYWNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTVBQTU3MEUyNUVFRUQzMTAwNEU5MjgzIC8qIEluc3BlY3RvckNhbnZhc0NhbGxUcmFj
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ2FudmFzQ2Fs
bFRyYWNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NURGOUQyMzI1MkJFRDk5
MDAwRDdGNDYgLyogUG9pbnRlckNoYXJhY3RlcmlzdGljcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb2lu
dGVyQ2hhcmFjdGVyaXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFE
NTVGMjY2RUYyREEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdl
ZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTYxMjY2RUYyREEw
MDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTYyMjY2RUYyREIwMDRCOUNGMSAvKiBBcHBsZVBh
eUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1NjYyNjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0
ZUNvbXBvbmVudHNSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBs
ZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTVFQUQ1NjcyNjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU2ODI2NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQ
YXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBh
eURhdGVDb21wb25lbnRzUmFuZ2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NUVBRDU2OTI2NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheURhdGVDb21wb25lbnRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTZFMjY2RUYzODQwMDRCOUNGMSAvKiBB
cHBsZVBheVBheW1lbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXBwbGVQYXlQYXltZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1
RUFENTZGMjY2RUYzODUwMDRCOUNGMSAvKiBBcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudFRpbWluZy5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTcyMjY2RUYzOTIwMDRCOUNGMSAvKiBBcHBsZVBheVJl
Y3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5NUVBRDU3MzI2NkVGMzkzMDA0QjlDRjEgLyogQXBwbGVQYXlSZWN1cnJpbmdQ
YXltZW50RGF0ZVVuaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UmVjdXJy
aW5nUGF5bWVudERhdGVVbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVF
QUQ1NzYyNjZFRjNBNjAwNEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01v
ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU3
NzI2NkVGM0E3MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTdEMjY2RUY1MjIw
MDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTVFQUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25D
b2RlRGV0YWlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODAyNjZFRjUzMDAwNEI5Q0Yx
IC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODEyNjZFRjUzMTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vw
b25Db2RlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTg0MjY2RUY1NjgwMDRCOUNG
MSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODUyNjZFRjU2OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlE
YXRlQ29tcG9uZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxl
UGF5RGF0ZUNvbXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1
ODgyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlEYXRlQ29tcG9u
ZW50c1JhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODkyNjZF
RjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENThDMjY2RUY1OUEwMDRCOUNGMSAv
KiBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5NUVBRDU4RDI2NkVGNTlCMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRUaW1pbmcu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheVBheW1l
bnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU5MDI2NkVG
NUNCMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5UmVjdXJyaW5nUGF5
bWVudERhdGVVbml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1OTEy
NjZFRjVDQzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheVJlY3VycmluZ1BheW1l
bnREYXRlVW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU5NTI2NkVG
NjA5MDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU5NjI2NkVG
NjBBMDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1RjQ1
RDI0MjY0REZCRUIwMEQwQjhCOCAvKiBQYWdlQ29sb3JTYW1wbGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBhZ2VDb2xvclNhbXBsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5NUY0NUQyNjI2NERGQkVCMDBEMEI4QjggLyogUGFnZUNvbG9yU2FtcGxlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQYWdlQ29sb3JTYW1wbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk3MDU5OTc1MTA3RDk3NTIwMEE1MEE3QyAvKiBQb2xpY3lDaGVja2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBvbGljeUNoZWNrZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTg1OTgsNiArMTg2MjYsMTcgQEAKIAkJCQlBMURGNUFCNDFG
ODA3OEYzMDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuY3BwICovLAogCQkJCUExREY1
QTkxMUY3RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5oICovLAogCQkJCUEx
REY1QTkzMUY3RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5pZGwgKi8sCisJ
CQkJOTVFQUQ1NjIyNjZFRjJEQjAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRF
dmVudC5jcHAgKi8sCisJCQkJOTVFQUQ1NUYyNjZFRjJEQTAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291
cG9uQ29kZUNoYW5nZWRFdmVudC5oICovLAorCQkJCTk1RUFENTYxMjY2RUYyREEwMDRCOUNGMSAv
KiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsICovLAorCQkJCTk1Njg0RDgxMjY1
MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi8sCisJCQkJOTU2
ODREN0YyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaWRsICov
LAorCQkJCTk1OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaCAqLywKKwkJCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25D
b2RlVXBkYXRlLmlkbCAqLywKKwkJCQk5NUVBRDU2OTI2NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQ
YXlEYXRlQ29tcG9uZW50cy5oICovLAorCQkJCTk1RUFENTY3MjY2RUYyRjgwMDRCOUNGMSAvKiBB
cHBsZVBheURhdGVDb21wb25lbnRzLmlkbCAqLywKKwkJCQk5NUVBRDU2NjI2NkVGMkY4MDA0QjlD
RjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi8sCisJCQkJOTVFQUQ1NjgyNjZF
RjJGOTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5pZGwgKi8sCiAJCQkJ
OTUwMTgzQ0IyNUQ2MzNEODAwRDQzNDBGIC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaCAq
LywKIAkJCQk5NTAxODNDOTI1RDYzM0Q4MDBENDM0MEYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRl
QmFzZS5pZGwgKi8sCiAJCQkJOTUyN0Q3QTgyNUQ1RkRFMTAwQTZFMTc2IC8qIEFwcGxlUGF5RGV0
YWlsc1VwZGF0ZURhdGEuaCAqLywKQEAgLTE4NjE4LDggKzE4NjU3LDYgQEAKIAkJCQlBMTNCNjE2
OTI0NzVERkM1MDBCQkU2REUgLyogQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRs
ICovLAogCQkJCTdDNjU3OUUyMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmgg
Ki8sCiAJCQkJN0M2NTc5RTQxRTAwODJDODAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaWRs
ICovLAotCQkJCTk1NkZDNEI4MjVENDlDN0EwMEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0
YS5oICovLAotCQkJCTk1NkZDNEJBMjVENDlDN0IwMEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVt
RGF0YS5pZGwgKi8sCiAJCQkJQTFERjVBQTgxRjgwNzBENDAwNThBNDc3IC8qIEFwcGxlUGF5TWVy
Y2hhbnRDYXBhYmlsaXR5LmNwcCAqLywKIAkJCQlBMURGNUE4MzFGN0VCREYyMDA1OEE0NzcgLyog
QXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCAqLywKIAkJCQlBMURGNUE4NTFGN0VCREYyMDA1
OEE0NzcgLyogQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaWRsICovLApAQCAtMTg2MzQsMTAg
KzE4NjcxLDYgQEAKIAkJCQk3QzY1MjJGOTFFMDBDOTA5MDA2NzdGMjIgLyogQXBwbGVQYXlQYXlt
ZW50Q29udGFjdC5pZGwgKi8sCiAJCQkJN0M2NTIyRUMxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxl
UGF5UGF5bWVudE1ldGhvZC5oICovLAogCQkJCTdDNjUyMkVEMUUwMEE0QzcwMDY3N0YyMiAvKiBB
cHBsZVBheVBheW1lbnRNZXRob2QuaWRsICovLAotCQkJCTk1Njg0RDgxMjY1MzU3RjcwMDAyNjkz
OCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oICovLAotCQkJCTk1Njg0RDdG
MjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwg
Ki8sCi0JCQkJOTU5NkI5MzAyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUuaCAqLywKLQkJCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwgKi8sCiAJCQkJMUE4QTY0NDAxRDE5RkNGQjAw
RDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJ
CTFBOEE2NDQyMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3Rl
ZEV2ZW50LmggKi8sCiAJCQkJMUE4QTY0NDMxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5
bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRsICovLApAQCAtMTg2NDksNiArMTg2ODIsMTAgQEAK
IAkJCQk3QzY1MjJGMzFFMDBBNTE3MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50UGFzcy5pZGwg
Ki8sCiAJCQkJN0M2NTc5REYxRTAwNzlGOTAwRTNBMjdBIC8qIEFwcGxlUGF5UGF5bWVudFJlcXVl
c3QuaCAqLywKIAkJCQk3QzY1NzlFMTFFMDA3QTExMDBFM0EyN0EgLyogQXBwbGVQYXlQYXltZW50
UmVxdWVzdC5pZGwgKi8sCisJCQkJOTVFQUQ1NkUyNjZFRjM4NDAwNEI5Q0YxIC8qIEFwcGxlUGF5
UGF5bWVudFRpbWluZy5oICovLAorCQkJCTk1RUFENTZGMjY2RUYzODUwMDRCOUNGMSAvKiBBcHBs
ZVBheVBheW1lbnRUaW1pbmcuaWRsICovLAorCQkJCTk1RUFENTcyMjY2RUYzOTIwMDRCOUNGMSAv
KiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovLAorCQkJCTk1RUFENTczMjY2
RUYzOTMwMDRCOUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5pZGwgKi8s
CiAJCQkJQTFERjVBQUIxRjgwNzVGMDAwNThBNDc3IC8qIEFwcGxlUGF5UmVxdWVzdEJhc2UuY3Bw
ICovLAogCQkJCUExREY1QUFBMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3RCYXNl
LmggKi8sCiAJCQkJQTFERjVBQUMxRjgwNzVGMDAwNThBNDc3IC8qIEFwcGxlUGF5UmVxdWVzdEJh
c2UuaWRsICovLApAQCAtMTg2NzEsNiArMTg3MDgsOCBAQAogCQkJCTVDNTNEQ0Q0MjQ0NjQ0OUIw
MEE5MzEyNCAvKiBBcHBsZVBheVNldHVwRmVhdHVyZVR5cGVXZWJDb3JlLmggKi8sCiAJCQkJNUM1
M0RDQ0YyNDQ2NDQ5OTAwQTkzMTI0IC8qIEFwcGxlUGF5U2V0dXBGZWF0dXJlV2ViQ29yZS5oICov
LAogCQkJCTVDNTNEQ0NCMjQ0NjQ0OTgwMEE5MzEyNCAvKiBBcHBsZVBheVNldHVwV2ViQ29yZS5o
ICovLAorCQkJCTk1RUFENTc2MjY2RUYzQTYwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlLmggKi8sCisJCQkJOTVFQUQ1NzcyNjZFRjNBNzAwNEI5Q0YxIC8qIEFw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsICovLAogCQkJCTFBOEE2NDQ3MUQx
OUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3Bw
ICovLAogCQkJCTFBOEE2NDQ4MUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJCQkxQThBNjQ0OTFEMTlGQ0ZCMDBEMEUwMEYgLyog
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmlkbCAqLywKQEAgLTE4Njc4LDgg
KzE4NzE3LDYgQEAKIAkJCQkxQURGREZERDFFNzFEOERGMDA4RjVEMzQgLyogQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RVcGRhdGUuaWRsICovLAogCQkJCTdDNjU3OUU3MUUwMDgzMTYwMEUzQTI3QSAv
KiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggKi8sCiAJCQkJN0M2NTc5RTUxRTAwODMwNjAwRTNB
MjdBIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsICovLAotCQkJCTk1MURFREQwMjVFMDg0
NUEwMDIwRTFFRSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oICovLAotCQkJCTk1MURF
RENFMjVFMDg0NTkwMDIwRTFFRSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5pZGwgKi8s
CiAJCQkJMUE4QTY0NEIxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2RT
ZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQThBNjQ0QzFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBw
bGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJCQkxQThBNjQ0RDFEMTlG
Q0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRsICov
LApAQCAtMTg4MTgsNiArMTg4NTUsMTYgQEAKIAkJCQlBMTk1NkYxQjIzMzFBNjQ2MDA1N0U5RDIg
LyogSlNBcHBsZVBheUNhbmNlbEV2ZW50LmggKi8sCiAJCQkJQTFERjVBOTgxRjdFQzhDMDAwNThB
NDc3IC8qIEpTQXBwbGVQYXlDb250YWN0RmllbGQuY3BwICovLAogCQkJCUExREY1QTk3MUY3RUM4
QkYwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5Q29udGFjdEZpZWxkLmggKi8sCisJCQkJOTVFQUQ1ODAy
NjZFRjUzMDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcCAq
LywKKwkJCQk5NTk2QjkzNjI1REVFRjAyMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVD
aGFuZ2VkRXZlbnQuaCAqLywKKwkJCQk5NUVBRDU3RDI2NkVGNTIyMDA0QjlDRjEgLyogSlNBcHBs
ZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcCAqLywKKwkJCQk5NUVBRDU3RjI2NkVGNTIzMDA0QjlD
RjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi8sCisJCQkJOTU5NkI5MzUyNURF
RUYwMDAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNwcCAqLywKKwkJCQk5
NUVBRDU4MTI2NkVGNTMxMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCAq
LywKKwkJCQk5NUVBRDU4NDI2NkVGNTY4MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25l
bnRzLmNwcCAqLywKKwkJCQk5NUVBRDU4NTI2NkVGNTY5MDA0QjlDRjEgLyogSlNBcHBsZVBheURh
dGVDb21wb25lbnRzLmggKi8sCisJCQkJOTVFQUQ1ODgyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBw
bGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmNwcCAqLywKKwkJCQk5NUVBRDU4OTI2NkVGNTc5MDA0
QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCAqLywKIAkJCQk5NTNCQ0VC
MTI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmNwcCAqLywK
IAkJCQk5NTNCQ0VBRjI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVC
YXNlLmggKi8sCiAJCQkJOTUyN0Q3QUUyNUQ1RkU2QjAwQTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRh
aWxzVXBkYXRlRGF0YS5jcHAgKi8sCkBAIC0xODgzOCw4ICsxODg4NSw2IEBACiAJCQkJQTEzQjYx
NkYyNDc1RTMxMjAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwu
aCAqLywKIAkJCQk3QzY1NzlFOTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVt
LmNwcCAqLywKIAkJCQk3QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJ
dGVtLmggKi8sCi0JCQkJOTU2RkM0QjgyNUQ0OUM3QzAwRjdCM0EyIC8qIEpTQXBwbGVQYXlMaW5l
SXRlbURhdGEuY3BwICovLAotCQkJCTk1NkZDNEJBMjVENDlDN0QwMEY3QjNBMiAvKiBKU0FwcGxl
UGF5TGluZUl0ZW1EYXRhLmggKi8sCiAJCQkJQTFERjVBODkxRjdFQzAwMDAwNThBNDc3IC8qIEpT
QXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwICovLAogCQkJCUExREY1QThBMUY3RUMwMDAw
MDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggKi8sCiAJCQkJQTFGNkQw
MEExRkUwOTkyMTAwMTgwNzhDIC8qIEpTQXBwbGVQYXlNb2RpZmllci5jcHAgKi8sCkBAIC0xODg1
NCw4ICsxODg5OSw2IEBACiAJCQkJN0M2NTIzMEMxRTAwREJCNDAwNjc3RjIyIC8qIEpTQXBwbGVQ
YXlQYXltZW50Q29udGFjdC5oICovLAogCQkJCTdDNjUyMzBEMUUwMERCQjQwMDY3N0YyMiAvKiBK
U0FwcGxlUGF5UGF5bWVudE1ldGhvZC5jcHAgKi8sCiAJCQkJN0M2NTIzMEUxRTAwREJCNDAwNjc3
RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kLmggKi8sCi0JCQkJOTU5NkI5MzUyNURFRUYw
MDAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHAgKi8sCi0J
CQkJOTU5NkI5MzYyNURFRUYwMjAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZS5oICovLAogCQkJCTFBRTk2QTdDMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5
UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJCTFBRTk2QTdEMUQxQTBBODAw
MEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJ
CQlBMUY2RDAwRDFGRTA5OTY0MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBl
LmNwcCAqLywKQEAgLTE4ODY2LDYgKzE4OTA5LDEwIEBACiAJCQkJN0M2NTIzMTAxRTAwREJCNDAw
Njc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50UGFzcy5oICovLAogCQkJCTdDNjU3OUVCMUUwMDg1
NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuY3BwICovLAogCQkJCTdDNjU3
OUVDMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCAqLywKKwkJ
CQk5NUVBRDU4RDI2NkVGNTlCMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRUaW1pbmcuY3Bw
ICovLAorCQkJCTk1RUFENThDMjY2RUY1OUEwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRp
bWluZy5oICovLAorCQkJCTk1RUFENTkwMjY2RUY1Q0IwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UmVj
dXJyaW5nUGF5bWVudERhdGVVbml0LmNwcCAqLywKKwkJCQk5NUVBRDU5MTI2NkVGNUNDMDA0QjlD
RjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovLAogCQkJCUExREY1
QThDMUY3RUMwMDEwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5jcHAgKi8sCiAJCQkJQTFE
RjVBOEIxRjdFQzAwMTAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0LmggKi8sCiAJCQkJQTFE
RjVBQjAxRjgwNzc1MjAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAgKi8sCkBA
IC0xODg3NCwxNCArMTg5MjEsMTQgQEAKIAkJCQkxQUU5NkE3RjFEMUEwQTgwMDBCODY3NjggLyog
SlNBcHBsZVBheVNlc3Npb24uaCAqLywKIAkJCQlBMUQ1MDYxMzIzMzFFRDk3MDAxNEVFNEUgLyog
SlNBcHBsZVBheVNlc3Npb25FcnJvci5jcHAgKi8sCiAJCQkJQTFENTA2MTEyMzMxRUQ5NjAwMTRF
RTRFIC8qIEpTQXBwbGVQYXlTZXNzaW9uRXJyb3IuaCAqLywKKwkJCQk5NUVBRDU5NjI2NkVGNjBB
MDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmNwcCAqLywK
KwkJCQk5NUVBRDU5NTI2NkVGNjA5MDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlLmggKi8sCiAJCQkJMUFFOTZBODAxRDFBMEE4MDAwQjg2NzY4IC8qIEpTQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQUU5NkE4MTFE
MUEwQTgwMDBCODY3NjggLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQu
aCAqLywKIAkJCQkxQURGREZFNzFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBsZVBheVNoaXBwaW5n
Q29udGFjdFVwZGF0ZS5jcHAgKi8sCiAJCQkJMUFERkRGRTgxRTcxRENBMDAwOEY1RDM0IC8qIEpT
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaCAqLywKIAkJCQk3QzY1NzlFRDFFMDA4NTY2
MDBFM0EyN0EgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmNwcCAqLywKIAkJCQk3QzY1NzlF
RTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggKi8sCi0JCQkJ
OTUxREVERDMyNUUwODQ5QzAwMjBFMUVFIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEu
Y3BwICovLAotCQkJCTk1MURFREQ0MjVFMDg0OUQwMDIwRTFFRSAvKiBKU0FwcGxlUGF5U2hpcHBp
bmdNZXRob2REYXRhLmggKi8sCiAJCQkJMUFFOTZBODIxRDFBMEE4MDAwQjg2NzY4IC8qIEpTQXBw
bGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJCTFBRTk2QTgzMUQx
QTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50Lmgg
Ki8sCiAJCQkJMUFERkRGRTkxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlTaGlwcGluZ01l
dGhvZFVwZGF0ZS5jcHAgKi8sCkBAIC0zMTYzMyw2ICszMTY4MCwxMSBAQAogCQkJCTQ0MjUwNzA5
MjU4MjlBMjcwMEMwOTM2OCAvKiBBcHBIaWdobGlnaHRTdG9yYWdlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTEzRTAyRTIzMzFBMTM0MDA5QzMzQTAgLyogQXBwbGVQYXlDYW5jZWxFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBOTQxRjdFQzQzMjAwNThBNDc3IC8qIEFwcGxlUGF5Q29u
dGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU2MzI2NkVGMkRCMDA0QjlDRjEg
LyogQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
NTY4NEQ4MzI2NTM1N0Y4MDAwMjY5MzggLyogQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTU5NkI5MzMyNURFRUVBMDAwRUQyQ0ZBIC8qIEFwcGxlUGF5Q291
cG9uQ29kZVVwZGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1NkQyNjZFRjJGQTAwNEI5
Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFE
NTZBMjY2RUYyRkEwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk1MDE4M0NEMjVENjMzRDkwMEQ0MzQwRiAvKiBBcHBsZVBheURldGFp
bHNVcGRhdGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NTI3RDdBQjI1RDVGREUyMDBBNkUx
NzYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEy
QzU5RUUyMDM1RkM5QjAwMTIyMzZCIC8qIEFwcGxlUGF5RXJyb3IuaCBpbiBIZWFkZXJzICovLApA
QCAtMzE2NDMsNyArMzE2OTUsNiBAQAogCQkJCUExMTc1MEExMjQ3NDY4RjcwMEQ0RDI2QyAvKiBB
cHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExM0I2MTZC
MjQ3NUUwNDgwMEJCRTZERSAvKiBBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGlu
ZUl0ZW0uaCBpbiBIZWFkZXJzICovLAotCQkJCTk1NkZDNEJCMjVENDlDN0IwMEY3QjNBMiAvKiBB
cHBsZVBheUxpbmVJdGVtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBODYxRjdFQkRG
MjAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMUY2Q0ZGRjFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2RpZmllci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0M2NTIzMDExRTAwRDAzNDAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVu
dC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTY1MiwxMyArMzE3MDMsMTMgQEAKIAkJCQk3QzY1MjJG
QjFFMDBDOTA5MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTFERjVBQTIxRjdFRTExMzAwNThBNDc3IC8qIEFwcGxlUGF5UGF5bWVudEhhbmRs
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMkVGMUUwMEE0QzcwMDY3N0YyMiAvKiBBcHBs
ZVBheVBheW1lbnRNZXRob2QuaCBpbiBIZWFkZXJzICovLAotCQkJCTk1Njg0RDgzMjY1MzU3Rjgw
MDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJOTU5NkI5MzMyNURFRUVBMDAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDU2MUQxOUZDRkMwMEQwRTAw
RiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMUY2RDAwNjFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kVHlw
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjEyMDM1RkNCRjAwMTIyMzZCIC8qIEFwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIyRjUxRTAw
QTUxNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudFBhc3MuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDNjU3OUUwMUUwMDc5RjkwMEUzQTI3QSAvKiBBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggaW4g
SGVhZGVycyAqLywKKwkJCQk5NUVBRDU3MDI2NkVGMzg2MDA0QjlDRjEgLyogQXBwbGVQYXlQYXlt
ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU3NDI2NkVGMzk0MDA0QjlDRjEg
LyogQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExREY1QTdGMUY3RUJEMEIwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExREY1QUFEMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3RCYXNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ1OTFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQ
YXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNjY4LDEwICszMTcxOSwxMCBAQAogCQkJ
CUExRTA4NjYwMjQ4OUQyQkEwMEU0OTZEOSAvKiBBcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1QzUzRENFMTI0NDY1REZDMDBBOTMxMjQgLyogQXBwbGVQYXlT
ZXR1cEZlYXR1cmVXZWJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzUzRENFQTI0NDY4RkI0
MDBBOTMxMjQgLyogQXBwbGVQYXlTZXR1cFdlYkNvcmUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1
RUFENTc4MjY2RUYzQTgwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ1QzFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTJDNTlGMjIwMzVGQ0Q2MDAxMjIzNkIgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUU4MUUwMDgzMTYwMEUzQTI3QSAvKiBBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTFERUREMjI1RTA4NDVBMDAy
MEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBOEE2NDYwMUQxOUZDRkMwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0
ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjMyMDM1RkNFMjAwMTIyMzZCIC8q
IEFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2
NDYzMUQxOUZDRkMwMEQwRTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMzI0NCw2ICszMzI5NSwxMSBAQAogCQkJCTcxMDI1RURFMUY5OUYx
RUMwMDRBMjUwQyAvKiBKU0FuaW1hdGlvblRpbWVsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTk1NkYxQzIzMzFBNjc3MDA1N0U5RDIgLyogSlNBcHBsZVBheUNhbmNlbEV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMURGNUE5OTFGN0VDOEMwMDA1OEE0NzcgLyogSlNBcHBsZVBheUNvbnRh
Y3RGaWVsZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTU5NkI5MzgyNURFRUYwMzAwRUQyQ0ZBIC8q
IEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
NUVBRDU4MzI2NkVGNTNCMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU4MjI2NkVGNTM5MDA0QjlDRjEgLyogSlNBcHBsZVBh
eUNvdXBvbkNvZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFENTg3MjY2RUY1NkEw
MDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTk1RUFENThCMjY2RUY1N0EwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5n
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTUzQkNFQjIyNUQ2MjgzRDAwQTRBMkExIC8qIEpTQXBw
bGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTUyN0Q3QUYyNUQ1
RkU2QzAwQTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTEyQzU5RjkyMDM2MEFDQjAwMTIyMzZCIC8qIEpTQXBwbGVQYXlFcnJvci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMzI1NCw3ICszMzMxMCw2IEBACiAJCQkJQTEzQjYxNzYyNDc1RTM3
QTAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTNCNjE3NzI0NzVFM0EzMDBCQkU2REUgLyogSlNBcHBsZVBheUluc3RhbGxtZW50
UmV0YWlsQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RjAxRTAwODU2NjAwRTNB
MjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTU2RkM0QkIy
NUQ0OUM3QjAwRjdCM0EzIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExREY1QThFMUY3RUMwMDIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBh
YmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2RDAxMjFGRTA5OUI0MDAxODA3OEMgLyog
SlNBcHBsZVBheU1vZGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1MjMxNDFFMDBEQkI0
MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzMyNjIs
MjAgKzMzMzE3LDIxIEBACiAJCQkJMUFFOTZBOEIxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQ
YXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1MjMxNjFF
MDBEQkI1MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRDb250YWN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk3QzY1MjMxODFFMDBEQkI1MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRNZXRo
b2QuaCBpbiBIZWFkZXJzICovLAotCQkJCTk1OTZCOTM4MjVERUVGMDMwMEVEMkNGQSAvKiBKU0Fw
cGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTk2
QThEMUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjZEMDBGMUZFMDk5OTQwMDE4MDc4QyAvKiBKU0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkM1OUZDMjAz
NjBCMjcwMDEyMjM2QiAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0M2NTIzMUExRTAwREJCNTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50
UGFzcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0M2NTc5RjIxRTAwODU2NjAwRTNBMjdBIC8qIEpT
QXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1OTQyNjZF
RjVENDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJOTVFQUQ1OEUyNjZFRjU5QzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50VGltaW5n
LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU5MzI2NkVGNUNEMDA0QjlDRjEgLyogSlNBcHBs
ZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVB
OEYxRjdFQzAwMjAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMURGNUFCMzFGODA3NzUzMDA1OEE0NzcgLyogSlNBcHBsZVBheVJlcXVlc3RCYXNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4RjFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBh
eVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUExRDUwNjE0MjMzMUVERDQwMDE0RUU0RSAv
KiBKU0FwcGxlUGF5U2Vzc2lvbkVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU5NzI2
NkVGNjBCMDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE5MTFEMUEwREREMDBCODY3NjggLyogSlNBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkM1
OUZEMjAzNjBCM0UwMDEyMjM2QiAvKiBKU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlGNDFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTFERURENjI1RTA4NDlFMDAy
MEUxRUUgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFFOTZBOTMxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNl
bGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkM1OUZFMjAzNjBCNEEwMDEyMjM2
QiAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTU3RDEzNTJDMjI5NEFBM0QwMDgyNzQwMSAvKiBKU0F0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZl
cmVuY2UuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNzgzMzYw
MzJhMzJhZjYxMGQ4MjRmODJhOTMzNjUzMWMyYmQwMzA3Yi4uOWQ0MWQ3OTJkZjIyZjZhZmE4NzAz
ZjRkNjM2NWJlZGFkMWIwM2UxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0zMiwxOCAr
MzIsMTUgQEAKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjZW5kaWYKIAot
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0V2
ZW50TmFtZXNBZGRpdGlvbnMuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNp
ZiAhZGVmaW5lZChBRERJVElPTkFMX0RPTV9FVkVOVF9OQU1FU19GT1JfRUFDSCkKLSNkZWZpbmUg
QURESVRJT05BTF9ET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gobWFjcm8pCisjaWYgRU5BQkxFKEFQ
UExFX1BBWV9DT1VQT05fQ09ERSkKKyNkZWZpbmUgRE9NX0VWRU5UX05BTUVfQVBQTEVfUEFZX0NP
VVBPTl9DT0RFX0NIQU5HRUQobWFjcm8pIG1hY3JvKGNvdXBvbmNvZGVjaGFuZ2VkKQorI2Vsc2UK
KyNkZWZpbmUgRE9NX0VWRU5UX05BTUVfQVBQTEVfUEFZX0NPVVBPTl9DT0RFX0NIQU5HRUQobWFj
cm8pCiAjZW5kaWYKIAogI2RlZmluZSBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gobWFjcm8pIFwK
LSAgICBBRERJVElPTkFMX0RPTV9FVkVOVF9OQU1FU19GT1JfRUFDSChtYWNybykgXAogICAgIG1h
Y3JvKERPTUFjdGl2YXRlKSBcCiAgICAgbWFjcm8oRE9NQ2hhcmFjdGVyRGF0YU1vZGlmaWVkKSBc
CiAgICAgbWFjcm8oRE9NQ29udGVudExvYWRlZCkgXApAQCAtMTAzLDYgKzEwMCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhjb250cm9sbGVyY2hhbmdlKSBcCiAgICAgbWFjcm8o
Y29vcmRpbmF0b3JzdGF0ZWNoYW5nZSkgXAogICAgIG1hY3JvKGNvcHkpIFwKKyAgICBET01fRVZF
TlRfTkFNRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVfQ0hBTkdFRChtYWNybykgXAogICAgIG1hY3Jv
KGN1ZWNoYW5nZSkgXAogICAgIG1hY3JvKGN1dCkgXAogICAgIG1hY3JvKGRhdGFhdmFpbGFibGUp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggY2NlODZlYmE1NjUyZTBmZmIyYmQyZjMw
MWRjYzFhYTU5YmNjNmVmNS4uNmM3Y2UzMTI3Yjk3YTU4ODQ3Y2QxYzdkNzg0NzRmYzA4ODhhZTAw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTQ0LDYgKzQ0LDcgQEAgV2ViS2l0VHJh
bnNpdGlvbkV2ZW50CiBXaGVlbEV2ZW50CiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQKIEFw
cGxlUGF5Q2FuY2VsRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCitBcHBsZVBheUNvdXBvbkNv
ZGVDaGFuZ2VkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFCiBBcHBsZVBh
eVBheW1lbnRBdXRob3JpemVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBheVBh
eW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA4MzM2Y2IxOGI2N2QyZmE4MDkzZGU3
OTJkZTNkNTUwNWU1ZmU4ZDcwLi5hYjVjMzE2OTMxZWQyMmQwMDk1YjAzNTdmZTA5MTZiZjEwNjgw
OGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNDExLDggKzQx
MSw4IEBAIGNsYXNzIEVtcHR5UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IGZpbmFsIDogcHVibGlj
IFBheW1lbnRDb29yZGluYXRvckNsaWVudCB7CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0
aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4m
JikgZmluYWwgeyB9CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihz
dGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKSBmaW5hbCB7IH0K
ICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgZmluYWwgeyB9Ci0jaWYgRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9k
TW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+
JiYpIGZpbmFsIHsgfQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9p
ZCBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGU+JiYpIGZpbmFsIHsgfQogI2VuZGlmCiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRT
ZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpIGZpbmFs
IHsgfQogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBmaW5hbCB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDE1
ZDM5NmU3NjY5Nzk0OTZkMzdhMWIxYWFlOTk1OTc0ZTc4MzAwMjEuLmMyNGNlNDJjNGFhNDYyOGI2
NDkyNjYxNTZlMTc2NDU1N2FiNDNlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMjgsOSArMjgsMTAgQEAKIAogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAKLSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgiCiAjaW5jbHVkZSAi
QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3QuaCIKKyNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaCIKICNp
bmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiTW9ja0Fw
cGxlUGF5U2V0dXBGZWF0dXJlLmgiCkBAIC0xMTMsNiArMTE0LDEzIEBAIGJvb2wgTW9ja1BheW1l
bnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJM
PiYsIGNvbnN0CiAjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAgICAgbV9pbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24gPSByZXF1ZXN0Lmluc3RhbGxtZW50Q29uZmlndXJhdGlvbigp
LmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIG1fc3VwcG9ydHNDb3Vwb25Db2RlID0gcmVxdWVz
dC5zdXBwb3J0c0NvdXBvbkNvZGUoKTsKKyAgICBtX2NvdXBvbkNvZGUgPSByZXF1ZXN0LmNvdXBv
bkNvZGUoKTsKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9F
RElUSU5HX01PREUpCisgICAgbV9zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSA9IHJlcXVlc3Qu
c2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoKTsKKyNlbmRpZgogI2lmIGRlZmluZWQoTW9ja1Bh
eW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19zaG93UGF5bWVudFVJKQogICAgIE1vY2tQYXltZW50
Q29vcmRpbmF0b3JBZGRpdGlvbnNfc2hvd1BheW1lbnRVSQogI2VuZGlmCkBAIC0xODAsMjMgKzE4
OCwyMyBAQCB2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhv
ZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUAogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKIAotdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRN
ZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVw
ZGF0ZT4mJiBwYXltZW50TWV0aG9kTW9kZVVwZGF0ZSkKK3ZvaWQgTW9ja1BheW1lbnRDb29yZGlu
YXRvcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlDb3Vw
b25Db2RlVXBkYXRlPiYmIGNvdXBvbkNvZGVVcGRhdGUpCiB7Ci0gICAgaWYgKCFwYXltZW50TWV0
aG9kTW9kZVVwZGF0ZSkKKyAgICBpZiAoIWNvdXBvbkNvZGVVcGRhdGUpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fdG90YWwgPSBXVEZNb3ZlKHBheW1lbnRNZXRob2RNb2RlVXBkYXRlLT5uZXdU
b3RhbCk7Ci0gICAgbV9saW5lSXRlbXMgPSBXVEZNb3ZlKHBheW1lbnRNZXRob2RNb2RlVXBkYXRl
LT5uZXdMaW5lSXRlbXMpOwotICAgIG1fZXJyb3JzID0gY29udmVydChXVEZNb3ZlKHBheW1lbnRN
ZXRob2RNb2RlVXBkYXRlLT5lcnJvcnMpKTsKLSAgICBtX3NoaXBwaW5nTWV0aG9kcyA9IFdURk1v
dmUocGF5bWVudE1ldGhvZE1vZGVVcGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcyk7Ci0jaWYgZGVm
aW5lZChNb2NrUGF5bWVudENvb3JkaW5hdG9yQWRkaXRpb25zX2NvbXBsZXRlUGF5bWVudE1ldGhv
ZE1vZGVDaGFuZ2UpCi0gICAgTW9ja1BheW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19jb21wbGV0
ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlCisgICAgbV90b3RhbCA9IFdURk1vdmUoY291cG9uQ29k
ZVVwZGF0ZS0+bmV3VG90YWwpOworICAgIG1fbGluZUl0ZW1zID0gV1RGTW92ZShjb3Vwb25Db2Rl
VXBkYXRlLT5uZXdMaW5lSXRlbXMpOworICAgIG1fZXJyb3JzID0gY29udmVydChXVEZNb3ZlKGNv
dXBvbkNvZGVVcGRhdGUtPmVycm9ycykpOworICAgIG1fc2hpcHBpbmdNZXRob2RzID0gV1RGTW92
ZShjb3Vwb25Db2RlVXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpOworI2lmIGRlZmluZWQoTW9j
a1BheW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19jb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpCisg
ICAgTW9ja1BheW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19jb21wbGV0ZUNvdXBvbkNvZGVDaGFu
Z2UKICNlbmRpZgogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIHZvaWQg
TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y2hhbmdlU2hpcHBpbmdPcHRpb24oU3RyaW5nJiYgc2hp
cHBpbmdPcHRpb24pCiB7CkBAIC0yMTQsNiArMjIyLDE3IEBAIHZvaWQgTW9ja1BheW1lbnRDb29y
ZGluYXRvcjo6Y2hhbmdlUGF5bWVudE1ldGhvZChBcHBsZVBheVBheW1lbnRNZXRob2QmJiBwYXlt
ZW50CiAgICAgfSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorCit2
b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291
cG9uQ29kZSkKK3sKKyAgICBkaXNwYXRjaElmU2hvd2luZyhbcGFnZSA9ICZtX3BhZ2UsIGNvdXBv
bkNvZGUgPSBXVEZNb3ZlKGNvdXBvbkNvZGUpXSgpIG11dGFibGUgeworICAgICAgICBwYWdlLT5w
YXltZW50Q29vcmRpbmF0b3IoKS5kaWRDaGFuZ2VDb3Vwb25Db2RlKFdURk1vdmUoY291cG9uQ29k
ZSkpOworICAgIH0pOworfQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKKwogdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjphY2NlcHRQYXltZW50KCkKIHsKICAg
ICBkaXNwYXRjaElmU2hvd2luZyhbcGFnZSA9ICZtX3BhZ2UsIHNoaXBwaW5nQWRkcmVzcyA9IG1f
c2hpcHBpbmdBZGRyZXNzXSgpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCA5MjhhY2M0ODNiZTUzMzkzMWZkYTEwNmUw
MTc2YmJiZGRjOWFlZTU1Li45ZmRmMWE4ZmI5YmZkMzQ1MDY0ZjY2NTg0NDY0MGE0NDI5ZTQ3NmZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3Iu
aApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uV2ViQ29yZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW0uaCIKICNpbmNsdWRl
ICJBcHBsZVBheVNldHVwQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9k
LmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRyZXNzLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1l
bnRDb250YWN0RmllbGRzLmgiCkBAIC01Niw2ICs1Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3MmJiBzaGlwcGluZ0FkZHJlc3MpIHsg
bV9zaGlwcGluZ0FkZHJlc3MgPSBXVEZNb3ZlKHNoaXBwaW5nQWRkcmVzcyk7IH0KICAgICB2b2lk
IGNoYW5nZVNoaXBwaW5nT3B0aW9uKFN0cmluZyYmIHNoaXBwaW5nT3B0aW9uKTsKICAgICB2b2lk
IGNoYW5nZVBheW1lbnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0aG9kJiYpOworI2lmIEVOQUJM
RShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjaGFuZ2VDb3Vwb25Db2RlKFN0cmlu
ZyYmIGNvdXBvbkNvZGUpOworI2VuZGlmCiAgICAgdm9pZCBhY2NlcHRQYXltZW50KCk7CiAgICAg
dm9pZCBjYW5jZWxQYXltZW50KCk7CiAKQEAgLTc2LDYgKzgwLDE1IEBAIHB1YmxpYzoKICAgICBB
cHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24o
KSBjb25zdCB7IHJldHVybiBtX2luc3RhbGxtZW50Q29uZmlndXJhdGlvbjsgfQogI2VuZGlmCiAK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8Ym9v
bD4gc3VwcG9ydHNDb3Vwb25Db2RlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0NvdXBvbkNv
ZGU7IH0KKyAgICBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX2Nv
dXBvbkNvZGU7IH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05U
QUNUX0VESVRJTkdfTU9ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGU+IHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsgfQorI2VuZGlmCisKICAgICB2b2lkIHJl
ZigpIGNvbnN0IHsgfQogICAgIHZvaWQgZGVyZWYoKSBjb25zdCB7IH0KIApAQCAtODksOSArMTAy
LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24o
c3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBmaW5hbDsKICAg
ICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFsOwogICAgIHZvaWQgY29tcGxldGVQ
YXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9k
VXBkYXRlPiYmKSBmaW5hbDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01P
REUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJikgZmluYWw7Ci0jZW5kaWYgLy8g
RU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9Q
QVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpv
cHRpb25hbDxBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYpIGZpbmFsOworI2VuZGlmCiAgICAg
dm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6
YXRpb25SZXN1bHQ+JiYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpIGZp
bmFsOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBmaW5hbDsKQEAgLTEyMCw2ICsx
MzMsMTMgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3VwcG9ydHNVbnJlc3RyaWN0ZWRBcHBsZVBh
eSB7IHRydWUgfTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKICAgICBBcHBs
ZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBtX2luc3RhbGxtZW50Q29uZmlndXJhdGlvbjsK
KyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRp
b25hbDxib29sPiBtX3N1cHBvcnRzQ291cG9uQ29kZTsKKyAgICBTdHJpbmcgbV9jb3Vwb25Db2Rl
OworI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdf
TU9ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01v
ZGU+IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CiAjZW5kaWYKICAgICBBcHBsZVBheVNl
dHVwQ29uZmlndXJhdGlvbiBtX3NldHVwQ29uZmlndXJhdGlvbjsKICAgICBWZWN0b3I8UmVmPEFw
cGxlUGF5U2V0dXBGZWF0dXJlPj4gbV9zZXR1cEZlYXR1cmVzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKaW5kZXggNjBmNTE5ZmU4NWQx
YTUyNzk1YmQ5NzQ5MTA1YjZiN2FmNjk1ZDU3NS4uZDI3ZDJiNWU5NGU4MzMzNjkyZGM1MjMxMTM5
OWJhOTRmMTNhNTZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5
bWVudENvb3JkaW5hdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaWRsCkBAIC0zMiw2ICszMiw3IEBACiAgICAgdW5kZWZpbmVkIHNldFNo
aXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3Mgc2hpcHBpbmdBZGRyZXNzKTsKICAgICB1
bmRlZmluZWQgY2hhbmdlU2hpcHBpbmdPcHRpb24oRE9NU3RyaW5nIHNoaXBwaW5nT3B0aW9uKTsK
ICAgICB1bmRlZmluZWQgY2hhbmdlUGF5bWVudE1ldGhvZChBcHBsZVBheVBheW1lbnRNZXRob2Qg
cGF5bWVudE1ldGhvZCk7CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0g
dW5kZWZpbmVkIGNoYW5nZUNvdXBvbkNvZGUoRE9NU3RyaW5nIGNvdXBvbkNvZGUpOwogICAgIHVu
ZGVmaW5lZCBhY2NlcHRQYXltZW50KCk7CiAgICAgdW5kZWZpbmVkIGNhbmNlbFBheW1lbnQoKTsK
IApAQCAtNDksNCArNTAsOSBAQAogICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzVW5yZXN0
cmljdGVkQXBwbGVQYXk7CiAKICAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0lOU1RBTExNRU5U
U10gcmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbjsKKworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09V
UE9OX0NPREVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuPyBzdXBwb3J0c0NvdXBvbkNvZGU7
CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0gcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZz8gY291cG9uQ29kZTsKKworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlf
U0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPyBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRo
b3JpemF0aW9uUHJlc2VudGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmgKaW5kZXggMjJjNmI2NTZjY2FiYjFmNzdlYTk3M2Y1
NDc0OGNhYTZmNmFjNzg1Ny4uMmVmY2IyMDBlODA0NTY3YmU1MzIwOTIwYjcxYjNjNTZmNmIyMDA2
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9y
aXphdGlvblByZXNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5
bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaApAQCAtNDIsOSArNDIsNyBAQCBjbGFzcyBQYXlt
ZW50Q29udGFjdDsKIGNsYXNzIFBheW1lbnRNZXJjaGFudFNlc3Npb247CiBjbGFzcyBQYXltZW50
TWV0aG9kOwogY2xhc3MgUGF5bWVudFNlc3Npb25FcnJvcjsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCi1zdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVw
ZGF0ZTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCitz
dHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5UGF5bWVudE1l
dGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIHN0cnVj
dCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOwpAQCAtNjUsOSArNjMsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RQYXltZW50TWV0aG9kKFBheW1lbnRB
dXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudE1ldGhvZCYpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nQ29udGFj
dChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRD
b250YWN0JikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hp
cHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3Jl
OjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kJikgPSAwOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKLSAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZENoYW5n
ZVBheW1lbnRNZXRob2RNb2RlKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3Qg
U3RyaW5nJiBwYXltZW50TWV0aG9kTW9kZSkgPSAwOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisg
ICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRDaGFuZ2VDb3Vwb25Db2RlKFBheW1lbnRB
dXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgU3RyaW5nJiBjb3Vwb25Db2RlKSA9IDA7Cisj
ZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlcldpbGxWYWxpZGF0ZU1lcmNoYW50
KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgVVJMJikgPSAwOwogICAgIH07
CiAKQEAgLTgwLDkgKzc4LDkgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vz
c2lvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0PiYpOwogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJik7CiAgICAg
dm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7Ci0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kTW9k
ZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSkKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjb21wbGV0ZUNvdXBv
bkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGU+JiYpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzcygpID0gMDsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
b2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXggMDQ1NDFm
ZjM1MTg5NWFhOGE3OTlmM2Y0ZThkOWEzZTgyMGJmYzBkZS4uMTI1OTBmNjhmYmEyNWYxOWM2NzFl
NmVjYWRmODk3MjUxNjY0MTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
b2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBAIC0zMCwx
MSArMzAsMTEgQEAKIAogI2ltcG9ydCAiV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgi
CiAjaW1wb3J0ICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLmgiCisjaW1wb3J0IDxX
ZWJDb3JlL0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBs
ZVBheURldGFpbHNVcGRhdGVEYXRhLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5RXJyb3Iu
aD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlFcnJvckNvZGUuaD4KICNpbXBvcnQgPFdlYkNv
cmUvQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oPgotI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5UGF5
bWVudE1ldGhvZFVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVNoaXBwaW5nQ29u
dGFjdFVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBk
YXRlLmg+CkBAIC04NiwxNyArODYsMzMgQEAgc3RhdGljIFBLUGF5bWVudEVycm9yQ29kZSB0b1BL
UGF5bWVudEVycm9yQ29kZShXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZSBjb2RlKQogewogICAg
IHN3aXRjaCAoY29kZSkgewogICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OlVu
a25vd246Ci0gICAgICAgIHJldHVybiBQS1BheW1lbnRVbmtub3duRXJyb3I7CisgICAgICAgIGJy
ZWFrOworCiAgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6U2hpcHBpbmdDb250
YWN0SW52YWxpZDoKICAgICAgICAgcmV0dXJuIFBLUGF5bWVudFNoaXBwaW5nQ29udGFjdEludmFs
aWRFcnJvcjsKKwogICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OkJpbGxpbmdD
b250YWN0SW52YWxpZDoKICAgICAgICAgcmV0dXJuIFBLUGF5bWVudEJpbGxpbmdDb250YWN0SW52
YWxpZEVycm9yOworCiAgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVz
c1Vuc2VydmljZWFibGU6CiAgICAgICAgIHJldHVybiBQS1BheW1lbnRTaGlwcGluZ0FkZHJlc3NV
bnNlcnZpY2VhYmxlRXJyb3I7Ci0jaWYgZGVmaW5lZChQYXltZW50QXV0aG9yaXphdGlvblByZXNl
bnRlckFkZGl0aW9uc190b1BLUGF5bWVudEVycm9yQ29kZSkKLSAgICBQYXltZW50QXV0aG9yaXph
dGlvblByZXNlbnRlckFkZGl0aW9uc190b1BLUGF5bWVudEVycm9yQ29kZQorCisgICAgY2FzZSBX
ZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6Q291cG9uQ29kZUludmFsaWQ6CisjaWYgSEFWRShQ
QVNTS0lUX0NPVVBPTl9DT0RFKQorICAgICAgICByZXR1cm4gUEtQYXltZW50Q291cG9uQ29kZUlu
dmFsaWRFcnJvcjsKKyNlbHNlCisgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyAgICBjYXNlIFdl
YkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlRXhwaXJlZDoKKyNpZiBIQVZFKFBB
U1NLSVRfQ09VUE9OX0NPREUpCisgICAgICAgIHJldHVybiBQS1BheW1lbnRDb3Vwb25Db2RlRXhw
aXJlZEVycm9yOworI2Vsc2UKKyAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICB9CisKKyAgICBy
ZXR1cm4gUEtQYXltZW50VW5rbm93bkVycm9yOwogfQogCiBzdGF0aWMgTlNFcnJvciAqdG9OU0Vy
cm9yKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5RXJyb3ImIGVycm9yKQpAQCAtMjU2LDIzICsyNzIs
MjQgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVTaGlwcGlu
Z01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmEKICAgICBbcGxhdGZvcm1EZWxlZ2F0ZSgpIGNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246c2hpcHBpbmdNZXRob2RVcGRhdGUuZ2V0KCld
OwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEhB
VkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKIAotdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNl
bnRlcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRlKQordm9pZCBQYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmIHVwZGF0ZSkKIHsK
ICAgICBBU1NFUlQocGxhdGZvcm1EZWxlZ2F0ZSgpKTsKICAgICBpZiAoIXVwZGF0ZSkgewotICAg
ICAgICBbcGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2U6
bmlsXTsKKyAgICAgICAgW3BsYXRmb3JtRGVsZWdhdGUoKSBjb21wbGV0ZUNvdXBvbkNvZGVDaGFu
Z2U6bmlsXTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIGRlZmluZWQoUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXJBZGRpdGlvbnNfY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZSkKLSAgICBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlckFkZGl0aW9uc19jb21wbGV0
ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlCisgICAgYXV0byBjb3Vwb25Db2RlVXBkYXRlID0gYWRv
cHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlSW5zdGFuY2Uo
KSBpbml0V2l0aEVycm9yczp0b05TRXJyb3JzKFdURk1vdmUodXBkYXRlLT5lcnJvcnMpKS5nZXQo
KSBwYXltZW50U3VtbWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKFdURk1v
dmUodXBkYXRlLT5uZXdUb3RhbCksIFdURk1vdmUodXBkYXRlLT5uZXdMaW5lSXRlbXMpKSBzaGlw
cGluZ01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhXVEZNb3ZlKHVwZGF0ZS0+bmV3U2hpcHBp
bmdNZXRob2RzKSkuZ2V0KCldKTsKKyNpZiBkZWZpbmVkKFBheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyQWRkaXRpb25zX2NvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSkKKyAgICBQYXltZW50QXV0
aG9yaXphdGlvblByZXNlbnRlckFkZGl0aW9uc19jb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UKICNl
bmRpZgotICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZTpwYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5nZXQoKV07CisgICAgW3BsYXRmb3JtRGVsZWdh
dGUoKSBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6Y291cG9uQ29kZVVwZGF0ZS5nZXQoKV07CiB9
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5k
aWYgLy8gSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9y
aXphdGlvblZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tCmluZGV4IDk3OGU5MTQ2ZmY1MTBi
Njg4YmM0MGI3NGM3NmE3OTZkNDk0NzU4OGQuLjVlNzI1MDEyZDAzNDBkMDJkMjJlMDk5ZDllODk1
ZmU5MGQ4M2RjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5
bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIubW0KQEAgLTMx
LDEwICszMSw2IEBACiAjaW1wb3J0ICJXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaCIK
ICNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KIAotI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1BheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXJBZGRpdGlvbnMubW0+Ci0jZW5kaWYKLQogQGludGVyZmFjZSBXS1Bh
eW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA6IFdLUGF5bWVudEF1dGhv
cml6YXRpb25EZWxlZ2F0ZSA8UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVs
ZWdhdGUsIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlclByaXZhdGVEZWxlZ2F0
ZT4KIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVxdWVzdDooUEtQYXltZW50UmVxdWVzdCAq
KXJlcXVlc3QgcHJlc2VudGVyOihXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVy
JilwcmVzZW50ZXI7CkBAIC04Myw5ICs3OSwxNCBAQCAtICh2b2lkKXBheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcgog
ICAgIFtzZWxmIF9kaWRTZWxlY3RQYXltZW50TWV0aG9kOnBheW1lbnRNZXRob2QgY29tcGxldGlv
bjpjb21wbGV0aW9uXTsKIH0KIAotI2lmIGRlZmluZWQoUGF5bWVudEF1dGhvcml6YXRpb25WaWV3
Q29udHJvbGxlckFkZGl0aW9uc19QS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJE
ZWxlZ2F0ZSkKLVBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJBZGRpdGlvbnNfUEtQ
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUKLSNlbmRpZgorI2lmIEhB
VkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKworLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvblZp
ZXdDb250cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKiljb250
cm9sbGVyIGRpZENoYW5nZUNvdXBvbkNvZGU6KE5TU3RyaW5nICopY291cG9uQ29kZSBoYW5kbGVy
Oih2b2lkICheKShQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqdXBkYXRlKSljb21w
bGV0aW9uCit7CisgICAgW3NlbGYgX2RpZENoYW5nZUNvdXBvbkNvZGU6Y291cG9uQ29kZSBjb21w
bGV0aW9uOmNvbXBsZXRpb25dOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX0NPVVBPTl9D
T0RFKQogCiAjcHJhZ21hIG1hcmsgUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVy
RGVsZWdhdGVQcml2YXRlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oCmluZGV4IDU0NDhkZGJh
YjQwNDFlMjhlNTQ1NWU3YzM1NmU5Y2M5NjYxNTM4MzYuLjBiMTc4MzVjMDlkZGU4NzZhZGIxNmFi
MWZiNTA5ZjdlMjBkOWM5M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaApAQCAtMzMsMTAg
KzMzLDYgQEAgT0JKQ19DTEFTUyBOU0FycmF5OwogT0JKQ19DTEFTUyBOU0Vycm9yOwogT0JKQ19D
TEFTUyBVSVZpZXdDb250cm9sbGVyOwogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNp
bmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRk
aXRpb25zLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFBheW1lbnRB
dXRob3JpemF0aW9uUHJlc2VudGVyOwpAQCAtNDcsNiArNDMsNyBAQCB1c2luZyBEaWRBdXRob3Jp
emVQYXltZW50Q29tcGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50QXV0aG9yaXphdGlv
blJlc3VsdAogdXNpbmcgRGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb24gPSBCbG9ja1B0
cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICopPjsKIHVzaW5nIERp
ZFNlbGVjdFNoaXBwaW5nQ29udGFjdENvbXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVu
dFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUgKik+OwogdXNpbmcgRGlkU2VsZWN0U2hpcHBp
bmdNZXRob2RDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQS1BheW1lbnRSZXF1ZXN0U2hpcHBp
bmdNZXRob2RVcGRhdGUgKik+OwordXNpbmcgRGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb24g
PSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICopPjsKIAog
fQogCkBAIC02MSw4ICs1OCw4IEBAIHVzaW5nIERpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxl
dGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nCiAtICh2b2lkKWNv
bXBsZXRlUGF5bWVudFNlc3Npb246KFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMpc3RhdHVz
IGVycm9yczooTlNBcnJheTxOU0Vycm9yICo+ICopZXJyb3JzOwogLSAodm9pZCljb21wbGV0ZVNo
aXBwaW5nQ29udGFjdFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVw
ZGF0ZSAqKXNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIC0gKHZvaWQpY29tcGxldGVTaGlwcGluZ01l
dGhvZFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9kVXBkYXRlICopc2hp
cHBpbmdNZXRob2RVcGRhdGU7Ci0jaWYgZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0aW9uRGVs
ZWdhdGVBZGRpdGlvbnNfaW50ZXJmYWNlX3B1YmxpYykKLVdLUGF5bWVudEF1dGhvcml6YXRpb25E
ZWxlZ2F0ZUFkZGl0aW9uc19pbnRlcmZhY2VfcHVibGljCisjaWYgSEFWRShQQVNTS0lUX0NPVVBP
Tl9DT0RFKQorLSAodm9pZCljb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6KFBLUGF5bWVudFJlcXVl
c3RDb3Vwb25Db2RlVXBkYXRlICopY291cG9uQ29kZVVwZGF0ZTsKICNlbmRpZgogLSAodm9pZClp
bnZhbGlkYXRlOwogCkBAIC03OSw4ICs3Niw4IEBAIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxl
Z2F0ZUFkZGl0aW9uc19pbnRlcmZhY2VfcHVibGljCiAtICh2b2lkKV9kaWRTZWxlY3RQYXltZW50
TWV0aG9kOihQS1BheW1lbnRNZXRob2QgKilwYXltZW50TWV0aG9kIGNvbXBsZXRpb246KFdlYktp
dDo6RGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb246OkJsb2NrVHlwZSljb21wbGV0aW9u
OwogLSAodm9pZClfZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0OihQS0NvbnRhY3QgKiljb250YWN0
IGNvbXBsZXRpb246KFdlYktpdDo6RGlkU2VsZWN0U2hpcHBpbmdDb250YWN0Q29tcGxldGlvbjo6
QmxvY2tUeXBlKWNvbXBsZXRpb247CiAtICh2b2lkKV9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZDoo
UEtTaGlwcGluZ01ldGhvZCAqKXNoaXBwaW5nTWV0aG9kIGNvbXBsZXRpb246KFdlYktpdDo6RGlk
U2VsZWN0U2hpcHBpbmdNZXRob2RDb21wbGV0aW9uOjpCbG9ja1R5cGUpY29tcGxldGlvbjsKLSNp
ZiBkZWZpbmVkKFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbnRlcmZh
Y2VfcHJvdGVjdGVkKQotV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2lu
dGVyZmFjZV9wcm90ZWN0ZWQKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCistICh2b2lk
KV9kaWRDaGFuZ2VDb3Vwb25Db2RlOihOU1N0cmluZyAqKWNvdXBvbkNvZGUgY29tcGxldGlvbjoo
V2ViS2l0OjpEaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbjo6QmxvY2tUeXBlKWNvbXBsZXRp
b247CiAjZW5kaWYKIC0gKHZvaWQpX2dldFBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMOih2b2lk
KF4pKE5TVVJMICosIE5TRXJyb3IgKikpY29tcGxldGlvbjsKIC0gKHZvaWQpX3dpbGxGaW5pc2hX
aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KaW5k
ZXggMDgzNzFiNjVmMjJiOTkxODM4MGE4NjNkNWRmMzhhZmEyZmQ3NGUzZS4uNThkZGMwODYzZWFl
N2Y0NTE3NzNmYzA4NTA4MDM4YjBmZDQ4MGQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUu
bW0KQEAgLTMzLDEwICszMyw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BheW1lbnRNZXRob2QuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudFNlc3Npb25FcnJvci5oPgogCi0jaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV0tQYXltZW50QXV0aG9y
aXphdGlvbkRlbGVnYXRlQWRkaXRpb25zLm1tPgotI2VuZGlmCi0KIEBpbXBsZW1lbnRhdGlvbiBX
S1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgewogICAgIFJldGFpblB0cjxOU0FycmF5PFBL
UGF5bWVudFN1bW1hcnlJdGVtICo+PiBfc3VtbWFyeUl0ZW1zOwogICAgIFJldGFpblB0cjxOU0Fy
cmF5PFBLU2hpcHBpbmdNZXRob2QgKj4+IF9zaGlwcGluZ01ldGhvZHM7CkBAIC00Nyw4ICs0Myw4
IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgewogICAg
IFdlYktpdDo6RGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb24gX2RpZFNlbGVjdFBheW1l
bnRNZXRob2RDb21wbGV0aW9uOwogICAgIFdlYktpdDo6RGlkU2VsZWN0U2hpcHBpbmdDb250YWN0
Q29tcGxldGlvbiBfZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0Q29tcGxldGlvbjsKICAgICBXZWJL
aXQ6OkRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxldGlvbiBfZGlkU2VsZWN0U2hpcHBpbmdN
ZXRob2RDb21wbGV0aW9uOwotI2lmIGRlZmluZWQoV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVn
YXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX21lbWJlcnMpCi0gICAgV0tQYXltZW50QXV0aG9y
aXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX21lbWJlcnMKKyNpZiBIQVZF
KFBBU1NLSVRfQ09VUE9OX0NPREUpCisgICAgV2ViS2l0OjpEaWRDaGFuZ2VDb3Vwb25Db2RlQ29t
cGxldGlvbiBfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb247CiAjZW5kaWYKIH0KIApAQCAt
OTQsOSArOTAsMTcgQEAgLSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOihQ
S1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKikKICAgICBzdGQ6OmV4Y2hhbmdl
KF9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZENvbXBsZXRpb24sIG5pbCkodXBkYXRlLmdldCgpKTsK
IH0KIAotI2lmIGRlZmluZWQoV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25z
X2ltcGxlbWVudGF0aW9uX3B1YmxpYykKLSAgICBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdh
dGVBZGRpdGlvbnNfaW1wbGVtZW50YXRpb25fcHVibGljCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NL
SVRfQ09VUE9OX0NPREUpCisKKy0gKHZvaWQpY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlOihQS1Bh
eW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqKWNvdXBvbkNvZGVVcGRhdGUKK3sKKyAgICBQ
S1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqdXBkYXRlID0gY291cG9uQ29kZVVwZGF0
ZSA/OiBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGVJ
bnN0YW5jZSgpIGluaXRXaXRoRXJyb3JzOkBbXSBwYXltZW50U3VtbWFyeUl0ZW1zOl9zdW1tYXJ5
SXRlbXMuZ2V0KCkgc2hpcHBpbmdNZXRob2RzOl9zaGlwcGluZ01ldGhvZHMuZ2V0KCldKS5hdXRv
cmVsZWFzZSgpOworICAgIF9zdW1tYXJ5SXRlbXMgPSBhZG9wdE5TKFt1cGRhdGUucGF5bWVudFN1
bW1hcnlJdGVtcyBjb3B5XSk7CisgICAgX3NoaXBwaW5nTWV0aG9kcyA9IGFkb3B0TlMoW3VwZGF0
ZS5zaGlwcGluZ01ldGhvZHMgY29weV0pOworICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZENoYW5nZUNv
dXBvbkNvZGVDb21wbGV0aW9uLCBuaWwpKHVwZGF0ZSk7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBB
U1NLSVRfQ09VUE9OX0NPREUpCiAKIC0gKHZvaWQpaW52YWxpZGF0ZQogewpAQCAtMTg1LDYgKzE4
OSwzMiBAQCAtICh2b2lkKV9kaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3Q6KFBLQ29udGFjdCAqKWNv
bnRhY3QgY29tcGxldGlvbjooV2ViS2l0OjpEaWRTZQogICAgIHByZXNlbnRlci0+Y2xpZW50KCku
cHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KCpwcmVzZW50ZXIsIFdlYkNvcmU6OlBh
eW1lbnRDb250YWN0KGNvbnRhY3QpKTsKIH0KIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19N
RVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorCitzdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlE
YXRlQ29tcG9uZW50cyB0b0RhdGVDb21wb25lbnRzKE5TRGF0ZUNvbXBvbmVudHMgKmRhdGVDb21w
b25lbnRzKQoreworICAgIEFTU0VSVChkYXRlQ29tcG9uZW50cyk7CisKKyAgICBXZWJDb3JlOjpB
cHBsZVBheURhdGVDb21wb25lbnRzIHJlc3VsdDsKKyAgICByZXN1bHQueWVhcnMgPSBkYXRlQ29t
cG9uZW50cy55ZWFyOworICAgIHJlc3VsdC5tb250aHMgPSBkYXRlQ29tcG9uZW50cy5tb250aDsK
KyAgICByZXN1bHQuZGF5cyA9IGRhdGVDb21wb25lbnRzLmRheTsKKyAgICByZXN1bHQuaG91cnMg
PSBkYXRlQ29tcG9uZW50cy5ob3VyOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBX
ZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgdG9EYXRlQ29tcG9uZW50c1Jhbmdl
KFBLRGF0ZUNvbXBvbmVudHNSYW5nZSAqZGF0ZUNvbXBvbmVudHNSYW5nZSkKK3sKKyAgICBBU1NF
UlQoZGF0ZUNvbXBvbmVudHNSYW5nZSk7CisKKyAgICBXZWJDb3JlOjpBcHBsZVBheURhdGVDb21w
b25lbnRzUmFuZ2UgcmVzdWx0OworICAgIHJlc3VsdC5zdGFydERhdGVDb21wb25lbnRzID0gdG9E
YXRlQ29tcG9uZW50cyhkYXRlQ29tcG9uZW50c1JhbmdlLnN0YXJ0RGF0ZUNvbXBvbmVudHMpOwor
ICAgIHJlc3VsdC5lbmREYXRlQ29tcG9uZW50cyA9IHRvRGF0ZUNvbXBvbmVudHMoZGF0ZUNvbXBv
bmVudHNSYW5nZS5lbmREYXRlQ29tcG9uZW50cyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
I2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JB
TkdFKQorCiBzdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCB0b1NoaXBwaW5n
TWV0aG9kKFBLU2hpcHBpbmdNZXRob2QgKnNoaXBwaW5nTWV0aG9kKQogewogICAgIEFTU0VSVChz
aGlwcGluZ01ldGhvZCk7CkBAIC0xOTQsOCArMjI0LDkgQEAgc3RhdGljIFdlYkNvcmU6OkFwcGxl
UGF5U2hpcHBpbmdNZXRob2QgdG9TaGlwcGluZ01ldGhvZChQS1NoaXBwaW5nTWV0aG9kICpzaGlw
cGkKICAgICByZXN1bHQuZGV0YWlsID0gc2hpcHBpbmdNZXRob2QuZGV0YWlsOwogICAgIHJlc3Vs
dC5pZGVudGlmaWVyID0gc2hpcHBpbmdNZXRob2QuaWRlbnRpZmllcjsKICAgICByZXN1bHQubGFi
ZWwgPSBzaGlwcGluZ01ldGhvZC5sYWJlbDsKLSNpZiBkZWZpbmVkKFdLUGF5bWVudEF1dGhvcml6
YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc190b1NoaXBwaW5nTWV0aG9kKQotICAgIFdLUGF5bWVudEF1
dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc190b1NoaXBwaW5nTWV0aG9kCisjaWYgSEFWRShQ
QVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisgICAgaWYgKHNo
aXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UpCisgICAgICAgIHJlc3VsdC5kYXRlQ29t
cG9uZW50c1JhbmdlID0gdG9EYXRlQ29tcG9uZW50c1JhbmdlKHNoaXBwaW5nTWV0aG9kLmRhdGVD
b21wb25lbnRzUmFuZ2UpOwogI2VuZGlmCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIxMiw5
ICsyNDMsMjEgQEAgLSAodm9pZClfZGlkU2VsZWN0U2hpcHBpbmdNZXRob2Q6KFBLU2hpcHBpbmdN
ZXRob2QgKilzaGlwcGluZ01ldGhvZCBjb21wbGV0aW9uOigKICAgICBwcmVzZW50ZXItPmNsaWVu
dCgpLnByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKCpwcmVzZW50ZXIsIHRvU2hpcHBp
bmdNZXRob2Qoc2hpcHBpbmdNZXRob2QpKTsKIH0KIAotI2lmIGRlZmluZWQoV0tQYXltZW50QXV0
aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX3Byb3RlY3RlZCkKLSAg
ICBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW1wbGVtZW50YXRpb25f
cHJvdGVjdGVkCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisKKy0gKHZv
aWQpX2RpZENoYW5nZUNvdXBvbkNvZGU6KE5TU3RyaW5nICopY291cG9uQ29kZSBjb21wbGV0aW9u
Oih2b2lkICheKShQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqdXBkYXRlKSljb21w
bGV0aW9uCit7CisgICAgQVNTRVJUKCFfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb24pOwor
ICAgIF9kaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbiA9IGNvbXBsZXRpb247CisKKyAgICBh
dXRvIHByZXNlbnRlciA9IF9wcmVzZW50ZXIuZ2V0KCk7CisgICAgaWYgKCFwcmVzZW50ZXIpCisg
ICAgICAgIHJldHVybiBbc2VsZiBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6bmlsXTsKKworICAg
IHByZXNlbnRlci0+Y2xpZW50KCkucHJlc2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZSgqcHJlc2Vu
dGVyLCBjb3Vwb25Db2RlKTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09E
RSkKIAogLSAodm9pZCkgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgX2dldFBheW1lbnRTZXJ2aWNl
c01lcmNoYW50VVJMOih2b2lkKF4pKE5TVVJMICosIE5TRXJyb3IgKikpY29tcGxldGlvbgogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRp
b25Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhv
cml6YXRpb25Db250cm9sbGVyLm1tCmluZGV4IDkwZDNlZWJjOTM3YmY2OTY2ZjJjYjdmODMyOGFj
ZjBhOWUwNDIxYzIuLmRmOTk3NzU1ODUzMWFhMTU3OWMwZDk0YWFkYzExMzFkMzFlNzY5N2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9u
Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2lvcy9QYXltZW50QXV0
aG9yaXphdGlvbkNvbnRyb2xsZXIubW0KQEAgLTMyLDEwICszMiw2IEBACiAjaW1wb3J0IDxwYWwv
Y29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIu
aD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlckFkZGl0aW9ucy5tbT4KLSNlbmRpZgot
CiBAaW50ZXJmYWNlIFdLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyRGVsZWdhdGUgOiBX
S1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgPFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250
cm9sbGVyRGVsZWdhdGUsIFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyUHJpdmF0ZURl
bGVnYXRlPgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXF1ZXN0OihQS1BheW1lbnRSZXF1
ZXN0ICopcmVxdWVzdCBwcmVzZW50ZXI6KFdlYktpdDo6UGF5bWVudEF1dGhvcml6YXRpb25QcmVz
ZW50ZXImKXByZXNlbnRlcjsKQEAgLTg4LDkgKzg0LDE0IEBAIC0gKHZvaWQpcGF5bWVudEF1dGhv
cml6YXRpb25Db250cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlciAqKWNv
bnRyCiAgICAgW3NlbGYgX2RpZFNlbGVjdFBheW1lbnRNZXRob2Q6cGF5bWVudE1ldGhvZCBjb21w
bGV0aW9uOmNvbXBsZXRpb25dOwogfQogCi0jaWYgZGVmaW5lZChQYXltZW50QXV0aG9yaXphdGlv
bkNvbnRyb2xsZXJBZGRpdGlvbnNfUEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXJEZWxl
Z2F0ZSkKLVBheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlckFkZGl0aW9uc19QS1BheW1lbnRB
dXRob3JpemF0aW9uQ29udHJvbGxlckRlbGVnYXRlCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NLSVRf
Q09VUE9OX0NPREUpCisKKy0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyOihQ
S1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlciAqKWNvbnRyb2xsZXIgZGlkQ2hhbmdlQ291
cG9uQ29kZTooTlNTdHJpbmcgKiljb3Vwb25Db2RlIGhhbmRsZXI6KHZvaWQgKF4pKFBLUGF5bWVu
dFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICp1cGRhdGUpKWNvbXBsZXRpb24KK3sKKyAgICBbc2Vs
ZiBfZGlkQ2hhbmdlQ291cG9uQ29kZTpjb3Vwb25Db2RlIGNvbXBsZXRpb246Y29tcGxldGlvbl07
Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCiAKICNwcmFnbWEgbWFy
ayBQS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlclByaXZhdGVEZWxlZ2F0ZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5jcHAKaW5kZXggNjliNzA4ZDYyOTViYTBhZmRkZDYwODBmMzA3NmY5MjM0
NzdmMTY0Mi4uZWE0ODZkMzBiZWI4MTI5NmE2Njg1ODE5MzMwZWJkMzEwYWEzNTIzMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5LmNwcApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIldlYlBheW1l
bnRDb29yZGluYXRvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBs
ZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVNoaXBwaW5n
TWV0aG9kVXBkYXRlLmg+CkBAIC0xNjgsMjEgKzE2OCwyMSBAQCB2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25h
bDxXZQogICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwogfQogCi0jaWYgRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NP
REUpCiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlPiYmIHVwZGF0ZSkKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6
OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5
Q291cG9uQ29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7CiAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0
IHRoZSBwYXltZW50IGhhcyBiZWVuIGNhbmNlbGVkIGFscmVhZHkuCiAgICAgaWYgKG1fc3RhdGUg
PT0gU3RhdGU6OklkbGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIE1FU1NBR0VfQ0hFQ0sobV9z
dGF0ZSA9PSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkKTsKKyAgICBNRVNTQUdFX0NI
RUNLKG1fc3RhdGUgPT0gU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkKTsKIAotICAgIHBsYXRmb3Jt
Q29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShXVEZNb3ZlKHVwZGF0ZSkpOworICAgIHBs
YXRmb3JtQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CiAgICAgbV9z
dGF0ZSA9IFN0YXRlOjpBY3RpdmU7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50U2Vz
c2lvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0PiYgcmVzdWx0KQogewpAQCAtMjQ2LDE3ICsyNDYsMTcgQEAgdm9pZCBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1
dGhvcmkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OkRpZFNlbGVj
dFNoaXBwaW5nTWV0aG9kKHNoaXBwaW5nTWV0aG9kKSk7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkQ2hhbmdl
UGF5bWVudE1ldGhvZE1vZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBT
dHJpbmcmIHBheW1lbnRNZXRob2RNb2RlKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cHJlc2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZShQYXltZW50QXV0aG9yaXphdGlvblByZXNl
bnRlciYsIGNvbnN0IFN0cmluZyYgY291cG9uQ29kZSkKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9
PSBTdGF0ZTo6QWN0aXZlKTsKIAotICAgIG1fc3RhdGUgPSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1v
ZGVDaGFuZ2VkOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6RGlk
Q2hhbmdlUGF5bWVudE1ldGhvZE1vZGUocGF5bWVudE1ldGhvZE1vZGUpKTsKKyAgICBtX3N0YXRl
ID0gU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1l
bnRDb29yZGluYXRvcjo6RGlkQ2hhbmdlQ291cG9uQ29kZShjb3Vwb25Db2RlKSk7CiB9CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8g
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6cHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KFBheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudENvbnRhY3QmIHNoaXBwaW5n
Q29udGFjdCkKIHsKQEAgLTI4Nyw5ICsyODcsOSBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjpjYW5CZWdpbigpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RT
ZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBj
YXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hh
bmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25D
b2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogfQpAQCAt
MzAzLDkgKzMwMyw5IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkNhbmNl
bCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBj
YXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXlt
ZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9N
T0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNl
bmRpZgogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRpbmc6
CkBAIC0zMjcsOSArMzI3LDkgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2Fu
Q29tcGxldGVQYXltZW50KCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNl
bGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNh
c2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNv
ZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiB9CkBAIC0z
NDMsOSArMzQzLDkgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQWJvcnQo
KSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2Fz
ZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVu
dE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8g
RU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9Q
QVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5k
aWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5LmgKaW5kZXggYWI3ZGI4ZmJjOGUzYzQxYjMxMzRjYzFkMWQyYTcyODQ2
Njg0MGQ4MS4uZjRlMjdmZmVhODQ5YmJiYmM2OTM2YzlmNDRlOTQxYjBiYjdkZmQwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eS5oCkBAIC01MSw5ICs1MSw3IEBAIGNsYXNzIFBheW1lbnQ7CiBjbGFzcyBQ
YXltZW50Q29udGFjdDsKIGNsYXNzIFBheW1lbnRNZXJjaGFudFNlc3Npb247CiBjbGFzcyBQYXlt
ZW50TWV0aG9kOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0
cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVV
cGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFwcGxl
UGF5U2hpcHBpbmdDb250YWN0VXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q7
CkBAIC0xMjAsOSArMTE4LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVj
dFBheW1lbnRNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpQYXltZW50TWV0aG9kJikgZmluYWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RT
aGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpQYXltZW50Q29udGFjdCYpIGZpbmFsOwogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0
U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJD
b3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kJikgZmluYWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgcHJlc2VudGVyRGlkQ2hhbmdlUGF5bWVu
dE1ldGhvZE1vZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBTdHJpbmcm
IHBheW1lbnRNZXRob2RNb2RlKSBmaW5hbDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAg
ICB2b2lkIHByZXNlbnRlckRpZENoYW5nZUNvdXBvbkNvZGUoUGF5bWVudEF1dGhvcml6YXRpb25Q
cmVzZW50ZXImLCBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUpIGZpbmFsOworI2VuZGlmCiAgICAg
dm9pZCBwcmVzZW50ZXJXaWxsVmFsaWRhdGVNZXJjaGFudChQYXltZW50QXV0aG9yaXphdGlvblBy
ZXNlbnRlciYsIGNvbnN0IFVSTCYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwpA
QCAtMTM0LDkgKzEzMiw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0
aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhv
ZFVwZGF0ZT4mJik7CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKTsK
ICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJik7Ci0jaWYgRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9k
TW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1v
ZGVVcGRhdGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0Rf
TU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgY29tcGxl
dGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25D
b2RlVXBkYXRlPiYmKTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihj
b25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYp
OwogICAgIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpOwogICAgIHZvaWQgY2FuY2VsUGF5bWVu
dFNlc3Npb24oKTsKQEAgLTE2Miw5ICsxNjAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZv
cm1Db21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBs
ZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBh
eW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1l
bnRNZXRob2RVcGRhdGU+JiYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0Rf
TU9ERSkKLSAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYp
OwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVV
cGRhdGU+JiYpOworI2VuZGlmCiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudFNlc3Np
b24oY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3Vs
dD4mKTsKICAgICB2b2lkIHBsYXRmb3JtSGlkZVBheW1lbnRVSSgpOwogI2lmIFBMQVRGT1JNKENP
Q09BKQpAQCAtMTk2LDEwICsxOTQsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gUGF5bWVudE1l
dGhvZFNlbGVjdGVkIC0gRGlzcGF0Y2hpbmcgdGhlIHBheW1lbnRtZXRob2RzZWxlY3RlZCBldmVu
dCBhbmQgd2FpdGluZyBmb3IgYSByZXBseS4KICAgICAgICAgUGF5bWVudE1ldGhvZFNlbGVjdGVk
LAogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgICAgICAv
LyBQYXltZW50TWV0aG9kU2VsZWN0ZWQgLSBEaXNwYXRjaGluZyB0aGUgcGF5bWVudG1ldGhvZG1v
ZGVjaGFuZ2VkIGV2ZW50IGFuZCB3YWl0aW5nIGZvciBhIHJlcGx5LgotICAgICAgICBQYXltZW50
TWV0aG9kTW9kZUNoYW5nZWQsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgICAgIC8v
IENvdXBvbkNvZGVDaGFuZ2VkIC0gRGlzcGF0Y2hpbmcgdGhlIGNvdXBvbmNvZGVjaGFuZ2VkIGV2
ZW50IGFuZCB3YWl0aW5nIGZvciBhIHJlcGx5LgorICAgICAgICBDb3Vwb25Db2RlQ2hhbmdlZCwK
KyNlbmRpZgogCiAgICAgICAgIC8vIENvbXBsZXRpbmcgLSBDb21wbGV0aW5nIHRoZSBwYXltZW50
IGFuZCB3YWl0aW5nIGZvciBwcmVzZW50ZXJEaWRGaW5pc2ggdG8gYmUgY2FsbGVkLgogICAgICAg
ICBDb21wbGV0aW5nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAyNzQwYzkxZjEyMWMxYzMxMjhmNTcwYTk5ZTMxMmM2MThmYTIyZTNlLi43ZDg5YTViMTEzZTk0
NDhlNmEyM2U5ZDRhNzVhYTM5MWE1YzkxZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5tZXNzYWdlcy5pbgpAQCAtMzUsOSArMzUsOSBAQCBtZXNzYWdlcyAtPiBXZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBDb21wbGV0ZVNoaXBwaW5nTWV0aG9k
U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVw
ZGF0ZT4gdXBkYXRlKQogICAgIENvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+IHVwZGF0ZSkK
ICAgICBDb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3Jl
OjpBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU+IHVwZGF0ZSkKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGU+IHVwZGF0ZSkKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01P
REUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBDb21wbGV0ZUNvdXBv
bkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGU+IHVwZGF0ZSkKKyNlbmRpZgogICAgIENvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4gcmVzdWx0KQogICAgIEFi
b3J0UGF5bWVudFNlc3Npb24oKQogICAgIENhbmNlbFBheW1lbnRTZXNzaW9uKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9X
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDM3NDVjMGUwMzM1NmNmOGY5
Y2Y3NTIxNzI5Zjk2ODJhMjgyZjcyOGMuLjNkYWI3MDBhOWUyODRjOGY2NDdkZTRhN2I3NDRjMmM1
N2FmYzViODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29h
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpA
QCAtMzYsNyArMzYsNyBAQAogI2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIK
ICNpbXBvcnQgIldlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQg
IldlYlByb2Nlc3NQcm94eS5oIgotI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaD4KICNpbXBvcnQg
PFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oPgpAQCAtMTY1LDE3ICsxNjUsNjAgQEAg
c3RhdGljIFBLU2hpcHBpbmdUeXBlIHRvUEtTaGlwcGluZ1R5cGUoV2ViQ29yZTo6QXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlMKICAgICB9CiB9CiAKKyNpZiBIQVZFKFBBU1NLSVRfU0hJ
UFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKworc3RhdGljIFJldGFpblB0cjxO
U0RhdGVDb21wb25lbnRzPiB0b05TRGF0ZUNvbXBvbmVudHMoY29uc3QgV2ViQ29yZTo6QXBwbGVQ
YXlEYXRlQ29tcG9uZW50cyYgZGF0ZUNvbXBvbmVudHMpCit7CisgICAgYXV0byByZXN1bHQgPSBh
ZG9wdE5TKFtbTlNEYXRlQ29tcG9uZW50cyBhbGxvY10gaW5pdF0pOworICAgIFtyZXN1bHQgc2V0
Q2FsZW5kYXI6W05TQ2FsZW5kYXIgY2FsZW5kYXJXaXRoSWRlbnRpZmllcjpOU0NhbGVuZGFySWRl
bnRpZmllckdyZWdvcmlhbl1dOworICAgIGlmIChkYXRlQ29tcG9uZW50cy55ZWFycykKKyAgICAg
ICAgW3Jlc3VsdCBzZXRZZWFyOipkYXRlQ29tcG9uZW50cy55ZWFyc107CisgICAgaWYgKGRhdGVD
b21wb25lbnRzLm1vbnRocykKKyAgICAgICAgW3Jlc3VsdCBzZXRNb250aDoqZGF0ZUNvbXBvbmVu
dHMubW9udGhzXTsKKyAgICBpZiAoZGF0ZUNvbXBvbmVudHMuZGF5cykKKyAgICAgICAgW3Jlc3Vs
dCBzZXREYXk6KmRhdGVDb21wb25lbnRzLmRheXNdOworICAgIGlmIChkYXRlQ29tcG9uZW50cy5o
b3VycykKKyAgICAgICAgW3Jlc3VsdCBzZXRIb3VyOipkYXRlQ29tcG9uZW50cy5ob3Vyc107Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIFJldGFpblB0cjxQS0RhdGVDb21wb25lbnRz
UmFuZ2U+IHRvUEtEYXRlQ29tcG9uZW50c1JhbmdlKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5RGF0
ZUNvbXBvbmVudHNSYW5nZSYgZGF0ZUNvbXBvbmVudHNSYW5nZSkKK3sKKyAgICByZXR1cm4gYWRv
cHROUyhbUEFMOjphbGxvY1BLRGF0ZUNvbXBvbmVudHNSYW5nZUluc3RhbmNlKCkgaW5pdFdpdGhT
dGFydERhdGVDb21wb25lbnRzOnRvTlNEYXRlQ29tcG9uZW50cyhkYXRlQ29tcG9uZW50c1Jhbmdl
LnN0YXJ0RGF0ZUNvbXBvbmVudHMpLmdldCgpIGVuZERhdGVDb21wb25lbnRzOnRvTlNEYXRlQ29t
cG9uZW50cyhkYXRlQ29tcG9uZW50c1JhbmdlLmVuZERhdGVDb21wb25lbnRzKS5nZXQoKV0pOwor
fQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVO
VFNfUkFOR0UpCisKIFBLU2hpcHBpbmdNZXRob2QgKnRvUEtTaGlwcGluZ01ldGhvZChjb25zdCBX
ZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kJiBzaGlwcGluZ01ldGhvZCkKIHsKICAgICBQ
S1NoaXBwaW5nTWV0aG9kICpyZXN1bHQgPSBbUEFMOjpnZXRQS1NoaXBwaW5nTWV0aG9kQ2xhc3Mo
KSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpzaGlwcGluZ01ldGhvZC5sYWJlbCBhbW91bnQ6dG9EZWNp
bWFsTnVtYmVyKHNoaXBwaW5nTWV0aG9kLmFtb3VudCldOwogICAgIFtyZXN1bHQgc2V0SWRlbnRp
ZmllcjpzaGlwcGluZ01ldGhvZC5pZGVudGlmaWVyXTsKICAgICBbcmVzdWx0IHNldERldGFpbDpz
aGlwcGluZ01ldGhvZC5kZXRhaWxdOwotI2lmIGRlZmluZWQoV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlDb2NvYUFkZGl0aW9uc190b1BLU2hpcHBpbmdNZXRob2QpCi0gICAgV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHlDb2NvYUFkZGl0aW9uc190b1BLU2hpcHBpbmdNZXRob2QKKyNpZiBIQVZF
KFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBpZiAo
YXV0byYgZGF0ZUNvbXBvbmVudHNSYW5nZSA9IHNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRz
UmFuZ2UpCisgICAgICAgIFtyZXN1bHQgc2V0RGF0ZUNvbXBvbmVudHNSYW5nZTp0b1BLRGF0ZUNv
bXBvbmVudHNSYW5nZSgqZGF0ZUNvbXBvbmVudHNSYW5nZSkuZ2V0KCldOwogI2VuZGlmCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VE
SVRJTkdfTU9ERSkKKworc3RhdGljIFBLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgdG9QS1No
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGUgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpCit7CisgICAgc3dpdGNoIChz
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSkgeworICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTo6RW5hYmxlZDoKKyAgICAgICAgcmV0dXJuIFBLU2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGVFbmFibGVkOworCisgICAgY2FzZSBXZWJDb3JlOjpBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOjpTdG9yZVBpY2t1cDoKKyAgICAgICAgcmV0
dXJuIFBLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVTdG9yZVBpY2t1cDsKKyAgICB9CisKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUEtTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZUVuYWJsZWQ7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfQ09O
VEFDVF9FRElUSU5HX01PREUpCisKIHN0YXRpYyBSZXRhaW5QdHI8TlNTZXQ+IHRvTlNTZXQoY29u
c3QgVmVjdG9yPFN0cmluZz4mIHN0cmluZ3MpCiB7CiAgICAgaWYgKHN0cmluZ3MuaXNFbXB0eSgp
KQpAQCAtMjY1LDYgKzMwOCwxOSBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwogICAgIH0KICNl
bmRpZgogCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorICAgIGlmIChhdXRvIHN1cHBv
cnRzQ291cG9uQ29kZSA9IHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRzQ291cG9uQ29kZSgpKQorICAg
ICAgICBbcmVzdWx0IHNldFN1cHBvcnRzQ291cG9uQ29kZToqc3VwcG9ydHNDb3Vwb25Db2RlXTsK
KworICAgIGlmIChhdXRvJiBjb3Vwb25Db2RlID0gcGF5bWVudFJlcXVlc3QuY291cG9uQ29kZSgp
OyAhY291cG9uQ29kZS5pc051bGwoKSkKKyAgICAgICAgW3Jlc3VsdCBzZXRDb3Vwb25Db2RlOmNv
dXBvbkNvZGVdOworI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9F
RElUSU5HX01PREUpCisgICAgaWYgKGF1dG8mIHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlID0g
cGF5bWVudFJlcXVlc3Quc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoKSkKKyAgICAgICAgW3Jl
c3VsdCBzZXRTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTp0b1BLU2hpcHBpbmdDb250YWN0RWRp
dGluZ01vZGUoKnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKV07CisjZW5kaWYKKwogI2lmIGRl
ZmluZWQoV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYUFkZGl0aW9uc19wbGF0Zm9ybVBh
eW1lbnRSZXF1ZXN0KQogICAgIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2FBZGRpdGlv
bnNfcGxhdGZvcm1QYXltZW50UmVxdWVzdAogI2VuZGlmCkBAIC0yOTcsMTQgKzM1MywxNCBAQCB2
b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudE1l
dGhvZFNlbGVjdGlvbihzdGQ6Om9wdAogICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlci0+Y29t
cGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9CiAKLSNpZiBF
TkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BB
WV9DT1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZv
cm1Db21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJiB1cGRhdGUpCit2b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7
Ci0gICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5jb21wbGV0ZVBheW1lbnRNZXRob2RNb2Rl
Q2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CisgICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5j
b21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoV1RGTW92ZSh1cGRhdGUpKTsKIH0KIAotI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpnZXRTZXR1cEZlYXR1cmVzKGNvbnN0IFBheW1lbnRTZXR1cENvbmZpZ3VyYXRpb24mIGNvbmZp
Z3VyYXRpb24sIE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6R2V0U2V0dXBG
ZWF0dXJlczo6QXN5bmNSZXBseSYmIHJlcGx5KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAyYmIx
MmMyNzhkNWFkZjIwOGYyNThiYzJlZThlNDY4N2EyZGI2MjA4Li5mODIxODliZWY5MWFhNDFjMTc2
Yzc2ZGJjMmI0MDc4YzMwMGY2YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMjAxLDYgKzIwMSwx
MyBAQCB2b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJl
cXVlc3Q+OjplbmNvZGUoRW5jb2RlciYgZW5jbwogI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFM
TE1FTlRTKQogICAgIGVuY29kZXIgPDwgcmVxdWVzdC5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24o
KTsKICNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgZW5jb2Rl
ciA8PCByZXF1ZXN0LnN1cHBvcnRzQ291cG9uQ29kZSgpOworICAgIGVuY29kZXIgPDwgcmVxdWVz
dC5jb3Vwb25Db2RlKCk7CisjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NP
TlRBQ1RfRURJVElOR19NT0RFKQorICAgIGVuY29kZXIgPDwgcmVxdWVzdC5zaGlwcGluZ0NvbnRh
Y3RFZGl0aW5nTW9kZSgpOworI2VuZGlmCiAjaWYgZGVmaW5lZChXZWJDb3JlQXJndW1lbnRDb2Rl
cnNDb2NvYUFkZGl0aW9uc19BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdF9lbmNvZGUpCiAg
ICAgV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2FBZGRpdGlvbnNfQXBwbGVQYXlTZXNzaW9uUGF5
bWVudFJlcXVlc3RfZW5jb2RlCiAjZW5kaWYKQEAgLTI5NSw2ICszMDIsMjggQEAgYm9vbCBBcmd1
bWVudENvZGVyPFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Pjo6ZGVjb2Rl
KERlY29kZXImIGRlY28KICAgICByZXF1ZXN0LnNldEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihX
VEZNb3ZlKCppbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pKTsKICNlbmRpZgogCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8
Ym9vbD4+IHN1cHBvcnRzQ291cG9uQ29kZTsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRzQ291cG9u
Q29kZTsKKyAgICBpZiAoIXN1cHBvcnRzQ291cG9uQ29kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIHJlcXVlc3Quc2V0U3VwcG9ydHNDb3Vwb25Db2RlKFdURk1vdmUoKnN1cHBvcnRzQ291
cG9uQ29kZSkpOworCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGNvdXBvbkNvZGU7CisgICAg
ZGVjb2RlciA+PiBjb3Vwb25Db2RlOworICAgIGlmICghY291cG9uQ29kZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJlcXVlc3Quc2V0Q291cG9uQ29kZShXVEZNb3ZlKCpjb3Vwb25Db2Rl
KSk7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElU
SU5HX01PREUpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+PiBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZTsKKyAgICBkZWNvZGVyID4+IHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOworICAgIGlmICgh
c2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXF1ZXN0LnNldFNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKFdURk1vdmUoKnNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlKSk7CisjZW5kaWYKKwogI2lmIGRlZmluZWQoV2ViQ29yZUFyZ3VtZW50
Q29kZXJzQ29jb2FBZGRpdGlvbnNfQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3RfZGVjb2Rl
KQogICAgIFdlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hQWRkaXRpb25zX0FwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0X2RlY29kZQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4
IGNlYzIzNGFmYTI4MTgyNWVkYzlmOTExZjE4YTE1NDkzNDM0MzJiMjQuLmY0ZmIyNzFhYjE2ZWNm
MjM2ZTM2ZTQwZWQ4ZjM1MzAwNDE4ZjYxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0z
Niw3ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZVVwZGF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmg+CkBAIC0xMjgsMTQgKzEy
OCwxNCBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9k
U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oV1RG
TW92ZSh1cGRhdGUpKSk7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9E
X01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmIHVwZGF0ZSkK
K3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYgdXBkYXRlKQog
ewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0
ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSkpOworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZUNvdXBvbkNvZGVDaGFu
Z2UoV1RGTW92ZSh1cGRhdGUpKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24o
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJiByZXN1
bHQpCiB7CkBAIC0yMTYsMTQgKzIxNiwxNCBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6
ZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBXZWJDb3JlOjpQYXltZW50TWV0aG9kJgogICAg
IHBheW1lbnRDb29yZGluYXRvcigpLmRpZFNlbGVjdFBheW1lbnRNZXRob2QocGF5bWVudE1ldGhv
ZCk7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0
b3I6OmRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2Rl
KQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5n
JiYgY291cG9uQ29kZSkKIHsKLSAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5kaWRDaGFuZ2VQYXlt
ZW50TWV0aG9kTW9kZShXVEZNb3ZlKHBheW1lbnRNZXRob2RNb2RlKSk7CisgICAgcGF5bWVudENv
b3JkaW5hdG9yKCkuZGlkQ2hhbmdlQ291cG9uQ29kZShXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKIH0K
IAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvcjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudFNlc3Npb25F
cnJvciYmIHNlc3Npb25FcnJvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCBjODFmMmI0YzRl
NTE1YmRlZjAxMzJiMmIxNzExOWRmNTJhMWQ2M2M3Li40MmIzZmY3ZmRjYWE3OGE3NTkyNzU4MGRm
MjgzOWNlOGM3YWE2Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC02OCw5ICs2OCw5IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKSBvdmVycmlkZTsKICAg
ICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50
TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVVcGRhdGU+JiYpIG92ZXJyaWRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQor
ICAgIHZvaWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogICAgIHZvaWQg
Y29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRo
b3JpemF0aW9uUmVzdWx0PiYmKSBvdmVycmlkZTsKIAogICAgIHZvaWQgYWJvcnRQYXltZW50U2Vz
c2lvbigpIG92ZXJyaWRlOwpAQCAtMTAyLDkgKzEwMiw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBk
aWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0
aG9kJik7CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgV2ViQ29yZTo6
UGF5bWVudENvbnRhY3QmKTsKICAgICB2b2lkIGRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3Qg
V2ViQ29yZTo6UGF5bWVudE1ldGhvZCYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKLSAgICB2b2lkIGRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYm
IHBheW1lbnRNZXRob2RNb2RlKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lk
IGRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSk7CisjZW5kaWYKICAgICB2
b2lkIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3Im
Jik7CiAKICAgICBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3ImIHBheW1lbnRDb29yZGluYXRv
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KaW5kZXggZTg1ZWIxN2M0
ZTJiYmMwNDU5MzNmODk3ODQ5ZGNmZGU5MDAzMDlmYS4uZTNiMWRiNTFjOGY0ZTJiODUyMjExNGM2
YTg0MDVmOTQwNDJhMzBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmlu
CkBAIC0zMSw5ICszMSw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvciBOb3RS
ZWZDb3VudGVkIHsKICAgICBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZChzdHJ1Y3QgV2ViQ29yZTo6
QXBwbGVQYXlTaGlwcGluZ01ldGhvZCBzaGlwcGluZ01ldGhvZCkKICAgICBEaWRTZWxlY3RTaGlw
cGluZ0NvbnRhY3QoV2ViQ29yZTo6UGF5bWVudENvbnRhY3Qgc2hpcHBpbmdDb250YWN0KQogICAg
IERpZFNlbGVjdFBheW1lbnRNZXRob2QoV2ViQ29yZTo6UGF5bWVudE1ldGhvZCBwYXltZW50TWV0
aG9kKQotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBEaWRD
aGFuZ2VQYXltZW50TWV0aG9kTW9kZShTdHJpbmcgcGF5bWVudE1ldGhvZE1vZGUpCi0jZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCisgICAgRGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcgY291cG9u
Q29kZSkKKyNlbmRpZgogICAgIERpZENhbmNlbFBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1l
bnRTZXNzaW9uRXJyb3Igc2Vzc2lvbkVycm9yKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29y
ZGluYXRvckNsaWVudC5oCmluZGV4IDYxMzU3ZWFjNjFjOWUyOWJiODA2MGU3NTBmM2IwODFiNjU2
YjU1NzAuLjI2MDQzOGRhMmY0NjliZDE1NWMyNmFjZTVhYTg4NzMxY2Q4YzU3ZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29y
ZGluYXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC00NSw5ICs0NSw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKSBvdmVycmlkZTsKICAgICB2
b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0
aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGU+JiYpIG92ZXJyaWRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAg
IHZvaWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogICAgIHZvaWQgY29t
cGxldGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3Jp
emF0aW9uUmVzdWx0PiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24o
KSBvdmVycmlkZTsKICAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KaW5kZXggNDA3OTJhMDk3NTkz
YmIwMDM0M2E2ZjIyYmY4Y2E5MWU2MjZkOTcxNS4uZGM3NmU2YWRkNjIxNWIxZGFmYjg3NWRhMzFh
ZWFlMDMzOTNkNTU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5t
bQpAQCAtODQsMTMgKzg0LDEzIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpj
b21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXCiB7CiB9CiAKLSNp
ZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNv
bXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBs
ZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQ6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJikKIHsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxl
dGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0
aW9uUmVzdWx0PiYmKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNhNmMxOTdhYzZjOWVhYzczNWFkMWY5ZDQ0MzdmYTBm
NDdiNzEyMmMuLmI1MThhOTA4MjViODk5M2Y4MzZkMWIxYTVkODUyYjZlMjkyZjQ4MjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyOSBAQAorMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9B
cHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0
aW9uYWxMaW5lSXRlbXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5n
TWV0aG9kcy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
QXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1l
bnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5o
dHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUu
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJl
cXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1
cHBvcnRzQ291cG9uQ29kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAyMS0wNi0wNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcmVsYW5kIHIyNzY1OTIgd2l0aCBhIGZpeCBmb3IgcHV0KCkg
b3ZlcnJpZGUgaW4gcHJvdG90eXBlIGNoYWluIG9mIGEgSlNQcm94eQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0
aW9uYWxMaW5lSXRlbXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NmQ1OGE3YTRjZGM0N2UxYjBjMjJjNGMxODQ2
ZTg0MGU5MTE1OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGFueSBs
aW5lIGl0ZW1zIGlmIGBhZGRpdGlvbmFsTGluZUl0ZW1zYCBpcyBub3QgcHJvdmlkZWQuCitQQVNT
IFNob3VsZCBub3QgaGF2ZSBhbnkgbGluZSBpdGVtcyBpZiBgYWRkaXRpb25hbExpbmVJdGVtc2Ag
aXMgZW1wdHkuCitQQVNTIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGBwYXltZW50VGltaW5nYCBzaG91
bGQgYmUgYCJpbW1lZGlhdGUiYC4KK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1
ZSBmb3IgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxFbmREYXRlYCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgInJlY3Vycmlu
ZyJgLgorUEFTUyBTaG91bGQgYWxzbyBwcm9wYWdhdGUgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZh
bFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxFbmREYXRlYCBpZiBwcm92
aWRlZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgInJlY3VycmluZyJgLgorUEFTUyBTaG91bGQg
bm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgZGVmZXJyZWRQYXltZW50RGF0ZWAgd2hlbiBg
cGF5bWVudFRpbWluZ2AgaXMgYCJkZWZlcnJlZCJgLgorUEFTUyBTaG91bGQgYWxzbyBwcm9wYWdh
dGUgYGRlZmVycmVkUGF5bWVudERhdGVgIGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdg
IGlzIGAiZGVmZXJyZWQiYC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2Rp
Zmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg2OWQzNGU5
MDExN2Q5OTNlYzZiMzRkOTkxZGZhYjFhZjVlMTExNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlv
bmFsTGluZUl0ZW1zLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw5OSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgZm9yIHByb3ZpZGluZyBgYWRk
aXRpb25hbExpbmVJdGVtc2AgYXMgcGFydCBvZiBgQXBwbGVQYXlNb2RpZmllcmAuPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6
IHRydWUgfSk7CisKK2NvbnN0IGltbWVkaWF0ZUxhYmVsID0gIkltbWVkaWF0ZSBMYWJlbCI7Citj
b25zdCBpbW1lZGlhdGVBbW91bnQgPSAiMjAuMDAiOworY29uc3QgcmVjdXJyaW5nTGFiZWwgPSAi
UmVjdXJyaW5nIExhYmVsIjsKK2NvbnN0IHJlY3VycmluZ0Ftb3VudCA9ICIzMC4wMCI7Citjb25z
dCByZWN1cnJpbmdQYXltZW50U3RhcnREYXRlID0gbmV3IERhdGUoMCk7Citjb25zdCByZWN1cnJp
bmdQYXltZW50SW50ZXJ2YWxVbml0ID0gInllYXIiOworY29uc3QgcmVjdXJyaW5nUGF5bWVudElu
dGVydmFsQ291bnQgPSAxMDsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRFbmREYXRlID0gbmV3IERh
dGUoMSk7Citjb25zdCBkZWZlcnJlZExhYmVsID0gIkRlZmVycmVkIExhYmVsIjsKK2NvbnN0IGRl
ZmVycmVkUGF5bWVudERhdGUgPSBuZXcgRGF0ZSgyKTsKK2NvbnN0IGRlZmVycmVkQW1vdW50ID0g
IjQwLjAwIjsKKworZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlsc1dpdGhNb2RpZmllclRoYXRI
YXNMaW5lSXRlbXMoYWRkaXRpb25hbExpbmVJdGVtcykgeworICAgIGxldCBkZXRhaWxzID0gdmFs
aWRQYXltZW50RGV0YWlscygpOworICAgIGRlbGV0ZSBkZXRhaWxzLmRpc3BsYXlJdGVtczsKKyAg
ICBpZiAoYWRkaXRpb25hbExpbmVJdGVtcykKKyAgICAgICAgZGV0YWlscy5tb2RpZmllcnMgPSBb
IHsgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsIGRhdGE6
IHsgYWRkaXRpb25hbExpbmVJdGVtcyB9IH0gXTsKKyAgICByZXR1cm4gZGV0YWlsczsKK30KKwor
ZnVuY3Rpb24gdGVzdFBheW1lbnRJdGVtRGF0YShkZXNjcmlwdGlvbiwge2FkZGl0aW9uYWxMaW5l
SXRlbXMsIGV4cGVjdGVkTGluZUl0ZW1zfSkgeworICAgIHVzZXJfYWN0aXZhdGlvbl90ZXN0KGFz
eW5jICh0ZXN0KSA9PiB7CisgICAgICAgIGxldCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHNXaXRoTW9kaWZpZXJU
aGF0SGFzTGluZUl0ZW1zKGFkZGl0aW9uYWxMaW5lSXRlbXMpKTsKKyAgICAgICAgcmVxdWVzdC5h
ZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+IHsKKyAgICAg
ICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgICAgIH0pOworICAgICAgICByZXF1ZXN0
LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4gewor
ICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICAgICAgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgICAgICB9KTsKKwor
ICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgICAgICBs
ZXQgYWN0dWFsTGluZUl0ZW1zID0gaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IubGlu
ZUl0ZW1zOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtcy5sZW5ndGgsIGV4
cGVjdGVkTGluZUl0ZW1zLmxlbmd0aCwgYGNoZWNrIHRoYXQgdGhlcmUgYXJlICR7ZXhwZWN0ZWRM
aW5lSXRlbXMubGVuZ3RofSBsaW5lIGl0ZW1zYCk7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgYWN0dWFsTGluZUl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBsZXQgYWN0dWFs
TGluZUl0ZW0gPSBhY3R1YWxMaW5lSXRlbXNbaV07CisgICAgICAgICAgICBsZXQgZXhwZWN0ZWRM
aW5lSXRlbSA9IGV4cGVjdGVkTGluZUl0ZW1zW2ldOworCisgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGFjdHVhbExpbmVJdGVtLmxhYmVsLCBleHBlY3RlZExpbmVJdGVtLmxhYmVsLCBgY2hlY2sg
dGhhdCB0aGUgXGBsYWJlbFxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLmFtb3VudCwgZXhwZWN0ZWRMaW5lSXRl
bS5hbW91bnQsIGBjaGVjayB0aGF0IHRoZSBcYGFtb3VudFxgIG1hdGNoZXMgZm9yIGxpbmUgaXRl
bSAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLnBheW1l
bnRUaW1pbmcsIGV4cGVjdGVkTGluZUl0ZW0ucGF5bWVudFRpbWluZywgYGNoZWNrIHRoYXQgdGhl
IFxgcGF5bWVudFRpbWluZ1xgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRTdGFydERh
dGU/LmdldFRpbWUoKSwgZXhwZWN0ZWRMaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRl
Py5nZXRUaW1lKCksIGBjaGVjayB0aGF0IHRoZSBcYHJlY3VycmluZ1BheW1lbnRTdGFydERhdGVc
YCBtYXRjaGVzIGZvciBsaW5lIGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhhY3R1YWxMaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0LCBleHBlY3RlZExp
bmVJdGVtLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIGBjaGVjayB0aGF0IHRoZSBcYHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXRcYCBtYXRjaGVzIGZvciBsaW5lIGl0ZW0gJHtpfWAp
OworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxMaW5lSXRlbS5yZWN1cnJpbmdQYXlt
ZW50SW50ZXJ2YWxDb3VudCwgZXhwZWN0ZWRMaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxDb3VudCwgYGNoZWNrIHRoYXQgdGhlIFxgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnRc
YCBtYXRjaGVzIGZvciBsaW5lIGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhhY3R1YWxMaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50RW5kRGF0ZT8uZ2V0VGltZSgpLCBleHBl
Y3RlZExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRFbmREYXRlPy5nZXRUaW1lKCksIGBjaGVjayB0
aGF0IHRoZSBcYHJlY3VycmluZ1BheW1lbnRFbmREYXRlXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVt
ICR7aX1gKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0uZGVmZXJy
ZWRQYXltZW50RGF0ZT8uZ2V0VGltZSgpLCBleHBlY3RlZExpbmVJdGVtLmRlZmVycmVkUGF5bWVu
dERhdGU/LmdldFRpbWUoKSwgYGNoZWNrIHRoYXQgdGhlIFxgZGVmZXJyZWRQYXltZW50RGF0ZVxg
IG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAgIH0KKworICAgICAgICBhd2Fp
dCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworICAgIH0sIGRlc2NyaXB0aW9uKTsKK30K
KwordGVzdFBheW1lbnRJdGVtRGF0YSgiU2hvdWxkIG5vdCBoYXZlIGFueSBsaW5lIGl0ZW1zIGlm
IGBhZGRpdGlvbmFsTGluZUl0ZW1zYCBpcyBub3QgcHJvdmlkZWQuIiwgeworICAgIGFkZGl0aW9u
YWxMaW5lSXRlbXM6IHVuZGVmaW5lZCwKKyAgICBleHBlY3RlZExpbmVJdGVtczogWyBdLAorfSk7
Cit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgbm90IGhhdmUgYW55IGxpbmUgaXRlbXMgaWYg
YGFkZGl0aW9uYWxMaW5lSXRlbXNgIGlzIGVtcHR5LiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0
ZW1zOiBbIF0sCisgICAgZXhwZWN0ZWRMaW5lSXRlbXM6IFsgXSwKK30pOworCit0ZXN0UGF5bWVu
dEl0ZW1EYXRhKCJUaGUgZGVmYXVsdCB2YWx1ZSBvZiBgcGF5bWVudFRpbWluZ2Agc2hvdWxkIGJl
IGBcImltbWVkaWF0ZVwiYC4iLCB7CisgICAgYWRkaXRpb25hbExpbmVJdGVtczogWyB7IGxhYmVs
OiBpbW1lZGlhdGVMYWJlbCwgYW1vdW50OiBpbW1lZGlhdGVBbW91bnQgfSBdLAorICAgIGV4cGVj
dGVkTGluZUl0ZW1zOiBbIHsgbGFiZWw6IGltbWVkaWF0ZUxhYmVsLCBhbW91bnQ6IGltbWVkaWF0
ZUFtb3VudCwgcGF5bWVudFRpbWluZzogImltbWVkaWF0ZSIsIHJlY3VycmluZ1BheW1lbnRJbnRl
cnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50OiAxIH0gXSwK
K30pOworCit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZh
bHVlIGZvciBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3Vycmlu
Z1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGBcInJlY3Vy
cmluZ1wiYC4iLCB7CisgICAgYWRkaXRpb25hbExpbmVJdGVtczogWyB7IGxhYmVsOiByZWN1cnJp
bmdMYWJlbCwgYW1vdW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJp
bmciIH0gXSwKKyAgICBleHBlY3RlZExpbmVJdGVtczogWyB7IGxhYmVsOiByZWN1cnJpbmdMYWJl
bCwgYW1vdW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmciLCBy
ZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50
ZXJ2YWxDb3VudDogMSB9IF0sCit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBhbHNv
IHByb3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1p
bmdgIGlzIGBcInJlY3VycmluZ1wiYC4iLCB7CisgICAgYWRkaXRpb25hbExpbmVJdGVtczogWyB7
IGxhYmVsOiByZWN1cnJpbmdMYWJlbCwgYW1vdW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRU
aW1pbmc6ICJyZWN1cnJpbmciLCByZWN1cnJpbmdQYXltZW50U3RhcnREYXRlLCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxVbml0LCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCwgcmVjdXJy
aW5nUGF5bWVudEVuZERhdGUgfSBdLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIHsgbGFiZWw6
IHJlY3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzog
InJlY3VycmluZyIsIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIHJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbFVuaXQsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCByZWN1cnJpbmdQYXlt
ZW50RW5kRGF0ZSB9IF0sCit9KTsKKwordGVzdFBheW1lbnRJdGVtRGF0YSgiU2hvdWxkIG5vdCBo
YXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYGRlZmVycmVkUGF5bWVudERhdGVgIHdoZW4gYHBheW1l
bnRUaW1pbmdgIGlzIGBcImRlZmVycmVkXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1z
OiBbIHsgbGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDogZGVmZXJyZWRBbW91bnQsIHBheW1l
bnRUaW1pbmc6ICJkZWZlcnJlZCIgfSBdLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIHsgbGFi
ZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDogZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6
ICJkZWZlcnJlZCIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbENvdW50OiAxIH0gXSwKK30pOwordGVzdFBheW1lbnRJdGVtRGF0
YSgiU2hvdWxkIGFsc28gcHJvcGFnYXRlIGBkZWZlcnJlZFBheW1lbnREYXRlYCBpZiBwcm92aWRl
ZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJkZWZlcnJlZFwiYC4iLCB7CisgICAgYWRkaXRp
b25hbExpbmVJdGVtczogWyB7IGxhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91bnQ6IGRlZmVycmVk
QW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCBkZWZlcnJlZFBheW1lbnREYXRlIH0g
XSwKKyAgICBleHBlY3RlZExpbmVJdGVtczogWyB7IGxhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91
bnQ6IGRlZmVycmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3Vu
dDogMSwgZGVmZXJyZWRQYXltZW50RGF0ZSB9IF0sCit9KTsKKworZG9uZSgpOworPC9zY3JpcHQ+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlNb2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMGFkOThiMjhiYTFhMTExNzhmZDA0OTRhNTFjYzRmMzVmODE5NjBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlm
aWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNSBAQAorCitQQVNTIFNob3VsZCBub3QgaGF2ZSBhbnkgc2hpcHBpbmcgb3B0aW9ucyBpZiBg
YWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kc2AgaXMgbm90IHByb3ZpZGVkLgorUEFTUyBTaG91bGQg
bm90IGhhdmUgYW55IHNoaXBwaW5nIG9wdGlvbnMgaWYgYGFkZGl0aW9uYWxTaGlwcGluZ01ldGhv
ZHNgIGlzIGVtcHR5LgorUEFTUyBTaG91bGQgcHJvcGFnYXRlIGBkYXRlQ29tcG9uZW50c1Jhbmdl
YCBpZiBwcm92aWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlN
b2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2IwY2UxZmZiYzJiYzg4NGI5MjdkYTc3MWYzNDgyMjNjZDc4YzIyNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3OCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgZm9y
IHByb3ZpZGluZyBgYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kc2AgYXMgcGFydCBvZiBgQXBwbGVQ
YXlNb2RpZmllcmAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVx
dWVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRy
dWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7CisKK2NvbnN0IHNoaXBwaW5nTWV0aG9kID0g
eworICAgIGFtb3VudDogIjEwLjAwIiwKKyAgICBkZXRhaWw6ICJkZXRhaWwiLAorICAgIGlkZW50
aWZpZXI6ICJpZGVudGlmaWVyIiwKKyAgICBsYWJlbDogImxhYmVsIiwKKyAgICBkYXRlQ29tcG9u
ZW50c1JhbmdlOiB7CisgICAgICAgIHN0YXJ0RGF0ZUNvbXBvbmVudHM6IHsgZGF5czogNSB9LAor
ICAgICAgICBlbmREYXRlQ29tcG9uZW50czogeyBkYXlzOiAxMCB9LAorICAgIH0sCit9OworCitm
dW5jdGlvbiB2YWxpZFBheW1lbnREZXRhaWxzV2l0aE1vZGlmaWVyVGhhdEhhc0FkZGl0aW9uYWxT
aGlwcGluZ09wdGlvbnMoYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcykgeworICAgIGxldCBkZXRh
aWxzID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGlmIChhZGRpdGlvbmFsU2hpcHBpbmdN
ZXRob2RzKQorICAgICAgICBkZXRhaWxzLm1vZGlmaWVycyA9IFsgeyBzdXBwb3J0ZWRNZXRob2Rz
OiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5IiwgZGF0YTogeyBhZGRpdGlvbmFsU2hpcHBp
bmdNZXRob2RzIH0gfSBdOworICAgIHJldHVybiBkZXRhaWxzOworfQorCitmdW5jdGlvbiB0ZXN0
UGF5bWVudFNoaXBwaW5nT3B0aW9uRGF0YShkZXNjcmlwdGlvbiwge2FkZGl0aW9uYWxTaGlwcGlu
Z01ldGhvZHMsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzfSkgeworICAgIHVzZXJfYWN0aXZhdGlv
bl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgICAgIGxldCByZXF1ZXN0ID0gbmV3IFBheW1l
bnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHNXaXRo
TW9kaWZpZXJUaGF0SGFzQWRkaXRpb25hbFNoaXBwaW5nT3B0aW9ucyhhZGRpdGlvbmFsU2hpcHBp
bmdNZXRob2RzKSwgeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSk7CisgICAgICAgIHJlcXVlc3Qu
YWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAg
ICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgICAgICB9KTsKKyAgICAgICAgcmVxdWVz
dC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsK
KyAgICAgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgICAgIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICAgICAgfSk7CisK
KyAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICAgICAg
bGV0IGFjdHVhbFNoaXBwaW5nTWV0aG9kcyA9IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnNoaXBwaW5nTWV0aG9kczsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxTaGlwcGlu
Z01ldGhvZHMubGVuZ3RoLCBleHBlY3RlZFNoaXBwaW5nTWV0aG9kcy5sZW5ndGgsIGBjaGVjayB0
aGF0IHRoZXJlIGFyZSAke2V4cGVjdGVkU2hpcHBpbmdNZXRob2RzLmxlbmd0aH0gc2hpcHBpbmcg
bWV0aG9kc2ApOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFjdHVhbFNoaXBwaW5nTWV0
aG9kcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgbGV0IGFjdHVhbFNoaXBwaW5nTWV0aG9k
ID0gYWN0dWFsU2hpcHBpbmdNZXRob2RzW2ldOworICAgICAgICAgICAgbGV0IGV4cGVjdGVkU2hp
cHBpbmdNZXRob2QgPSBleHBlY3RlZFNoaXBwaW5nTWV0aG9kc1tpXTsKKworICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhhY3R1YWxTaGlwcGluZ01ldGhvZC5hbW91bnQsIGV4cGVjdGVkU2hpcHBp
bmdNZXRob2QuYW1vdW50LCBgY2hlY2sgdGhhdCB0aGUgXGBhbW91bnRcYCBtYXRjaGVzIGZvciBz
aGlwcGluZyBtZXRob2QgJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxT
aGlwcGluZ01ldGhvZC5kZXRhaWwsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2QuZGV0YWlsLCBgY2hl
Y2sgdGhhdCB0aGUgXGBkZXRhaWxcYCBtYXRjaGVzIGZvciBzaGlwcGluZyBtZXRob2QgJHtpfWAp
OworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxTaGlwcGluZ01ldGhvZC5pZGVudGlm
aWVyLCBleHBlY3RlZFNoaXBwaW5nTWV0aG9kLmlkZW50aWZpZXIsIGBjaGVjayB0aGF0IHRoZSBc
YGlkZW50aWZpZXJcYCBtYXRjaGVzIGZvciBzaGlwcGluZyBtZXRob2QgJHtpfWApOworICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxTaGlwcGluZ01ldGhvZC5sYWJlbCwgZXhwZWN0ZWRT
aGlwcGluZ01ldGhvZC5sYWJlbCwgYGNoZWNrIHRoYXQgdGhlIFxgbGFiZWxcYCBtYXRjaGVzIGZv
ciBzaGlwcGluZyBtZXRob2QgJHtpfWApOworICAgICAgICAgICAgaWYgKGV4cGVjdGVkU2hpcHBp
bmdNZXRob2QuZGF0ZUNvbXBvbmVudHNSYW5nZSkKKyAgICAgICAgICAgICAgICBhc3NlcnRfb2Jq
ZWN0X2VxdWFscyhhY3R1YWxTaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlLCBleHBl
Y3RlZFNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UsIGBjaGVjayB0aGF0IHRoZSBc
YGRhdGVDb21wb25lbnRzUmFuZ2VcYCBtYXRjaGVzIGZvciBzaGlwcGluZyBtZXRob2QgJHtpfWAp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFs
U2hpcHBpbmdNZXRob2QuZGF0ZUNvbXBvbmVudHNSYW5nZSwgZXhwZWN0ZWRTaGlwcGluZ01ldGhv
ZC5kYXRlQ29tcG9uZW50c1JhbmdlLCBgY2hlY2sgdGhhdCB0aGUgXGBkYXRlQ29tcG9uZW50c1Jh
bmdlXGAgbWF0Y2hlcyBmb3Igc2hpcHBpbmcgbWV0aG9kICR7aX1gKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgfSwgZGVzY3Jp
cHRpb24pOworfQorCit0ZXN0UGF5bWVudFNoaXBwaW5nT3B0aW9uRGF0YSgiU2hvdWxkIG5vdCBo
YXZlIGFueSBzaGlwcGluZyBvcHRpb25zIGlmIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBp
cyBub3QgcHJvdmlkZWQuIiwgeworICAgIGFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHM6IHVuZGVm
aW5lZCwKKyAgICBleHBlY3RlZFNoaXBwaW5nTWV0aG9kczogWyBdLAorfSk7Cit0ZXN0UGF5bWVu
dFNoaXBwaW5nT3B0aW9uRGF0YSgiU2hvdWxkIG5vdCBoYXZlIGFueSBzaGlwcGluZyBvcHRpb25z
IGlmIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBpcyBlbXB0eS4iLCB7CisgICAgYWRkaXRp
b25hbFNoaXBwaW5nTWV0aG9kczogWyBdLAorICAgIGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzOiBb
IF0sCit9KTsKK3Rlc3RQYXltZW50U2hpcHBpbmdPcHRpb25EYXRhKCJTaG91bGQgcHJvcGFnYXRl
IGBkYXRlQ29tcG9uZW50c1JhbmdlYCBpZiBwcm92aWRlZC4iLCB7CisgICAgYWRkaXRpb25hbFNo
aXBwaW5nTWV0aG9kczogWyBzaGlwcGluZ01ldGhvZCBdLAorICAgIGV4cGVjdGVkU2hpcHBpbmdN
ZXRob2RzOiBbIHNoaXBwaW5nTWV0aG9kIF0sCit9KTsKKworZG9uZSgpOworPC9zY3JpcHQ+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlNb2RpZmllci10b3RhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2MWZjM2Q2MjUwZWRkNTIxNGMwZDcyZjc0MjAwMTcxZWI2ZmNmOGMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorCitQQVNTIFRoZSBkZWZhdWx0IHZhbHVlIG9mIGBwYXltZW50VGltaW5nYCBzaG91bGQgYmUg
YCJpbW1lZGlhdGUiYC4KK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3Ig
YHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXltZW50
SW50ZXJ2YWxFbmREYXRlYCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgInJlY3VycmluZyJgLgor
UEFTUyBTaG91bGQgYWxzbyBwcm9wYWdhdGUgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFN0YXJ0
RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxFbmREYXRlYCBpZiBwcm92aWRlZCB3
aGVuIGBwYXltZW50VGltaW5nYCBpcyBgInJlY3VycmluZyJgLgorUEFTUyBTaG91bGQgbm90IGhh
dmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgZGVmZXJyZWRQYXltZW50RGF0ZWAgd2hlbiBgcGF5bWVu
dFRpbWluZ2AgaXMgYCJkZWZlcnJlZCJgLgorUEFTUyBTaG91bGQgYWxzbyBwcm9wYWdhdGUgYGRl
ZmVycmVkUGF5bWVudERhdGVgIGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAi
ZGVmZXJyZWQiYC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMzJkZDZiNDMzNTY1MTYzYzg3ZmEyZjMzNTkyNzI4MWRkZDhlMzRiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9B
cHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4MyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgZm9yIHByb3Zp
ZGluZyBgdG90YWxgIGFzIHBhcnQgb2YgYEFwcGxlUGF5TW9kaWZpZXJgLjwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2Ny
aXB0Pgorc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVl
IH0pOworCitjb25zdCBpbW1lZGlhdGVMYWJlbCA9ICJJbW1lZGlhdGUgTGFiZWwiOworY29uc3Qg
aW1tZWRpYXRlQW1vdW50ID0gIjIwLjAwIjsKK2NvbnN0IHJlY3VycmluZ0xhYmVsID0gIlJlY3Vy
cmluZyBMYWJlbCI7Citjb25zdCByZWN1cnJpbmdBbW91bnQgPSAiMzAuMDAiOworY29uc3QgcmVj
dXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSA9IG5ldyBEYXRlKDApOworY29uc3QgcmVjdXJyaW5nUGF5
bWVudEludGVydmFsVW5pdCA9ICJ5ZWFyIjsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRJbnRlcnZh
bENvdW50ID0gMTA7Citjb25zdCByZWN1cnJpbmdQYXltZW50RW5kRGF0ZSA9IG5ldyBEYXRlKDEp
OworY29uc3QgZGVmZXJyZWRMYWJlbCA9ICJEZWZlcnJlZCBMYWJlbCI7Citjb25zdCBkZWZlcnJl
ZFBheW1lbnREYXRlID0gbmV3IERhdGUoMik7Citjb25zdCBkZWZlcnJlZEFtb3VudCA9ICI0MC4w
MCI7CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudERldGFpbHNXaXRoTW9kaWZpZXJUaGF0SGFzVG90
YWwodG90YWwpIHsKKyAgICBsZXQgZGV0YWlscyA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAg
ICBpZiAodG90YWwpCisgICAgICAgIGRldGFpbHMubW9kaWZpZXJzID0gWyB7IHN1cHBvcnRlZE1l
dGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLCBkYXRhOiB7IHRvdGFsIH0gfSBd
OworICAgIHJldHVybiBkZXRhaWxzOworfQorCitmdW5jdGlvbiB0ZXN0UGF5bWVudEl0ZW1EYXRh
KGRlc2NyaXB0aW9uLCB7aW5pdGlhbFRvdGFsLCBleHBlY3RlZFRvdGFsfSkgeworICAgIHVzZXJf
YWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgICAgIGxldCByZXF1ZXN0ID0g
bmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERl
dGFpbHNXaXRoTW9kaWZpZXJUaGF0SGFzVG90YWwoaW5pdGlhbFRvdGFsKSk7CisgICAgICAgIHJl
cXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7
CisgICAgICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgICAgICB9KTsKKyAgICAgICAg
cmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQp
ID0+IHsKKyAgICAgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgICAgIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICAgICAg
fSk7CisKKyAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAg
ICAgICAgbGV0IGFjdHVhbFRvdGFsID0gaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
dG90YWw7CisgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwubGFiZWwsIGV4cGVjdGVk
VG90YWwubGFiZWwsICJjaGVjayB0aGF0IHRoZSBgbGFiZWxgIG1hdGNoZXMgZm9yIHRvdGFsIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwuYW1vdW50LCBleHBlY3RlZFRvdGFs
LmFtb3VudCwgImNoZWNrIHRoYXQgdGhlIGBhbW91bnRgIG1hdGNoZXMgZm9yIHRvdGFsIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwucGF5bWVudFRpbWluZywgZXhwZWN0ZWRU
b3RhbC5wYXltZW50VGltaW5nLCAiY2hlY2sgdGhhdCB0aGUgYHBheW1lbnRUaW1pbmdgIG1hdGNo
ZXMgZm9yIHRvdGFsIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwucmVjdXJy
aW5nUGF5bWVudFN0YXJ0RGF0ZT8uZ2V0VGltZSgpLCBleHBlY3RlZFRvdGFsLnJlY3VycmluZ1Bh
eW1lbnRTdGFydERhdGU/LmdldFRpbWUoKSwgImNoZWNrIHRoYXQgdGhlIGByZWN1cnJpbmdQYXlt
ZW50U3RhcnREYXRlYCBtYXRjaGVzIGZvciB0b3RhbCIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGFjdHVhbFRvdGFsLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIGV4cGVjdGVkVG90YWwu
cmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgImNoZWNrIHRoYXQgdGhlIGByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxVbml0YCBtYXRjaGVzIGZvciB0b3RhbCIpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGFjdHVhbFRvdGFsLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCBleHBlY3Rl
ZFRvdGFsLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCAiY2hlY2sgdGhhdCB0aGUgYHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50YCBtYXRjaGVzIGZvciB0b3RhbCIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGFjdHVhbFRvdGFsLnJlY3VycmluZ1BheW1lbnRFbmREYXRlPy5nZXRU
aW1lKCksIGV4cGVjdGVkVG90YWwucmVjdXJyaW5nUGF5bWVudEVuZERhdGU/LmdldFRpbWUoKSwg
ImNoZWNrIHRoYXQgdGhlIGByZWN1cnJpbmdQYXltZW50RW5kRGF0ZWAgbWF0Y2hlcyBmb3IgdG90
YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5kZWZlcnJlZFBheW1lbnRE
YXRlPy5nZXRUaW1lKCksIGV4cGVjdGVkVG90YWwuZGVmZXJyZWRQYXltZW50RGF0ZT8uZ2V0VGlt
ZSgpLCAiY2hlY2sgdGhhdCB0aGUgYGRlZmVycmVkUGF5bWVudERhdGVgIG1hdGNoZXMgZm9yIHRv
dGFsIik7CisKKyAgICAgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKKyAg
ICB9LCBkZXNjcmlwdGlvbik7Cit9CisKK3Rlc3RQYXltZW50SXRlbURhdGEoIlRoZSBkZWZhdWx0
IHZhbHVlIG9mIGBwYXltZW50VGltaW5nYCBzaG91bGQgYmUgYFwiaW1tZWRpYXRlXCJgLiIsIHsK
KyAgICBpbml0aWFsVG90YWw6IHVuZGVmaW5lZCwKKyAgICBleHBlY3RlZFRvdGFsOiB7bGFiZWw6
ICJUb3RhbCIsIGFtb3VudDogIjEwLjAwIiwgcGF5bWVudFRpbWluZzogImltbWVkaWF0ZSIsIHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1BheW1lbnRJbnRl
cnZhbENvdW50OiAxfSwKK30pOworCit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgbm90IGhh
dmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRl
YCBhbmQgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIHdoZW4gYHBheW1lbnRUaW1p
bmdgIGlzIGBcInJlY3VycmluZ1wiYC4iLCB7CisgICAgaW5pdGlhbFRvdGFsOiB7bGFiZWw6IHJl
Y3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzogInJl
Y3VycmluZyJ9LAorICAgIGV4cGVjdGVkVG90YWw6IHtsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFt
b3VudDogcmVjdXJyaW5nQW1vdW50LCBwYXltZW50VGltaW5nOiAicmVjdXJyaW5nIiwgcmVjdXJy
aW5nUGF5bWVudEludGVydmFsVW5pdDogIm1vbnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFs
Q291bnQ6IDF9LAorfSk7Cit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgYWxzbyBwcm9wYWdh
dGUgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXlt
ZW50SW50ZXJ2YWxFbmREYXRlYCBpZiBwcm92aWRlZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBg
XCJyZWN1cnJpbmdcImAuIiwgeworICAgIGluaXRpYWxUb3RhbDoge2xhYmVsOiByZWN1cnJpbmdM
YWJlbCwgYW1vdW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmci
LCByZWN1cnJpbmdQYXltZW50U3RhcnREYXRlLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0
LCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCwgcmVjdXJyaW5nUGF5bWVudEVuZERhdGV9
LAorICAgIGV4cGVjdGVkVG90YWw6IHtsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVj
dXJyaW5nQW1vdW50LCBwYXltZW50VGltaW5nOiAicmVjdXJyaW5nIiwgcmVjdXJyaW5nUGF5bWVu
dFN0YXJ0RGF0ZSwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgcmVjdXJyaW5nUGF5bWVu
dEludGVydmFsQ291bnQsIHJlY3VycmluZ1BheW1lbnRFbmREYXRlfSwKK30pOworCit0ZXN0UGF5
bWVudEl0ZW1EYXRhKCJTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgZGVmZXJy
ZWRQYXltZW50RGF0ZWAgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMgYFwiZGVmZXJyZWRcImAuIiwg
eworICAgIGluaXRpYWxUb3RhbDoge2xhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91bnQ6IGRlZmVy
cmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQifSwKKyAgICBleHBlY3RlZFRvdGFs
OiB7bGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDogZGVmZXJyZWRBbW91bnQsIHBheW1lbnRU
aW1pbmc6ICJkZWZlcnJlZCIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIs
IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50OiAxfSwKK30pOwordGVzdFBheW1lbnRJdGVt
RGF0YSgiU2hvdWxkIGFsc28gcHJvcGFnYXRlIGBkZWZlcnJlZFBheW1lbnREYXRlYCBpZiBwcm92
aWRlZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJkZWZlcnJlZFwiYC4iLCB7CisgICAgaW5p
dGlhbFRvdGFsOiB7bGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDogZGVmZXJyZWRBbW91bnQs
IHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCIsIGRlZmVycmVkUGF5bWVudERhdGV9LAorICAgIGV4
cGVjdGVkVG90YWw6IHtsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3Vu
dCwgcGF5bWVudFRpbWluZzogImRlZmVycmVkIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5p
dDogIm1vbnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDEsIGRlZmVycmVkUGF5
bWVudERhdGV9LAorfSk7CisKK2RvbmUoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291
cG9uQ29kZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmEwOWE0NDBhZTFkNTEzMDVkOTgyYzQ2ZTBlM2ZmNjEwMjc0MmM3ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBTaG91bGQgcHJvcGFnYXRlIGBjb3Vwb25Db2RlYCBpZiBwcm92aWRl
ZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9w
YXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0
dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODdhMzI4N2IzNDgzNGY1NjlmNzkwNDFjOWExZWIxNzc1ZDY4
NGRjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLmh0bWwKQEAgLTAsMCAr
MSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
VGVzdHMgZm9yIGBjb3Vwb25Db2RlYCBiZWluZyBwcm92aWRlZCB2aWEgYCJwYXltZW50bWV0aG9k
Y2hhbmdlImAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUs
IGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5j
ICh0ZXN0KSA9PiB7CisgICAgbGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlk
UGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKKyAgICByZXF1ZXN0LmFk
ZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAg
ICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgIH0pOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0
ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbnVs
bCwgImNoZWNrIHRoYXQgdGhlIGBjb3Vwb25Db2RlYCBzdGFydHMgYXMgYG51bGxgIik7CisgICAg
ICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IuY2hhbmdlQ291cG9uQ29kZSgiVEVTVCIpOworICAgIH0pOworICAgIHJlcXVl
c3QuYWRkRXZlbnRMaXN0ZW5lcigicGF5bWVudG1ldGhvZGNoYW5nZSIsIChldmVudCkgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm1ldGhvZERldGFpbHMuY291cG9uQ29kZSwgIlRF
U1QiLCAiY2hlY2sgdGhhdCBgbWV0aG9kRGV0YWlsc2AgY29udGFpbnMgdGhlIGBjb3Vwb25Db2Rl
YCIpOworICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgfSk7CisgICAgICAgIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxl
dCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworICAgIGF3YWl0IHJlc3BvbnNlLmNv
bXBsZXRlKCJzdWNjZXNzIik7Cit9LCAiU2hvdWxkIHByb3BhZ2F0ZSBgY291cG9uQ29kZWAgaWYg
cHJvdmlkZWQuIik7CisKK2RvbmUoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wZWExNzQ3ZTczNWI3N2FhOGFiN2RiNDRhNmQ3ZTNmNDFkM2ZmZWI5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVz
dC1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBT
aG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgY291cG9uQ29kZWAuCitQQVNTIFNo
b3VsZCBwcm9wYWdhdGUgYGNvdXBvbkNvZGVgIGlmIHByb3ZpZGVkLgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBv
bkNvZGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3YzA3Njc4
YWEzOTBmNmFlMTlkOTIyMTNlNDExN2YyYjU5ZDc4YjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNv
ZGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3IgcHJvdmlkaW5nIGBjb3Vwb25Db2RlYCBp
biBgZGF0YWAgYXMgcGFydCBvZiBgUGF5bWVudE1ldGhvZERhdGFgLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
Pgorc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0p
OworCit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGxldCByZXF1
ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5
bWVudERldGFpbHMoKSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZh
bGlkYXRpb24iLCAoZXZlbnQpID0+IHsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAg
ICB9KTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5n
ZSIsIChldmVudCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBgY291cG9u
Q29kZWAgaXMgc3RpbGwgYG51bGxgIGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51
cGRhdGVXaXRoKHsgfSk7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmFjY2VwdFBheW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJl
cXVlc3Quc2hvdygpOworCisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5jb3Vwb25Db2RlLCBudWxsLCAiY2hlY2sgdGhhdCB0aGUgYGNvdXBvbkNvZGVg
IGlzIHN0aWxsIGBudWxsYCBhZnRlciB0aGUgcGF5bWVudCBpcyBhY2NlcHRlZCIpOworCisgICAg
YXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKK30sICJTaG91bGQgbm90IGhhdmUg
YSBkZWZhdWx0IHZhbHVlIGZvciBgY291cG9uQ29kZWAuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90
ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgY29uc3QgbWV0aG9kID0gdmFsaWRQYXltZW50TWV0
aG9kKCk7CisgICAgbWV0aG9kLmRhdGEuY291cG9uQ29kZSA9ICJURVNUIjsKKworICAgIGxldCBy
ZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFttZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxz
KCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwg
KGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAg
cmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5jb3Vwb25Db2RlLCBtZXRob2QuZGF0YS5jb3Vwb25Db2RlLCAiY2hlY2sgdGhhdCB0aGUg
YGNvdXBvbkNvZGVgIHN0aWxsIG1hdGNoZXMgYWZ0ZXIgYW4gdXBkYXRlIik7CisgICAgICAgIGV2
ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3BvbnNlID0gYXdh
aXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNvdXBvbkNvZGUsIG1ldGhvZC5kYXRhLmNvdXBvbkNvZGUsICJjaGVj
ayB0aGF0IHRoZSBgY291cG9uQ29kZWAgc3RpbGwgbWF0Y2hlcyBhZnRlciB0aGUgcGF5bWVudCBp
cyBhY2NlcHRlZCIpOworCisgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsK
K30sICJTaG91bGQgcHJvcGFnYXRlIGBjb3Vwb25Db2RlYCBpZiBwcm92aWRlZC4iKTsKKworZG9u
ZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9w
YXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWY2MjI2ZmRiMzZhMmVkMTRjYjIyMzczMjBkZTYxMDQwMDc2OWRlNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFs
dWUgZm9yIGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAuCitQQVNTIFNob3VsZCBwcm9wYWdh
dGUgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYCBpZiBwcm92aWRlZC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1z
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjYzgzYWM0Y2I2NmJmYzkxN2ZlNGJjNzZmYmRh
MmFlNDc1NjdiMTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0
dHBzLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgZm9yIHByb3ZpZGluZyBgc2hpcHBpbmdDb250YWN0RWRp
dGluZ01vZGVgIGluIGBkYXRhYCBhcyBwYXJ0IG9mIGBQYXltZW50TWV0aG9kRGF0YWAuPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVv
dXQ6IHRydWUgfSk7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7Cisg
ICAgbGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgp
XSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIo
Im1lcmNoYW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0
ZSh7IH0pOworICAgIH0pOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdh
ZGRyZXNzY2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUsIG51
bGwsICJjaGVjayB0aGF0IHRoZSBgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVgIGlzIHN0aWxs
IGBudWxsYCBhZnRlciBhbiB1cGRhdGUiKTsKKyAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0p
OworICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50
KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsK
KworICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBgc2hpcHBpbmdD
b250YWN0RWRpdGluZ01vZGVgIGlzIHN0aWxsIGBudWxsYCBhZnRlciB0aGUgcGF5bWVudCBpcyBh
Y2NlcHRlZCIpOworCisgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKK30s
ICJTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgc2hpcHBpbmdDb250YWN0RWRp
dGluZ01vZGVgLiIpOworCit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkgPT4gewor
ICAgIGNvbnN0IG1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOworICAgIG1ldGhvZC5kYXRh
LnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlID0gImVuYWJsZWQiOworCisgICAgbGV0IHJlcXVl
c3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW21ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7
CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9KTsKKyAgICByZXF1
ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLCBtZXRob2QuZGF0YS5zaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZSwgImNoZWNrIHRoYXQgdGhlIGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAg
c3RpbGwgbWF0Y2hlcyBhZnRlciBhbiB1cGRhdGUiKTsKKyAgICAgICAgZXZlbnQudXBkYXRlV2l0
aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQ
YXltZW50KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNo
b3coKTsKKworICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3Iuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUsIG1ldGhvZC5kYXRhLnNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlLCAiY2hlY2sgdGhhdCB0aGUgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2Rl
YCBzdGlsbCBtYXRjaGVzIGFmdGVyIHRoZSBwYXltZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBh
d2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3VsZCBwcm9wYWdhdGUg
YHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYCBpZiBwcm92aWRlZC4iKTsKKworZG9uZSgpOwor
PC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qt
c3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2FhM2Nk
MzQ0Yjc4ZGVmMzQ5N2E4MjQ2NWRmZDAwZDc1ZWI4ZWIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0
c0NvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFNo
b3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBzdXBwb3J0c0NvdXBvbkNvZGVgLgor
UEFTUyBTaG91bGQgcHJvcGFnYXRlIGBzdXBwb3J0c0NvdXBvbkNvZGVgIGlmIHByb3ZpZGVkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1l
bnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzhlOTE5ZDIyNjk1MWUxMGZhODE2MTc2OWExMjMxNmZm
ZmNhYzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMuaHRtbApAQCAt
MCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5UZXN0cyBmb3IgcHJvdmlkaW5nIGBzdXBwb3J0c0NvdXBvbkNvZGVgIGluIGBkYXRhYCBh
cyBwYXJ0IG9mIGBQYXltZW50TWV0aG9kRGF0YWAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitzZXR1cCh7
IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7CisKK3VzZXJf
YWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgbGV0IHJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWls
cygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRhdGlvbiIs
IChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgIH0pOworICAg
IHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50
KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3Iuc3VwcG9ydHNDb3Vwb25Db2RlLCBudWxsLCAiY2hlY2sgdGhhdCB0aGUgYHN1cHBvcnRz
Q291cG9uQ29kZWAgaXMgc3RpbGwgYG51bGxgIGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBl
dmVudC51cGRhdGVXaXRoKHsgfSk7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3
YWl0IHJlcXVlc3Quc2hvdygpOworCisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5zdXBwb3J0c0NvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRo
ZSBgc3VwcG9ydHNDb3Vwb25Db2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgdGhlIHBheW1lbnQg
aXMgYWNjZXB0ZWQiKTsKKworICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7
Cit9LCAiU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYHN1cHBvcnRzQ291cG9u
Q29kZWAuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
Y29uc3QgbWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7CisgICAgbWV0aG9kLmRhdGEuc3Vw
cG9ydHNDb3Vwb25Db2RlID0gdHJ1ZTsKKworICAgIGxldCByZXF1ZXN0ID0gbmV3IFBheW1lbnRS
ZXF1ZXN0KFttZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJlcXVlc3QuYWRk
RXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAg
IGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3Rl
bmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zdXBwb3J0c0NvdXBvbkNv
ZGUsIG1ldGhvZC5kYXRhLnN1cHBvcnRzQ291cG9uQ29kZSwgImNoZWNrIHRoYXQgdGhlIGBzdXBw
b3J0c0NvdXBvbkNvZGVgIHN0aWxsIG1hdGNoZXMgYWZ0ZXIgYW4gdXBkYXRlIik7CisgICAgICAg
IGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3BvbnNlID0g
YXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzQ291cG9uQ29kZSwgbWV0aG9kLmRhdGEuc3VwcG9y
dHNDb3Vwb25Db2RlLCAiY2hlY2sgdGhhdCB0aGUgYHN1cHBvcnRzQ291cG9uQ29kZWAgc3RpbGwg
bWF0Y2hlcyBhZnRlciB0aGUgcGF5bWVudCBpcyBhY2NlcHRlZCIpOworCisgICAgYXdhaXQgcmVz
cG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKK30sICJTaG91bGQgcHJvcGFnYXRlIGBzdXBwb3J0
c0NvdXBvbkNvZGVgIGlmIHByb3ZpZGVkLiIpOworCitkb25lKCk7Cis8L3NjcmlwdD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhiMWFl
ZTYzZWUwNDlhMDNjNzhhNDllNzIyZjZmMGVlNThlODQ0ODMuLjlhNTgzMjdmM2EzZTg4NTQ3N2Rj
MTYwOGNjODE2YmU1MWM5ZmU3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTYwLDYgKzYwLDEzIEBAIHdlYmtpdC5vcmcvYi8yMTI5NzUg
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbCBbIFBhc3Mg
VGltCiB3ZWJraXQub3JnL2IvMjEyOTk4IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
SW5zdGFsbG1lbnRJdGVtcy5odHRwcy5odG1sIFsgRmFpbHVyZSBdCiAKIGh0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QgWyBQYXNzIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlN
b2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVz
dHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRo
b2RzLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlNb2RpZmllci10b3RhbC5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1sIFsgU2tpcCBd
CitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0
cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVz
dC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRw
cy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQt
cmVxdWVzdCBbIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L2FsbG93cGF5
bWVudHJlcXVlc3QtYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0
bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC9uby1hdHRyaWJ1dGUt
Y3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ4ZmJkNTc4YWY3
Y2VkN2U0ZjE1NGNkN2IyNzBkZjYyYTc0NjMyYzIuLjczMjFiZThiZGMxYjRjZWMwZWZiNjQyNTVk
ZGJhYzMwNmVjN2MzMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTUyLDYgKzUyLDEzIEBAIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJl
cmJhbmRpbmctdmlld3BvcnQtcmVjdHMuaHRtbCBbIFBhc3MgXQogZmFzdC92aXN1YWwtdmlld3Bv
cnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy1oZWFkZXItZm9vdGVyLmh0bWwgIFsgUGFz
cyBdCiAKIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QgWyBQYXNzIF0KK2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLmh0
bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1h
ZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy5odG1sIFsgU2tpcCBd
CitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29k
ZS5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRy
ZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy5o
dG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1
cHBvcnRzQ291cG9uQ29kZS5odHRwcy5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL2luc3BlY3Rv
ci9wYXltZW50cmVxdWVzdCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wYXltZW50LXJlcXVlc3QgWyBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xNzU2MTEgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVz
dC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFpbmVy
cy5odHRwcy5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="commit-queue"
          id="452404"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430811</attachid>
            <date>2021-06-07 22:28:11 -0700</date>
            <delta_ts>2021-06-08 10:42:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226740-20210607232810.patch</filename>
            <type>text/plain</type>
            <size>272909</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMDRmZjdmZWYzNTg3N2FjNjNkMjg0NmQ5MjVlN2E4ZTkzOGFhZWJlMi4uNjllZTUzZjgw
MWE0NTA4NTdmYjc3ZjBjN2E2NmY1ZTc4Zjg1OTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW1Bh
eW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkK
KyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQor
ICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24g
Y29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQT05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVf
UEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAg
KGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWApCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoK
KwogMjAyMS0wNi0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFkb3B0IFNlY1RydXN0R2V0Q2VydGlmaWNhdGVBdEluZGV4IHJlcGxhY2Vt
ZW50IHdoZXJlIGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDcyMzA2NGIzNDVhNmExYjRiYzliOTEw
NDkyZWQzMzBmMDUzMWEzMDUuLjZiMzI1NTg2M2YzZWU1ZTlhZjkzODAzNWQ0MDE0YjljNDdmOTMx
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNTYgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIHVwc3Ry
ZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI2NzQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk2MzEzMj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgLSByZWN1cnJpbmcg
bGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9JVEVNYCBhbmQgYEVO
QUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTWApCisgICAgICAgICAtIGRlZmVycmVk
IGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVNYCBhbmQgYEVO
QUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNYCkKKyAgICAgICAgIC0gZXN0aW1hdGVk
IHNoaXBwaW5nIGRhdGVzIChgSEFWRV9QQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBP
TkVOVFNfUkFOR0VgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFYCkKKyAgICAgICAgIC0gY291cG9uIGNvZGUgZW50cnkgKGBIQVZFX1BB
U1NLSVRfQ09VUE9OX0NPREVgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9DT1VQT05fQ09ERWApCisg
ICAgICAgICAtIHNoaXBwZWQgdnMgaW4tc3RvcmUgcGlja3VwIChgSEFWRV9QQVNTS0lUX1NISVBQ
SU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdf
Q09OVEFDVF9FRElUSU5HX01PREVgKQorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZp
ZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy5odG1sCisgICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRt
bAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9k
Y2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwKKyAgICAg
ICAgICAgICAgIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMu
aHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaC4KKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTo6ZW5jb2RlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTo6ZGVjb2RlKToKKyAg
ICAgICAgT2JqZWN0IHVzZWQgdG8gdXBkYXRlIHRoZSBwYXltZW50IHJlcXVlc3QgdmlhIGBBcHBs
ZVBheVNlc3Npb24ucHJvdG90eXBlLmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZWAKKyAgICAgICAg
d2hlbiByZXNwb25kaW5nIHRvIHRoZSB1c2VyIG1vZGlmeWluZyB0aGUgY291cG9uIGNvZGUuCisK
KyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmg6CisgICAgICAgIEFkZCBg
ImNvdXBvbkNvZGVJbnZhbGlkImAgYW5kIGAiY291cG9uQ29kZUV4cGlyZWQiYC4KKworICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGw6CisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
ZVBheUxpbmVJdGVtOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlM
aW5lSXRlbTo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudFRpbWluZy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0Lmg6IEFkZGVkLgor
ICAgICAgICBBZGQgbWVtYmVycyB0aGF0IGluZGljYXRlIHdoZXRoZXIgdGhpcyBsaW5lIGl0ZW0g
aXMgaW1tZWRpYXRlLCByZWN1cnJpbmcsIG9yIGRlZmVycmVkLgorICAgICAgICBEZXBlbmRpbmcg
b24gdGhhdCB0aW1pbmcsIGFkZGl0aW9uYWwgbWVtYmVycyBhcmUgYWRkZWQgZm9yIGZ1cnRoZXIg
Y29uZmlndXJhdGlvbiAoZS5nLiB0aGUKKyAgICAgICAgc3RhcnQgYW5kL29yIGVuZCBkYXRlIG9m
IGEgcmVjdXJyaW5nIHBheW1lbnQsIGl0J3MgZnJlcXVlbmN5LCBldGMuKS4KKworICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGw6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmg6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5pZGw6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlOjpk
ZWNvZGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29t
cG9uZW50cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVu
dHM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25l
bnRzOjpkZWNvZGUpOgorICAgICAgICBBZGQgbWVtYmVycyB0aGF0IGNhbiBiZSB1c2VkIHRvIGlu
ZGljYXRlIHRoZSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgZm9yIHRoaXMgc2hpcHBpbmcgbWV0
aG9kLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y29udmVydEFuZFZhbGlkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6c3VwcG9ydHNDb3Vwb25Db2RlIGNvbnN0KTog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6
c2V0U3VwcG9ydHNDb3Vwb25Db2RlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBh
eVNlc3Npb25QYXltZW50UmVxdWVzdDo6Y291cG9uQ29kZSBjb25zdCk6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OnNldENvdXBvbkNvZGUp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0
OjpzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSBjb25zdCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OnNldFNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlKTogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmg6IEFkZGVkLgorICAg
ICAgICBBZGQgbWVtYmVycyB0aGF0IGluZGljYXRlOgorICAgICAgICAgLSB3aGV0aGVyIHRoaXMg
cGF5bWVudCByZXF1ZXN0IHN1cHBvcnRzIGEgY291cG9uIGNvZGUgYXQgYWxsCisgICAgICAgICAt
IHRoZSBpbml0aWFsIGNvdXBvbiBjb2RlIChhc3N1bWluZyB0aGUgYWJvdmUpCisgICAgICAgICAt
IHdoZXRoZXIgdGhpcyBwYXltZW50IHJlcXVlc3QgYWxsb3dzIGVkaXRpbmcgdGhlIHNoaXBwaW5n
IGNvbnRhY3QgKGkuZS4gaW4tc3RvcmUgcGlja3VwIGRvZXMgbm90KQorCisgICAgICAgICAqIGRv
bS9FdmVudE5hbWVzLmg6CisgICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmlkbDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBv
bkNvZGVDaGFuZ2VkRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5
Q291cG9uQ29kZUNoYW5nZWRFdmVudDo6QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudDo6ZXZlbnRJ
bnRlcmZhY2UgY29uc3QpOgorICAgICAgICBBZGQgYSBgImNvdXBvbmNvZGVjaGFuZ2UiYCBldmVu
dCB0aGF0IGlzIGRpc3BhdGNoZWQgd2hlbmV2ZXIgdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGNvdXBv
biBjb2RlIGZvciBhbiBgQXBwbGVQYXlTZXNzaW9uYC4KKworICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMu
aWRsLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWls
cy5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsLgorICAgICAgICBVc2VkIGFzIHRoZSBgb2JqZWN0
IG1ldGhvZERhdGFgIHdoZW4gYSBgUGF5bWVudE1ldGhvZENoYW5nZUV2ZW50YCBpcyBkaXNwYXRj
aGVkIGZvciBhIGBQYXltZW50UmVxdWVzdGAuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6ZGlkQ2hhbmdlQ291cG9uQ29kZSk6
IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VQYXltZW50
TWV0aG9kTW9kZWAuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhblN1c3Bl
bmRXaXRob3V0Q2FuY2VsaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vz
c2lvbjo6Y2FuQmVnaW4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9u
OjpjYW5BYm9ydCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNh
bkNhbmNlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVu
dE1ldGhvZFNlbGVjdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Np
b246OmNhbkNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSBjb25zdCk6IFJlbmFtZWQgZnJvbSBgV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
IGNvbnN0YC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQ
YXltZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6aXNGaW5h
bFN0YXRlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6cGF5bWVudE1ldGhvZFVwZGF0ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkQ2hhbmdlQ291cG9uQ29kZSk6
IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkQ2hhbmdl
UGF5bWVudE1ldGhvZE1vZGVgLgorICAgICAgICBBZGQgbWV0aG9kcyBmb3IgSlMgdG8gY2FsbCBh
bmQgc3RhdGUgbG9naWMgdG8gaGFuZGxlIGNvdXBvbiBjb2RlIGNoYW5nZXMuCisKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
eW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9t
IGBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2VgLgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VD
b3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3I6OmRp
ZENoYW5nZVBheW1lbnRNZXRob2RNb2RlYC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNv
bXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6RW1wdHlQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VgLgor
ICAgICAgICBQbHVtYmluZyB1cCB0byBXZWJLaXQuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L2NvY29hL1BheW1lbnRTdW1tYXJ5SXRlbXNDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OnRvRGF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9DYWxlbmRhclVuaXQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvUEtQYXltZW50U3VtbWFyeUl0ZW0pOgorICAgICAgICBD
b252ZXJ0IFdlYkNvcmUgb2JqZWN0cyB0byBQYXNzS2l0IG9iamVjdHMuCisKKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29y
ZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpz
aG93UGF5bWVudFVJKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6
OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2ViQ29yZTo6TW9ja1Bh
eW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjaGFuZ2VDb3Vwb25Db2RlKTog
QWRkZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJz
aW9uQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVu
dCk6CisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRIZWFkZXJzLmg6CisgICAg
ICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5oOgorCisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5pZGw6IERlbGV0ZWQuCisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5oOiBEZWxldGVkLgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZERhdGEuaDogRGVsZXRlZC4KKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGJhc2UgdHlwZXMg
YWZ0ZXIgcjI3NTE2OS4KKworICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAq
IFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMubWFrZToKKwogMjAyMS0wNi0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkb3B0IFNlY1RydXN0R2V0Q2VydGlmaWNhdGVB
dEluZGV4IHJlcGxhY2VtZW50IHdoZXJlIGF2YWlsYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXgg
Yzg0MmY4ZWViZWQ4MjMzNTE5M2I0MmM0ZjQ4Mzc5ZWIyODIwODBlYS4uYzliMTQ4MmQ0YTk4ZTY4
MjlmZDVlYzc3MDFhYTdhZDRiZjY2OWJjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMjEtMDYtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisg
ICAgICAgIFtQYXltZW50IFJlcXVlc3RdIHVwc3RyZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzQwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS83ODk2MzEzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAgLSByZWN1cnJpbmcgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9S
RUNVUlJJTkdfU1VNTUFSWV9JVEVNYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJ
TkVfSVRFTWApCisgICAgICAgICAtIGRlZmVycmVkIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRf
REVGRVJSRURfU1VNTUFSWV9JVEVNYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElO
RV9JVEVNYCkKKyAgICAgICAgIC0gZXN0aW1hdGVkIHNoaXBwaW5nIGRhdGVzIChgSEFWRV9QQVNT
S0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgIGFuZCBgRU5BQkxFX0FQ
UExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCkKKyAgICAgICAg
IC0gY291cG9uIGNvZGUgZW50cnkgKGBIQVZFX1BBU1NLSVRfQ09VUE9OX0NPREVgIGFuZCBgRU5B
QkxFX0FQUExFX1BBWV9DT1VQT05fQ09ERWApCisgICAgICAgICAtIHNoaXBwZWQgdnMgaW4tc3Rv
cmUgcGlja3VwIChgSEFWRV9QQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCBh
bmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgKQorCisg
ICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2Nv
YS9QYXNzS2l0U29mdExpbmsubW06CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJ
Lmg6CisKIDIwMjEtMDYtMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc3NDY0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAz
ZTIxZjFlMGRiMWE4NWJhNWY1ZGE1ZjAyZTdjZTdjZjgzNWY4ODQxLi4xMmU3NmE4NzlmNjQyNmM5
NzJkODk4ZTRmOGIwYzUyODIxZTcyZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIx
LTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5
bWVudCBSZXF1ZXN0XSB1cHN0cmVhbSBuZXcgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc0MAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzg5NjMxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgIC0gcmVjdXJyaW5nIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NV
TU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1gKQor
ICAgICAgICAgLSBkZWZlcnJlZCBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NV
TU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTWApCisg
ICAgICAgICAtIGVzdGltYXRlZCBzaGlwcGluZyBkYXRlcyAoYEhBVkVfUEFTU0tJVF9TSElQUElO
R19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJ
UFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWApCisgICAgICAgICAtIGNvdXBvbiBj
b2RlIGVudHJ5IChgSEFWRV9QQVNTS0lUX0NPVVBPTl9DT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9Q
QVlfQ09VUE9OX0NPREVgKQorICAgICAgICAgLSBzaGlwcGVkIHZzIGluLXN0b3JlIHBpY2t1cCAo
YEhBVkVfUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWAgYW5kIGBFTkFCTEVf
QVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCkKKworICAgICAgICAgKiBQ
bGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tOgorICAg
ICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUgcGF5
bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjpkaWRDaGFuZ2VDb3Vwb25Db2RlOmhhbmRs
ZXI6XSk6IEFkZGVkLgorICAgICAgICAgKiBQbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRp
b25Db250cm9sbGVyLm1tOgorICAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkNvbnRy
b2xsZXJEZWxlZ2F0ZSBwYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXI6ZGlkQ2hhbmdlQ291
cG9uQ29kZTpoYW5kbGVyOl0pOiBBZGRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9QYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oOgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1Bh
eW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tOgorICAgICAgICAoV2ViS2l0Ojp0b1BLUGF5
bWVudEVycm9yQ29kZSk6CisgICAgICAgIChXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6
UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2VgLgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25E
ZWxlZ2F0ZS5oOgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRp
b25EZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
IGNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZTpdKTogQWRkZWQuCisgICAgICAgICh0b0RhdGVDb21w
b25lbnRzKTogQWRkZWQuCisgICAgICAgICh0b0RhdGVDb21wb25lbnRzUmFuZ2UpOiBBZGRlZC4K
KyAgICAgICAgKHRvU2hpcHBpbmdNZXRob2QpOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3Jp
emF0aW9uRGVsZWdhdGUgX2RpZENoYW5nZUNvdXBvbkNvZGU6Y29tcGxldGlvbjpdKTogQWRkZWQu
CisgICAgICAgIEFkZCBwbHVtYmluZyBmcm9tL3RvIFBhc3NLaXQgZm9yIGNvdXBvbiBjb2RlIGNo
YW5nZXMuCisKKyAgICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2ViS2l0
OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZWAuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwcmVz
ZW50ZXJEaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJLaXQ6OldlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpwcmVzZW50ZXJEaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZWAu
CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5CZWdpbiBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5D
YW5jZWwgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6Y2FuQ29tcGxldGVQYXltZW50IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OmNhbkFib3J0IGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6dG9OU0RhdGVDb21wb25lbnRzKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnRv
UEtEYXRlQ29tcG9uZW50c1JhbmdlKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnRvUEtTaGlw
cGluZ01ldGhvZCk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cGxhdGZvcm1QYXltZW50UmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFt
ZWQgZnJvbSBgV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21w
bGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlYC4KKyAgICAgICAgQ29udmVydCBQYXNzS2l0IG9i
amVjdHMgdG8vZnJvbSBXZWJDb3JlIG9iamVjdHMuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2Ev
V2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29k
ZXI8V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+OjplbmNvZGUpOgorICAg
ICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0Pjo6ZGVjb2RlKToKKworICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5
bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3I6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6IFJlbmFtZWQgZnJvbSBgV2Vi
S2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2VgLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNv
dXBvbkNvZGUpOiBSZW5hbWVkIGZyb20gYFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpk
aWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZWAuCisgICAgICAgIFBsdW1iaW5nIGludG8vZnJvbSBX
ZWJDb3JlLgorCiAyMDIxLTA2LTA3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQWRvcHQgU2VjVHJ1c3RHZXRDZXJ0aWZpY2F0ZUF0SW5kZXgg
cmVwbGFjZW1lbnQgd2hlcmUgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5k
ZXggOTU2ODQ4ZDZiYmVmMDRiNWVhMzlkOWEzYzRjMTc0NjQ0ZDAzYWI5ZS4uMDZiMzBmMGZiMWJh
YWFiNDYyZmUyNzExMTA5ZWU3Nzg3YTcwYTZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSB1cHN0cmVhbSBuZXcgZmVhdHVy
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc0
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg5NjMxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIC0gcmVjdXJyaW5nIGxpbmUgaXRlbXMgKGBI
QVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZ
X1JFQ1VSUklOR19MSU5FX0lURU1gKQorICAgICAgICAgLSBkZWZlcnJlZCBsaW5lIGl0ZW1zIChg
SEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZ
X0RFRkVSUkVEX0xJTkVfSVRFTWApCisgICAgICAgICAtIGVzdGltYXRlZCBzaGlwcGluZyBkYXRl
cyAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCBh
bmQgYEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5H
RWApCisgICAgICAgICAtIGNvdXBvbiBjb2RlIGVudHJ5IChgSEFWRV9QQVNTS0lUX0NPVVBPTl9D
T0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVgKQorICAgICAgICAgLSBzaGlw
cGVkIHZzIGluLXN0b3JlIHBpY2t1cCAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VE
SVRJTkdfTU9ERWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElO
R19NT0RFYCkKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5tbToKKyAgICAgICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxl
dGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQ6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VgLgorCiAyMDIxLTA2LTA3ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVwc3RyZWFt
IFdlYktpdCBzdXBwb3J0IGZvciBMaXZlIFRleHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29j
b2EuaAppbmRleCBjM2ZiYjJiZWVhMTM3MjhmZTVlYjFhYzM2ODJiZjZkOWM2YjRlNDk3Li44ODhk
MWNlMTYyZmQ1ODUyMzlkYWQ3N2Y4OGJhZTNlOTk4M2EyNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1FbmFibGVDb2NvYS5oCkBAIC01OSw2ICs1OSwxNCBAQAogI2RlZmluZSBFTkFCTEVfQVBQTEVf
UEFZIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9DT1VQT05fQ09E
RSkgJiYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFIDEKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9E
RUZFUlJFRF9MSU5FX0lURU0pICYmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0p
CisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNIDEKKyNlbmRpZgor
CiAjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFT
U0tJVF9JTlNUQUxMTUVOVFMpCiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRT
IDEKICNlbmRpZgpAQCAtNjcsMTAgKzc1LDI2IEBACiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlf
TkVXX0JVVFRPTl9UWVBFUyAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9Q
QVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpICYmIEhBVkUoUEFTU0tJVF9TSElQUElO
R19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TSElQUElO
R19DT05UQUNUX0VESVRJTkdfTU9ERSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9B
UFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkgJiYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU0pCisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRF
TSAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfUkVNT1RFX1VJKSAm
JiAhUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShX
QVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9S
RU1PVEVfVUkgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjExKSAmJiAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDE0MDUwMCkpCisjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMTEgMQorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5H
X01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpICYmIEhBVkUoUEFTU0tJVF9TSElQUElOR19N
RVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UgMQorI2VuZGlmCisKICNpZiAhZGVm
aW5lZChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpCiAjZGVmaW5lIEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMjdkYzk2YTYz
MmIyMzlkYjY2ZDdlMDMzY2QzMzc2ZjE4MjQ4NWQ2MS4uZmVjNTVkYjA2YzA4OGE0NmUyMDE0ZGZj
MzUyNjkxOTczNDdjZjkxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZl
LmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTcwOCw2ICs3MDgsMTQg
QEAKICNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAx
CiAjZW5kaWYKIAorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTIwMDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxNTAwMDApCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9SRUNVUlJJ
TkdfU1VNTUFSWV9JVEVNIDEKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllf
SVRFTSAxCisjZGVmaW5lIEhBVkVfUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05F
TlRTX1JBTkdFIDEKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX0NPVVBPTl9DT0RFIDEKKyNkZWZpbmUg
SEFWRV9QQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFIDEKKyNlbmRpZgorCiAj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5l
IEhBVkVfUVVJQ0tMT09LX1RIVU1CTkFJTElORyAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM3NmZiNzliZDA3Yzg4M2Ri
Mzg5NTczNGM4YWU5NGFmOTcwYjI2MzQuLjZkNGI3NjliYzljMzkzNzE5NWVhNWY2MmNlYjE5NWIy
M2Q3YzQ3ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdApAQCAtMjQsNiArMjQsMTEgQEAgJChQUk9KRUNUX0RJUikvRGVyaXZlZFNvdXJjZXMu
bWFrZQogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0
QXZhaWxhYmlsaXR5RXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5pZGwKKyQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRhdGVCYXNl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRh
dGVEYXRhLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9y
LmlkbApAQCAtMzQsMjAgKzM5LDE5IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0uaWRsCi0kKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudENvbnRhY3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZC5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZl
bnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1l
dGhvZFR5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudE1ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50UGFzcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50UmVxdWVzdC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50VGltaW5nLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25FcnJvci5pZGwKQEAgLTU2LDEwICs2MCwxMCBAQCAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9u
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVy
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cEZlYXR1
cmVTdGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1
cEZlYXR1cmVUeXBlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9k
LmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0
aG9kRGF0YS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlOTAxMzk1
MDg0ZWY3NGFhMzVjMjZiN2IyNzJlMDAxYTY5YTVjOTZlLi5jYjYwODk1OTFmZjFmM2Y3ZjM0MzVm
NmUxZjkxNzA1MWE5NDM3YWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdApAQCAtODcsNiArODcsMTYgQEAgJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNhbmNlbEV2ZW50LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNhbmNl
bEV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QXBwbGVQYXlDb250YWN0RmllbGQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q29udGFjdEZpZWxkLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2
ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBv
bkNvZGVEZXRhaWxzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheURhdGVD
b21wb25lbnRzLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheURhdGVD
b21wb25lbnRzUmFuZ2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlRGF0YS5jcHAKQEAgLTEwNyw4ICsxMTcsNiBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxD
aGFubmVsLgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
cHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TGluZUl0ZW0uY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TGluZUl0ZW0uaAot
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUxp
bmVJdGVtRGF0YS5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQXBwbGVQYXlMaW5lSXRlbURhdGEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlNZXJjaGFu
dENhcGFiaWxpdHkuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheU1vZGlmaWVyLmNwcApAQCAtMTIzLDEwICsxMzEsNiBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudENvbnRh
Y3QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fw
cGxlUGF5UGF5bWVudENvbnRhY3QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRob2QuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5oCi0k
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5
bWVudE1ldGhvZE1vZGVEZXRhaWxzLmNwcAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oCi0kKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVu
dE1ldGhvZE1vZGVVcGRhdGUuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRo
b2RTZWxlY3RlZEV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0
aG9kVHlwZS5jcHAKQEAgLTEzNyw2ICsxNDEsMTAgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRQYXNzLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRQYXNz
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQ
YXlQYXltZW50UmVxdWVzdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudFRpbWluZy5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXlt
ZW50VGltaW5nLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERh
dGVVbml0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
QXBwbGVQYXlSZXF1ZXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcHBsZVBheVJlcXVlc3QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVJlcXVlc3RCYXNlLmNwcApAQCAtMTU1LDE0ICsx
NjMsMTQgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
cHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTZXR1cEZlYXR1
cmVUeXBlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBcHBsZVBheVNldHVwRmVhdHVyZVR5cGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9k
LmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZERhdGEuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZFNlbGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01l
dGhvZFVwZGF0ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGJmODljYWUy
Y2QxYmU2MDU3MjM5NWMxNjJmOTJmYTE3MDk4OGU3ZmMuLjIxYzFlMzllYzE0OTY4MWE2YWVkMDgx
YjdkNTcyN2M5M2UwYjA2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNTMs
NiArNTMsMTEgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdl
ZEV2ZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291
cG9uQ29kZURldGFpbHMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmlkbCBcCkBA
IC02MywyMCArNjgsMTkgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVs
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0u
aWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURh
dGEuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFu
dENhcGFiaWxpdHkuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudENvbnRhY3QuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVE
ZXRhaWxzLmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRQYXNz
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJl
cXVlc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50VGltaW5nLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2Vzc2lvbkVycm9yLmlkbCBcCkBAIC04NSwxMCArODksMTAgQEAgSlNf
QklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTZXR1cEZlYXR1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXR1cEZlYXR1cmVTdGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVR5cGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVj
dGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9k
VXBkYXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFs
aWRhdGVNZXJjaGFudEV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzgxMTk3MzRjMDQxZjI2ZTY5ZjdkOTcyZTdhMTNkZTRlNDEwNDk2OQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZUNoYW5n
ZWRFdmVudC5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKworI2luY2x1
ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCk7
CisKK0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudDo6QXBwbGVQYXlDb3Vwb25Db2RlQ2hh
bmdlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFN0cmluZyYmIGNvdXBvbkNvZGUpCisg
ICAgOiBFdmVudCh0eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQorICAgICwg
bV9jb3Vwb25Db2RlKFdURk1vdmUoY291cG9uQ29kZSkpCit7Cit9CisKK0FwcGxlUGF5Q291cG9u
Q29kZUNoYW5nZWRFdmVudDo6fkFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCgpID0gZGVm
YXVsdDsKKworRXZlbnRJbnRlcmZhY2UgQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50Ojpl
dmVudEludGVyZmFjZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEFwcGxlUGF5Q291cG9uQ29kZUNo
YW5nZWRFdmVudEludGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVD
aGFuZ2VkRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYWVmNjdjODJlNDYzMWM0YWE3ZTk2ZmU2ZTU1Y2U0
NTQ5NmUxZDdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaApAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9D
T0RFKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBBcHBsZVBheUNvdXBvbkNvZGVDaGFu
Z2VkRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50KTsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIFN0cmluZyYmIGNvdXBvbkNvZGUpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQodHlwZSwgV1RGTW92ZShj
b3Vwb25Db2RlKSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkFwcGxlUGF5Q291cG9uQ29kZUNo
YW5nZWRFdmVudCgpOworCisgICAgY29uc3QgU3RyaW5nJiBjb3Vwb25Db2RlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jb3Vwb25Db2RlOyB9CisKK3ByaXZhdGU6CisgICAgQXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFN0cmluZyYmKTsKKworICAgIC8v
IEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlk
ZTsKKworICAgIGNvbnN0IFN0cmluZyBtX2NvdXBvbkNvZGU7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNv
ZGVDaGFuZ2VkRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4OThjMjE1ZDg4Yjcy
YjJjN2M0NTAwYTZjYjZkYWMzOWVlNjc0MjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwK
QEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9Q
QVlfQ09VUE9OX0NPREUsCisgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCitdIGludGVyZmFj
ZSBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyBjb3Vwb25Db2RlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmZkNzdhYWI1YTViN2JmNGU5ODg1NDUwN2U2NDhjM2VlOGU3N2M5NgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
b3Vwb25Db2RlRGV0YWlscy5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisKKyNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXBw
bGVQYXlDb3Vwb25Db2RlRGV0YWlscyB7CisgICAgU3RyaW5nIGNvdXBvbkNvZGU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVhYTczY2ZlMmFj
YTMzZjFiNGVjNWM4ZTdhZjUwMWUzMjkyOGI2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlf
Q09VUE9OX0NPREUsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgSlNHZW5l
cmF0ZVRvSlNPYmplY3QsCitdIGRpY3Rpb25hcnkgQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscyB7
CisgICAgRE9NU3RyaW5nIGNvdXBvbkNvZGU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzA2NDVjNjM2YmM1ZjE1M2FkYzkxMWVmYmI0MTQxOThhNWVmNTlhZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25D
b2RlVXBkYXRlLmgKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKworI2luY2x1ZGUgIkFwcGxlUGF5
RGV0YWlsc1VwZGF0ZUJhc2UuaCIKKyNpbmNsdWRlICJBcHBsZVBheUVycm9yLmgiCisjaW5jbHVk
ZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEFw
cGxlUGF5Q291cG9uQ29kZVVwZGF0ZSBmaW5hbCA6IHB1YmxpYyBBcHBsZVBheURldGFpbHNVcGRh
dGVCYXNlIHsKKyAgICBWZWN0b3I8UmVmUHRyPEFwcGxlUGF5RXJyb3I+PiBlcnJvcnM7CisKKyAg
ICBWZWN0b3I8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gbmV3U2hpcHBpbmdNZXRob2RzOworCisg
ICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0Owor
ICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5
Q291cG9uQ29kZVVwZGF0ZT4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNz
IEVuY29kZXI+Cit2b2lkIEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0Cit7CisgICAgQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZTo6ZW5jb2Rl
KGVuY29kZXIpOworICAgIGVuY29kZXIgPDwgZXJyb3JzOworICAgIGVuY29kZXIgPDwgbmV3U2hp
cHBpbmdNZXRob2RzOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25h
bDxBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlIHJl
c3VsdDsKKworICAgIGlmICghcmVzdWx0LmRlY29kZUJhc2UoZGVjb2RlcikpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxSZWZQdHI8QXBw
bGVQYXlFcnJvcj4+PiBlcnJvcnM7CisgICAgZGVjb2RlciA+PiBlcnJvcnM7CisgICAgaWYgKCFl
cnJvcnMpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmVzdWx0LmVycm9ycyA9
IFdURk1vdmUoKmVycm9ycyk7CisKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheVNo
aXBwaW5nTWV0aG9kPj4gbmV3U2hpcHBpbmdNZXRob2RzOworICAgIGRlY29kZXIgPj4gbmV3U2hp
cHBpbmdNZXRob2RzOworICAgIGlmICghbmV3U2hpcHBpbmdNZXRob2RzKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworICAgIHJlc3VsdC5uZXdTaGlwcGluZ01ldGhvZHMgPSBXVEZNb3Zl
KCpuZXdTaGlwcGluZ01ldGhvZHMpOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2ZjNzI4ZWNmZjFlOTE5ODgx
YjRiZjZiMjQ1YTgwOGZmOTJiNjNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9D
T0RFLAorXSBkaWN0aW9uYXJ5IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSA6IEFwcGxlUGF5RGV0
YWlsc1VwZGF0ZUJhc2UgeworICAgIHNlcXVlbmNlPEFwcGxlUGF5RXJyb3I+IGVycm9yczsKKwor
ICAgIHNlcXVlbmNlPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kczsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RGF0ZUNvbXBvbmVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlEYXRlQ29tcG9uZW50cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NTg2ZTFlNDYxMzQ1NjQ0MmRiMDQyYjlk
ODJjMWYwMjNlOGZmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaApAQCAtMCwwICsxLDcyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01F
VEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgeworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+
IHllYXJzOworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IG1vbnRoczsKKyAgICBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPiBkYXlzOworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IGhvdXJz
OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNv
bnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5RGF0ZUNvbXBvbmVudHM+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPgordm9pZCBBcHBsZVBheURhdGVDb21wb25lbnRzOjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHllYXJzOworICAgIGVuY29kZXIg
PDwgbW9udGhzOworICAgIGVuY29kZXIgPDwgZGF5czsKKyAgICBlbmNvZGVyIDw8IGhvdXJzOwor
fQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25hbDxBcHBsZVBheURhdGVD
b21wb25lbnRzPiBBcHBsZVBheURhdGVDb21wb25lbnRzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKK3sKKyNkZWZpbmUgREVDT0RFKG5hbWUsIHR5cGUpIFwKKyAgICBzdGQ6Om9wdGlvbmFsPHR5
cGU+IG5hbWU7IFwKKyAgICBkZWNvZGVyID4+IG5hbWU7IFwKKyAgICBpZiAoIW5hbWUpIFwKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgXAorCisgICAgREVDT0RFKHllYXJzLCBzdGQ6Om9w
dGlvbmFsPHVuc2lnbmVkPikKKyAgICBERUNPREUobW9udGhzLCBzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPikKKyAgICBERUNPREUoZGF5cywgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4pCisgICAgREVD
T0RFKGhvdXJzLCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPikKKworI3VuZGVmIERFQ09ERQorCisg
ICAgcmV0dXJuIHt7IFdURk1vdmUoKnllYXJzKSwgV1RGTW92ZSgqbW9udGhzKSwgV1RGTW92ZSgq
ZGF5cyksIFdURk1vdmUoKmhvdXJzKSB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05F
TlRTX1JBTkdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheURhdGVDb21wb25lbnRzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEyMDJiMGU2MmQyNWI2
MTVkNmQ2MjEyOTk2ZjA4Y2FiN2IxMmQxYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5pZGwKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JF
X0VYUE9SVCwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBBcHBsZVBh
eURhdGVDb21wb25lbnRzIHsKKyAgICB1bnNpZ25lZCBsb25nIHllYXJzOworICAgIHVuc2lnbmVk
IGxvbmcgbW9udGhzOworICAgIHVuc2lnbmVkIGxvbmcgZGF5czsKKyAgICB1bnNpZ25lZCBsb25n
IGhvdXJzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1OWUzNzZk
MGQ3YzgzZmEzODQxZmVjODFmYzE3NTU0ZWUwODI1MjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5o
CkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKworI2lu
Y2x1ZGUgIkFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdHJ1Y3QgQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlIHsKKyAgICBBcHBsZVBheURhdGVD
b21wb25lbnRzIHN0YXJ0RGF0ZUNvbXBvbmVudHM7CisgICAgQXBwbGVQYXlEYXRlQ29tcG9uZW50
cyBlbmREYXRlQ29tcG9uZW50czsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U+IGRlY29kZShEZWNv
ZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBBcHBsZVBheURhdGVD
b21wb25lbnRzUmFuZ2U6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVu
Y29kZXIgPDwgc3RhcnREYXRlQ29tcG9uZW50czsKKyAgICBlbmNvZGVyIDw8IGVuZERhdGVDb21w
b25lbnRzOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25hbDxBcHBs
ZVBheURhdGVDb21wb25lbnRzUmFuZ2U+IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZTo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCit7CisjZGVmaW5lIERFQ09ERShuYW1lLCB0eXBlKSBcCisg
ICAgc3RkOjpvcHRpb25hbDx0eXBlPiBuYW1lOyBcCisgICAgZGVjb2RlciA+PiBuYW1lOyBcCisg
ICAgaWYgKCFuYW1lKSBcCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7IFwKKworICAgIERF
Q09ERShzdGFydERhdGVDb21wb25lbnRzLCBBcHBsZVBheURhdGVDb21wb25lbnRzKQorICAgIERF
Q09ERShlbmREYXRlQ29tcG9uZW50cywgQXBwbGVQYXlEYXRlQ29tcG9uZW50cykKKworI3VuZGVm
IERFQ09ERQorCisgICAgcmV0dXJuIHt7IFdURk1vdmUoKnN0YXJ0RGF0ZUNvbXBvbmVudHMpLCBX
VEZNb3ZlKCplbmREYXRlQ29tcG9uZW50cykgfX07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09N
UE9ORU5UU19SQU5HRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NjRhMzc4NjJjNGYzNGZiYTJiNTZlZDRhMWExNGIwOGFkN2VlN2JlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9QVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UsCisgICAg
RXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCitd
IGRpY3Rpb25hcnkgQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlIHsKKyAgICByZXF1aXJlZCBB
cHBsZVBheURhdGVDb21wb25lbnRzIHN0YXJ0RGF0ZUNvbXBvbmVudHM7CisgICAgcmVxdWlyZWQg
QXBwbGVQYXlEYXRlQ29tcG9uZW50cyBlbmREYXRlQ29tcG9uZW50czsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgKaW5kZXgg
NDJmNjU5Y2ZmMjM0NGYwYTU4YjExNTgwNTMyYzc5ZGI1YTcyN2FmNy4uNjRiMmVjNDg2MDc4ZWM0
MzQ1MzM2ZTJhNzNlNDgwYzUxNmQxYzcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaApAQCAtMjksMTAgKzI5LDYgQEAKIAog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQot
I2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BcHBsZVBheUVycm9yQ29kZUFkZGl0aW9ucy5oPgot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBBcHBsZVBheUVycm9y
Q29kZSB7CkBAIC00MCw5ICszNiw4IEBAIGVudW0gY2xhc3MgQXBwbGVQYXlFcnJvckNvZGUgewog
ICAgIFNoaXBwaW5nQ29udGFjdEludmFsaWQsCiAgICAgQmlsbGluZ0NvbnRhY3RJbnZhbGlkLAog
ICAgIEFkZHJlc3NVbnNlcnZpY2VhYmxlLAotI2lmIGRlZmluZWQoQXBwbGVQYXlFcnJvckNvZGVB
ZGRpdGlvbnNfdmFsdWVzKQotICAgIEFwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zX3ZhbHVlcwot
I2VuZGlmCisgICAgQ291cG9uQ29kZUludmFsaWQsCisgICAgQ291cG9uQ29kZUV4cGlyZWQsCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC01NSwxMCArNTAsOSBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlPiB7CiAgICAgICAg
IFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpVbmtub3duLAogICAgICAgICBXZWJDb3JlOjpB
cHBsZVBheUVycm9yQ29kZTo6U2hpcHBpbmdDb250YWN0SW52YWxpZCwKICAgICAgICAgV2ViQ29y
ZTo6QXBwbGVQYXlFcnJvckNvZGU6OkJpbGxpbmdDb250YWN0SW52YWxpZCwKLSAgICAgICAgV2Vi
Q29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OkFkZHJlc3NVbnNlcnZpY2VhYmxlCi0jaWYgZGVmaW5l
ZChBcHBsZVBheUVycm9yQ29kZUFkZGl0aW9uc19FbnVtVHJhaXRzKQotICAgICAgICBBcHBsZVBh
eUVycm9yQ29kZUFkZGl0aW9uc19FbnVtVHJhaXRzCi0jZW5kaWYKKyAgICAgICAgV2ViQ29yZTo6
QXBwbGVQYXlFcnJvckNvZGU6OkFkZHJlc3NVbnNlcnZpY2VhYmxlLAorICAgICAgICBXZWJDb3Jl
OjpBcHBsZVBheUVycm9yQ29kZTo6Q291cG9uQ29kZUludmFsaWQsCisgICAgICAgIFdlYkNvcmU6
OkFwcGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlRXhwaXJlZAogICAgID47CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2Rl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUu
aWRsCmluZGV4IDRjZDQ0ZjhkNDEyYWVlZmQzODdiMTg3MTJkMGMzODIzZDUzMjhlOGIuLmYxZGY5
ZTJhYjJlNmYxZDE3YWJiYzQyMzBmMmY3YWI4YWZjODdlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsCkBAIC0zMCw1
ICszMCw3IEBACiAgICAgInVua25vd24iLAogICAgICJzaGlwcGluZ0NvbnRhY3RJbnZhbGlkIiwK
ICAgICAiYmlsbGluZ0NvbnRhY3RJbnZhbGlkIiwKLSAgICAiYWRkcmVzc1Vuc2VydmljZWFibGUi
CisgICAgImFkZHJlc3NVbnNlcnZpY2VhYmxlIiwKKyAgICAiY291cG9uQ29kZUludmFsaWQiLAor
ICAgICJjb3Vwb25Db2RlRXhwaXJlZCIKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5oCmluZGV4IGU4ZmFiYjNjYzBjZGEyYmQ2MzRm
OTdlYTZmYzNhOGJjMzdjZTUxOTguLmY1NGIzYmQzMWVlMzBkZDM3ZTg2NGVkYzJkNWFiYWU4YjE3
ODg2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5oCkBAIC0yNywxMyArMjcsMTUgQEAKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkp
CiAKLSNpbmNsdWRlICJBcHBsZVBheUxpbmVJdGVtRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CisjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50VGltaW5nLmgiCisjaW5jbHVkZSAiQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCIKKyNpbmNsdWRlIDxsaW1pdHM+CisjaW5j
bHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IEFwcGxlUGF5TGluZUl0ZW0gZmluYWwgOiBwdWJsaWMg
QXBwbGVQYXlMaW5lSXRlbURhdGEgeworc3RydWN0IEFwcGxlUGF5TGluZUl0ZW0gZmluYWwgewog
ICAgIGVudW0gY2xhc3MgVHlwZSA6IGJvb2wgewogICAgICAgICBQZW5kaW5nLAogICAgICAgICBG
aW5hbCwKQEAgLTQzLDYgKzQ1LDIxIEBAIHN0cnVjdCBBcHBsZVBheUxpbmVJdGVtIGZpbmFsIDog
cHVibGljIEFwcGxlUGF5TGluZUl0ZW1EYXRhIHsKICAgICBTdHJpbmcgbGFiZWw7CiAgICAgU3Ry
aW5nIGFtb3VudDsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkg
fHwgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisgICAgQXBwbGVQYXlQYXlt
ZW50VGltaW5nIHBheW1lbnRUaW1pbmcgeyBBcHBsZVBheVBheW1lbnRUaW1pbmc6OkltbWVkaWF0
ZSB9OworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0p
CisgICAgZG91YmxlIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUgeyBzdGQ6Om51bWVyaWNfbGlt
aXRzPGRvdWJsZT46OnF1aWV0X05hTigpIH07CisgICAgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50
RGF0ZVVuaXQgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCB7IEFwcGxlUGF5UmVjdXJyaW5n
UGF5bWVudERhdGVVbml0OjpNb250aCB9OworICAgIHVuc2lnbmVkIHJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbENvdW50ID0gMTsKKyAgICBkb3VibGUgcmVjdXJyaW5nUGF5bWVudEVuZERhdGUgeyBz
dGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpIH07CisjZW5kaWYKKworI2lm
IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgIGRvdWJsZSBkZWZlcnJl
ZFBheW1lbnREYXRlIHsgc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSB9
OworI2VuZGlmCisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNv
ZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0
aW9uYWw8QXBwbGVQYXlMaW5lSXRlbT4gZGVjb2RlKERlY29kZXImKTsKIH07CkBAIC01MCwzOSAr
NjcsNjcgQEAgc3RydWN0IEFwcGxlUGF5TGluZUl0ZW0gZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlM
aW5lSXRlbURhdGEgewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgQXBwbGVQYXlMaW5l
SXRlbTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgQXBwbGVQYXlMaW5l
SXRlbURhdGE6OmVuY29kZShlbmNvZGVyKTsKICAgICBlbmNvZGVyIDw8IHR5cGU7CiAgICAgZW5j
b2RlciA8PCBsYWJlbDsKICAgICBlbmNvZGVyIDw8IGFtb3VudDsKKyNpZiBFTkFCTEUoQVBQTEVf
UEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElO
RV9JVEVNKQorICAgIGVuY29kZXIgPDwgcGF5bWVudFRpbWluZzsKKyNlbmRpZgorI2lmIEVOQUJM
RShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICBlbmNvZGVyIDw8IHJlY3Vycmlu
Z1BheW1lbnRTdGFydERhdGU7CisgICAgZW5jb2RlciA8PCByZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxVbml0OworICAgIGVuY29kZXIgPDwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ7Cisg
ICAgZW5jb2RlciA8PCByZWN1cnJpbmdQYXltZW50RW5kRGF0ZTsKKyNlbmRpZgorI2lmIEVOQUJM
RShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgIGVuY29kZXIgPDwgZGVmZXJyZWRQ
YXltZW50RGF0ZTsKKyNlbmRpZgogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogc3RkOjpv
cHRpb25hbDxBcHBsZVBheUxpbmVJdGVtPiBBcHBsZVBheUxpbmVJdGVtOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKIHsKLSAgICBBcHBsZVBheUxpbmVJdGVtIHJlc3VsdDsKKyNkZWZpbmUgREVD
T0RFKG5hbWUsIHR5cGUpIFwKKyAgICBzdGQ6Om9wdGlvbmFsPHR5cGU+IG5hbWU7IFwKKyAgICBk
ZWNvZGVyID4+IG5hbWU7IFwKKyAgICBpZiAoIW5hbWUpIFwKKyAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsgXAogCi0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShkZWNvZGVyKSkKLSAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBERUNPREUodHlwZSwgVHlwZSkKKyAgICBERUNP
REUobGFiZWwsIFN0cmluZykKKyAgICBERUNPREUoYW1vdW50LCBTdHJpbmcpCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVS
UkVEX0xJTkVfSVRFTSkKKyAgICBERUNPREUocGF5bWVudFRpbWluZywgQXBwbGVQYXlQYXltZW50
VGltaW5nKQorI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVN
KQorICAgIERFQ09ERShyZWN1cnJpbmdQYXltZW50U3RhcnREYXRlLCBkb3VibGUpCisgICAgREVD
T0RFKHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVu
dERhdGVVbml0KQorICAgIERFQ09ERShyZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCwgdW5z
aWduZWQpCisgICAgREVDT0RFKHJlY3VycmluZ1BheW1lbnRFbmREYXRlLCBkb3VibGUpCisjZW5k
aWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkKKyAgICBERUNPREUo
ZGVmZXJyZWRQYXltZW50RGF0ZSwgZG91YmxlKQorI2VuZGlmCiAKLSAgICBzdGQ6Om9wdGlvbmFs
PFR5cGU+IHR5cGU7Ci0gICAgZGVjb2RlciA+PiB0eXBlOwotICAgIGlmICghdHlwZSkKLSAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXN1bHQudHlwZSA9IFdURk1vdmUoKnR5cGUp
OworI3VuZGVmIERFQ09ERQogCi0gICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGxhYmVsOwotICAg
IGRlY29kZXIgPj4gbGFiZWw7Ci0gICAgaWYgKCFsYWJlbCkKLSAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKLSAgICByZXN1bHQubGFiZWwgPSBXVEZNb3ZlKCpsYWJlbCk7Ci0KLSAgICBzdGQ6
Om9wdGlvbmFsPFN0cmluZz4gYW1vdW50OwotICAgIGRlY29kZXIgPj4gYW1vdW50OwotICAgIGlm
ICghYW1vdW50KQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC5hbW91
bnQgPSBXVEZNb3ZlKCphbW91bnQpOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4g
eyB7CisgICAgICAgIFdURk1vdmUoKnR5cGUpLAorICAgICAgICBXVEZNb3ZlKCpsYWJlbCksCisg
ICAgICAgIFdURk1vdmUoKmFtb3VudCksCisjaWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdf
TElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkKKyAgICAg
ICAgV1RGTW92ZSgqcGF5bWVudFRpbWluZyksCisjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1JFQ1VSUklOR19MSU5FX0lURU0pCisgICAgICAgIFdURk1vdmUoKnJlY3VycmluZ1BheW1lbnRT
dGFydERhdGUpLAorICAgICAgICBXVEZNb3ZlKCpyZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0
KSwKKyAgICAgICAgV1RGTW92ZSgqcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQpLAorICAg
ICAgICBXVEZNb3ZlKCpyZWN1cnJpbmdQYXltZW50RW5kRGF0ZSksCisjZW5kaWYKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkKKyAgICAgICAgV1RGTW92ZSgqZGVmZXJy
ZWRQYXltZW50RGF0ZSksCisjZW5kaWYKKyAgICB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlMaW5lSXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
TGluZUl0ZW0uaWRsCmluZGV4IGE0MmI3NzI0YmU4ZjY4Nzg1NWQ0NjA5NjNmZGI4MWE0YmQ3MTlh
OGMuLjFjNDQ3YTNlNDhmZTM3M2JmZmJiMDE0Y2EzMjE2ZjQ0YjNlOTA2NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbApA
QCAtMzQsOCArMzQsMTcgQEAKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCiAgICAgRXhwb3J0
TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCi1dIGRpY3Rp
b25hcnkgQXBwbGVQYXlMaW5lSXRlbSA6IEFwcGxlUGF5TGluZUl0ZW1EYXRhIHsKK10gZGljdGlv
bmFyeSBBcHBsZVBheUxpbmVJdGVtIHsKICAgICBBcHBsZVBheUxpbmVJdGVtVHlwZSB0eXBlID0g
ImZpbmFsIjsKICAgICBET01TdHJpbmcgbGFiZWw7CiAgICAgRE9NU3RyaW5nIGFtb3VudDsKKwor
ICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTXxBUFBMRV9QQVlf
REVGRVJSRURfTElORV9JVEVNXSBBcHBsZVBheVBheW1lbnRUaW1pbmcgcGF5bWVudFRpbWluZyA9
ICJpbW1lZGlhdGUiOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9SRUNVUlJJTkdfTElO
RV9JVEVNXSBEYXRlIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGU7CisgICAgW0NvbmRpdGlvbmFs
PUFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNXSBBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0ID0gIm1vbnRoIjsKKyAgICBbQ29u
ZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1dIHVuc2lnbmVkIGxvbmcgcmVj
dXJyaW5nUGF5bWVudEludGVydmFsQ291bnQgPSAxOworICAgIFtDb25kaXRpb25hbD1BUFBMRV9Q
QVlfUkVDVVJSSU5HX0xJTkVfSVRFTV0gRGF0ZSByZWN1cnJpbmdQYXltZW50RW5kRGF0ZTsKKwor
ICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNXSBEYXRlIGRlZmVy
cmVkUGF5bWVudERhdGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBlNjQ3MmFiNjA5YzA0ZWZmZWQyODM1ODQ4NjhlZWE0NGU0YTFlODQwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaAorKysgL2Rldi9udWxsCkBAIC0xLDgw
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShBUFBMRV9Q
QVkpCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0
aW9ucy9BcHBsZVBheUxpbmVJdGVtRGF0YUFkZGl0aW9ucy5oPgotI2VuZGlmCi0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotc3RydWN0IEFwcGxlUGF5TGluZUl0ZW1EYXRhIHsKLSNpZiBkZWZpbmVk
KEFwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25zX21lbWJlcnMpCi0gICAgQXBwbGVQYXlMaW5l
SXRlbURhdGFBZGRpdGlvbnNfbWVtYmVycwotI2VuZGlmCi0KLSAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlMaW5lSXRlbURhdGE+IGRlY29k
ZShEZWNvZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBXQVJOX1VOVVNFRF9S
RVRVUk4gYm9vbCBkZWNvZGVEYXRhKERlY29kZXImKTsKLX07Ci0KLXRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+Ci12b2lkIEFwcGxlUGF5TGluZUl0ZW1EYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKLXsKLSNpZiBkZWZpbmVkKEFwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25zX2Vu
Y29kZSkKLSAgICBBcHBsZVBheUxpbmVJdGVtRGF0YUFkZGl0aW9uc19lbmNvZGUKLSNlbHNlCi0g
ICAgVU5VU0VEX1BBUkFNKGVuY29kZXIpOwotI2VuZGlmCi19Ci0KLXRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+Ci1zdGQ6Om9wdGlvbmFsPEFwcGxlUGF5TGluZUl0ZW1EYXRhPiBBcHBsZVBheUxpbmVJ
dGVtRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCi17Ci0gICAgQXBwbGVQYXlMaW5lSXRl
bURhdGEgcmVzdWx0OwotICAgIGlmICghcmVzdWx0LmRlY29kZURhdGEoZGVjb2RlcikpCi0gICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4KLWJvb2wgQXBwbGVQYXlMaW5lSXRlbURhdGE6OmRlY29kZURhdGEo
RGVjb2RlciYgZGVjb2RlcikKLXsKLSNpZiBkZWZpbmVkKEFwcGxlUGF5TGluZUl0ZW1EYXRhQWRk
aXRpb25zX2RlY29kZURhdGEpCi0gICAgQXBwbGVQYXlMaW5lSXRlbURhdGFBZGRpdGlvbnNfZGVj
b2RlRGF0YQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZGVjb2Rlcik7Ci0jZW5kaWYKLQotICAg
IHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBF
TkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggODk0ZDExMjRjZmJhMTIzOGQ5NjZlNzIzNDU0NjM2Y2E4Y2Y5ZDg5My4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDI5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAot
XSBkaWN0aW9uYXJ5IEFwcGxlUGF5TGluZUl0ZW1EYXRhIHsKLX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRh
aWxzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVEZXRhaWxzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmNDU1NmQy
ZGMwNmVhYjhkY2FjODdkNTU3MjBiYzE2YmUzMGNhNGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNp
bmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHNB
ZGRpdGlvbnMuaD4KLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBBcHBs
ZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyB7Ci0jaWYgZGVmaW5lZChBcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlRGV0YWlsc0FkZGl0aW9uc19tZW1iZXJzKQotICAgIEFwcGxlUGF5UGF5bWVu
dE1ldGhvZE1vZGVEZXRhaWxzQWRkaXRpb25zX21lbWJlcnMKLSNlbmRpZgotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhlMTU4Y2RhYTEwNzc2MzZhZGRiMWVlNDMyYjMyZDk2
ZWNlZTdkYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVE
ZXRhaWxzLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1b
Ci0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUsCi0gICAgRXhw
b3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCi0gICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCi1dIGRp
Y3Rpb25hcnkgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMgewotfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZVVwZGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcy
ZTI3ZGE1MmVlNjVlY2EzYzc0MGM3ZjJkODA4Yjc3MTg4ODZjOTMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoQVBQ
TEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0KLSNpbmNsdWRlICJBcHBsZVBheURldGFpbHNV
cGRhdGVCYXNlLmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlFcnJvci5oIgotI2luY2x1ZGUgIkFwcGxl
UGF5U2hpcHBpbmdNZXRob2QuaCIKLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0jaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0cnVjdCBBcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlIGZpbmFsIDogcHVibGljIEFwcGxlUGF5RGV0YWlsc1VwZGF0
ZUJhc2UgewotICAgIFZlY3RvcjxSZWZQdHI8QXBwbGVQYXlFcnJvcj4+IGVycm9yczsKLQotICAg
IFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBuZXdTaGlwcGluZ01ldGhvZHM7Ci0KLSAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0g
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZT4gZGVjb2RlKERlY29kZXImKTsKLX07Ci0KLXRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+Ci12b2lkIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU6OmVu
Y29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIEFwcGxlUGF5RGV0YWlsc1VwZGF0
ZUJhc2U6OmVuY29kZShlbmNvZGVyKTsKLSAgICBlbmNvZGVyIDw8IGVycm9yczsKLSAgICBlbmNv
ZGVyIDw8IG5ld1NoaXBwaW5nTWV0aG9kczsKLX0KLQotdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4K
LXN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4gQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCi17Ci0gICAg
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZSByZXN1bHQ7Ci0KLSAgICBpZiAoIXJlc3Vs
dC5kZWNvZGVCYXNlKGRlY29kZXIpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0g
ICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8UmVmUHRyPEFwcGxlUGF5RXJyb3I+Pj4gZXJyb3JzOwot
ICAgIGRlY29kZXIgPj4gZXJyb3JzOwotICAgIGlmICghZXJyb3JzKQotICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC5lcnJvcnMgPSBXVEZNb3ZlKCplcnJvcnMpOwotCi0g
ICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4+IG5ld1NoaXBw
aW5nTWV0aG9kczsKLSAgICBkZWNvZGVyID4+IG5ld1NoaXBwaW5nTWV0aG9kczsKLSAgICBpZiAo
IW5ld1NoaXBwaW5nTWV0aG9kcykKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICBy
ZXN1bHQubmV3U2hpcHBpbmdNZXRob2RzID0gV1RGTW92ZSgqbmV3U2hpcHBpbmdNZXRob2RzKTsK
LQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
MDAxNzk1NjJiNTJjZDI3NWZjNGIzOTA4Y2RjOGIyMGU0MTM3NzdkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPUFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFLAotXSBkaWN0aW9uYXJ5IEFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUgOiBBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlIHsKLSAgICBzZXF1ZW5jZTxB
cHBsZVBheUVycm9yPiBlcnJvcnM7Ci0KLSAgICBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0
aG9kPiBuZXdTaGlwcGluZ01ldGhvZHM7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIz
OTlkZGI5YmNjYWQ4NGYzMDQyZGI5MjdiZGRlNjExNjdkYjNmMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmgK
QEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVS
UkVEX0xJTkVfSVRFTSkKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworZW51bSBjbGFzcyBBcHBsZVBheVBheW1lbnRUaW1pbmcgOiB1aW50OF90IHsK
KyAgICBJbW1lZGlhdGUsCisgICAgUmVjdXJyaW5nLAorICAgIERlZmVycmVkLAorfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1
Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRUaW1pbmc+IHsKKyAgICB1c2lu
ZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRU
aW1pbmcsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudFRpbWluZzo6SW1tZWRpYXRl
LAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRUaW1pbmc6OlJlY3VycmluZywKKyAg
ICAgICAgV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50VGltaW5nOjpEZWZlcnJlZAorICAgID47Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUkVD
VVJSSU5HX0xJTkVfSVRFTSkgfHwgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudFRpbWluZy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ4NDcyM2JjZGQ0NzQ3NjhlZDZhNDk2OTA0
ZDM0YjIzMDViMTdmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVN
fEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0sCitdIGVudW0gQXBwbGVQYXlQYXltZW50VGlt
aW5nIHsKKyAgICAiaW1tZWRpYXRlIiwKKyAgICAicmVjdXJyaW5nIiwKKyAgICAiZGVmZXJyZWQi
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5ZTQ2
NzhlMDg1YmFlNDI5OTNhZGVmZDk3YTM4YTUxMTQxMDY0NTUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERh
dGVVbml0LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKQorCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEFwcGxlUGF5
UmVjdXJyaW5nUGF5bWVudERhdGVVbml0IHsKKyAgICBZZWFyLAorICAgIE1vbnRoLAorICAgIERh
eSwKKyAgICBIb3VyLAorICAgIE1pbnV0ZSwKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29y
ZTo6QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ+IHsKKyAgICB1c2luZyB2YWx1ZXMg
PSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdCwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVu
aXQ6OlllYXIsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVV
bml0OjpNb250aCwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0
ZVVuaXQ6OkRheSwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0
ZVVuaXQ6OkhvdXIsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERh
dGVVbml0OjpNaW51dGUKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERh
dGVVbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1
cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNThlZWFjY2JlMDJkMDIyN2Zl
MDg2NmU1OWQ0ZTU4ZDJmYmJmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmlkbApAQCAt
MCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9S
RUNVUlJJTkdfTElORV9JVEVNLAorXSBlbnVtIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVV
bml0IHsKKyAgICAieWVhciIsCisgICAgIm1vbnRoIiwKKyAgICAiZGF5IiwKKyAgICAiaG91ciIs
CisgICAgIm1pbnV0ZSIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcAppbmRleCA1MmFlZmY2MTgyMTEyMmFkMTMz
MzhmMmUwMjIxNmJmZWNjY2Q1OWJhLi43MTRkM2RhNjEyZjhhNDU0YzEyM2YzNjM0NDUzZjcyOTc0
ZDUwZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKQEAgLTExOCw2ICsxMTgsMTUgQEAgRXhjZXB0aW9uT3I8
QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0ZShEb2N1bWVu
dCYgZG9jdW1lbnQKICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCisgICAgcmVzdWx0LnNldFN1cHBvcnRzQ291cG9uQ29kZShyZXF1ZXN0LnN1cHBvcnRz
Q291cG9uQ29kZSk7CisgICAgcmVzdWx0LnNldENvdXBvbkNvZGUocmVxdWVzdC5jb3Vwb25Db2Rl
KTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJ
TkdfTU9ERSkKKyAgICByZXN1bHQuc2V0U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUocmVxdWVz
dC5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSk7CisjZW5kaWYKKwogI2lmIGRlZmluZWQoQXBw
bGVQYXlSZXF1ZXN0QmFzZUFkZGl0aW9uc19jb252ZXJ0QW5kVmFsaWRhdGVfcmVxdWVzdCkKICAg
ICBBcHBsZVBheVJlcXVlc3RCYXNlQWRkaXRpb25zX2NvbnZlcnRBbmRWYWxpZGF0ZV9yZXF1ZXN0
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RCYXNlLmgKaW5kZXggOGRjNWFlNTI4MmFlNzc2M2M5YWY0OWIwZDA2NWRjMzll
NGYwMTRkZC4uZDlhMmI4MzE3ZTRlNTM2NTFlYmUxNWYyNWI5Y2M0NTQ1YzRjZDc5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RC
YXNlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJBcHBsZVBheUluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbldlYkNvcmUuaCIKICNpbmNsdWRlICJBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0
eS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudENvbnRhY3QuaCIKKyNpbmNsdWRlICJBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmgiCiAKICNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BcHBsZVBheVJlcXVlc3RCYXNlQWRk
aXRpb25zLmg+CkBAIC01OSw2ICs2MCwxNSBAQCBzdHJ1Y3QgQXBwbGVQYXlSZXF1ZXN0QmFzZSB7
CiAgICAgc3RkOjpvcHRpb25hbDxBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbj4gaW5z
dGFsbG1lbnRDb25maWd1cmF0aW9uOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNDb3Vwb25Db2RlOwor
ICAgIFN0cmluZyBjb3Vwb25Db2RlOworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NI
SVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZT4gc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7Cisj
ZW5kaWYKKwogI2lmIGRlZmluZWQoQXBwbGVQYXlSZXF1ZXN0QmFzZUFkZGl0aW9uc19tZW1iZXJz
KQogICAgIEFwcGxlUGF5UmVxdWVzdEJhc2VBZGRpdGlvbnNfbWVtYmVycwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJh
c2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RC
YXNlLmlkbAppbmRleCBlNzE1MjUyODRkOTEwOGNmZDlhMmQ2NzQxMDI5ZGM1MmIwMzQ2ZDFlLi4y
ZTBhMzQ5MWI2ZWY2ZDM1NzBhYmE1M2I2NGI2NzVmMTViOTk2ZmQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwK
QEAgLTQwLDQgKzQwLDkgQEAKICAgICBzZXF1ZW5jZTxET01TdHJpbmc+IHN1cHBvcnRlZENvdW50
cmllczsKIAogICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfSU5TVEFMTE1FTlRTXSBBcHBsZVBh
eUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CisKKyAg
ICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSBib29sZWFuIHN1cHBvcnRzQ291
cG9uQ29kZTsKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSBET01TdHJp
bmcgY291cG9uQ29kZTsKKworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfQ09O
VEFDVF9FRElUSU5HX01PREVdIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgc2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IDVmMjMyNDg4OWRkNjNjYWNk
MWRjMzgyNmM2YTA2MWQ1OTQ2MjUzZTMuLjA3YWNiOGQxODAwMTBjMDg5YzlkZGJlNmZiNmY2MWQw
NmZlMTU3NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvbi5jcHAKQEAgLTI5LDEyICsyOSwxMyBAQAogI2lmIEVOQUJMRShBUFBMRV9Q
QVkpCiAKICNpbmNsdWRlICJBcHBsZVBheUNhbmNlbEV2ZW50LmgiCisjaW5jbHVkZSAiQXBwbGVQ
YXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmgiCisjaW5jbHVkZSAiQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlFcnJvckNvZGUuaCIKICNpbmNsdWRlICJBcHBs
ZVBheUVycm9yQ29udGFjdEZpZWxkLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5oIgog
I2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQuaCIKICNpbmNsdWRl
ICJBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaCIKLSNpbmNsdWRlICJBcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9k
U2VsZWN0ZWRFdmVudC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5o
IgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCIKQEAgLTI4MSw5ICsyODIsOSBA
QCBzdGF0aWMgRXhjZXB0aW9uT3I8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4gY29udmVy
dEFuZFZhbGlkYXRlKEFwcGxlUGF5U2hpcAogICAgIHJldHVybiBXVEZNb3ZlKHVwZGF0ZSk7CiB9
CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotc3RhdGljIEV4Y2VwdGlvbk9yPEFwcGxlUGF5UGF5
bWVudE1ldGhvZE1vZGVVcGRhdGU+IGNvbnZlcnRBbmRWYWxpZGF0ZShBcHBsZVBheVBheW1lbnRN
ZXRob2RNb2RlVXBkYXRlJiYgdXBkYXRlKQorc3RhdGljIEV4Y2VwdGlvbk9yPEFwcGxlUGF5Q291
cG9uQ29kZVVwZGF0ZT4gY29udmVydEFuZFZhbGlkYXRlKEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZSYmIHVwZGF0ZSkKIHsKICAgICBhdXRvIGNvbnZlcnRlZE5ld1NoaXBwaW5nTWV0aG9kcyA9IGNv
bnZlcnRBbmRWYWxpZGF0ZShXVEZNb3ZlKHVwZGF0ZS5uZXdTaGlwcGluZ01ldGhvZHMpKTsKICAg
ICBpZiAoY29udmVydGVkTmV3U2hpcHBpbmdNZXRob2RzLmhhc0V4Y2VwdGlvbigpKQpAQCAtMzAz
LDcgKzMwNCw3IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxBcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
VXBkYXRlPiBjb252ZXJ0QW5kVmFsaWRhdGUoQXBwbGVQYXlQCiAgICAgcmV0dXJuIFdURk1vdmUo
dXBkYXRlKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0Rf
TU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiBFeGNlcHRp
b25PcjxSZWY8QXBwbGVQYXlTZXNzaW9uPj4gQXBwbGVQYXlTZXNzaW9uOjpjcmVhdGUoRG9jdW1l
bnQmIGRvY3VtZW50LCB1bnNpZ25lZCB2ZXJzaW9uLCBBcHBsZVBheVBheW1lbnRSZXF1ZXN0JiYg
cGF5bWVudFJlcXVlc3QpCiB7CkBAIC01MjUsNiArNTI2LDI1IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IEFwcGxlUGF5U2Vzc2lvbjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKEFwcGxlUGF5
UGF5bWVuCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCisKK0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5U2Vzc2lvbjo6Y29tcGxldGVDb3Vw
b25Db2RlQ2hhbmdlKEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSYmIHVwZGF0ZSkKK3sKKyAgICBp
ZiAoIWNhbkNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSgpKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yIH07CisKKyAgICBhdXRvIGNvbnZlcnRlZFVwZGF0ZSA9
IGNvbnZlcnRBbmRWYWxpZGF0ZShXVEZNb3ZlKHVwZGF0ZSkpOworICAgIGlmIChjb252ZXJ0ZWRV
cGRhdGUuaGFzRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBjb252ZXJ0ZWRVcGRhdGUucmVs
ZWFzZUV4Y2VwdGlvbigpOworCisgICAgbV9zdGF0ZSA9IFN0YXRlOjpBY3RpdmU7CisgICAgcGF5
bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKGNvbnZlcnRlZFVwZGF0
ZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisKKyAgICByZXR1cm4geyB9OworfQorCisjZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKwogRXhjZXB0aW9uT3I8dm9pZD4gQXBw
bGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnQoQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlv
blJlc3VsdCYmIHJlc3VsdCkKIHsKICAgICBpZiAoIWNhbkNvbXBsZXRlUGF5bWVudCgpKQpAQCAt
NzIxLDE4ICs3NDEsMjMgQEAgdm9pZCBBcHBsZVBheVNlc3Npb246OmRpZFNlbGVjdFBheW1lbnRN
ZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCkKICAgICBkaXNwYXRjaEV2
ZW50KGV2ZW50LmdldCgpKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIEFwcGxl
UGF5U2Vzc2lvbjo6ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1l
dGhvZE1vZGUpCit2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6ZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJp
bmcmJiBjb3Vwb25Db2RlKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpBY3RpdmUp
OwogCi0jaWYgZGVmaW5lZChBcHBsZVBheVNlc3Npb25BZGRpdGlvbnNfZGlkQ2hhbmdlUGF5bWVu
dE1ldGhvZE1vZGUpCi0gICAgQXBwbGVQYXlTZXNzaW9uQWRkaXRpb25zX2RpZENoYW5nZVBheW1l
bnRNZXRob2RNb2RlCi0jZW5kaWYKKyAgICBpZiAoIWhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFt
ZXMoKS5jb3Vwb25jb2RlY2hhbmdlZEV2ZW50KSkgeworICAgICAgICBwYXltZW50Q29vcmRpbmF0
b3IoKS5jb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoeyB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIG1fc3RhdGUgPSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ7CisgICAgYXV0byBl
dmVudCA9IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5jb3Vwb25jb2RlY2hhbmdlZEV2ZW50LCBXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKKyAgICBkaXNw
YXRjaEV2ZW50KGV2ZW50LmdldCgpKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
UEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9D
T0RFKQogCiB2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5
bWVudFNlc3Npb25FcnJvciYmIGVycm9yKQogewpAQCAtNzYzLDkgKzc4OCw5IEBAIGJvb2wgQXBw
bGVQYXlTZXNzaW9uOjpjYW5TdXNwZW5kV2l0aG91dENhbmNlbGluZygpIGNvbnN0CiAgICAgY2Fz
ZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGlu
Z0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3Rh
dGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkK
KyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3Rh
dGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTgx
Myw5ICs4MzgsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQmVnaW4oKSBjb25zdAogICAg
IGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVj
dGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNl
IFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NP
REUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNl
IFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBA
IC04MzUsOSArODYwLDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkFib3J0KCkgY29uc3QK
ICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6
OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RT
ZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAg
Y2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAg
Y2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CkBAIC04NTcsOSArODgyLDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNhbmNlbCgpIGNv
bnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0
YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0
aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQot
ICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgog
ICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQpAQCAtODg3LDkgKzkxMiw5IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0
ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpBdXRob3Jp
emVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0
YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1F
TlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Vk
OgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVD
aGFuZ2VkOgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTkwOSw5ICs5MzQsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lv
bjo6Y2FuQ29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oKSBjb25zdAogICAgIGNhc2Ug
U3RhdGU6OkF1dGhvcml6ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVk
OgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQ
UExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRo
b2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9E
X01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRl
OjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVl
c3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC05MzEsOSArOTU2LDkgQEAgYm9vbCBB
cHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbigpIGNvbnN0
CiAgICAgY2FzZSBTdGF0ZTo6QXV0aG9yaXplZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01l
dGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgot
I2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRl
OjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisg
ICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRl
OjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtOTQyLDkgKzk2
Nyw5IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxl
Y3Rpb24oKSBjb25zdAogICAgIH0KIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi1ib29sIEFw
cGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0
Citib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKCkgY29u
c3QKIHsKICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKICAgICBjYXNlIFN0YXRlOjpJZGxlOgpAQCAt
OTU5LDEyICs5ODQsMTIgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVu
dE1ldGhvZE1vZGVDaGFuZ2UoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RT
ZWxlY3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVu
dE1ldGhvZE1vZGVDaGFuZ2VkOgorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKIAogYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVudCgpIGNv
bnN0CiB7CkBAIC05NzcsOSArMTAwMiw5IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21w
bGV0ZVBheW1lbnQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0
ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBT
dGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6
Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVO
QUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNo
YW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAg
IHJldHVybiBmYWxzZTsKIApAQCAtOTk2LDkgKzEwMjEsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lv
bjo6aXNGaW5hbFN0YXRlKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNl
bGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNh
c2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNv
ZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6QXV0aG9yaXplZDoKICAgICBjYXNl
IFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwMTUs
MTAgKzEwNDAsNiBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6dmlydHVhbEhhc1BlbmRpbmdBY3Rp
dml0eSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fc3RhdGUgIT0gU3RhdGU6OklkbGUgJiYgIWlzRmlu
YWxTdGF0ZSgpOwogfQogCi0jaWYgZGVmaW5lZChBcHBsZVBheVNlc3Npb25BZGRpdGlvbnNfZGVm
aW5pdGlvbnMpCi1BcHBsZVBheVNlc3Npb25BZGRpdGlvbnNfZGVmaW5pdGlvbnMKLSNlbmRpZgor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi19Ci0KLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNlc3Npb24uaAppbmRleCBlMTc4YmZhZGNiZjE5OWYxMjI1YmM3OTA0Y2Q2MGE1ZTkyMWI4MDMy
Li5mY2U3MjAxN2NiMjIyZTc0ZmQ0MjQ0OTFlNDMxMDE0NTBjNDg0OGFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKQEAgLTU0LDEz
ICs1NCwxMSBAQCBjbGFzcyBQYXltZW50Q29udGFjdDsKIGNsYXNzIFBheW1lbnRDb29yZGluYXRv
cjsKIGNsYXNzIFBheW1lbnRNZXRob2Q7CiBlbnVtIGNsYXNzIFBheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzOworc3RydWN0IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBh
eUxpbmVJdGVtOwogc3RydWN0IEFwcGxlUGF5UGF5bWVudFJlcXVlc3Q7CiBzdHJ1Y3QgQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZDsKIHN0cnVjdCBBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0OwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0cnVjdCBB
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKIHN0cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRh
dGU7CiBzdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZFVwZGF0ZTsKQEAgLTkxLDYgKzg5LDkgQEAgcHVibGljOgogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFVwZGF0ZSYmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZVNo
aXBwaW5nQ29udGFjdFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSYmKTsK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oQXBw
bGVQYXlQYXltZW50TWV0aG9kVXBkYXRlJiYpOworI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKEFw
cGxlUGF5Q291cG9uQ29kZVVwZGF0ZSYmKTsKKyNlbmRpZgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+
IGNvbXBsZXRlUGF5bWVudChBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0JiYpOwog
CiAgICAgLy8gT2xkIGZ1bmN0aW9ucy4KQEAgLTEyNiw5ICsxMjcsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZCYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0IFBh
eW1lbnRDb250YWN0Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RQYXltZW50TWV0aG9k
KGNvbnN0IFBheW1lbnRNZXRob2QmKSBvdmVycmlkZTsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZShT
dHJpbmcmJiBwYXltZW50TWV0aG9kTW9kZSkgb3ZlcnJpZGU7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQ
UExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9O
X0NPREUpCisgICAgdm9pZCBkaWRDaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUp
IG92ZXJyaWRlOworI2VuZGlmCiAgICAgdm9pZCBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihQYXlt
ZW50U2Vzc2lvbkVycm9yJiYpIG92ZXJyaWRlOwogCiAgICAgUGF5bWVudENvb3JkaW5hdG9yJiBw
YXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKQEAgLTE0MCw5ICsxNDEsOSBAQCBwcml2YXRlOgog
ICAgIGJvb2wgY2FuQ29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbigpIGNvbnN0OwogICAg
IGJvb2wgY2FuQ29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oKSBjb25zdDsKICAgICBi
b29sIGNhbkNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbigpIGNvbnN0OwotI2lmIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBib29sIGNhbkNvbXBsZXRlUGF5
bWVudE1ldGhvZE1vZGVDaGFuZ2UoKSBjb25zdDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkK
KyAgICBib29sIGNhbkNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSgpIGNvbnN0OworI2VuZGlmCiAg
ICAgYm9vbCBjYW5Db21wbGV0ZVBheW1lbnQoKSBjb25zdDsKICAgICBib29sIGNhblN1c3BlbmRX
aXRob3V0Q2FuY2VsaW5nKCkgY29uc3Q7CiAKQEAgLTE1NSw5ICsxNTYsOSBAQCBwcml2YXRlOgog
ICAgICAgICBTaGlwcGluZ01ldGhvZFNlbGVjdGVkLAogICAgICAgICBTaGlwcGluZ0NvbnRhY3RT
ZWxlY3RlZCwKICAgICAgICAgUGF5bWVudE1ldGhvZFNlbGVjdGVkLAotI2lmIEVOQUJMRShBUFBM
RV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICAgICAgUGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2VkLAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgICAgICBDb3Vwb25Db2RlQ2hhbmdl
ZCwKKyNlbmRpZgogICAgICAgICBDYW5jZWxSZXF1ZXN0ZWQsCiAgICAgICAgIEF1dGhvcml6ZWQs
CiAgICAgICAgIENvbXBsZXRlZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbAppbmRleCAwYmUxZGQyN2UzYjBhYmNlZjg0YzYzNTc4
ODYzOTFmZjJiMWNhMmQ4Li44OGRjNTk1MTc2MTE2MWQzYmFiZGQ2Mzk3OGRmMjVmMGFmMmNiYjYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb24uaWRsCkBAIC01Miw2ICs1Miw3IEBACiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBp
bmdNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZSB1cGRhdGUpOwog
ICAgIHVuZGVmaW5lZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihBcHBsZVBheVNo
aXBwaW5nQ29udGFjdFVwZGF0ZSB1cGRhdGUpOwogICAgIHVuZGVmaW5lZCBjb21wbGV0ZVBheW1l
bnRNZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlIHVwZGF0ZSk7Cisg
ICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0gdW5kZWZpbmVkIGNvbXBsZXRl
Q291cG9uQ29kZUNoYW5nZShBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUgdXBkYXRlKTsKICAgICB1
bmRlZmluZWQgY29tcGxldGVQYXltZW50KEFwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQgcmVzdWx0KTsKIAogICAgIHVuZGVmaW5lZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0
aW9uKHVuc2lnbmVkIHNob3J0IHN0YXR1cywgQXBwbGVQYXlMaW5lSXRlbSBuZXdUb3RhbCwgc2Vx
dWVuY2U8QXBwbGVQYXlMaW5lSXRlbT4gbmV3TGluZUl0ZW1zKTsKQEAgLTY0LDUgKzY1LDYgQEAK
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucGF5bWVudGF1dGhvcml6ZWQ7CiAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnNoaXBwaW5nbWV0aG9kc2VsZWN0ZWQ7CiAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbnNoaXBwaW5nY29udGFjdHNlbGVjdGVkOworICAgIFtDb25kaXRp
b25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREVdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jb3Vw
b25jb2RlY2hhbmdlZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2FuY2VsOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uUGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaAppbmRleCA0OTY0ZWQzMGIxODYyNjAzZTE4MDUx
MmViODU2MzU3ZjRhOTkwNDE1Li5mOWUxYjFlNTdiNWM5M2JkMzk2NTdkOTZkNmRhY2YwNDg5NjM2
YmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oCkBAIC0yOSw2ICsyOSw3IEBACiAK
ICNpbmNsdWRlICJBcHBsZVBheUVycm9yLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5o
IgorI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCIKICNpbmNs
dWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvbnRhY3Qu
aCIKICNpbmNsdWRlICJQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oIgpA
QCAtMTI5LDYgKzEzMCwxOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJbnN0YWxsbWVudENvbmZp
Z3VyYXRpb24oUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYmIGluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbikgeyBtX2luc3RhbGxtZW50Q29uZmlndXJhdGlvbiA9IFdURk1vdmUoaW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uKTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNDb3Vwb25Db2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9zdXBwb3J0c0NvdXBvbkNvZGU7IH0KKyAgICB2b2lkIHNldFN1cHBv
cnRzQ291cG9uQ29kZShzdGQ6Om9wdGlvbmFsPGJvb2w+IHN1cHBvcnRzQ291cG9uQ29kZSkgeyBt
X3N1cHBvcnRzQ291cG9uQ29kZSA9IHN1cHBvcnRzQ291cG9uQ29kZTsgfQorCisgICAgY29uc3Qg
U3RyaW5nJiBjb3Vwb25Db2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb3Vwb25Db2RlOyB9CisgICAg
dm9pZCBzZXRDb3Vwb25Db2RlKGNvbnN0IFN0cmluZyYgY291cG9uQ29kZSkgeyBtX2NvdXBvbkNv
ZGUgPSBjb3Vwb25Db2RlOyB9CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJ
TkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiYgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUo
KSBjb25zdCB7IHJldHVybiBtX3NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOyB9CisgICAgdm9p
ZCBzZXRTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZShjb25zdCBzdGQ6Om9wdGlvbmFsPEFwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+JiBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZSkgeyBtX3NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlID0gc2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGU7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1fdmVyc2lvbiB7IDAg
fTsKIApAQCAtMTU5LDYgKzE3MywxNSBAQCBwcml2YXRlOgogICAgIFBheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24gbV9pbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAgc3Rk
OjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiBtX3NoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlOworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9zdXBwb3J0c0NvdXBvbkNvZGU7Cisg
ICAgU3RyaW5nIG1fY291cG9uQ29kZTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdEFkZGl0aW9uc19tZW1iZXJzKQogICAgIEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0QWRkaXRpb25zX21lbWJlcnMKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzRiMWUxZDIwODMyMTBmODAxOTIy
ZWIyZmYwNzBiZGVjNjEyNDNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmgKQEAgLTAs
MCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgOiBib29s
IHsKKyAgICBFbmFibGVkLAorICAgIFN0b3JlUGlja3VwLAorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VE
SVRJTkdfTU9ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc5NThkYTE2MDBmMTI0YTFmNzcwNGMxYmViMTVhZDFkM2QxNWJiNjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19N
T0RFLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAorXSBlbnVtIEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUgeworICAgICJlbmFibGVkIiwKKyAgICAic3RvcmVQaWNr
dXAiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNoaXBwaW5nTWV0aG9kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2QuaAppbmRleCAwYzQzMzNjZDBhNTUxNWJjMjRlZTlkZGY4YTlj
MTg0Mzk5NGQwODA4Li4zYjczZGE5MTRhNTgyMWNiNTA0NGI1ZjQxZDI0MmE0MWE3MjAzYWI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdNZXRob2QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdNZXRob2QuaApAQCAtMjcsMTcgKzI3LDIyIEBACiAKICNpZiBFTkFCTEUoQVBQTEVf
UEFZKQogCi0jaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCIKKyNpbmNsdWRl
ICJBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCIKKyNpbmNsdWRlIDxvcHRpb25hbD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCBmaW5hbCA6IHB1YmxpYyBBcHBsZVBheVNoaXBw
aW5nTWV0aG9kRGF0YSB7CitzdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCBmaW5hbCB7CiAg
ICAgU3RyaW5nIGxhYmVsOwogICAgIFN0cmluZyBkZXRhaWw7CiAgICAgU3RyaW5nIGFtb3VudDsK
ICAgICBTdHJpbmcgaWRlbnRpZmllcjsKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdf
TUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5
RGF0ZUNvbXBvbmVudHNSYW5nZT4gZGF0ZUNvbXBvbmVudHNSYW5nZTsKKyNlbmRpZgorCiAgICAg
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAg
IHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hp
cHBpbmdNZXRob2Q+IGRlY29kZShEZWNvZGVyJik7CiB9OwpAQCAtNDUsMzYgKzUwLDQzIEBAIHN0
cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIGZpbmFsIDogcHVibGljIEFwcGxlUGF5U2hpcHBp
bmdNZXRob2REYXRhIHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+CiB2b2lkIEFwcGxlUGF5U2hp
cHBpbmdNZXRob2Q6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIEFwcGxl
UGF5U2hpcHBpbmdNZXRob2REYXRhOjplbmNvZGUoZW5jb2Rlcik7CiAgICAgZW5jb2RlciA8PCBs
YWJlbDsKICAgICBlbmNvZGVyIDw8IGRldGFpbDsKICAgICBlbmNvZGVyIDw8IGFtb3VudDsKICAg
ICBlbmNvZGVyIDw8IGlkZW50aWZpZXI7CisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19N
RVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorICAgIGVuY29kZXIgPDwgZGF0ZUNvbXBvbmVu
dHNSYW5nZTsKKyNlbmRpZgogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogc3RkOjpvcHRp
b25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKIHsKLSAgICBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIHJlc3Vs
dDsKLQotICAgIGlmICghcmVzdWx0LmRlY29kZURhdGEoZGVjb2RlcikpCi0gICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7Ci0KICNkZWZpbmUgREVDT0RFKG5hbWUsIHR5cGUpIFwKICAgICBzdGQ6
Om9wdGlvbmFsPHR5cGU+IG5hbWU7IFwKICAgICBkZWNvZGVyID4+IG5hbWU7IFwKICAgICBpZiAo
IW5hbWUpIFwKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsgXAotICAgIHJlc3VsdC5uYW1l
ID0gV1RGTW92ZSgqbmFtZSk7IFwKIAogICAgIERFQ09ERShsYWJlbCwgU3RyaW5nKQogICAgIERF
Q09ERShkZXRhaWwsIFN0cmluZykKICAgICBERUNPREUoYW1vdW50LCBTdHJpbmcpCiAgICAgREVD
T0RFKGlkZW50aWZpZXIsIFN0cmluZykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01F
VEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisgICAgREVDT0RFKGRhdGVDb21wb25lbnRzUmFu
Z2UsIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlPikKKyNlbmRpZgog
CiAjdW5kZWYgREVDT0RFCiAKLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiB7IHsKKyAg
ICAgICAgV1RGTW92ZSgqbGFiZWwpLAorICAgICAgICBXVEZNb3ZlKCpkZXRhaWwpLAorICAgICAg
ICBXVEZNb3ZlKCphbW91bnQpLAorICAgICAgICBXVEZNb3ZlKCppZGVudGlmaWVyKSwKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisg
ICAgICAgIFdURk1vdmUoKmRhdGVDb21wb25lbnRzUmFuZ2UpLAorI2VuZGlmCisgICAgfSB9Owog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbAppbmRleCBlMGYy
YTI0MWJjYTUyZjZlNDBlYjhiYzg3YmZiZjUwZDFmNjllZTM5Li40NzEwZjUyZGFjZWY4NWM5MmEz
YmE3YzliMDE2NjU5MDY2YmNjOWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKQEAgLTI3LDkgKzI3
LDExIEBACiAgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAogICAgIEV4cG9ydE1hY3JvPVdFQkNP
UkVfRVhQT1JULAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAotXSBkaWN0aW9uYXJ5IEFwcGxl
UGF5U2hpcHBpbmdNZXRob2QgOiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YSB7CitdIGRpY3Rp
b25hcnkgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCB7CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGxh
YmVsOwogICAgIHJlcXVpcmVkIERPTVN0cmluZyBkZXRhaWw7CiAgICAgcmVxdWlyZWQgRE9NU3Ry
aW5nIGFtb3VudDsKICAgICByZXF1aXJlZCBET01TdHJpbmcgaWRlbnRpZmllcjsKKworICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5H
RV0gQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlIGRhdGVDb21wb25lbnRzUmFuZ2U7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBw
aW5nTWV0aG9kRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nTWV0aG9kRGF0YS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNThl
NjdjMmRmYjEwZGRmNzEwYjZlM2I3NTNjOWJkODc2OTc1ZmJlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShBUFBMRV9QQVkp
Ci0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9u
cy9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0aW9ucy5oPgotI2VuZGlmCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhIHsKLSNp
ZiBkZWZpbmVkKEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zX21lbWJlcnMpCi0g
ICAgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfbWVtYmVycwotI2VuZGlmCi0K
LSAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7
Ci0gICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQ
YXlTaGlwcGluZ01ldGhvZERhdGE+IGRlY29kZShEZWNvZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZTxj
bGFzcyBEZWNvZGVyPiBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGVEYXRhKERlY29kZXIm
KTsKLX07Ci0KLXRlbXBsYXRlPGNsYXNzIEVuY29kZXI+Ci12b2lkIEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2REYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSNpZiBkZWZpbmVk
KEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zX2VuY29kZSkKLSAgICBBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0aW9uc19lbmNvZGUKLSNlbHNlCi0gICAgVU5VU0VEX1BB
UkFNKGVuY29kZXIpOwotI2VuZGlmCi19Ci0KLXRlbXBsYXRlPGNsYXNzIERlY29kZXI+Ci1zdGQ6
Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhPiBBcHBsZVBheVNoaXBwaW5nTWV0
aG9kRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCi17Ci0gICAgQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZERhdGEgcmVzdWx0OwotICAgIGlmICghcmVzdWx0LmRlY29kZURhdGEoZGVjb2Rlcikp
Ci0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
dGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KLWJvb2wgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGE6
OmRlY29kZURhdGEoRGVjb2RlciYgZGVjb2RlcikKLXsKLSNpZiBkZWZpbmVkKEFwcGxlUGF5U2hp
cHBpbmdNZXRob2REYXRhQWRkaXRpb25zX2RlY29kZURhdGEpCi0gICAgQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZERhdGFBZGRpdGlvbnNfZGVjb2RlRGF0YQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZGVjb2Rlcik7Ci0jZW5kaWYKLQotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRo
b2REYXRhLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWNkNmU1MmE5Y2FlZmQ2
YjliNzQzYWY2MGMyYWVmZjJlNDQzODExZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdNZXRob2REYXRhLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAotXSBkaWN0aW9uYXJ5IEFw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhIHsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNWQ4Y2JiNjRi
YTgyNmMyZTcxMzBiZjJjNTVkZTVkOTA2Y2E0ZGQ5ZC4uNTgxZTkxM2Q1NmY4ODliMTE5YmNjMDNh
NTViYTExNTMxMWIyMGEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYg
RU5BQkxFKEFQUExFX1BBWSkKIAotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGUuaCIKKyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRl
ICJBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNoaXBw
aW5nQ29udGFjdFVwZGF0ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIK
QEAgLTE1NCwxNiArMTU0LDE2IEBAIHZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBh
eW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVBhCiAgICAgbV9jbGll
bnQuY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9CiAK
LSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQ
UExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRl
UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlPiYmIHVwZGF0ZSkKK3ZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0
ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+
JiYgdXBkYXRlKQogewogICAgIEFTU0VSVChtX2FjdGl2ZVNlc3Npb24pOwotICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoImNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoKSIpOwotICAg
IG1fY2xpZW50LmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UoV1RGTW92ZSh1cGRhdGUp
KTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uo
KSIpOworICAgIG1fY2xpZW50LmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShXVEZNb3ZlKHVwZGF0
ZSkpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RF
KQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIHZvaWQgUGF5bWVu
dENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVu
dEF1dGhvcml6YXRpb25SZXN1bHQ+JiYgcmVzdWx0KQogewpAQCAtMjQ5LDIwICsyNDksMjAgQEAg
dm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBQ
YXltZW50Q29udGFjdCYgc2hpcHBpbmcKICAgICBtX2FjdGl2ZVNlc3Npb24tPmRpZFNlbGVjdFNo
aXBwaW5nQ29udGFjdChzaGlwcGluZ0NvbnRhY3QpOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUp
CiAKLXZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZShT
dHJpbmcmJiBwYXltZW50TWV0aG9kTW9kZSkKK3ZvaWQgUGF5bWVudENvb3JkaW5hdG9yOjpkaWRD
aGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpCiB7CiAgICAgaWYgKCFtX2FjdGl2
ZVNlc3Npb24pIHsKICAgICAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBwYXltZW50IGhh
cyBiZWVuIGFib3J0ZWQgYWxyZWFkeS4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKCkiKTsKLSAg
ICBtX2FjdGl2ZVNlc3Npb24tPmRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFdURk1vdmUocGF5
bWVudE1ldGhvZE1vZGUpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRDaGFuZ2VD
b3Vwb25Db2RlKCkiKTsKKyAgICBtX2FjdGl2ZVNlc3Npb24tPmRpZENoYW5nZUNvdXBvbkNvZGUo
V1RGTW92ZShjb3Vwb25Db2RlKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKIAogdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFBh
eW1lbnRTZXNzaW9uRXJyb3ImJiBlcnJvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCmluZGV4IGIyZDAyYzUxMDExOGVl
ZTFlMDlhZjEyNWQ1OWEwYjRjMjhiNDM0N2YuLjliZmZkNGMwZDkyOGMwODgyYmZhZTlkYjhhNTE2
YWU1NzQ2MDNmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3IuaApAQCAtNDQsOSArNDQsNyBAQCBjbGFzcyBQYXltZW50TWV0
aG9kOwogY2xhc3MgUGF5bWVudFNlc3Npb247CiBjbGFzcyBQYXltZW50U2Vzc2lvbkVycm9yOwog
ZW51bSBjbGFzcyBQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czsKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi1zdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNldHVwQ29uZmlndXJhdGlvbjsKIHN0cnVj
dCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKQEAgLTc1LDkgKzczLDkgQEAgcHVibGlj
OgogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFs
PEFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpOwogICAgIHZvaWQgY29tcGxldGVTaGlw
cGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nQ29udGFj
dFVwZGF0ZT4mJik7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3Rk
OjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU+JiYpOwotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlPiYmKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGNvbXBsZXRlQ291
cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJik7
CisjZW5kaWYKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRpb25hbDxQ
YXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJik7CiAgICAgdm9pZCBhYm9ydFBheW1lbnRTZXNz
aW9uKCk7CiAgICAgdm9pZCBjYW5jZWxQYXltZW50U2Vzc2lvbigpOwpAQCAtODcsOSArODUsOSBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaWRTZWxlY3RQYXltZW50TWV0aG9k
KGNvbnN0IFBheW1lbnRNZXRob2QmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZFNlbGVj
dFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QmKTsKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBQYXltZW50Q29u
dGFjdCYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBh
eW1lbnRNZXRob2RNb2RlKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVU
SE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSk7Cisj
ZW5kaWYKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFBh
eW1lbnRTZXNzaW9uRXJyb3ImJik7CiAKICAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gdmFsaWRh
dGVkUGF5bWVudE5ldHdvcmsoRG9jdW1lbnQmLCB1bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCBTdHJp
bmcmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oCmluZGV4IGM1MDczNjdjOTMzYTE1Nzk0NGQz
NzI0YjNlOTQwYzc5ZmUxM2UxMWMuLjg3MjdlMGRhNzM1ZThjYzNhZDY5YmY1NGIwMzdmNmM1ODFk
OWIxOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dENvb3JkaW5hdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaApAQCAtMzcsOSArMzcsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgUGF5bWVudE1lcmNoYW50U2Vzc2lv
bjsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi1zdHJ1Y3QgQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwog
c3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNldHVw
Q29uZmlndXJhdGlvbjsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKQEAg
LTYwLDkgKzU4LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZVNoaXBwaW5n
TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0
ZT4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVj
dGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9w
dGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgPSAwOwotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVQ
YXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGU+JiYpID0gMDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2aXJ0
dWFsIHZvaWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlPiYmKSA9IDA7CisjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxl
dGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0
PiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SGVhZGVycy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SGVhZGVycy5oCmluZGV4IDFiMjNkMjli
MjA5NzY4YTFlZjJhYzM4NTc1MjJlMTU4Y2RjOGVlZWMuLmYyNWRkMWU0MTIwNzE3YzIxMzMxY2E1
ZDViNTJiZGE5MGQzZGE1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudEhlYWRlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRIZWFkZXJzLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmgiCisjaW5jbHVkZSAi
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0
aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIK
ICNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5oCmluZGV4IGMxMjUwOGEx
NjBiZGMxNmQ0YTMwNzU0ZDBkZDM4MThkOTcxMDlkYjYuLmRmNDJhNWUxNDczNDA3ZDEzN2Y3N2Yw
ZTZhZTg0NmFmMjBiNTVjY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudFNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRTZXNzaW9uLmgKQEAgLTUxLDkgKzUxLDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBBcHBsZVBheVNoaXBwaW5nTWV0
aG9kJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29u
c3QgUGF5bWVudENvbnRhY3QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNlbGVjdFBheW1l
bnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYpID0gMDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVBheW1lbnRN
ZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKSA9IDA7Ci0jZW5kaWYgLy8gRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5n
JiYgY291cG9uQ29kZSkgPSAwOworI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGRpZENhbmNlbFBh
eW1lbnRTZXNzaW9uKFBheW1lbnRTZXNzaW9uRXJyb3ImJikgPSAwOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lv
bkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50
QVBJVmVyc2lvbkNvY29hLm1tCmluZGV4IDEyZTQ0ZmFhNGUwODFhZjY0MDkwZWE4MjdhMmIxMWI2
ODE3OTBkYzYuLjg3Mjc2ZTg1MzU0YTA5N2U2MGI1OGRkYjBiNThkNzY0Y2VmZjkwYjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZl
cnNpb25Db2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29h
L1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogdW5zaWduZWQgUGF5bWVudEFQSVZlcnNpb246OmN1cnJlbnQoKQogewogICAgIHN0
YXRpYyB1bnNpZ25lZCBjdXJyZW50ID0gW10gewotI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VTU0lP
Tl9WMTIpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkgfHwgRU5BQkxFKEFQUExF
X1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkgfHwgRU5BQkxFKEFQUExFX1BBWV9S
RUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRF
TSkgfHwgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JB
TkdFKQogICAgICAgICByZXR1cm4gMTI7CiAjZWxpZiBFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05f
VjExKQogICAgICAgICByZXR1cm4gMTE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRTdW1tYXJ5SXRlbXNDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29hLm1t
CmluZGV4IDExZWRiMGI0OTZkZDc5MDNmMGZiNWEyYzYyZTZlZjgyMWFjYzQyZDYuLjYxNGNiOGQ4
OGM5M2JhZWEwZGY4ODliMDE5Y2QzZjVkNzk2YmQyMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJ
dGVtc0NvY29hLm1tCkBAIC01MCwxNiArNTAsNzggQEAgc3RhdGljIFBLUGF5bWVudFN1bW1hcnlJ
dGVtVHlwZSB0b1BLUGF5bWVudFN1bW1hcnlJdGVtVHlwZShBcHBsZVBheUxpbmVJdGVtOjpUeXAK
ICAgICB9CiB9CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8V2ViS2l0
QWRkaXRpb25zL1BheW1lbnRTdW1tYXJ5SXRlbXNDb2NvYUFkZGl0aW9ucy5tbT4KLSNlbmRpZgor
I2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBIQVZFKFBBU1NLSVRfREVG
RVJSRURfTElORV9JVEVNKQorCitzdGF0aWMgTlNEYXRlICp0b0RhdGUoZG91YmxlIGRhdGUpCit7
CisgICAgcmV0dXJuIFtOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6ZGF0ZV07
Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRFTSkgfHwgSEFW
RShQQVNTS0lUX0RFRkVSUkVEX0xJTkVfSVRFTSkKKworI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJ
TkdfTElORV9JVEVNKQorCitzdGF0aWMgTlNDYWxlbmRhclVuaXQgdG9DYWxlbmRhclVuaXQoQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQgdW5pdCkKK3sKKyAgICBzd2l0Y2ggKHVuaXQp
IHsKKyAgICBjYXNlIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0OjpZZWFyOgorICAg
ICAgICByZXR1cm4gTlNDYWxlbmRhclVuaXRZZWFyOworCisgICAgY2FzZSBBcHBsZVBheVJlY3Vy
cmluZ1BheW1lbnREYXRlVW5pdDo6TW9udGg6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5p
dE1vbnRoOworCisgICAgY2FzZSBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdDo6RGF5
OgorICAgICAgICByZXR1cm4gTlNDYWxlbmRhclVuaXREYXk7CisKKyAgICBjYXNlIEFwcGxlUGF5
UmVjdXJyaW5nUGF5bWVudERhdGVVbml0OjpIb3VyOgorICAgICAgICByZXR1cm4gTlNDYWxlbmRh
clVuaXRIb3VyOworCisgICAgY2FzZSBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdDo6
TWludXRlOgorICAgICAgICByZXR1cm4gTlNDYWxlbmRhclVuaXRNaW51dGU7CisgICAgfQorfQor
CisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX1JFQ1VSUklOR19MSU5FX0lURU0pCiAKLSNpZiAhRU5B
QkxFKEFQUExFX1BBWV9MSU5FX0lURU1fREFUQSkKIHN0YXRpYyBQS1BheW1lbnRTdW1tYXJ5SXRl
bSAqdG9QS1BheW1lbnRTdW1tYXJ5SXRlbShjb25zdCBBcHBsZVBheUxpbmVJdGVtJiBsaW5lSXRl
bSkKIHsKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRFTSkgfHwgSEFWRShQQVNT
S0lUX0RFRkVSUkVEX0xJTkVfSVRFTSkKKyAgICBzd2l0Y2ggKGxpbmVJdGVtLnBheW1lbnRUaW1p
bmcpIHsKKyAgICBjYXNlIEFwcGxlUGF5UGF5bWVudFRpbWluZzo6SW1tZWRpYXRlOgorICAgICAg
ICBicmVhazsKKworICAgIGNhc2UgQXBwbGVQYXlQYXltZW50VGltaW5nOjpSZWN1cnJpbmc6Cisj
aWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19MSU5FX0lURU0pCisgICAgeworICAgICAgICBQS1Jl
Y3VycmluZ1BheW1lbnRTdW1tYXJ5SXRlbSAqc3VtbWFyeUl0ZW0gPSBbUEFMOjpnZXRQS1JlY3Vy
cmluZ1BheW1lbnRTdW1tYXJ5SXRlbUNsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6bGluZUl0
ZW0ubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihsaW5lSXRlbS5hbW91bnQpIHR5cGU6dG9Q
S1BheW1lbnRTdW1tYXJ5SXRlbVR5cGUobGluZUl0ZW0udHlwZSldOworICAgICAgICBpZiAoIXN0
ZDo6aXNuYW4obGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSkpCisgICAgICAgICAg
ICBzdW1tYXJ5SXRlbS5zdGFydERhdGUgPSB0b0RhdGUobGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVu
dFN0YXJ0RGF0ZSk7CisgICAgICAgIHN1bW1hcnlJdGVtLmludGVydmFsVW5pdCA9IHRvQ2FsZW5k
YXJVbml0KGxpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQpOworICAgICAgICBz
dW1tYXJ5SXRlbS5pbnRlcnZhbENvdW50ID0gbGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVy
dmFsQ291bnQ7CisgICAgICAgIGlmICghc3RkOjppc25hbihsaW5lSXRlbS5yZWN1cnJpbmdQYXlt
ZW50RW5kRGF0ZSkpCisgICAgICAgICAgICBzdW1tYXJ5SXRlbS5lbmREYXRlID0gdG9EYXRlKGxp
bmVJdGVtLnJlY3VycmluZ1BheW1lbnRFbmREYXRlKTsKKyAgICAgICAgcmV0dXJuIHN1bW1hcnlJ
dGVtOworICAgIH0KKyNlbHNlCisgICAgICAgIGJyZWFrOworI2VuZGlmCisKKyAgICBjYXNlIEFw
cGxlUGF5UGF5bWVudFRpbWluZzo6RGVmZXJyZWQ6CisjaWYgSEFWRShQQVNTS0lUX0RFRkVSUkVE
X0xJTkVfSVRFTSkKKyAgICB7CisgICAgICAgIFBLRGVmZXJyZWRQYXltZW50U3VtbWFyeUl0ZW0g
KnN1bW1hcnlJdGVtID0gW1BBTDo6Z2V0UEtEZWZlcnJlZFBheW1lbnRTdW1tYXJ5SXRlbUNsYXNz
KCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6bGluZUl0ZW0ubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51
bWJlcihsaW5lSXRlbS5hbW91bnQpIHR5cGU6dG9QS1BheW1lbnRTdW1tYXJ5SXRlbVR5cGUobGlu
ZUl0ZW0udHlwZSldOworICAgICAgICBpZiAoIXN0ZDo6aXNuYW4obGluZUl0ZW0uZGVmZXJyZWRQ
YXltZW50RGF0ZSkpCisgICAgICAgICAgICBzdW1tYXJ5SXRlbS5kZWZlcnJlZERhdGUgPSB0b0Rh
dGUobGluZUl0ZW0uZGVmZXJyZWRQYXltZW50RGF0ZSk7CisgICAgICAgIHJldHVybiBzdW1tYXJ5
SXRlbTsKKyAgICB9CisjZWxzZQorICAgICAgICBicmVhazsKKyNlbmRpZgorICAgIH0KKyNlbmRp
ZgorCiAgICAgcmV0dXJuIFtQQUw6OmdldFBLUGF5bWVudFN1bW1hcnlJdGVtQ2xhc3MoKSBzdW1t
YXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGxp
bmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5bWVudFN1bW1hcnlJdGVtVHlwZShsaW5lSXRlbS50
eXBlKV07CiB9Ci0jZW5kaWYKIAogTlNBcnJheSAqcGxhdGZvcm1TdW1tYXJ5SXRlbXMoY29uc3Qg
QXBwbGVQYXlMaW5lSXRlbSYgdG90YWwsIGNvbnN0IFZlY3RvcjxBcHBsZVBheUxpbmVJdGVtPiYg
bGluZUl0ZW1zKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxl
ci5jcHAKaW5kZXggYmM3N2E5MTViMzkyZjM2NTdhMTk2Yjk1OWJiYTRkOTA5OWU2YjY0NC4uMDlk
MzlmZjE3YzNjYjU5NzkyYmVmZTdhZGFkNTNmMjRlNTY4NGNiMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRI
YW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNp
bmNsdWRlICJBZGRyZXNzRXJyb3JzLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlDb250YWN0RmllbGQu
aCIKKyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgiCisjaW5jbHVkZSAiQXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlEZXRhaWxzVXBkYXRl
RGF0YS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3IuaCIKICNpbmNsdWRlICJBcHBsZVBheUVy
cm9yQ29kZS5oIgpAQCAtMzgsOCArNDAsNiBAQAogI2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hhbnRD
YXBhYmlsaXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNb2RpZmllci5oIgogI2luY2x1ZGUgIkFw
cGxlUGF5UGF5bWVudC5oIgotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRh
aWxzLmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oIgogI2lu
Y2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RVcGRhdGUuaCIKQEAgLTQ4LDExICs0OCwxMCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiSlNB
cHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgiCiAjaW5jbHVkZSAiSlNBcHBsZVBheUVycm9yLmgi
Ci0jaW5jbHVkZSAiSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oIgogI2luY2x1ZGUgIkpTQXBwbGVQ
YXlQYXltZW50LmgiCiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnRNZXRob2QuaCIKLSNpbmNs
dWRlICJKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmgiCiAjaW5jbHVkZSAiSlNB
cHBsZVBheVJlcXVlc3QuaCIKICNpbmNsdWRlICJKU0RPTUNvbnZlcnQuaCIKICNpbmNsdWRlICJM
aW5rSWNvbkNvbGxlY3Rvci5oIgpAQCAtNTkyLDExICs1OTEsMTEgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hpcHBpbmdPcHRpb25VcGRhdGVkKCkKIAogRXhj
ZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6cGF5bWVudE1ldGhvZFVwZGF0
ZWQoVmVjdG9yPFJlZlB0cjxBcHBsZVBheUVycm9yPj4mJiBlcnJvcnMpCiB7Ci0jaWYgRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGlmIChtX3VwZGF0ZVN0YXRlID09
IFVwZGF0ZVN0YXRlOjpQYXltZW50TWV0aG9kTW9kZSkgeworI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCisgICAgaWYgKG1fdXBkYXRlU3RhdGUgPT0gVXBkYXRlU3RhdGU6OkNvdXBv
bkNvZGUpIHsKICAgICAgICAgbV91cGRhdGVTdGF0ZSA9IFVwZGF0ZVN0YXRlOjpOb25lOwogCi0g
ICAgICAgIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUgdXBkYXRlOworICAgICAgICBB
cHBsZVBheUNvdXBvbkNvZGVVcGRhdGUgdXBkYXRlOwogICAgICAgICB1cGRhdGUuZXJyb3JzID0g
V1RGTW92ZShlcnJvcnMpOwogCiAgICAgICAgIGF1dG8gbmV3U2hpcHBpbmdNZXRob2RzID0gY29t
cHV0ZVNoaXBwaW5nTWV0aG9kcygpOwpAQCAtNjE1LDEyICs2MTQsMTIgQEAgRXhjZXB0aW9uT3I8
dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6cGF5bWVudE1ldGhvZFVwZGF0ZWQoVmVjdG9y
PFJlZlB0cjxBcHAKICAgICAgICAgaWYgKGF1dG8gbW9kaWZpZXJEYXRhID0gbW9kaWZpZXJFeGNl
cHRpb24ucmVsZWFzZVJldHVyblZhbHVlKCkpCiAgICAgICAgICAgICBtZXJnZSh1cGRhdGUsIFdU
Rk1vdmUoc3RkOjpnZXQ8MT4oKm1vZGlmaWVyRGF0YSkpKTsKIAotICAgICAgICBwYXltZW50Q29v
cmRpbmF0b3IoKS5jb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKFdURk1vdmUodXBkYXRl
KSk7CisgICAgICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlQ291cG9uQ29kZUNoYW5n
ZShXVEZNb3ZlKHVwZGF0ZSkpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICNlbHNlCiAg
ICAgVU5VU0VEX1BBUkFNKGVycm9ycyk7Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUp
CiAKICAgICBBU1NFUlQobV91cGRhdGVTdGF0ZSA9PSBVcGRhdGVTdGF0ZTo6UGF5bWVudE1ldGhv
ZCk7CiAgICAgbV91cGRhdGVTdGF0ZSA9IFVwZGF0ZVN0YXRlOjpOb25lOwpAQCAtNzUwLDIwICs3
NDksMjAgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RQYXltZW50TWV0
aG9kKGNvbnN0IFBheW1lbnRNZXRob2QmIHBheW1lbnQKICAgICB9KTsKIH0KIAotI2lmIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQogCi12b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENoYW5nZVBheW1l
bnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKQordm9pZCBBcHBsZVBheVBh
eW1lbnRIYW5kbGVyOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpCiB7
CiAgICAgQVNTRVJUKG1fdXBkYXRlU3RhdGUgPT0gVXBkYXRlU3RhdGU6Ok5vbmUpOwotICAgIG1f
dXBkYXRlU3RhdGUgPSBVcGRhdGVTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGU7CisgICAgbV91cGRh
dGVTdGF0ZSA9IFVwZGF0ZVN0YXRlOjpDb3Vwb25Db2RlOwogCi0gICAgQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZURldGFpbHMgYXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMgeyBXVEZN
b3ZlKHBheW1lbnRNZXRob2RNb2RlKSB9OwotICAgIG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRN
ZXRob2RDaGFuZ2VkKFdURjo6Z2V0PFVSTD4obV9pZGVudGlmaWVyKS5zdHJpbmcoKSwgW2FwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzID0gV1RGTW92ZShhcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlRGV0YWlscyldIChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiB0b0pTRGljdGlvbmFyeShsZXhpY2FsR2xvYmFsT2JqZWN0LCBh
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyk7CisgICAgQXBwbGVQYXlDb3Vwb25Db2Rl
RGV0YWlscyBhcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzIHsgV1RGTW92ZShjb3Vwb25Db2RlKSB9
OworICAgIG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRNZXRob2RDaGFuZ2VkKFdURjo6Z2V0PFVS
TD4obV9pZGVudGlmaWVyKS5zdHJpbmcoKSwgW2FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMgPSBX
VEZNb3ZlKGFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMpXSAoSlNDOjpKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCkgeworICAgICAgICByZXR1cm4gdG9KU0RpY3Rpb25hcnkobGV4
aWNhbEdsb2JhbE9iamVjdCwgYXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscyk7CiAgICAgfSk7CiB9
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5k
aWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9pZCBBcHBsZVBheVBheW1l
bnRIYW5kbGVyOjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihQYXltZW50U2Vzc2lvbkVycm9yJiYp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCmluZGV4IDcx
MWMyYjY1ODVmYTY1ZTc3MWFiZDFiMjk2NWJmMTEzZTAyNjAyNTEuLmQ0YWVhZjY2YTRlYjhiZWM3
MjE0OGViMTVlN2I4MmQyNWFlMTQwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5oCkBAIC04Nyw5ICs4Nyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRT
ZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kJikgZmluYWw7
CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3Qm
KSBmaW5hbDsKICAgICB2b2lkIGRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1l
dGhvZCYpIGZpbmFsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
LSAgICB2b2lkIGRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRo
b2RNb2RlKSBmaW5hbDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9E
X01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGRpZENo
YW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSkgZmluYWw7CisjZW5kaWYKICAgICB2
b2lkIGRpZENhbmNlbFBheW1lbnRTZXNzaW9uKFBheW1lbnRTZXNzaW9uRXJyb3ImJikgZmluYWw7
CiAKICAgICBQYXltZW50UmVxdWVzdDo6TWV0aG9kSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CkBA
IC0xMDIsOSArMTAyLDkgQEAgcHJpdmF0ZToKICAgICAgICAgU2hpcHBpbmdBZGRyZXNzLAogICAg
ICAgICBTaGlwcGluZ09wdGlvbiwKICAgICAgICAgUGF5bWVudE1ldGhvZCwKLSNpZiBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgICAgIFBheW1lbnRNZXRob2RNb2Rl
LAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBF
TkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgICAgICBDb3Vwb25Db2RlLAorI2VuZGlm
CiAgICAgfSBtX3VwZGF0ZVN0YXRlIHsgVXBkYXRlU3RhdGU6Ok5vbmUgfTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IDNmYmFl
OGMyMGQxZTM5NGMyNGJkNjFhZGQ3YzQyN2VmZDBkZmRlNjguLjBiYzI1YjVjZjVjYjFlMzBlOTlm
ZWE2NjNiMTA5NzgyOGI2NWFiYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2Nv
YS9QYXNzS2l0U29mdExpbmsuaApAQCAtNTIsNiArNTIsMjIgQEAgU09GVF9MSU5LX0NMQVNTX0ZP
Ul9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pCiBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSkKICNlbmRp
ZgogCisjaWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0pCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtKQorI2Vu
ZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVNKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtKQorI2Vu
ZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19S
QU5HRSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtEYXRlQ29tcG9uZW50c1Jh
bmdlKQorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCitTT0ZUX0xJTktf
Q0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlKQor
I2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9I
RUFERVIoUEFMLCBQS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlcikKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQppbmRleCA2
NWZhMTFmYzQ1YzdjYmY2OWNhYTI3ZTcyNDQ3YjM3NGI1MzVhMjQzLi5lMTU2Y2JiOGI1ZTI1YzIy
MDE2NDc4MTRiOGE5ZGZjYmQ3OTdlODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtNTYsNiArNTYsMjIgQEAgU09GVF9MSU5LX0NM
QVNTX0ZPUl9TT1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1l
bnRJbnN0YWxsbWUKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQ
T1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQog
I2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKK1NPRlRf
TElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtSZWN1cnJp
bmdQYXltZW50U3VtbWFyeUl0ZW0sIFBBTF9FWFBPUlQpCisjZW5kaWYKKworI2lmIEhBVkUoUEFT
U0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0pCitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9X
SVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLRGVmZXJyZWRQYXltZW50U3VtbWFyeUl0ZW0sIFBB
TF9FWFBPUlQpCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFU
RV9DT01QT05FTlRTX1JBTkdFKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBP
UlQoUEFMLCBQYXNzS2l0LCBQS0RhdGVDb21wb25lbnRzUmFuZ2UsIFBBTF9FWFBPUlQpCisjZW5k
aWYKKworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKK1NPRlRfTElOS19DTEFTU19GT1Jf
U09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50UmVxdWVzdENvdXBvbkNv
ZGVVcGRhdGUsIFBBTF9FWFBPUlQpCisjZW5kaWYKKwogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VS
Q0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS0NvbnRhY3QsIFBBTF9FWFBPUlQpCiBTT0ZU
X0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGFzc0xp
YnJhcnksIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudCwgUEFMX0VYUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCAxZTBhMjExMTAwZmU5YTM1NzI2
ZWZkMGJmNmQ3ZmI2ZWYwYTNiMDI0Li5iMmEyYjFhZTFkOTczM2YzYTFmYmRiOGYxMWUwYTNhY2E2
N2VjYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNz
S2l0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQ
SS5oCkBAIC01OSw3ICs1OSwxNyBAQCBXVEZfRVhURVJOX0NfRU5ECiAjaW1wb3J0IDxQYXNzS2l0
L1BLUGF5bWVudFJlcXVlc3RfUHJpdmF0ZS5oPgogI2VuZGlmCiAKLSNpbXBvcnQgPFdlYktpdEFk
ZGl0aW9ucy9QYXNzS2l0U1BJQWRkaXRpb25zLmg+CisjaWYgSEFWRShQQVNTS0lUX1JFQ1VSUklO
R19TVU1NQVJZX0lURU0pCisjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS1JlY3VycmluZ1BheW1lbnRT
dW1tYXJ5SXRlbS5oPgorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfREVGRVJSRURfU1VNTUFS
WV9JVEVNKQorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtEZWZlcnJlZFBheW1lbnRTdW1tYXJ5SXRl
bS5oPgorI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09N
UE9ORU5UU19SQU5HRSkKKyNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLRGF0ZUNvbXBvbmVudHNSYW5n
ZS5oPgorI2VuZGlmCiAKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRm
b3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggMTll
YTNhZGZkODYyZTFjMDM4ZDhlY2JhMTJiMzBhNGE4MDlkYjI2OS4uMmIzOTA2MTJjODU1N2VhMDYz
NGQ2YzQ2YjMxNzEwYTUzN2FiNDUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTQ0
OSwyMSArNDQ5LDIzIEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmgKICAgICBN
b2R1bGVzL2FpcnBsYXkvV2ViTWVkaWFTZXNzaW9uTWFuYWdlckNsaWVudC5oCiAKKyAgICBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oCisgICAgTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmgKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURl
dGFpbHNVcGRhdGVCYXNlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1Vw
ZGF0ZURhdGEuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5oCiAgICAgTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
TGluZUl0ZW0uaAotICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaAot
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaAot
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oCiAg
ICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaAorICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmgKKyAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmgKICAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9uLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2V0dXBGZWF0dXJlV2ViQ29yZS5oCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdNZXRob2QuaAotICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01l
dGhvZERhdGEuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVw
ZGF0ZS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uV2ViQ29yZS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbkVycm9yLmgK
QEAgLTczNSw2ICs3MzcsMTEgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09S
S19IRUFERVJTCiBsaXN0KEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q29udGFjdEZpZWxkLmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25D
b2RlQ2hhbmdlZEV2ZW50LmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25D
b2RlRGV0YWlscy5pZGwKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVw
ZGF0ZS5pZGwKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRs
CisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsCiAg
ICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmlkbAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5pZGwKICAgICBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsCkBAIC03NDUsMjAgKzc1MiwxOSBAQCBsaXN0KEFQ
UEVORCBXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24uaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUlu
c3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
TGluZUl0ZW0uaWRsCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5p
ZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmlkbAog
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50LmlkbAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5pZGwKICAgICBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5pZGwKICAgICBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudENvbnRhY3QuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRNZXRob2QuaWRsCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwKLSAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFBhc3MuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1
ZXN0LmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbAor
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRs
CiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlkbAogICAgIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uRXJyb3IuaWRsCkBAIC03NjcsMTAgKzc3MywxMCBAQCBsaXN0KEFQUEVORCBX
ZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cEZlYXR1
cmUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmlk
bAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cEZlYXR1cmVUeXBlLmlkbAorICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwK
ICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVu
dC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRl
LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKLSAg
ICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmlkbAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRsCiAg
ICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbAogICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlc0NvY29hLnR4dAppbmRleCA3YmNkOGQxZDRlZTA5YWM2ZWMyMDVhNzA5NDg1NDkxYzg3
OGEyMzcwLi40NzFkOGE1MWJhMjNjYjViOGNkNTMxNDM0OTJiNjExNTZlNDVhNWIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKQEAgLTIzLDYgKzIzLDExIEBACiAKIEpTQXBwbGVQYXlDYW5jZWxF
dmVudC5jcHAKIEpTQXBwbGVQYXlDb250YWN0RmllbGQuY3BwCitKU0FwcGxlUGF5Q291cG9uQ29k
ZUNoYW5nZWRFdmVudC5jcHAKK0pTQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5jcHAKK0pTQXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNwcAorSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmNwcAor
SlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuY3BwCiBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0
ZUJhc2UuY3BwCiBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuY3BwCiBKU0FwcGxlUGF5RXJy
b3IuY3BwCkBAIC0zMyw3ICszOCw2IEBAIEpTQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW0uY3BwCiBK
U0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5jcHAKIEpTQXBwbGVQYXlJbnN0YWxsbWVudFJl
dGFpbENoYW5uZWwuY3BwCiBKU0FwcGxlUGF5TGluZUl0ZW0uY3BwCi1KU0FwcGxlUGF5TGluZUl0
ZW1EYXRhLmNwcAogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5jcHAKIEpTQXBwbGVQYXlN
b2RpZmllci5jcHAKIEpTQXBwbGVQYXlQYXltZW50LmNwcApAQCAtNDEsMTMgKzQ1LDEzIEBAIEpT
QXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5jcHAKIEpTQXBwbGVQYXlQYXltZW50
QXV0aG9yaXplZEV2ZW50LmNwcAogSlNBcHBsZVBheVBheW1lbnRDb250YWN0LmNwcAogSlNBcHBs
ZVBheVBheW1lbnRNZXRob2QuY3BwCi1KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxz
LmNwcAotSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmNwcAogSlNBcHBsZVBheVBh
eW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmNwcAogSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBl
LmNwcAogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuY3BwCiBKU0FwcGxlUGF5UGF5bWVu
dFBhc3MuY3BwCiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuY3BwCitKU0FwcGxlUGF5UGF5bWVu
dFRpbWluZy5jcHAKK0pTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuY3BwCiBKU0Fw
cGxlUGF5UmVxdWVzdC5jcHAKIEpTQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKIEpTQXBwbGVQYXlT
ZXNzaW9uLmNwcApAQCAtNTcsMTQgKzYxLDE1IEBAIEpTQXBwbGVQYXlTZXR1cENvbmZpZ3VyYXRp
b24uY3BwCiBKU0FwcGxlUGF5U2V0dXBGZWF0dXJlLmNwcAogSlNBcHBsZVBheVNldHVwRmVhdHVy
ZVN0YXRlLmNwcAogSlNBcHBsZVBheVNldHVwRmVhdHVyZVR5cGUuY3BwCitKU0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGUuY3BwCiBKU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWRFdmVudC5jcHAKIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuY3BwCiBKU0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2QuY3BwCi1KU0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmNw
cAogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5jcHAKIEpTQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFVwZGF0ZS5jcHAKIEpTQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQu
Y3BwCiBNb2R1bGVzL2FpcnBsYXkvV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAKK01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcAogTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmNwcAogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNv
bnRhY3RGaWVsZC5jcHAKIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudENhcGFiaWxp
dHkuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZDc3YjhmZTlmNzJjNmFiNTAwY2Y1NjcxM2I2YzI0MTliNGE0YmQ5ZC4uMmFj
YzFlZWIwMjM2NDlhMjllZGIyNDY0NDc2ZTg4YzIwNjk2MTQ4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjM5MCw3ICsyMzkw
LDYgQEAKIAkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNjU3OUUyMUUw
MDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0M2NTc5RTgxRTAwODMxNjAwRTNBMjdBIC8q
IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDNjU3OUU3MUUwMDgzMTYwMEUzQTI3QSAvKiBBcHBsZVBheVNoaXBw
aW5nTWV0aG9kLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJN0M2NTc5RjAxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RUExRTAw
ODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oICovOyB9OwotCQk3QzY1NzlGMjFF
MDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzY1NzlFQzFFMDA4NTY2MDBFM0Ey
N0EgLyogSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggKi87IH07CiAJCTdDNjU3OUY0MUUwMDg1
NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNjU3OUVFMUUwMDg1NjYwMEUzQTI3QSAv
KiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCAqLzsgfTsKIAkJN0M3M0ZCMDcxOTFFRjQxNzAw
N0RFMDYxIC8qIFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3M0ZCMDUxOTFFRjQxNjAwN0RFMDYx
IC8qIFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3BwICovOyB9OwogCQk3QzczRkIwODE5
MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M3M0ZCMDYxOTFFRjQxNzAw
N0RFMDYxIC8qIFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjk4MSwyMCArMjk4MCwzMCBAQAog
CQk5NEU4Mzk1MTFERkIyQTBFMDA3QkM2QTcgLyogQ1NTTmFtZXNwYWNlUnVsZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTRFODM5NEYxREZCMjcwMDAw
N0JDNkE3IC8qIENTU05hbWVzcGFjZVJ1bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk5NEU4Mzk1NjFERkIyQkM0MDA3QkM2QTcgLyogSlNDU1NO
YW1lc3BhY2VSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NEU4Mzk1NDFERkIyQkE2MDA3QkM2QTcgLyogSlNDU1NOYW1lc3BhY2VSdWxlLmggKi87
IH07CiAJCTk1MDE4M0NEMjVENjMzRDkwMEQ0MzQwRiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVC
YXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTAx
ODNDQjI1RDYzM0Q4MDBENDM0MEYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk1MURFREQyMjVF
MDg0NUEwMDIwRTFFRSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTUxREVERDAyNUUwODQ1QTAwMjBF
MUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTUxREVERDYyNUUwODQ5RTAwMjBFMUVFIC8q
IEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MURFREQ0MjVFMDg0OUQwMDIwRTFFRSAvKiBKU0FwcGxl
UGF5U2hpcHBpbmdNZXRob2REYXRhLmggKi87IH07CiAJCTk1MjdEN0FCMjVENUZERTIwMEE2RTE3
NiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTI3RDdBODI1RDVGREUxMDBBNkUxNzYgLyogQXBwbGVQ
YXlEZXRhaWxzVXBkYXRlRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTk1MjdEN0FGMjVENUZFNkMwMEE2RTE3NiAvKiBKU0FwcGxlUGF5RGV0
YWlsc1VwZGF0ZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk1MjdEN0FEMjVENUZFNkIwMEE2RTE3NiAvKiBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0
ZURhdGEuaCAqLzsgfTsKIAkJOTUzQkNFQjIyNUQ2MjgzRDAwQTRBMkExIC8qIEpTQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTUzQkNFQUYyNUQ2MjgzQzAwQTRBMkExIC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBk
YXRlQmFzZS5oICovOyB9OwogCQk5NTYyRUVERDI1RjE4REU3MDAzMzQ0NDIgLyogUGF5bWVudFJl
cXVlc3RVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk1NjJFRURCMjVGMThERTYwMDMzNDQ0MiAvKiBQYXltZW50UmVxdWVzdFV0aWxpdGll
cy5oICovOyB9OwotCQk5NTY4NEQ4MzI2NTM1N0Y4MDAwMjY5MzggLyogQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZURldGFpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlRGV0YWlscy5oICovOyB9OwotCQk5NTZGQzRCQjI1RDQ5QzdCMDBGN0IzQTIgLyogQXBw
bGVQYXlMaW5lSXRlbURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk1NkZDNEI4MjVENDlDN0EwMEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0
YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk1
NkZDNEJCMjVENDlDN0IwMEY3QjNBMyAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTZGQzRCQTI1RDQ5QzdE
MDBGN0IzQTIgLyogSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oICovOyB9OwotCQk5NTk2QjkzMzI1
REVFRUEwMDBFRDJDRkEgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTU5NkI5MzAyNURFRUU5
RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5NTk2QjkzODI1REVFRjAz
MDBFRDJDRkEgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTk2QjkzNjI1REVFRjAyMDBF
RDJDRkEgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggKi87IH07CisJCTk1
Njg0RDgzMjY1MzU3RjgwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTY4NEQ4MTI2NTM1
N0Y3MDAwMjY5MzggLyogQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oICovOyB9OworCQk5NTk2
QjkzMzI1REVFRUEwMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTk2QjkzMDI1REVFRTlG
MDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTU5NkI5MzgyNURFRUYwMzAwRUQyQ0ZB
IC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTk2QjkzNjI1REVFRjAyMDBFRDJDRkEgLyog
SlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCAqLzsgfTsKIAkJOTVBMUUyRTkyNUND
NzVBOTAwMjY4QzhFIC8qIE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QTFFMkU3MjVDQzc1QTgwMDI2
OEM4RSAvKiBNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVJdGVtLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTVBQTU3MTAyNUVFRUQzMjAwNEU5Mjgz
IC8qIEluc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QUE1NzBFMjVFRUVEMzEwMDRFOTI4MyAvKiBJbnNwZWN0
b3JDYW52YXNDYWxsVHJhY2VyLmggKi87IH07CiAJCTk1REY5RDI1MjUyQkVEQjIwMDBEN0Y0NiAv
KiBQb2ludGVyQ2hhcmFjdGVyaXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NURGOUQyMzI1MkJFRDk5MDAwRDdGNDYgLyogUG9pbnRlckNoYXJh
Y3RlcmlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTk1RUFENTYzMjY2RUYyREIwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFu
Z2VkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk1RUFENTVGMjY2RUYyREEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZl
bnQuaCAqLzsgfTsKKwkJOTVFQUQ1NkEyNjZFRjJGQTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNv
bXBvbmVudHNSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTVFQUQ1NjYyNjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNS
YW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTk1RUFENTZEMjY2RUYyRkEwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUVBRDU2OTI2NkVG
MkY5MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk1RUFENTcwMjY2RUYzODYwMDRCOUNG
MSAvKiBBcHBsZVBheVBheW1lbnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFENTZFMjY2RUYzODQwMDRCOUNGMSAvKiBBcHBsZVBheVBh
eW1lbnRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk5NUVBRDU3NDI2NkVGMzk0MDA0QjlDRjEgLyogQXBwbGVQYXlSZWN1cnJpbmdQYXlt
ZW50RGF0ZVVuaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk1RUFENTcyMjY2RUYzOTIwMDRCOUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTk1RUFENTc4MjY2RUYzQTgwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NUVBRDU3NjI2NkVGM0E2MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTk1RUFENTgyMjY2RUY1MzkwMDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1
ODEyNjZFRjUzMTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi87IH07
CisJCTk1RUFENTgzMjY2RUY1M0IwMDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFp
bHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFE
NTdGMjY2RUY1MjMwMDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCAqLzsg
fTsKKwkJOTVFQUQ1ODcyNjZFRjU2QTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1
ODUyNjZFRjU2OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oICovOyB9Owor
CQk5NUVBRDU4QjI2NkVGNTdBMDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFu
Z2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFE
NTg5MjY2RUY1NzkwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oICov
OyB9OworCQk5NUVBRDU4RTI2NkVGNTlDMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRUaW1p
bmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFE
NThDMjY2RUY1OUEwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oICovOyB9Owor
CQk5NUVBRDU5MzI2NkVGNUNEMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTVFQUQ1OTEyNjZFRjVDQzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0
ZVVuaXQuaCAqLzsgfTsKKwkJOTVFQUQ1OTQyNjZFRjVENDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQ
YXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M2NTc5RUMxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlQYXltZW50UmVxdWVz
dC5oICovOyB9OworCQk5NUVBRDU5NzI2NkVGNjBCMDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBw
aW5nQ29udGFjdEVkaXRpbmdNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NUVBRDU5NTI2NkVGNjA5MDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBw
aW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi87IH07CiAJCTk1RjQ1RDI3MjY0REZCRjEwMEQwQjhC
OCAvKiBQYWdlQ29sb3JTYW1wbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NUY0NUQyNjI2NERGQkVCMDBEMEI4QjggLyogUGFnZUNvbG9yU2FtcGxl
ci5oICovOyB9OwogCQk5NzA1OTk3QTEwN0Q5NzUyMDBBNTBBN0MgLyogUG9saWN5Q2hlY2tlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcwNTk5NzYx
MDdEOTc1MjAwQTUwQTdDIC8qIFBvbGljeUNoZWNrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5NzBCNzI4QTE0NEZGQUM2MDBGMDBBMzcgLyog
RXZlbnRJbnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NzBCNzI4OTE0NEZGQUM2MDBGMDBBMzcgLyogRXZlbnRJbnRlcmZhY2VzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTExOTI3LDEw
ICsxMTkzNiw2IEBACiAJCTk1MEM0ODQ5MjVENjc3NDIwMEFCM0Q5QyAvKiBvdmVyZmxvdy1zdXBw
b3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gIm92ZXJmbG93LXN1cHBvcnQuanMiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NTBDNDg0QjI1RDY3NzRFMDBBQjNEOUMgLyogb3Zl
cmZsb3ctYnV0dG9uLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gIm92ZXJmbG93LWJ1dHRvbi5q
cyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1MEM0QzAyQkVEODkzNkY4MThFMkY5
OSAvKiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTVkdHcmFwaGljc0VsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTUxREVEQ0UyNUUwODQ1OTAwMjBFMUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRh
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1MURFREQwMjVFMDg0NUEwMDIwRTFF
RSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk5NTFERUREMzI1RTA4NDlDMDAyMEUxRUUgLyogSlNBcHBsZVBheVNoaXBw
aW5nTWV0aG9kRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJOTUxREVERDQyNUUwODQ5RDAwMjBFMUVFIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheVNoaXBw
aW5nTWV0aG9kRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NTI3RDdBODI1
RDVGREUxMDBBNkUxNzYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1MjdEN0FBMjVENUZERTEwMEE2RTE3NiAvKiBBcHBs
ZVBheURldGFpbHNVcGRhdGVEYXRhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBh
eURldGFpbHNVcGRhdGVEYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUy
N0Q3QUQyNUQ1RkU2QjAwQTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZURh
dGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExOTU0LDIwICsxMTk1OSw0MyBA
QAogCQk5NTUxOTU5RDI1RkE5RUZCMDBGNThDRjAgLyogc2tpcC1mb3J3YXJkLWJ1dHRvbi5qcyAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJza2lwLWZvcndhcmQtYnV0dG9uLmpzIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTU2MkVFRDkyNUYxOERFNTAwMzM0NDQyIC8qIFBheW1lbnRS
ZXF1ZXN0VXRpbGl0aWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTU2MkVFREIyNUYxOERFNjAwMzM0NDQyIC8qIFBheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRSZXF1ZXN0VXRpbGl0aWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1Njg0RDdGMjY1MzU3RjcwMDAyNjkz
OCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk5NTY4NEQ4MTI2NTM1N0Y3MDAwMjY5MzggLyogQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZURldGFpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJOTU2RkM0QjgyNUQ0OUM3QTAwRjdCM0EyIC8qIEFwcGxlUGF5TGluZUl0ZW1E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5TGluZUl0ZW1E
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1NkZDNEI4MjVENDlDN0MwMEY3
QjNBMiAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk5NTZGQzRCQTI1RDQ5QzdCMDBGN0IzQTIgLyogQXBwbGVQYXlMaW5l
SXRlbURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5TGluZUl0ZW1EYXRh
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU2RkM0QkEyNUQ0OUM3RDAwRjdC
M0EyIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk5NTk2QjkzMDI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZVVwZGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1
OTZCOTMyMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU5NkI5MzUyNURFRUYwMDAw
RUQyQ0ZBIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTk2QjkzNjI1REVFRjAy
MDBFRDJDRkEgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTY4NEQ3RjI2NTM1N0Y3MDAwMjY5
MzggLyogQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRh
aWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29k
ZURldGFpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTU5NkI5MzAyNURFRUU5
RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTU5NkI5MzIyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5Q291
cG9uQ29kZVVwZGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlDb3Vwb25D
b2RlVXBkYXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTU5NkI5MzUyNURF
RUYwMDAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTU5NkI5MzYyNURFRUYwMjAwRUQyQ0ZB
IC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1QTFFMkU3MjVDQzc1QTgwMDI2OEM4RSAvKiBNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnVJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTVBQTU3MEQyNUVFRUQzMDAwNEU5MjgzIC8qIEluc3BlY3RvckNhbnZhc0NhbGxU
cmFjZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9y
Q2FudmFzQ2FsbFRyYWNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1QUE1
NzBFMjVFRUVEMzEwMDRFOTI4MyAvKiBJbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVERjlEMjMyNTJCRUQ5OTAwMEQ3RjQ2IC8q
IFBvaW50ZXJDaGFyYWN0ZXJpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9pbnRlckNoYXJhY3Rl
cmlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU1RjI2NkVGMkRB
MDA0QjlDRjEgLyogQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU2MTI2NkVGMkRBMDA0QjlDRjEgLyog
QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5NUVBRDU2MjI2NkVGMkRCMDA0QjlDRjEgLyogQXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFw
cGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTk1RUFENTY2MjY2RUYyRjgwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlEYXRlQ29t
cG9uZW50c1JhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTY3MjY2
RUYyRjgwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBBcHBsZVBheURhdGVDb21wb25lbnRzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTVFQUQ1NjgyNjZFRjJGOTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBv
bmVudHNSYW5nZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlEYXRlQ29tcG9u
ZW50c1JhbmdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1NjkyNjZF
RjJGOTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NUVBRDU2RTI2NkVGMzg0MDA0QjlDRjEgLyogQXBwbGVQYXlQYXlt
ZW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5UGF5
bWVudFRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU2RjI2NkVG
Mzg1MDA0QjlDRjEgLyogQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBBcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5NUVBRDU3MjI2NkVGMzkyMDA0QjlDRjEgLyogQXBwbGVQYXlSZWN1cnJpbmdQYXlt
ZW50RGF0ZVVuaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlS
ZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTVFQUQ1NzMyNjZFRjM5MzAwNEI5Q0YxIC8qIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVV
bml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheVJlY3VycmluZ1BheW1lbnRE
YXRlVW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTc2MjY2RUYz
QTYwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1NzcyNjZFRjNBNzAw
NEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU3RDI2NkVGNTIyMDA0QjlDRjEgLyog
SlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBw
bGVQYXlDb3Vwb25Db2RlRGV0YWlscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk1RUFENTdGMjY2RUY1MjMwMDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTgwMjY2RUY1MzAwMDRCOUNGMSAvKiBKU0FwcGxl
UGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxl
UGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTk1RUFENTgxMjY2RUY1MzEwMDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU4NDI2NkVGNTY4MDA0QjlDRjEgLyogSlNBcHBs
ZVBheURhdGVDb21wb25lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTk1RUFENTg1MjY2RUY1NjkwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVu
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheURhdGVDb21w
b25lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTg4MjY2RUY1Nzkw
MDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTg5MjY2RUY1NzkwMDRCOUNG
MSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU4QzI2NkVGNTlBMDA0QjlDRjEgLyogSlNBcHBsZVBh
eVBheW1lbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBs
ZVBheVBheW1lbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1
OEQyNjZFRjU5QjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50VGltaW5nLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlQYXltZW50VGltaW5nLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1OTAyNjZFRjVDQjAwNEI5Q0Yx
IC8qIEpTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5p
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTkxMjY2RUY1Q0MwMDRC
OUNGMSAvKiBKU0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1OTUyNjZFRjYwOTAwNEI5Q0Yx
IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1OTYyNjZFRjYwQTAwNEI5Q0Yx
IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NUY0NUQyNDI2NERGQkVC
MDBEMEI4QjggLyogUGFnZUNvbG9yU2FtcGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdl
Q29sb3JTYW1wbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVGNDVEMjYy
NjRERkJFQjAwRDBCOEI4IC8qIFBhZ2VDb2xvclNhbXBsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFn
ZUNvbG9yU2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NzA1OTk3NTEw
N0Q5NzUyMDBBNTBBN0MgLyogUG9saWN5Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQb2xpY3lDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE4NTk4LDYgKzE4NjI2LDE3IEBACiAJCQkJQTFERjVBQjQxRjgwNzhGMzAwNThB
NDc3IC8qIEFwcGxlUGF5Q29udGFjdEZpZWxkLmNwcCAqLywKIAkJCQlBMURGNUE5MTFGN0VDNDMy
MDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuaCAqLywKIAkJCQlBMURGNUE5MzFGN0VD
NDMyMDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuaWRsICovLAorCQkJCTk1RUFENTYy
MjY2RUYyREIwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwICov
LAorCQkJCTk1RUFENTVGMjY2RUYyREEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFu
Z2VkRXZlbnQuaCAqLywKKwkJCQk5NUVBRDU2MTI2NkVGMkRBMDA0QjlDRjEgLyogQXBwbGVQYXlD
b3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmlkbCAqLywKKwkJCQk5NTY4NEQ4MTI2NTM1N0Y3MDAwMjY5
MzggLyogQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oICovLAorCQkJCTk1Njg0RDdGMjY1MzU3
RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbCAqLywKKwkJCQk5NTk2
QjkzMDI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi8sCisJ
CQkJOTU5NkI5MzIyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5p
ZGwgKi8sCisJCQkJOTVFQUQ1NjkyNjZFRjJGOTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBv
bmVudHMuaCAqLywKKwkJCQk5NUVBRDU2NzI2NkVGMkY4MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRl
Q29tcG9uZW50cy5pZGwgKi8sCisJCQkJOTVFQUQ1NjYyNjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxl
UGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oICovLAorCQkJCTk1RUFENTY4MjY2RUYyRjkwMDRCOUNG
MSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsICovLAogCQkJCTk1MDE4M0NCMjVE
NjMzRDgwMEQ0MzQwRiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggKi8sCiAJCQkJOTUw
MTgzQzkyNUQ2MzNEODAwRDQzNDBGIC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaWRsICov
LAogCQkJCTk1MjdEN0E4MjVENUZERTEwMEE2RTE3NiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVE
YXRhLmggKi8sCkBAIC0xODYxOCw4ICsxODY1Nyw2IEBACiAJCQkJQTEzQjYxNjkyNDc1REZDNTAw
QkJFNkRFIC8qIEFwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbCAqLywKIAkJCQk3
QzY1NzlFMjFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5oICovLAogCQkJCTdD
NjU3OUU0MUUwMDgyQzgwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmlkbCAqLywKLQkJCQk5
NTZGQzRCODI1RDQ5QzdBMDBGN0IzQTIgLyogQXBwbGVQYXlMaW5lSXRlbURhdGEuaCAqLywKLQkJ
CQk5NTZGQzRCQTI1RDQ5QzdCMDBGN0IzQTIgLyogQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsICov
LAogCQkJCUExREY1QUE4MUY4MDcwRDQwMDU4QTQ3NyAvKiBBcHBsZVBheU1lcmNoYW50Q2FwYWJp
bGl0eS5jcHAgKi8sCiAJCQkJQTFERjVBODMxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVy
Y2hhbnRDYXBhYmlsaXR5LmggKi8sCiAJCQkJQTFERjVBODUxRjdFQkRGMjAwNThBNDc3IC8qIEFw
cGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmlkbCAqLywKQEAgLTE4NjM0LDEwICsxODY3MSw2IEBA
CiAJCQkJN0M2NTIyRjkxRTAwQzkwOTAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudENvbnRhY3Qu
aWRsICovLAogCQkJCTdDNjUyMkVDMUUwMEE0QzcwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnRN
ZXRob2QuaCAqLywKIAkJCQk3QzY1MjJFRDFFMDBBNEM3MDA2NzdGMjIgLyogQXBwbGVQYXlQYXlt
ZW50TWV0aG9kLmlkbCAqLywKLQkJCQk5NTY4NEQ4MTI2NTM1N0Y3MDAwMjY5MzggLyogQXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaCAqLywKLQkJCQk5NTY4NEQ3RjI2NTM1N0Y3MDAw
MjY5MzggLyogQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaWRsICovLAotCQkJCTk1
OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRl
LmggKi8sCi0JCQkJOTU5NkI5MzIyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVVcGRhdGUuaWRsICovLAogCQkJCTFBOEE2NDQwMUQxOUZDRkIwMEQwRTAwRiAvKiBB
cHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQThBNjQ0MjFE
MTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5oICov
LAogCQkJCTFBOEE2NDQzMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RT
ZWxlY3RlZEV2ZW50LmlkbCAqLywKQEAgLTE4NjQ5LDYgKzE4NjgyLDEwIEBACiAJCQkJN0M2NTIy
RjMxRTAwQTUxNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudFBhc3MuaWRsICovLAogCQkJCTdD
NjU3OURGMUUwMDc5RjkwMEUzQTI3QSAvKiBBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggKi8sCiAJ
CQkJN0M2NTc5RTExRTAwN0ExMTAwRTNBMjdBIC8qIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRs
ICovLAorCQkJCTk1RUFENTZFMjY2RUYzODQwMDRCOUNGMSAvKiBBcHBsZVBheVBheW1lbnRUaW1p
bmcuaCAqLywKKwkJCQk5NUVBRDU2RjI2NkVGMzg1MDA0QjlDRjEgLyogQXBwbGVQYXlQYXltZW50
VGltaW5nLmlkbCAqLywKKwkJCQk5NUVBRDU3MjI2NkVGMzkyMDA0QjlDRjEgLyogQXBwbGVQYXlS
ZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCAqLywKKwkJCQk5NUVBRDU3MzI2NkVGMzkzMDA0QjlD
RjEgLyogQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsICovLAogCQkJCUExREY1
QUFCMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3RCYXNlLmNwcCAqLywKIAkJCQlB
MURGNUFBQTFGODA3NUYwMDA1OEE0NzcgLyogQXBwbGVQYXlSZXF1ZXN0QmFzZS5oICovLAogCQkJ
CUExREY1QUFDMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3RCYXNlLmlkbCAqLywK
QEAgLTE4NjcxLDYgKzE4NzA4LDggQEAKIAkJCQk1QzUzRENENDI0NDY0NDlCMDBBOTMxMjQgLyog
QXBwbGVQYXlTZXR1cEZlYXR1cmVUeXBlV2ViQ29yZS5oICovLAogCQkJCTVDNTNEQ0NGMjQ0NjQ0
OTkwMEE5MzEyNCAvKiBBcHBsZVBheVNldHVwRmVhdHVyZVdlYkNvcmUuaCAqLywKIAkJCQk1QzUz
RENDQjI0NDY0NDk4MDBBOTMxMjQgLyogQXBwbGVQYXlTZXR1cFdlYkNvcmUuaCAqLywKKwkJCQk5
NUVBRDU3NjI2NkVGM0E2MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZS5oICovLAorCQkJCTk1RUFENTc3MjY2RUYzQTcwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBw
aW5nQ29udGFjdEVkaXRpbmdNb2RlLmlkbCAqLywKIAkJCQkxQThBNjQ0NzFEMTlGQ0ZCMDBEMEUw
MEYgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkx
QThBNjQ0ODFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3Rl
ZEV2ZW50LmggKi8sCiAJCQkJMUE4QTY0NDkxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5pZGwgKi8sCkBAIC0xODY3OCw4ICsxODcxNyw2IEBA
CiAJCQkJMUFERkRGREQxRTcxRDhERjAwOEY1RDM0IC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0
VXBkYXRlLmlkbCAqLywKIAkJCQk3QzY1NzlFNzFFMDA4MzE2MDBFM0EyN0EgLyogQXBwbGVQYXlT
aGlwcGluZ01ldGhvZC5oICovLAogCQkJCTdDNjU3OUU1MUUwMDgzMDYwMEUzQTI3QSAvKiBBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kLmlkbCAqLywKLQkJCQk5NTFERUREMDI1RTA4NDVBMDAyMEUxRUUg
LyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCAqLywKLQkJCQk5NTFERURDRTI1RTA4NDU5
MDAyMEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsICovLAogCQkJCTFBOEE2
NDRCMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVu
dC5jcHAgKi8sCiAJCQkJMUE4QTY0NEMxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5U2hpcHBp
bmdNZXRob2RTZWxlY3RlZEV2ZW50LmggKi8sCiAJCQkJMUE4QTY0NEQxRDE5RkNGQjAwRDBFMDBG
IC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCAqLywKQEAgLTE4ODE4
LDYgKzE4ODU1LDE2IEBACiAJCQkJQTE5NTZGMUIyMzMxQTY0NjAwNTdFOUQyIC8qIEpTQXBwbGVQ
YXlDYW5jZWxFdmVudC5oICovLAogCQkJCUExREY1QTk4MUY3RUM4QzAwMDU4QTQ3NyAvKiBKU0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmNwcCAqLywKIAkJCQlBMURGNUE5NzFGN0VDOEJGMDA1OEE0Nzcg
LyogSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5oICovLAorCQkJCTk1RUFENTgwMjY2RUY1MzAwMDRC
OUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHAgKi8sCisJCQkJOTU5
NkI5MzYyNURFRUYwMjAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50
LmggKi8sCisJCQkJOTVFQUQ1N0QyNjZFRjUyMjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25D
b2RlRGV0YWlscy5jcHAgKi8sCisJCQkJOTVFQUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBw
bGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oICovLAorCQkJCTk1OTZCOTM1MjVERUVGMDAwMEVEMkNG
QSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5jcHAgKi8sCisJCQkJOTVFQUQ1ODEyNjZF
RjUzMTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi8sCisJCQkJOTVF
QUQ1ODQyNjZFRjU2ODAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5jcHAgKi8s
CisJCQkJOTVFQUQ1ODUyNjZFRjU2OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50
cy5oICovLAorCQkJCTk1RUFENTg4MjY2RUY1NzkwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNv
bXBvbmVudHNSYW5nZS5jcHAgKi8sCisJCQkJOTVFQUQ1ODkyNjZFRjU3OTAwNEI5Q0YxIC8qIEpT
QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi8sCiAJCQkJOTUzQkNFQjEyNUQ2MjgzQzAw
QTRBMkExIC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5jcHAgKi8sCiAJCQkJOTUzQkNF
QUYyNUQ2MjgzQzAwQTRBMkExIC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5oICovLAog
CQkJCTk1MjdEN0FFMjVENUZFNkIwMEE2RTE3NiAvKiBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZURh
dGEuY3BwICovLApAQCAtMTg4MzgsOCArMTg4ODUsNiBAQAogCQkJCUExM0I2MTZGMjQ3NUUzMTIw
MEJCRTZERSAvKiBKU0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmggKi8sCiAJCQkJ
N0M2NTc5RTkxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5jcHAgKi8sCiAJ
CQkJN0M2NTc5RUExRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oICovLAot
CQkJCTk1NkZDNEI4MjVENDlDN0MwMEY3QjNBMiAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmNw
cCAqLywKLQkJCQk5NTZGQzRCQTI1RDQ5QzdEMDBGN0IzQTIgLyogSlNBcHBsZVBheUxpbmVJdGVt
RGF0YS5oICovLAogCQkJCUExREY1QTg5MUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVy
Y2hhbnRDYXBhYmlsaXR5LmNwcCAqLywKIAkJCQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyog
SlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oICovLAogCQkJCUExRjZEMDBBMUZFMDk5MjEw
MDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuY3BwICovLApAQCAtMTg4NTQsOCArMTg4OTks
NiBAQAogCQkJCTdDNjUyMzBDMUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudENv
bnRhY3QuaCAqLywKIAkJCQk3QzY1MjMwRDFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBh
eW1lbnRNZXRob2QuY3BwICovLAogCQkJCTdDNjUyMzBFMUUwMERCQjQwMDY3N0YyMiAvKiBKU0Fw
cGxlUGF5UGF5bWVudE1ldGhvZC5oICovLAotCQkJCTk1OTZCOTM1MjVERUVGMDAwMEVEMkNGQSAv
KiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuY3BwICovLAotCQkJCTk1OTZCOTM2
MjVERUVGMDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCAq
LywKIAkJCQkxQUU5NkE3QzFEMUEwQTgwMDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRNZXRo
b2RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQUU5NkE3RDFEMUEwQTgwMDBCODY3NjggLyog
SlNBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmggKi8sCiAJCQkJQTFGNkQwMEQx
RkUwOTk2NDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5jcHAgKi8sCkBA
IC0xODg2Niw2ICsxODkwOSwxMCBAQAogCQkJCTdDNjUyMzEwMUUwMERCQjQwMDY3N0YyMiAvKiBK
U0FwcGxlUGF5UGF5bWVudFBhc3MuaCAqLywKIAkJCQk3QzY1NzlFQjFFMDA4NTY2MDBFM0EyN0Eg
LyogSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmNwcCAqLywKIAkJCQk3QzY1NzlFQzFFMDA4NTY2
MDBFM0EyN0EgLyogSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggKi8sCisJCQkJOTVFQUQ1OEQy
NjZFRjU5QjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50VGltaW5nLmNwcCAqLywKKwkJCQk5
NUVBRDU4QzI2NkVGNTlBMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRUaW1pbmcuaCAqLywK
KwkJCQk5NUVBRDU5MDI2NkVGNUNCMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1l
bnREYXRlVW5pdC5jcHAgKi8sCisJCQkJOTVFQUQ1OTEyNjZFRjVDQzAwNEI5Q0YxIC8qIEpTQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCAqLywKIAkJCQlBMURGNUE4QzFGN0VDMDAx
MDA1OEE0NzcgLyogSlNBcHBsZVBheVJlcXVlc3QuY3BwICovLAogCQkJCUExREY1QThCMUY3RUMw
MDEwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5oICovLAogCQkJCUExREY1QUIwMUY4MDc3
NTIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwICovLApAQCAtMTg4NzQsMTQg
KzE4OTIxLDE0IEBACiAJCQkJMUFFOTZBN0YxRDFBMEE4MDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlT
ZXNzaW9uLmggKi8sCiAJCQkJQTFENTA2MTMyMzMxRUQ5NzAwMTRFRTRFIC8qIEpTQXBwbGVQYXlT
ZXNzaW9uRXJyb3IuY3BwICovLAogCQkJCUExRDUwNjExMjMzMUVEOTYwMDE0RUU0RSAvKiBKU0Fw
cGxlUGF5U2Vzc2lvbkVycm9yLmggKi8sCisJCQkJOTVFQUQ1OTYyNjZFRjYwQTAwNEI5Q0YxIC8q
IEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5jcHAgKi8sCisJCQkJOTVFQUQ1
OTUyNjZFRjYwOTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZS5oICovLAogCQkJCTFBRTk2QTgwMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBp
bmdDb250YWN0U2VsZWN0ZWRFdmVudC5jcHAgKi8sCiAJCQkJMUFFOTZBODExRDFBMEE4MDAwQjg2
NzY4IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmggKi8sCiAJCQkJ
MUFERkRGRTcxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRh
dGUuY3BwICovLAogCQkJCTFBREZERkU4MUU3MURDQTAwMDhGNUQzNCAvKiBKU0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlLmggKi8sCiAJCQkJN0M2NTc5RUQxRTAwODU2NjAwRTNBMjdBIC8q
IEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5jcHAgKi8sCiAJCQkJN0M2NTc5RUUxRTAwODU2NjAw
RTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oICovLAotCQkJCTk1MURFREQzMjVF
MDg0OUMwMDIwRTFFRSAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmNwcCAqLywKLQkJ
CQk5NTFERURENDI1RTA4NDlEMDAyMEUxRUUgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0
YS5oICovLAogCQkJCTFBRTk2QTgyMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBp
bmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQUU5NkE4MzFEMUEwQTgwMDBCODY3
NjggLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5oICovLAogCQkJCTFB
REZERkU5MUU3MURDQTAwMDhGNUQzNCAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUu
Y3BwICovLApAQCAtMzE2MzMsNiArMzE2ODAsMTEgQEAKIAkJCQk0NDI1MDcwOTI1ODI5QTI3MDBD
MDkzNjggLyogQXBwSGlnaGxpZ2h0U3RvcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExM0Uw
MkUyMzMxQTEzNDAwOUMzM0EwIC8qIEFwcGxlUGF5Q2FuY2VsRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExREY1QTk0MUY3RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1NjMyNjZFRjJEQjAwNEI5Q0YxIC8qIEFwcGxlUGF5
Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTU2ODREODMyNjUz
NTdGODAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTk1OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFENTZEMjY2RUYyRkEwMDRCOUNGMSAvKiBBcHBs
ZVBheURhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU2QTI2NkVGMkZB
MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NTAxODNDRDI1RDYzM0Q5MDBENDM0MEYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTUyN0Q3QUIyNUQ1RkRFMjAwQTZFMTc2IC8qIEFwcGxl
UGF5RGV0YWlsc1VwZGF0ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkM1OUVFMjAzNUZD
OUIwMDEyMjM2QiAvKiBBcHBsZVBheUVycm9yLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNjQzLDcg
KzMxNjk1LDYgQEAKIAkJCQlBMTE3NTBBMTI0NzQ2OEY3MDBENEQyNkMgLyogQXBwbGVQYXlJbnN0
YWxsbWVudEl0ZW1UeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTNCNjE2QjI0NzVFMDQ4MDBC
QkU2REUgLyogQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDNjU3OUUzMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggaW4g
SGVhZGVycyAqLywKLQkJCQk5NTZGQzRCQjI1RDQ5QzdCMDBGN0IzQTIgLyogQXBwbGVQYXlMaW5l
SXRlbURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QTg2MUY3RUJERjIwMDU4QTQ3NyAv
KiBBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNkNG
RkYxRkUwOTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDNjUyMzAxMUUwMEQwMzQwMDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzE2NTIsMTMgKzMxNzAzLDEzIEBACiAJCQkJN0M2NTIyRkIxRTAwQzkwOTAw
Njc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudENvbnRhY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
REY1QUEyMUY3RUUxMTMwMDU4QTQ3NyAvKiBBcHBsZVBheVBheW1lbnRIYW5kbGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3QzY1MjJFRjFFMDBBNEM3MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50
TWV0aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTY4NEQ4MzI2NTM1N0Y4MDAwMjY5MzggLyog
QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaCBpbiBIZWFkZXJzICovLAotCQkJCTk1
OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ1NjFEMTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQ
YXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNkQw
MDYxRkUwOTZGNjAwMTgwNzhDIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExMkM1OUYxMjAzNUZDQkYwMDEyMjM2QiAvKiBBcHBsZVBheVBheW1lbnRN
ZXRob2RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMkY1MUUwMEE1MTcwMDY3N0Yy
MiAvKiBBcHBsZVBheVBheW1lbnRQYXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMDFF
MDA3OUY5MDBFM0EyN0EgLyogQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJOTVFQUQ1NzAyNjZFRjM4NjAwNEI5Q0YxIC8qIEFwcGxlUGF5UGF5bWVudFRpbWluZy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1NzQyNjZFRjM5NDAwNEI5Q0YxIC8qIEFwcGxlUGF5
UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE3RjFG
N0VCRDBCMDA1OEE0NzcgLyogQXBwbGVQYXlSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MURGNUFBRDFGODA3NUYwMDA1OEE0NzcgLyogQXBwbGVQYXlSZXF1ZXN0QmFzZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUE4QTY0NTkxRDE5RkNGQzAwRDBFMDBGIC8qIEFwcGxlUGF5U2Vzc2lvbi5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMTY2OCwxMCArMzE3MTksMTAgQEAKIAkJCQlBMUUwODY2MDI0
ODlEMkJBMDBFNDk2RDkgLyogQXBwbGVQYXlTZXR1cEZlYXR1cmVTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUM1M0RDRTEyNDQ2NURGQzAwQTkzMTI0IC8qIEFwcGxlUGF5U2V0dXBGZWF0dXJl
V2ViQ29yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM1M0RDRUEyNDQ2OEZCNDAwQTkzMTI0IC8q
IEFwcGxlUGF5U2V0dXBXZWJDb3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU3ODI2NkVG
M0E4MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE4QTY0NUMxRDE5RkNGQzAwRDBFMDBGIC8qIEFwcGxlUGF5U2hpcHBp
bmdDb250YWN0U2VsZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjIyMDM1
RkNENjAwMTIyMzZCIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3QzY1NzlFODFFMDA4MzE2MDBFM0EyN0EgLyogQXBwbGVQYXlTaGlwcGluZ01l
dGhvZC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTUxREVERDIyNUUwODQ1QTAwMjBFMUVFIC8qIEFw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ2MDFE
MTlGQ0ZDMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUExMkM1OUYzMjAzNUZDRTIwMDEyMjM2QiAvKiBBcHBsZVBheVNo
aXBwaW5nTWV0aG9kVXBkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ2MzFEMTlGQ0ZD
MDBEMEUwMEYgLyogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMzMyNDQsNiArMzMyOTUsMTEgQEAKIAkJCQk3MTAyNUVERTFGOTlGMUVDMDA0QTI1MEMg
LyogSlNBbmltYXRpb25UaW1lbGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE5NTZGMUMyMzMx
QTY3NzAwNTdFOUQyIC8qIEpTQXBwbGVQYXlDYW5jZWxFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTFERjVBOTkxRjdFQzhDMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlDb250YWN0RmllbGQuaCBp
biBIZWFkZXJzICovLAorCQkJCTk1OTZCOTM4MjVERUVGMDMwMEVEMkNGQSAvKiBKU0FwcGxlUGF5
Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1ODMyNjZF
RjUzQjAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTVFQUQ1ODIyNjZFRjUzOTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU4NzI2NkVGNTZBMDA0QjlDRjEgLyog
SlNBcHBsZVBheURhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU4QjI2
NkVGNTdBMDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk1M0JDRUIyMjVENjI4M0QwMEE0QTJBMSAvKiBKU0FwcGxlUGF5RGV0YWls
c1VwZGF0ZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk1MjdEN0FGMjVENUZFNkMwMEE2RTE3
NiAvKiBKU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
MkM1OUY5MjAzNjBBQ0IwMDEyMjM2QiAvKiBKU0FwcGxlUGF5RXJyb3IuaCBpbiBIZWFkZXJzICov
LApAQCAtMzMyNTQsNyArMzMzMTAsNiBAQAogCQkJCUExM0I2MTc2MjQ3NUUzN0EwMEJCRTZERSAv
KiBKU0FwcGxlUGF5SW5zdGFsbG1lbnRJdGVtVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEz
QjYxNzcyNDc1RTNBMzAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5u
ZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0Fw
cGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLAotCQkJCTk1NkZDNEJCMjVENDlDN0IwMEY3
QjNBMyAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURG
NUE4RTFGN0VDMDAyMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTFGNkQwMTIxRkUwOTlCNDAwMTgwNzhDIC8qIEpTQXBwbGVQYXlN
b2RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTQxRTAwREJCNDAwNjc3RjIyIC8q
IEpTQXBwbGVQYXlQYXltZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMzMjYyLDIwICszMzMxNywy
MSBAQAogCQkJCTFBRTk2QThCMUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMTYxRTAwREJCNTAwNjc3
RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2
NTIzMTgxRTAwREJCNTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk5NTk2QjkzODI1REVFRjAzMDBFRDJDRkEgLyogSlNBcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlVXBkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4RDFEMUEwRERE
MDBCODY3NjggLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMUY2RDAwRjFGRTA5OTk0MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1l
bnRNZXRob2RUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGQzIwMzYwQjI3MDAxMjIz
NkIgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDNjUyMzFBMUUwMERCQjUwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudFBhc3MuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTdDNjU3OUYyMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5
bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFENTk0MjY2RUY1RDQwMDRCOUNG
MSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFE
NThFMjY2RUY1OUMwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTVFQUQ1OTMyNjZFRjVDRDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QThGMUY3RUMwMDIw
MDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVB
QjMxRjgwNzc1MzAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFFOTZBOEYxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlTZXNzaW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMUQ1MDYxNDIzMzFFREQ0MDAxNEVFNEUgLyogSlNBcHBsZVBh
eVNlc3Npb25FcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1OTcyNjZFRjYwQjAwNEI5
Q0YxIC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFFOTZBOTExRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGRDIwMzYwQjNF
MDAxMjIzNkIgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0M2NTc5RjQxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01l
dGhvZC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTUxREVERDYyNUUwODQ5RTAwMjBFMUVFIC8qIEpT
QXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTk2QTkz
MUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGRTIwMzYwQjRBMDAxMjIzNkIgLyogSlNBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1N0QxMzUyQzIy
OTRBQTNEMDA4Mjc0MDEgLyogSlNBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlLmggaW4g
SGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDc4MzM2MDMyYTMyYWY2MTBk
ODI0ZjgyYTkzMzY1MzFjMmJkMDMwN2IuLjlkNDFkNzkyZGYyMmY2YWZhODcwM2Y0ZDYzNjViZWRh
ZDFiMDNlMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMzIsMTggKzMyLDE1IEBACiAj
aW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2VuZGlmCiAKLSNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9FdmVudE5hbWVzQWRk
aXRpb25zLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIWRlZmluZWQo
QURESVRJT05BTF9ET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gpCi0jZGVmaW5lIEFERElUSU9OQUxf
RE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCisjZGVmaW5lIERPTV9FVkVOVF9OQU1FX0FQUExFX1BBWV9DT1VQT05fQ09ERV9D
SEFOR0VEKG1hY3JvKSBtYWNybyhjb3Vwb25jb2RlY2hhbmdlZCkKKyNlbHNlCisjZGVmaW5lIERP
TV9FVkVOVF9OQU1FX0FQUExFX1BBWV9DT1VQT05fQ09ERV9DSEFOR0VEKG1hY3JvKQogI2VuZGlm
CiAKICNkZWZpbmUgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNIKG1hY3JvKSBcCi0gICAgQURESVRJ
T05BTF9ET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gobWFjcm8pIFwKICAgICBtYWNybyhET01BY3Rp
dmF0ZSkgXAogICAgIG1hY3JvKERPTUNoYXJhY3RlckRhdGFNb2RpZmllZCkgXAogICAgIG1hY3Jv
KERPTUNvbnRlbnRMb2FkZWQpIFwKQEAgLTEwMyw2ICsxMDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgbWFjcm8oY29udHJvbGxlcmNoYW5nZSkgXAogICAgIG1hY3JvKGNvb3JkaW5hdG9y
c3RhdGVjaGFuZ2UpIFwKICAgICBtYWNybyhjb3B5KSBcCisgICAgRE9NX0VWRU5UX05BTUVfQVBQ
TEVfUEFZX0NPVVBPTl9DT0RFX0NIQU5HRUQobWFjcm8pIFwKICAgICBtYWNybyhjdWVjaGFuZ2Up
IFwKICAgICBtYWNybyhjdXQpIFwKICAgICBtYWNybyhkYXRhYXZhaWxhYmxlKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCmluZGV4IGNjZTg2ZWJhNTY1MmUwZmZiMmJkMmYzMDFkY2MxYWE1OWJj
YzZlZjUuLjZjN2NlMzEyN2I5N2E1ODg0N2NkMWM3ZDc4NDc0ZmMwODg4YWUwMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmluCkBAIC00NCw2ICs0NCw3IEBAIFdlYktpdFRyYW5zaXRpb25FdmVu
dAogV2hlZWxFdmVudAogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50CiBBcHBsZVBheUNhbmNl
bEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQorQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2
ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERQogQXBwbGVQYXlQYXltZW50QXV0
aG9yaXplZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXBwbGVQYXlQYXltZW50TWV0aG9k
U2VsZWN0ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5U2hpcHBpbmdDb250
YWN0U2VsZWN0ZWRFdmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggODMzNmNiMThiNjdkMmZhODA5M2RlNzkyZGUzZDU1MDVl
NWZlOGQ3MC4uYWI1YzMxNjkzMWVkMjJkMDA5NWIwMzU3ZmUwOTE2YmYxMDY4MDhmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTQxMSw4ICs0MTEsOCBAQCBjbGFz
cyBFbXB0eVBheW1lbnRDb29yZGluYXRvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQgewogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlv
bihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsg
fQogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25h
bDxBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJikgZmluYWwgeyB9CiAgICAgdm9pZCBj
b21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1l
bnRNZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsgfQotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uo
c3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKSBmaW5hbCB7
IH0KKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgY29tcGxldGVD
b3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYm
KSBmaW5hbCB7IH0KICNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihzdGQ6
Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmKSBmaW5hbCB7IH0KICAgICB2
b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCkgZmluYWwgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCAxNWQzOTZlNzY2OTc5
NDk2ZDM3YTFiMWFhZTk5NTk3NGU3ODMwMDIxLi5jMjRjZTQyYzRhYTQ2MjhiNjQ5MjY2MTU2ZTE3
NjQ1NTdhYjQzZWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5jcHAKQEAgLTI4LDkgKzI4LDEwIEBACiAKICNpZiBFTkFCTEUoQVBQTEVf
UEFZKQogCi0jaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oIgorI2lu
Y2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5
bWVudE1ldGhvZFVwZGF0ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oIgog
I2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBw
bGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5oIgogI2luY2x1ZGUgIk1vY2tBcHBsZVBheVNldHVw
RmVhdHVyZS5oIgpAQCAtMTEzLDYgKzExNCwxMyBAQCBib29sIE1vY2tQYXltZW50Q29vcmRpbmF0
b3I6OnNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdAog
I2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogICAgIG1faW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uID0gcmVxdWVzdC5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKS5hcHBsZVBheUlu
c3RhbGxtZW50Q29uZmlndXJhdGlvbigpOwogI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKKyAgICBtX3N1cHBvcnRzQ291cG9uQ29kZSA9IHJlcXVlc3Quc3VwcG9ydHND
b3Vwb25Db2RlKCk7CisgICAgbV9jb3Vwb25Db2RlID0gcmVxdWVzdC5jb3Vwb25Db2RlKCk7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RF
KQorICAgIG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgPSByZXF1ZXN0LnNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlKCk7CisjZW5kaWYKICNpZiBkZWZpbmVkKE1vY2tQYXltZW50Q29vcmRp
bmF0b3JBZGRpdGlvbnNfc2hvd1BheW1lbnRVSSkKICAgICBNb2NrUGF5bWVudENvb3JkaW5hdG9y
QWRkaXRpb25zX3Nob3dQYXltZW50VUkKICNlbmRpZgpAQCAtMTgwLDIzICsxODgsMjMgQEAgdm9p
ZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
c3RkOjpvcHRpb25hbDxBcHBsZVAKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAK
LXZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgcGF5
bWVudE1ldGhvZE1vZGVVcGRhdGUpCit2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBs
ZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZT4mJiBjb3Vwb25Db2RlVXBkYXRlKQogewotICAgIGlmICghcGF5bWVudE1ldGhvZE1vZGVVcGRh
dGUpCisgICAgaWYgKCFjb3Vwb25Db2RlVXBkYXRlKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X3RvdGFsID0gV1RGTW92ZShwYXltZW50TWV0aG9kTW9kZVVwZGF0ZS0+bmV3VG90YWwpOwotICAg
IG1fbGluZUl0ZW1zID0gV1RGTW92ZShwYXltZW50TWV0aG9kTW9kZVVwZGF0ZS0+bmV3TGluZUl0
ZW1zKTsKLSAgICBtX2Vycm9ycyA9IGNvbnZlcnQoV1RGTW92ZShwYXltZW50TWV0aG9kTW9kZVVw
ZGF0ZS0+ZXJyb3JzKSk7Ci0gICAgbV9zaGlwcGluZ01ldGhvZHMgPSBXVEZNb3ZlKHBheW1lbnRN
ZXRob2RNb2RlVXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpOwotI2lmIGRlZmluZWQoTW9ja1Bh
eW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19jb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KQotICAgIE1vY2tQYXltZW50Q29vcmRpbmF0b3JBZGRpdGlvbnNfY29tcGxldGVQYXltZW50TWV0
aG9kTW9kZUNoYW5nZQorICAgIG1fdG90YWwgPSBXVEZNb3ZlKGNvdXBvbkNvZGVVcGRhdGUtPm5l
d1RvdGFsKTsKKyAgICBtX2xpbmVJdGVtcyA9IFdURk1vdmUoY291cG9uQ29kZVVwZGF0ZS0+bmV3
TGluZUl0ZW1zKTsKKyAgICBtX2Vycm9ycyA9IGNvbnZlcnQoV1RGTW92ZShjb3Vwb25Db2RlVXBk
YXRlLT5lcnJvcnMpKTsKKyAgICBtX3NoaXBwaW5nTWV0aG9kcyA9IFdURk1vdmUoY291cG9uQ29k
ZVVwZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKTsKKyNpZiBkZWZpbmVkKE1vY2tQYXltZW50Q29v
cmRpbmF0b3JBZGRpdGlvbnNfY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKQorICAgIE1vY2tQYXlt
ZW50Q29vcmRpbmF0b3JBZGRpdGlvbnNfY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlCiAjZW5kaWYK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNl
bmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIE1vY2tQYXltZW50
Q29vcmRpbmF0b3I6OmNoYW5nZVNoaXBwaW5nT3B0aW9uKFN0cmluZyYmIHNoaXBwaW5nT3B0aW9u
KQogewpAQCAtMjE0LDYgKzIyMiwxNyBAQCB2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNo
YW5nZVBheW1lbnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0aG9kJiYgcGF5bWVudAogICAgIH0p
OwogfQogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKwordm9pZCBNb2NrUGF5
bWVudENvb3JkaW5hdG9yOjpjaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpCit7
CisgICAgZGlzcGF0Y2hJZlNob3dpbmcoW3BhZ2UgPSAmbV9wYWdlLCBjb3Vwb25Db2RlID0gV1RG
TW92ZShjb3Vwb25Db2RlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgcGFnZS0+cGF5bWVudENvb3Jk
aW5hdG9yKCkuZGlkQ2hhbmdlQ291cG9uQ29kZShXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKKyAgICB9
KTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisKIHZvaWQg
TW9ja1BheW1lbnRDb29yZGluYXRvcjo6YWNjZXB0UGF5bWVudCgpCiB7CiAgICAgZGlzcGF0Y2hJ
ZlNob3dpbmcoW3BhZ2UgPSAmbV9wYWdlLCBzaGlwcGluZ0FkZHJlc3MgPSBtX3NoaXBwaW5nQWRk
cmVzc10oKSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmgKaW5kZXggOTI4YWNjNDgzYmU1MzM5MzFmZGExMDZlMDE3NmJiYmRkYzlh
ZWU1NS4uOWZkZjFhOGZiOWJmZDM0NTA2NGY2NjU4NDQ2NDBhNDQyOWU0NzZmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTMwLDYg
KzMwLDcgQEAKICNpbmNsdWRlICJBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNv
cmUuaCIKICNpbmNsdWRlICJBcHBsZVBheUxpbmVJdGVtLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlT
ZXR1cENvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIgogI2luY2x1
ZGUgIk1vY2tQYXltZW50QWRkcmVzcy5oIgogI2luY2x1ZGUgIk1vY2tQYXltZW50Q29udGFjdEZp
ZWxkcy5oIgpAQCAtNTYsNiArNTcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaGlwcGluZ0Fk
ZHJlc3MoTW9ja1BheW1lbnRBZGRyZXNzJiYgc2hpcHBpbmdBZGRyZXNzKSB7IG1fc2hpcHBpbmdB
ZGRyZXNzID0gV1RGTW92ZShzaGlwcGluZ0FkZHJlc3MpOyB9CiAgICAgdm9pZCBjaGFuZ2VTaGlw
cGluZ09wdGlvbihTdHJpbmcmJiBzaGlwcGluZ09wdGlvbik7CiAgICAgdm9pZCBjaGFuZ2VQYXlt
ZW50TWV0aG9kKEFwcGxlUGF5UGF5bWVudE1ldGhvZCYmKTsKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQorICAgIHZvaWQgY2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25D
b2RlKTsKKyNlbmRpZgogICAgIHZvaWQgYWNjZXB0UGF5bWVudCgpOwogICAgIHZvaWQgY2FuY2Vs
UGF5bWVudCgpOwogCkBAIC03Niw2ICs4MCwxNSBAQCBwdWJsaWM6CiAgICAgQXBwbGVQYXlJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24gaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnN0YWxsbWVudENvbmZpZ3VyYXRpb247IH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IHN1cHBvcnRz
Q291cG9uQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydHNDb3Vwb25Db2RlOyB9CisgICAg
Y29uc3QgU3RyaW5nJiBjb3Vwb25Db2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb3Vwb25Db2RlOyB9
CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5H
X01PREUpCisgICAgc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlPiBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGU7IH0KKyNlbmRpZgorCiAgICAgdm9pZCByZWYoKSBjb25zdCB7
IH0KICAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9CiAKQEAgLTg5LDkgKzEwMiw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgZmluYWw7CiAgICAgdm9pZCBjb21w
bGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBp
bmdDb250YWN0VXBkYXRlPiYmKSBmaW5hbDsKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhv
ZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikg
ZmluYWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZv
aWQgY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYpIGZpbmFsOwotI2VuZGlmIC8vIEVOQUJMRShBUFBM
RV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9D
T0RFKQorICAgIHZvaWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmKSBmaW5hbDsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxl
dGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0
PiYmKSBmaW5hbDsKICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKSBmaW5hbDsKICAgICB2
b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCkgZmluYWw7CkBAIC0xMjAsNiArMTMzLDEzIEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX3N1cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXkgeyB0cnVlIH07
CiAjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAgICAgQXBwbGVQYXlJbnN0YWxs
bWVudENvbmZpZ3VyYXRpb24gbV9pbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CisjZW5kaWYKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4g
bV9zdXBwb3J0c0NvdXBvbkNvZGU7CisgICAgU3RyaW5nIG1fY291cG9uQ29kZTsKKyNlbmRpZgor
I2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAg
c3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiBtX3NoaXBw
aW5nQ29udGFjdEVkaXRpbmdNb2RlOwogI2VuZGlmCiAgICAgQXBwbGVQYXlTZXR1cENvbmZpZ3Vy
YXRpb24gbV9zZXR1cENvbmZpZ3VyYXRpb247CiAgICAgVmVjdG9yPFJlZjxBcHBsZVBheVNldHVw
RmVhdHVyZT4+IG1fc2V0dXBGZWF0dXJlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCmluZGV4IDYwZjUxOWZlODVkMWE1Mjc5NWJkOTc0
OTEwNWI2YjdhZjY5NWQ1NzUuLmQyN2QyYjVlOTRlODMzMzY5MmRjNTIzMTEzOTliYTk0ZjEzYTU2
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGlu
YXRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5h
dG9yLmlkbApAQCAtMzIsNiArMzIsNyBAQAogICAgIHVuZGVmaW5lZCBzZXRTaGlwcGluZ0FkZHJl
c3MoTW9ja1BheW1lbnRBZGRyZXNzIHNoaXBwaW5nQWRkcmVzcyk7CiAgICAgdW5kZWZpbmVkIGNo
YW5nZVNoaXBwaW5nT3B0aW9uKERPTVN0cmluZyBzaGlwcGluZ09wdGlvbik7CiAgICAgdW5kZWZp
bmVkIGNoYW5nZVBheW1lbnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0aG9kIHBheW1lbnRNZXRo
b2QpOworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREVdIHVuZGVmaW5lZCBj
aGFuZ2VDb3Vwb25Db2RlKERPTVN0cmluZyBjb3Vwb25Db2RlKTsKICAgICB1bmRlZmluZWQgYWNj
ZXB0UGF5bWVudCgpOwogICAgIHVuZGVmaW5lZCBjYW5jZWxQYXltZW50KCk7CiAKQEAgLTQ5LDQg
KzUwLDkgQEAKICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBzdXBwb3J0c1VucmVzdHJpY3RlZEFwcGxl
UGF5OwogCiAgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9JTlNUQUxMTUVOVFNdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENv
bmZpZ3VyYXRpb247CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9DT0RFXSBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbj8gc3VwcG9ydHNDb3Vwb25Db2RlOworICAgIFtDb25k
aXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmc/IGNvdXBvbkNvZGU7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1NISVBQSU5HX0NP
TlRBQ1RfRURJVElOR19NT0RFXSByZWFkb25seSBhdHRyaWJ1dGUgQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZT8gc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblBy
ZXNlbnRlci5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXph
dGlvblByZXNlbnRlci5oCmluZGV4IDIyYzZiNjU2Y2NhYmIxZjc3ZWE5NzNmNTQ3NDhjYWE2ZjZh
Yzc4NTcuLjJlZmNiMjAwZTgwNDU2N2JlNTMyMDkyMGI3MWIzYzU2ZjZiMjAwNjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVz
ZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyLmgKQEAgLTQyLDkgKzQyLDcgQEAgY2xhc3MgUGF5bWVudENvbnRhY3Q7
CiBjbGFzcyBQYXltZW50TWVyY2hhbnRTZXNzaW9uOwogY2xhc3MgUGF5bWVudE1ldGhvZDsKIGNs
YXNzIFBheW1lbnRTZXNzaW9uRXJyb3I7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQotc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU7Ci0jZW5k
aWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorc3RydWN0IEFwcGxl
UGF5Q291cG9uQ29kZVVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU7
CiBzdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlT
aGlwcGluZ01ldGhvZDsKQEAgLTY1LDkgKzYzLDkgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0UGF5bWVudE1ldGhvZChQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoUGF5bWVudEF1
dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQYXltZW50Q29udGFjdCYpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9k
KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlT
aGlwcGluZ01ldGhvZCYpID0gMDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9E
X01PREUpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRDaGFuZ2VQYXltZW50TWV0
aG9kTW9kZShQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFN0cmluZyYgcGF5
bWVudE1ldGhvZE1vZGUpID0gMDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorICAgICAgICB2aXJ0
dWFsIHZvaWQgcHJlc2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZShQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlciYsIGNvbnN0IFN0cmluZyYgY291cG9uQ29kZSkgPSAwOworI2VuZGlmCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJXaWxsVmFsaWRhdGVNZXJjaGFudChQYXltZW50QXV0
aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFVSTCYpID0gMDsKICAgICB9OwogCkBAIC04MCw5
ICs3OCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsKICAg
ICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpOwogICAgIHZvaWQgY29tcGxl
dGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5
U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKTsK
LSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgSEFW
RShQQVNTS0lUX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdl
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmKTsKKyNl
bmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3MoKSA9IDA7CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVu
dEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29h
L1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCmluZGV4IDA0NTQxZmYzNTE4OTVhYThh
Nzk5ZjNmNGU4ZDlhM2U4MjBiZmMwZGUuLjEyNTkwZjY4ZmJhMjVmMTljNjcxZTZlY2FkZjg5NzI1
MTY2NDE5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVu
dEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9j
b2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQpAQCAtMzAsMTEgKzMwLDExIEBA
CiAKICNpbXBvcnQgIldLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oIgogI2ltcG9ydCAi
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oIgorI2ltcG9ydCA8V2ViQ29yZS9BcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlEZXRhaWxz
VXBkYXRlRGF0YS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheUVycm9yLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0FwcGxlUGF5RXJyb3JDb2RlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5
RXJyb3JDb250YWN0RmllbGQuaD4KLSNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0
aG9kTW9kZVVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RV
cGRhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5oPgpAQCAt
ODYsMTcgKzg2LDMzIEBAIHN0YXRpYyBQS1BheW1lbnRFcnJvckNvZGUgdG9QS1BheW1lbnRFcnJv
ckNvZGUoV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGUgY29kZSkKIHsKICAgICBzd2l0Y2ggKGNv
ZGUpIHsKICAgICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpVbmtub3duOgotICAg
ICAgICByZXR1cm4gUEtQYXltZW50VW5rbm93bkVycm9yOworICAgICAgICBicmVhazsKKwogICAg
IGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OlNoaXBwaW5nQ29udGFjdEludmFsaWQ6
CiAgICAgICAgIHJldHVybiBQS1BheW1lbnRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3I7CisK
ICAgICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpCaWxsaW5nQ29udGFjdEludmFs
aWQ6CiAgICAgICAgIHJldHVybiBQS1BheW1lbnRCaWxsaW5nQ29udGFjdEludmFsaWRFcnJvcjsK
KwogICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OkFkZHJlc3NVbnNlcnZpY2Vh
YmxlOgogICAgICAgICByZXR1cm4gUEtQYXltZW50U2hpcHBpbmdBZGRyZXNzVW5zZXJ2aWNlYWJs
ZUVycm9yOwotI2lmIGRlZmluZWQoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXJBZGRpdGlv
bnNfdG9QS1BheW1lbnRFcnJvckNvZGUpCi0gICAgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXJBZGRpdGlvbnNfdG9QS1BheW1lbnRFcnJvckNvZGUKKworICAgIGNhc2UgV2ViQ29yZTo6QXBw
bGVQYXlFcnJvckNvZGU6OkNvdXBvbkNvZGVJbnZhbGlkOgorI2lmIEhBVkUoUEFTU0tJVF9DT1VQ
T05fQ09ERSkKKyAgICAgICAgcmV0dXJuIFBLUGF5bWVudENvdXBvbkNvZGVJbnZhbGlkRXJyb3I7
CisjZWxzZQorICAgICAgICBicmVhazsKKyNlbmRpZgorCisgICAgY2FzZSBXZWJDb3JlOjpBcHBs
ZVBheUVycm9yQ29kZTo6Q291cG9uQ29kZUV4cGlyZWQ6CisjaWYgSEFWRShQQVNTS0lUX0NPVVBP
Tl9DT0RFKQorICAgICAgICByZXR1cm4gUEtQYXltZW50Q291cG9uQ29kZUV4cGlyZWRFcnJvcjsK
KyNlbHNlCisgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgfQorCisgICAgcmV0dXJuIFBLUGF5
bWVudFVua25vd25FcnJvcjsKIH0KIAogc3RhdGljIE5TRXJyb3IgKnRvTlNFcnJvcihjb25zdCBX
ZWJDb3JlOjpBcHBsZVBheUVycm9yJiBlcnJvcikKQEAgLTI1NiwyMyArMjcyLDI0IEBAIHZvaWQg
UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24oc3RkOjpvcHRpb25hCiAgICAgW3BsYXRmb3JtRGVsZWdhdGUoKSBjb21wbGV0ZVNoaXBw
aW5nTWV0aG9kU2VsZWN0aW9uOnNoaXBwaW5nTWV0aG9kVXBkYXRlLmdldCgpXTsKIH0KIAotI2lm
IEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBIQVZFKFBBU1NLSVRf
Q09VUE9OX0NPREUpCiAKLXZvaWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBs
ZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmIHVwZGF0ZSkKK3ZvaWQgUGF5bWVudEF1dGhvcml6
YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7CiAgICAgQVNTRVJU
KHBsYXRmb3JtRGVsZWdhdGUoKSk7CiAgICAgaWYgKCF1cGRhdGUpIHsKLSAgICAgICAgW3BsYXRm
b3JtRGVsZWdhdGUoKSBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlOm5pbF07CisgICAg
ICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlOm5pbF07CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSNpZiBkZWZpbmVkKFBheW1lbnRBdXRob3JpemF0aW9u
UHJlc2VudGVyQWRkaXRpb25zX2NvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UpCi0gICAg
UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXJBZGRpdGlvbnNfY29tcGxldGVQYXltZW50TWV0
aG9kTW9kZUNoYW5nZQorICAgIGF1dG8gY291cG9uQ29kZVVwZGF0ZSA9IGFkb3B0TlMoW1BBTDo6
YWxsb2NQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhF
cnJvcnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVwZGF0ZS0+ZXJyb3JzKSkuZ2V0KCkgcGF5bWVudFN1
bW1hcnlJdGVtczpXZWJDb3JlOjpwbGF0Zm9ybVN1bW1hcnlJdGVtcyhXVEZNb3ZlKHVwZGF0ZS0+
bmV3VG90YWwpLCBXVEZNb3ZlKHVwZGF0ZS0+bmV3TGluZUl0ZW1zKSkgc2hpcHBpbmdNZXRob2Rz
OnRvUEtTaGlwcGluZ01ldGhvZHMoV1RGTW92ZSh1cGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcykp
LmdldCgpXSk7CisjaWYgZGVmaW5lZChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlckFkZGl0
aW9uc19jb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpCisgICAgUGF5bWVudEF1dGhvcml6YXRpb25Q
cmVzZW50ZXJBZGRpdGlvbnNfY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlCiAjZW5kaWYKLSAgICBb
cGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2U6cGF5bWVu
dE1ldGhvZE1vZGVVcGRhdGUuZ2V0KCldOworICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxl
dGVDb3Vwb25Db2RlQ2hhbmdlOmNvdXBvbkNvZGVVcGRhdGUuZ2V0KCldOwogfQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEhBVkUo
UEFTU0tJVF9DT1VQT05fQ09ERSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3
Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlci5tbQppbmRleCA5NzhlOTE0NmZmNTEwYjY4OGJjNDBiNzRj
NzZhNzk2ZDQ5NDc1ODhkLi41ZTcyNTAxMmQwMzQwZDAyZDIyZTA5OWQ5ZTg5NWZlOTBkODNkYzM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3Jp
emF0aW9uVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tCkBAIC0zMSwxMCArMzEsNiBA
QAogI2ltcG9ydCAiV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgiCiAjaW1wb3J0IDxw
YWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250
cm9sbGVyQWRkaXRpb25zLm1tPgotI2VuZGlmCi0KIEBpbnRlcmZhY2UgV0tQYXltZW50QXV0aG9y
aXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUgOiBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVs
ZWdhdGUgPFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlLCBQS1Bh
eW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJQcml2YXRlRGVsZWdhdGU+CiAKIC0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aFJlcXVlc3Q6KFBLUGF5bWVudFJlcXVlc3QgKilyZXF1ZXN0IHBy
ZXNlbnRlcjooV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYpcHJlc2VudGVy
OwpAQCAtODMsOSArNzksMTQgQEAgLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250
cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIKICAgICBbc2VsZiBf
ZGlkU2VsZWN0UGF5bWVudE1ldGhvZDpwYXltZW50TWV0aG9kIGNvbXBsZXRpb246Y29tcGxldGlv
bl07CiB9CiAKLSNpZiBkZWZpbmVkKFBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJB
ZGRpdGlvbnNfUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUpCi1Q
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyQWRkaXRpb25zX1BLUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NLSVRf
Q09VUE9OX0NPREUpCisKKy0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxl
cjooUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBkaWRD
aGFuZ2VDb3Vwb25Db2RlOihOU1N0cmluZyAqKWNvdXBvbkNvZGUgaGFuZGxlcjoodm9pZCAoXiko
UEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGUgKnVwZGF0ZSkpY29tcGxldGlvbgorewor
ICAgIFtzZWxmIF9kaWRDaGFuZ2VDb3Vwb25Db2RlOmNvdXBvbkNvZGUgY29tcGxldGlvbjpjb21w
bGV0aW9uXTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKIAogI3By
YWdtYSBtYXJrIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlUHJp
dmF0ZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9X
S1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaAppbmRleCA1NDQ4ZGRiYWI0MDQxZTI4ZTU0
NTVlN2MzNTZlOWNjOTY2MTUzODM2Li42NmJmNzBlMTMxN2YyZDM5MjExMzgzYjdmYTUxY2Y2ZTIx
NjkzODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVu
dEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKQEAgLTMzLDEwICszMyw2IEBAIE9C
SkNfQ0xBU1MgTlNBcnJheTsKIE9CSkNfQ0xBU1MgTlNFcnJvcjsKIE9CSkNfQ0xBU1MgVUlWaWV3
Q29udHJvbGxlcjsKIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9ucy5oPgot
I2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlcjsKQEAgLTQ3LDYgKzQzLDkgQEAgdXNpbmcgRGlkQXV0aG9yaXplUGF5bWVudENv
bXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQKIHVz
aW5nIERpZFNlbGVjdFBheW1lbnRNZXRob2RDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQS1Bh
eW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZSAqKT47CiB1c2luZyBEaWRTZWxlY3RTaGlw
cGluZ0NvbnRhY3RDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQS1BheW1lbnRSZXF1ZXN0U2hp
cHBpbmdDb250YWN0VXBkYXRlICopPjsKIHVzaW5nIERpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29t
cGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9kVXBk
YXRlICopPjsKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCit1c2luZyBEaWRDaGFuZ2VD
b3Vwb25Db2RlQ29tcGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50UmVxdWVzdENvdXBv
bkNvZGVVcGRhdGUgKik+OworI2VuZGlmCiAKIH0KIApAQCAtNjEsOCArNjAsOCBAQCB1c2luZyBE
aWRTZWxlY3RTaGlwcGluZ01ldGhvZENvbXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVu
dFJlcXVlc3RTaGlwcGluZwogLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNzaW9uOihQS1BheW1l
bnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8TlNFcnJvciAqPiAq
KWVycm9yczsKIC0gKHZvaWQpY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb246KFBLUGF5
bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUgKilzaGlwcGluZ0NvbnRhY3RVcGRhdGU7
CiAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVl
c3RTaGlwcGluZ01ldGhvZFVwZGF0ZSAqKXNoaXBwaW5nTWV0aG9kVXBkYXRlOwotI2lmIGRlZmlu
ZWQoV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ludGVyZmFjZV9wdWJs
aWMpCi1XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW50ZXJmYWNlX3B1
YmxpYworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKy0gKHZvaWQpY29tcGxldGVDb3Vw
b25Db2RlQ2hhbmdlOihQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqKWNvdXBvbkNv
ZGVVcGRhdGU7CiAjZW5kaWYKIC0gKHZvaWQpaW52YWxpZGF0ZTsKIApAQCAtNzksOCArNzgsOCBA
QCBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW50ZXJmYWNlX3B1Ymxp
YwogLSAodm9pZClfZGlkU2VsZWN0UGF5bWVudE1ldGhvZDooUEtQYXltZW50TWV0aG9kICopcGF5
bWVudE1ldGhvZCBjb21wbGV0aW9uOihXZWJLaXQ6OkRpZFNlbGVjdFBheW1lbnRNZXRob2RDb21w
bGV0aW9uOjpCbG9ja1R5cGUpY29tcGxldGlvbjsKIC0gKHZvaWQpX2RpZFNlbGVjdFNoaXBwaW5n
Q29udGFjdDooUEtDb250YWN0ICopY29udGFjdCBjb21wbGV0aW9uOihXZWJLaXQ6OkRpZFNlbGVj
dFNoaXBwaW5nQ29udGFjdENvbXBsZXRpb246OkJsb2NrVHlwZSljb21wbGV0aW9uOwogLSAodm9p
ZClfZGlkU2VsZWN0U2hpcHBpbmdNZXRob2Q6KFBLU2hpcHBpbmdNZXRob2QgKilzaGlwcGluZ01l
dGhvZCBjb21wbGV0aW9uOihXZWJLaXQ6OkRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxldGlv
bjo6QmxvY2tUeXBlKWNvbXBsZXRpb247Ci0jaWYgZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0
aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW50ZXJmYWNlX3Byb3RlY3RlZCkKLVdLUGF5bWVudEF1dGhv
cml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbnRlcmZhY2VfcHJvdGVjdGVkCisjaWYgSEFWRShQ
QVNTS0lUX0NPVVBPTl9DT0RFKQorLSAodm9pZClfZGlkQ2hhbmdlQ291cG9uQ29kZTooTlNTdHJp
bmcgKiljb3Vwb25Db2RlIGNvbXBsZXRpb246KFdlYktpdDo6RGlkQ2hhbmdlQ291cG9uQ29kZUNv
bXBsZXRpb246OkJsb2NrVHlwZSljb21wbGV0aW9uOwogI2VuZGlmCiAtICh2b2lkKV9nZXRQYXlt
ZW50U2VydmljZXNNZXJjaGFudFVSTDoodm9pZCheKShOU1VSTCAqLCBOU0Vycm9yICopKWNvbXBs
ZXRpb247CiAtICh2b2lkKV93aWxsRmluaXNoV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3I7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6
YXRpb25EZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tCmluZGV4IDA4MzcxYjY1ZjIyYjk5MTgzODBhODYzZDVk
ZjM4YWZhMmZkNzRlM2UuLjU4ZGRjMDg2M2VhZTdmNDUxNzczZmMwODUwODAzOGIwZmQ0ODBkMDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9y
aXphdGlvbkRlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQ
YXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tCkBAIC0zMywxMCArMzMsNiBAQAogI2ltcG9y
dCA8V2ViQ29yZS9QYXltZW50TWV0aG9kLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BheW1lbnRTZXNz
aW9uRXJyb3IuaD4KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2Vi
S2l0QWRkaXRpb25zL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9ucy5tbT4K
LSNlbmRpZgotCiBAaW1wbGVtZW50YXRpb24gV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
IHsKICAgICBSZXRhaW5QdHI8TlNBcnJheTxQS1BheW1lbnRTdW1tYXJ5SXRlbSAqPj4gX3N1bW1h
cnlJdGVtczsKICAgICBSZXRhaW5QdHI8TlNBcnJheTxQS1NoaXBwaW5nTWV0aG9kICo+PiBfc2hp
cHBpbmdNZXRob2RzOwpAQCAtNDcsOCArNDMsOCBAQCBAaW1wbGVtZW50YXRpb24gV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIHsKICAgICBXZWJLaXQ6OkRpZFNlbGVjdFBheW1lbnRNZXRo
b2RDb21wbGV0aW9uIF9kaWRTZWxlY3RQYXltZW50TWV0aG9kQ29tcGxldGlvbjsKICAgICBXZWJL
aXQ6OkRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdENvbXBsZXRpb24gX2RpZFNlbGVjdFNoaXBwaW5n
Q29udGFjdENvbXBsZXRpb247CiAgICAgV2ViS2l0OjpEaWRTZWxlY3RTaGlwcGluZ01ldGhvZENv
bXBsZXRpb24gX2RpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxldGlvbjsKLSNpZiBkZWZpbmVk
KFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbXBsZW1lbnRhdGlvbl9t
ZW1iZXJzKQotICAgIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbXBs
ZW1lbnRhdGlvbl9tZW1iZXJzCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorICAgIFdl
YktpdDo6RGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb24gX2RpZENoYW5nZUNvdXBvbkNvZGVD
b21wbGV0aW9uOwogI2VuZGlmCiB9CiAKQEAgLTk0LDkgKzkwLDE3IEBAIC0gKHZvaWQpY29tcGxl
dGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9k
VXBkYXRlICopCiAgICAgc3RkOjpleGNoYW5nZShfZGlkU2VsZWN0U2hpcHBpbmdNZXRob2RDb21w
bGV0aW9uLCBuaWwpKHVwZGF0ZS5nZXQoKSk7CiB9CiAKLSNpZiBkZWZpbmVkKFdLUGF5bWVudEF1
dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbXBsZW1lbnRhdGlvbl9wdWJsaWMpCi0gICAg
V0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX3B1
YmxpYwotI2VuZGlmCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorCistICh2b2lkKWNv
bXBsZXRlQ291cG9uQ29kZUNoYW5nZTooUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGUg
Kiljb3Vwb25Db2RlVXBkYXRlCit7CisgICAgUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRh
dGUgKnVwZGF0ZSA9IGNvdXBvbkNvZGVVcGRhdGUgPzogYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5
bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlSW5zdGFuY2UoKSBpbml0V2l0aEVycm9yczpAW10g
cGF5bWVudFN1bW1hcnlJdGVtczpfc3VtbWFyeUl0ZW1zLmdldCgpIHNoaXBwaW5nTWV0aG9kczpf
c2hpcHBpbmdNZXRob2RzLmdldCgpXSkuYXV0b3JlbGVhc2UoKTsKKyAgICBfc3VtbWFyeUl0ZW1z
ID0gYWRvcHROUyhbdXBkYXRlLnBheW1lbnRTdW1tYXJ5SXRlbXMgY29weV0pOworICAgIF9zaGlw
cGluZ01ldGhvZHMgPSBhZG9wdE5TKFt1cGRhdGUuc2hpcHBpbmdNZXRob2RzIGNvcHldKTsKKyAg
ICBzdGQ6OmV4Y2hhbmdlKF9kaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbiwgbmlsKSh1cGRh
dGUpOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQogCiAtICh2b2lk
KWludmFsaWRhdGUKIHsKQEAgLTE4NSw2ICsxODksMzIgQEAgLSAodm9pZClfZGlkU2VsZWN0U2hp
cHBpbmdDb250YWN0OihQS0NvbnRhY3QgKiljb250YWN0IGNvbXBsZXRpb246KFdlYktpdDo6RGlk
U2UKICAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nQ29u
dGFjdCgqcHJlc2VudGVyLCBXZWJDb3JlOjpQYXltZW50Q29udGFjdChjb250YWN0KSk7CiB9CiAK
KyNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkK
Kworc3RhdGljIFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgdG9EYXRlQ29tcG9uZW50
cyhOU0RhdGVDb21wb25lbnRzICpkYXRlQ29tcG9uZW50cykKK3sKKyAgICBBU1NFUlQoZGF0ZUNv
bXBvbmVudHMpOworCisgICAgV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50cyByZXN1bHQ7
CisgICAgcmVzdWx0LnllYXJzID0gZGF0ZUNvbXBvbmVudHMueWVhcjsKKyAgICByZXN1bHQubW9u
dGhzID0gZGF0ZUNvbXBvbmVudHMubW9udGg7CisgICAgcmVzdWx0LmRheXMgPSBkYXRlQ29tcG9u
ZW50cy5kYXk7CisgICAgcmVzdWx0LmhvdXJzID0gZGF0ZUNvbXBvbmVudHMuaG91cjsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50
c1JhbmdlIHRvRGF0ZUNvbXBvbmVudHNSYW5nZShQS0RhdGVDb21wb25lbnRzUmFuZ2UgKmRhdGVD
b21wb25lbnRzUmFuZ2UpCit7CisgICAgQVNTRVJUKGRhdGVDb21wb25lbnRzUmFuZ2UpOworCisg
ICAgV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlIHJlc3VsdDsKKyAgICByZXN1
bHQuc3RhcnREYXRlQ29tcG9uZW50cyA9IHRvRGF0ZUNvbXBvbmVudHMoZGF0ZUNvbXBvbmVudHNS
YW5nZS5zdGFydERhdGVDb21wb25lbnRzKTsKKyAgICByZXN1bHQuZW5kRGF0ZUNvbXBvbmVudHMg
PSB0b0RhdGVDb21wb25lbnRzKGRhdGVDb21wb25lbnRzUmFuZ2UuZW5kRGF0ZUNvbXBvbmVudHMp
OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKwogc3RhdGljIFdlYkNvcmU6OkFwcGxl
UGF5U2hpcHBpbmdNZXRob2QgdG9TaGlwcGluZ01ldGhvZChQS1NoaXBwaW5nTWV0aG9kICpzaGlw
cGluZ01ldGhvZCkKIHsKICAgICBBU1NFUlQoc2hpcHBpbmdNZXRob2QpOwpAQCAtMTk0LDggKzIy
NCw5IEBAIHN0YXRpYyBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kIHRvU2hpcHBpbmdN
ZXRob2QoUEtTaGlwcGluZ01ldGhvZCAqc2hpcHBpCiAgICAgcmVzdWx0LmRldGFpbCA9IHNoaXBw
aW5nTWV0aG9kLmRldGFpbDsKICAgICByZXN1bHQuaWRlbnRpZmllciA9IHNoaXBwaW5nTWV0aG9k
LmlkZW50aWZpZXI7CiAgICAgcmVzdWx0LmxhYmVsID0gc2hpcHBpbmdNZXRob2QubGFiZWw7Ci0j
aWYgZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfdG9TaGlw
cGluZ01ldGhvZCkKLSAgICBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNf
dG9TaGlwcGluZ01ldGhvZAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFKQorICAgIGlmIChzaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1Jh
bmdlKQorICAgICAgICByZXN1bHQuZGF0ZUNvbXBvbmVudHNSYW5nZSA9IHRvRGF0ZUNvbXBvbmVu
dHNSYW5nZShzaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlKTsKICNlbmRpZgogICAg
IHJldHVybiByZXN1bHQ7CiB9CkBAIC0yMTIsOSArMjQzLDIxIEBAIC0gKHZvaWQpX2RpZFNlbGVj
dFNoaXBwaW5nTWV0aG9kOihQS1NoaXBwaW5nTWV0aG9kICopc2hpcHBpbmdNZXRob2QgY29tcGxl
dGlvbjooCiAgICAgcHJlc2VudGVyLT5jbGllbnQoKS5wcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGlu
Z01ldGhvZCgqcHJlc2VudGVyLCB0b1NoaXBwaW5nTWV0aG9kKHNoaXBwaW5nTWV0aG9kKSk7CiB9
CiAKLSNpZiBkZWZpbmVkKFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19p
bXBsZW1lbnRhdGlvbl9wcm90ZWN0ZWQpCi0gICAgV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVn
YXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX3Byb3RlY3RlZAotI2VuZGlmCisjaWYgSEFWRShQ
QVNTS0lUX0NPVVBPTl9DT0RFKQorCistICh2b2lkKV9kaWRDaGFuZ2VDb3Vwb25Db2RlOihOU1N0
cmluZyAqKWNvdXBvbkNvZGUgY29tcGxldGlvbjoodm9pZCAoXikoUEtQYXltZW50UmVxdWVzdENv
dXBvbkNvZGVVcGRhdGUgKnVwZGF0ZSkpY29tcGxldGlvbgoreworICAgIEFTU0VSVCghX2RpZENo
YW5nZUNvdXBvbkNvZGVDb21wbGV0aW9uKTsKKyAgICBfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBs
ZXRpb24gPSBjb21wbGV0aW9uOworCisgICAgYXV0byBwcmVzZW50ZXIgPSBfcHJlc2VudGVyLmdl
dCgpOworICAgIGlmICghcHJlc2VudGVyKQorICAgICAgICByZXR1cm4gW3NlbGYgY29tcGxldGVD
b3Vwb25Db2RlQ2hhbmdlOm5pbF07CisKKyAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRl
ckRpZENoYW5nZUNvdXBvbkNvZGUoKnByZXNlbnRlciwgY291cG9uQ29kZSk7Cit9CisKKyNlbmRp
ZiAvLyBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCiAKIC0gKHZvaWQpIE5PX1JFVFVSTl9EVUVf
VE9fQVNTRVJUIF9nZXRQYXltZW50U2VydmljZXNNZXJjaGFudFVSTDoodm9pZCheKShOU1VSTCAq
LCBOU0Vycm9yICopKWNvbXBsZXRpb24KIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlci5tbQppbmRleCA5
MGQzZWViYzkzN2JmNjk2NmYyY2I3ZjgzMjhhY2YwYTllMDQyMWMyLi5kZjk5Nzc1NTg1MzFhYTE1
NzljMGQ5NGFhZGMxMTMxZDMxZTc2OTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2lvcy9QYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyLm1tCkBAIC0z
MiwxMCArMzIsNiBAQAogI2ltcG9ydCA8cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgogI2lt
cG9ydCA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9QYXltZW50QXV0aG9yaXphdGlvbkNvbnRy
b2xsZXJBZGRpdGlvbnMubW0+Ci0jZW5kaWYKLQogQGludGVyZmFjZSBXS1BheW1lbnRBdXRob3Jp
emF0aW9uQ29udHJvbGxlckRlbGVnYXRlIDogV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRl
IDxQS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlckRlbGVnYXRlLCBQS1BheW1lbnRBdXRo
b3JpemF0aW9uQ29udHJvbGxlclByaXZhdGVEZWxlZ2F0ZT4KIAogLSAoaW5zdGFuY2V0eXBlKWlu
aXRXaXRoUmVxdWVzdDooUEtQYXltZW50UmVxdWVzdCAqKXJlcXVlc3QgcHJlc2VudGVyOihXZWJL
aXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJilwcmVzZW50ZXI7CkBAIC04OCw5ICs4
NCwxNCBAQCAtICh2b2lkKXBheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlcjooUEtQYXltZW50
QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIgKiljb250cgogICAgIFtzZWxmIF9kaWRTZWxlY3RQYXlt
ZW50TWV0aG9kOnBheW1lbnRNZXRob2QgY29tcGxldGlvbjpjb21wbGV0aW9uXTsKIH0KIAotI2lm
IGRlZmluZWQoUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyQWRkaXRpb25zX1BLUGF5bWVu
dEF1dGhvcml6YXRpb25Db250cm9sbGVyRGVsZWdhdGUpCi1QYXltZW50QXV0aG9yaXphdGlvbkNv
bnRyb2xsZXJBZGRpdGlvbnNfUEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXJEZWxlZ2F0
ZQotI2VuZGlmCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorCistICh2b2lkKXBheW1l
bnRBdXRob3JpemF0aW9uQ29udHJvbGxlcjooUEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xs
ZXIgKiljb250cm9sbGVyIGRpZENoYW5nZUNvdXBvbkNvZGU6KE5TU3RyaW5nICopY291cG9uQ29k
ZSBoYW5kbGVyOih2b2lkICheKShQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqdXBk
YXRlKSljb21wbGV0aW9uCit7CisgICAgW3NlbGYgX2RpZENoYW5nZUNvdXBvbkNvZGU6Y291cG9u
Q29kZSBjb21wbGV0aW9uOmNvbXBsZXRpb25dOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lU
X0NPVVBPTl9DT0RFKQogCiAjcHJhZ21hIG1hcmsgUEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRy
b2xsZXJQcml2YXRlRGVsZWdhdGUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
QXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IDY5Yjcw
OGQ2Mjk1YmEwYWZkZGQ2MDgwZjMwNzZmOTIzNDc3ZjE2NDIuLmVhNDg2ZDMwYmViODEyOTZhNjY4
NTgxOTMzMGViZDMxMGFhMzUyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTMzLDcg
KzMzLDcgQEAKICNpbmNsdWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJX
ZWJQcm9jZXNzUHJveHkuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5oPgpAQCAtMTY4LDIxICsx
NjgsMjEgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50
TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2UKICAgICBtX3N0YXRlID0gU3RhdGU6OkFj
dGl2ZTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJiB1cGRhdGUpCit2b2lk
IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYgdXBkYXRlKQog
ewogICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgcGF5bWVudCBoYXMgYmVlbiBjYW5jZWxl
ZCBhbHJlYWR5LgogICAgIGlmIChtX3N0YXRlID09IFN0YXRlOjpJZGxlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBNRVNTQUdFX0NIRUNLKG1fc3RhdGUgPT0gU3RhdGU6OlBheW1lbnRNZXRob2RN
b2RlQ2hhbmdlZCk7CisgICAgTUVTU0FHRV9DSEVDSyhtX3N0YXRlID09IFN0YXRlOjpDb3Vwb25D
b2RlQ2hhbmdlZCk7CiAKLSAgICBwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2UoV1RGTW92ZSh1cGRhdGUpKTsKKyAgICBwbGF0Zm9ybUNvbXBsZXRlQ291cG9uQ29kZUNoYW5n
ZShXVEZNb3ZlKHVwZGF0ZSkpOwogICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwogfQogCi0j
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mIHJlc3VsdCkKIHsKQEAgLTI0NiwxNyAr
MjQ2LDE3IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnByZXNlbnRlckRpZFNl
bGVjdFNoaXBwaW5nTWV0aG9kKFBheW1lbnRBdXRob3JpCiAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGF5bWVudENvb3JkaW5hdG9yOjpEaWRTZWxlY3RTaGlwcGluZ01ldGhvZChzaGlwcGluZ01ldGhv
ZCkpOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lm
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHk6OnByZXNlbnRlckRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFBheW1lbnRBdXRo
b3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgU3RyaW5nJiBwYXltZW50TWV0aG9kTW9kZSkKK3Zv
aWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnByZXNlbnRlckRpZENoYW5nZUNvdXBvbkNv
ZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBTdHJpbmcmIGNvdXBvbkNv
ZGUpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gU3RhdGU6OkFjdGl2ZSk7CiAKLSAgICBtX3N0
YXRlID0gU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDsKLSAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OkRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKHBheW1l
bnRNZXRob2RNb2RlKSk7CisgICAgbV9zdGF0ZSA9IFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDsK
KyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OkRpZENoYW5nZUNvdXBv
bkNvZGUoY291cG9uQ29kZSkpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUp
CiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnByZXNlbnRlckRpZFNlbGVjdFNo
aXBwaW5nQ29udGFjdChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNv
cmU6OlBheW1lbnRDb250YWN0JiBzaGlwcGluZ0NvbnRhY3QpCiB7CkBAIC0yODcsOSArMjg3LDkg
QEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQmVnaW4oKSBjb25zdAogICAg
IGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVj
dGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNl
IFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NP
REUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIH0KQEAgLTMwMyw5ICszMDMsOSBAQCBib29sIFdlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpjYW5DYW5jZWwoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNo
aXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50
TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBT
dGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
ICAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgpAQCAtMzI3LDkgKzMyNyw5IEBAIGJvb2wgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAg
Y2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0
ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2Ug
U3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09E
RSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogfQpAQCAtMzQzLDkgKzM0Myw5IEBAIGJvb2wgV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OmNhbkFib3J0KCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlw
cGluZ01ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVj
dGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1l
dGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3Rh
dGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAg
ICAgY2FzZSBTdGF0ZTo6Q29tcGxldGluZzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCmluZGV4IGFiN2Ri
OGZiYzhlM2M0MWIzMTM0Y2MxZDFkMmE3Mjg0NjY4NDBkODEuLmY0ZTI3ZmZlYTg0OWJiYmJjNjkz
NmM5ZjQ0ZTk0MWIwYmI3ZGZkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaApAQCAtNTEsOSArNTEs
NyBAQCBjbGFzcyBQYXltZW50OwogY2xhc3MgUGF5bWVudENvbnRhY3Q7CiBjbGFzcyBQYXltZW50
TWVyY2hhbnRTZXNzaW9uOwogY2xhc3MgUGF5bWVudE1ldGhvZDsKLSNpZiBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi1zdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9k
ZVVwZGF0ZTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIHN0
cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOwpAQCAtMTIwLDkgKzExOCw5IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RQYXltZW50TWV0aG9kKFBheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudE1ldGhvZCYpIGZpbmFsOwog
ICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KFBheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudENvbnRhY3QmKSBmaW5hbDsK
ICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKFBheW1lbnRBdXRob3Jp
emF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCYp
IGZpbmFsOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2
b2lkIHByZXNlbnRlckRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyJiwgY29uc3QgU3RyaW5nJiBwYXltZW50TWV0aG9kTW9kZSkgZmluYWw7Ci0j
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJM
RShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBwcmVzZW50ZXJEaWRDaGFuZ2VDb3Vw
b25Db2RlKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgU3RyaW5nJiBjb3Vw
b25Db2RlKSBmaW5hbDsKKyNlbmRpZgogICAgIHZvaWQgcHJlc2VudGVyV2lsbFZhbGlkYXRlTWVy
Y2hhbnQoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBVUkwmKSBmaW5hbDsK
IAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMKQEAgLTEzNCw5ICsxMzIsOSBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpOwogICAgIHZvaWQgY29tcGxl
dGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJik7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRo
b2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RV
cGRhdGU+JiYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAg
ICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKTsKLSNlbmRpZiAvLyBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKKyAgICB2b2lkIGNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJik7CisjZW5kaWYKICAgICB2
b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQ
YXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsKICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Np
b24oKTsKICAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCk7CkBAIC0xNjIsOSArMTYwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVj
dGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGU+
JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKTsK
ICAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlPiYmKTsKLSNpZiBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBwbGF0Zm9ybUNvbXBs
ZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkK
KyAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmKTsKKyNlbmRpZgogICAgIHZvaWQg
cGxhdGZvcm1Db21wbGV0ZVBheW1lbnRTZXNzaW9uKGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+Jik7CiAgICAgdm9pZCBwbGF0Zm9ybUhpZGVQ
YXltZW50VUkoKTsKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTE5NiwxMCArMTk0LDEwIEBAIHBy
aXZhdGU6CiAgICAgICAgIC8vIFBheW1lbnRNZXRob2RTZWxlY3RlZCAtIERpc3BhdGNoaW5nIHRo
ZSBwYXltZW50bWV0aG9kc2VsZWN0ZWQgZXZlbnQgYW5kIHdhaXRpbmcgZm9yIGEgcmVwbHkuCiAg
ICAgICAgIFBheW1lbnRNZXRob2RTZWxlY3RlZCwKIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKLSAgICAgICAgLy8gUGF5bWVudE1ldGhvZFNlbGVjdGVkIC0gRGlz
cGF0Y2hpbmcgdGhlIHBheW1lbnRtZXRob2Rtb2RlY2hhbmdlZCBldmVudCBhbmQgd2FpdGluZyBm
b3IgYSByZXBseS4KLSAgICAgICAgUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkLAotI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVf
UEFZX0NPVVBPTl9DT0RFKQorICAgICAgICAvLyBDb3Vwb25Db2RlQ2hhbmdlZCAtIERpc3BhdGNo
aW5nIHRoZSBjb3Vwb25jb2RlY2hhbmdlZCBldmVudCBhbmQgd2FpdGluZyBmb3IgYSByZXBseS4K
KyAgICAgICAgQ291cG9uQ29kZUNoYW5nZWQsCisjZW5kaWYKIAogICAgICAgICAvLyBDb21wbGV0
aW5nIC0gQ29tcGxldGluZyB0aGUgcGF5bWVudCBhbmQgd2FpdGluZyBmb3IgcHJlc2VudGVyRGlk
RmluaXNoIHRvIGJlIGNhbGxlZC4KICAgICAgICAgQ29tcGxldGluZywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMjc0MGM5MWYxMjFjMWMzMTI4ZjU3MGE5OWUz
MTJjNjE4ZmEyMmUzZS4uN2Q4OWE1YjExM2U5NDQ4ZTZhMjNlOWQ0YTc1YWEzOTFhNWM5MWZhOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTM1LDkgKzM1LDkg
QEAgbWVzc2FnZXMgLT4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkgTm90UmVmQ291bnRlZCB7
CiAgICAgQ29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGU+IHVwZGF0ZSkKICAgICBDb21wbGV0ZVNo
aXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlPiB1cGRhdGUpCiAgICAgQ29tcGxldGVQYXltZW50TWV0aG9kU2Vs
ZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
PiB1cGRhdGUpCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAg
IENvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpB
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiB1cGRhdGUpCi0jZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCisgICAgQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiB1cGRhdGUpCisjZW5kaWYKICAgICBDb21w
bGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1dGhvcml6
YXRpb25SZXN1bHQ+IHJlc3VsdCkKICAgICBBYm9ydFBheW1lbnRTZXNzaW9uKCkKICAgICBDYW5j
ZWxQYXltZW50U2Vzc2lvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBs
ZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2Nv
YS5tbQppbmRleCAzNzQ1YzBlMDMzNTZjZjhmOWNmNzUyMTcyOWY5NjgyYTI4MmY3MjhjLi4zZGFi
NzAwYTllMjg0YzhmNjQ3ZGU0YTdiNzQ0YzJjNTdhZmM1Yjg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KQEAgLTM2LDcgKzM2LDcgQEAKICNpbXBvcnQgIldl
YlBheW1lbnRDb29yZGluYXRvclByb3h5LmgiCiAjaW1wb3J0ICJXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKLSNpbXBvcnQg
PFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBp
bmdDb250YWN0VXBkYXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdNZXRo
b2QuaD4KQEAgLTE2NSwxNyArMTY1LDYwIEBAIHN0YXRpYyBQS1NoaXBwaW5nVHlwZSB0b1BLU2hp
cHBpbmdUeXBlKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTCiAgICAg
fQogfQogCisjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNf
UkFOR0UpCisKK3N0YXRpYyBSZXRhaW5QdHI8TlNEYXRlQ29tcG9uZW50cz4gdG9OU0RhdGVDb21w
b25lbnRzKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVudHMmIGRhdGVDb21wb25l
bnRzKQoreworICAgIGF1dG8gcmVzdWx0ID0gYWRvcHROUyhbW05TRGF0ZUNvbXBvbmVudHMgYWxs
b2NdIGluaXRdKTsKKyAgICBbcmVzdWx0IHNldENhbGVuZGFyOltOU0NhbGVuZGFyIGNhbGVuZGFy
V2l0aElkZW50aWZpZXI6TlNDYWxlbmRhcklkZW50aWZpZXJHcmVnb3JpYW5dXTsKKyAgICBpZiAo
ZGF0ZUNvbXBvbmVudHMueWVhcnMpCisgICAgICAgIFtyZXN1bHQgc2V0WWVhcjoqZGF0ZUNvbXBv
bmVudHMueWVhcnNdOworICAgIGlmIChkYXRlQ29tcG9uZW50cy5tb250aHMpCisgICAgICAgIFty
ZXN1bHQgc2V0TW9udGg6KmRhdGVDb21wb25lbnRzLm1vbnRoc107CisgICAgaWYgKGRhdGVDb21w
b25lbnRzLmRheXMpCisgICAgICAgIFtyZXN1bHQgc2V0RGF5OipkYXRlQ29tcG9uZW50cy5kYXlz
XTsKKyAgICBpZiAoZGF0ZUNvbXBvbmVudHMuaG91cnMpCisgICAgICAgIFtyZXN1bHQgc2V0SG91
cjoqZGF0ZUNvbXBvbmVudHMuaG91cnNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRp
YyBSZXRhaW5QdHI8UEtEYXRlQ29tcG9uZW50c1JhbmdlPiB0b1BLRGF0ZUNvbXBvbmVudHNSYW5n
ZShjb25zdCBXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UmIGRhdGVDb21wb25l
bnRzUmFuZ2UpCit7CisgICAgcmV0dXJuIGFkb3B0TlMoW1BBTDo6YWxsb2NQS0RhdGVDb21wb25l
bnRzUmFuZ2VJbnN0YW5jZSgpIGluaXRXaXRoU3RhcnREYXRlQ29tcG9uZW50czp0b05TRGF0ZUNv
bXBvbmVudHMoZGF0ZUNvbXBvbmVudHNSYW5nZS5zdGFydERhdGVDb21wb25lbnRzKS5nZXQoKSBl
bmREYXRlQ29tcG9uZW50czp0b05TRGF0ZUNvbXBvbmVudHMoZGF0ZUNvbXBvbmVudHNSYW5nZS5l
bmREYXRlQ29tcG9uZW50cykuZ2V0KCldKTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9T
SElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorCiBQS1NoaXBwaW5nTWV0aG9k
ICp0b1BLU2hpcHBpbmdNZXRob2QoY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhv
ZCYgc2hpcHBpbmdNZXRob2QpCiB7CiAgICAgUEtTaGlwcGluZ01ldGhvZCAqcmVzdWx0ID0gW1BB
TDo6Z2V0UEtTaGlwcGluZ01ldGhvZENsYXNzKCkgc3VtbWFyeUl0ZW1XaXRoTGFiZWw6c2hpcHBp
bmdNZXRob2QubGFiZWwgYW1vdW50OnRvRGVjaW1hbE51bWJlcihzaGlwcGluZ01ldGhvZC5hbW91
bnQpXTsKICAgICBbcmVzdWx0IHNldElkZW50aWZpZXI6c2hpcHBpbmdNZXRob2QuaWRlbnRpZmll
cl07CiAgICAgW3Jlc3VsdCBzZXREZXRhaWw6c2hpcHBpbmdNZXRob2QuZGV0YWlsXTsKLSNpZiBk
ZWZpbmVkKFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2FBZGRpdGlvbnNfdG9QS1NoaXBw
aW5nTWV0aG9kKQotICAgIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2FBZGRpdGlvbnNf
dG9QS1NoaXBwaW5nTWV0aG9kCisjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRF
X0NPTVBPTkVOVFNfUkFOR0UpCisgICAgaWYgKGF1dG8mIGRhdGVDb21wb25lbnRzUmFuZ2UgPSBz
aGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlKQorICAgICAgICBbcmVzdWx0IHNldERh
dGVDb21wb25lbnRzUmFuZ2U6dG9QS0RhdGVDb21wb25lbnRzUmFuZ2UoKmRhdGVDb21wb25lbnRz
UmFuZ2UpLmdldCgpXTsKICNlbmRpZgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBIQVZF
KFBBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisKK3N0YXRpYyBQS1NoaXBw
aW5nQ29udGFjdEVkaXRpbmdNb2RlIHRvUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZShXZWJD
b3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlIHNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlKQoreworICAgIHN3aXRjaCAoc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpIHsK
KyAgICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU6OkVu
YWJsZWQ6CisgICAgICAgIHJldHVybiBQS1NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlRW5hYmxl
ZDsKKworICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZTo6U3RvcmVQaWNrdXA6CisgICAgICAgIHJldHVybiBQS1NoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlU3RvcmVQaWNrdXA7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIFBLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVFbmFibGVkOworfQorCisjZW5kaWYg
Ly8gSEFWRShQQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorCiBzdGF0aWMg
UmV0YWluUHRyPE5TU2V0PiB0b05TU2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQog
ewogICAgIGlmIChzdHJpbmdzLmlzRW1wdHkoKSkKQEAgLTI2NSw2ICszMDgsMTkgQEAgUmV0YWlu
UHRyPFBLUGF5bWVudFJlcXVlc3Q+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9y
bVBheW1lbnRSZXF1ZXN0KGMKICAgICB9CiAjZW5kaWYKIAorI2lmIEhBVkUoUEFTU0tJVF9DT1VQ
T05fQ09ERSkKKyAgICBpZiAoYXV0byBzdXBwb3J0c0NvdXBvbkNvZGUgPSBwYXltZW50UmVxdWVz
dC5zdXBwb3J0c0NvdXBvbkNvZGUoKSkKKyAgICAgICAgW3Jlc3VsdCBzZXRTdXBwb3J0c0NvdXBv
bkNvZGU6KnN1cHBvcnRzQ291cG9uQ29kZV07CisKKyAgICBpZiAoYXV0byYgY291cG9uQ29kZSA9
IHBheW1lbnRSZXF1ZXN0LmNvdXBvbkNvZGUoKTsgIWNvdXBvbkNvZGUuaXNOdWxsKCkpCisgICAg
ICAgIFtyZXN1bHQgc2V0Q291cG9uQ29kZTpjb3Vwb25Db2RlXTsKKyNlbmRpZgorCisjaWYgSEFW
RShQQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorICAgIGlmIChhdXRvJiBz
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSA9IHBheW1lbnRSZXF1ZXN0LnNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlKCkpCisgICAgICAgIFtyZXN1bHQgc2V0U2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGU6dG9QS1NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKCpzaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZSldOworI2VuZGlmCisKICNpZiBkZWZpbmVkKFdlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2FBZGRpdGlvbnNfcGxhdGZvcm1QYXltZW50UmVxdWVzdCkKICAgICBXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUNvY29hQWRkaXRpb25zX3BsYXRmb3JtUGF5bWVudFJlcXVlc3QKICNl
bmRpZgpAQCAtMjk3LDE0ICszNTMsMTQgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cGxhdGZvcm1Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHQKICAgICBt
X2F1dGhvcml6YXRpb25QcmVzZW50ZXItPmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihX
VEZNb3ZlKHVwZGF0ZSkpOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLXZvaWQgV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGU+JiYgdXBkYXRlKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1D
b21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGU+JiYgdXBkYXRlKQogewotICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRl
ci0+Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShXVEZNb3ZlKHVwZGF0ZSkpOworICAg
IG1fYXV0aG9yaXphdGlvblByZXNlbnRlci0+Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1v
dmUodXBkYXRlKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVU
SE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Z2V0U2V0dXBGZWF0dXJlcyhjb25zdCBQYXlt
ZW50U2V0dXBDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uLCBNZXNzYWdlczo6V2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OkdldFNldHVwRmVhdHVyZXM6OkFzeW5jUmVwbHkmJiByZXBseSkK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVu
dENvZGVyc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KaW5kZXggMmJiMTJjMjc4ZDVhZGYyMDhmMjU4YmMyZWU4ZTQ2ODdh
MmRiNjIwOC4uZjgyMTg5YmVmOTFhYTQxYzE3NmM3NmRiYzJiNDA3OGMzMDBmNmExMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzQ29jb2EubW0KQEAgLTIwMSw2ICsyMDEsMTMgQEAgdm9pZCBBcmd1bWVudENvZGVyPFdlYkNv
cmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY28K
ICNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKICAgICBlbmNvZGVyIDw8IHJlcXVl
c3QuaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVf
UEFZX0NPVVBPTl9DT0RFKQorICAgIGVuY29kZXIgPDwgcmVxdWVzdC5zdXBwb3J0c0NvdXBvbkNv
ZGUoKTsKKyAgICBlbmNvZGVyIDw8IHJlcXVlc3QuY291cG9uQ29kZSgpOworI2VuZGlmCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyAgICBlbmNv
ZGVyIDw8IHJlcXVlc3Quc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoKTsKKyNlbmRpZgogI2lm
IGRlZmluZWQoV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2FBZGRpdGlvbnNfQXBwbGVQYXlTZXNz
aW9uUGF5bWVudFJlcXVlc3RfZW5jb2RlKQogICAgIFdlYkNvcmVBcmd1bWVudENvZGVyc0NvY29h
QWRkaXRpb25zX0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0X2VuY29kZQogI2VuZGlmCkBA
IC0yOTUsNiArMzAyLDI4IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdD46OmRlY29kZShEZWNvZGVyJiBkZWNvCiAgICAgcmVxdWVzdC5z
ZXRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oV1RGTW92ZSgqaW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uKSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAg
c3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPGJvb2w+PiBzdXBwb3J0c0NvdXBvbkNvZGU7Cisg
ICAgZGVjb2RlciA+PiBzdXBwb3J0c0NvdXBvbkNvZGU7CisgICAgaWYgKCFzdXBwb3J0c0NvdXBv
bkNvZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXF1ZXN0LnNldFN1cHBvcnRzQ291
cG9uQ29kZShXVEZNb3ZlKCpzdXBwb3J0c0NvdXBvbkNvZGUpKTsKKworICAgIHN0ZDo6b3B0aW9u
YWw8U3RyaW5nPiBjb3Vwb25Db2RlOworICAgIGRlY29kZXIgPj4gY291cG9uQ29kZTsKKyAgICBp
ZiAoIWNvdXBvbkNvZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXF1ZXN0LnNldENv
dXBvbkNvZGUoV1RGTW92ZSgqY291cG9uQ29kZSkpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQ
TEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorICAgIHN0ZDo6b3B0aW9uYWw8
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2Rl
Pj4gc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CisgICAgZGVjb2RlciA+PiBzaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZTsKKyAgICBpZiAoIXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVxdWVzdC5zZXRTaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZShXVEZNb3ZlKCpzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSkpOworI2VuZGlmCisK
ICNpZiBkZWZpbmVkKFdlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hQWRkaXRpb25zX0FwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0X2RlY29kZSkKICAgICBXZWJDb3JlQXJndW1lbnRDb2RlcnND
b2NvYUFkZGl0aW9uc19BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdF9kZWNvZGUKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCBjZWMyMzRhZmEyODE4MjVlZGM5ZjkxMWYxOGEx
NTQ5MzQzNDMyYjI0Li5mNGZiMjcxYWIxNmVjZjIzNmUzNmU0MGVkOGYzNTMwMDQxOGY2MWZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgIldlYlBh
eW1lbnRDb29yZGluYXRvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlIDxX
ZWJDb3JlL0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVNoaXBw
aW5nQ29udGFjdFVwZGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ01l
dGhvZFVwZGF0ZS5oPgpAQCAtMTI4LDE0ICsxMjgsMTQgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRp
bmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNv
cmUKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q29tcGxl
dGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSkpOwogfQogCi0jaWYgRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1l
bnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZT4mJiB1cGRhdGUpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6
Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlPiYmIHVwZGF0ZSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eTo6Q29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShXVEZN
b3ZlKHVwZGF0ZSkpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eTo6Q29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSkpOwogfQogCi0j
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5h
dG9yOjpjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVu
dEF1dGhvcml6YXRpb25SZXN1bHQ+JiYgcmVzdWx0KQogewpAQCAtMjE2LDE0ICsyMTYsMTQgQEAg
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3Qg
V2ViQ29yZTo6UGF5bWVudE1ldGhvZCYKICAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5kaWRTZWxl
Y3RQYXltZW50TWV0aG9kKHBheW1lbnRNZXRob2QpOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUp
CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9k
ZShTdHJpbmcmJiBwYXltZW50TWV0aG9kTW9kZSkKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9y
OjpkaWRDaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpCiB7Ci0gICAgcGF5bWVu
dENvb3JkaW5hdG9yKCkuZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoV1RGTW92ZShwYXltZW50
TWV0aG9kTW9kZSkpOworICAgIHBheW1lbnRDb29yZGluYXRvcigpLmRpZENoYW5nZUNvdXBvbkNv
ZGUoV1RGTW92ZShjb3Vwb25Db2RlKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05f
Q09ERSkKIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRpZENhbmNlbFBheW1lbnRTZXNz
aW9uKFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJiBzZXNzaW9uRXJyb3IpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3Jk
aW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENv
b3JkaW5hdG9yLmgKaW5kZXggYzgxZjJiNGM0ZTUxNWJkZWYwMTMyYjJiMTcxMTlkZjUyYTFkNjNj
Ny4uNDJiM2ZmN2ZkY2FhNzhhNzU5Mjc1ODBkZjI4MzljZThjN2FhNmNkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3IuaApAQCAtNjgsOSArNjgsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBp
bmdNZXRob2RVcGRhdGU+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdFVwZGF0ZT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RT
ZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RVcGRh
dGU+JiYpIG92ZXJyaWRlOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9E
RSkKLSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKSBvdmVycmlkZTsK
LSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGNvbXBsZXRlQ291cG9uQ29kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJikg
b3ZlcnJpZGU7CisjZW5kaWYKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJikgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKSBvdmVycmlkZTsKQEAgLTEwMiw5ICsx
MDIsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoY29uc3Qg
V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCYpOwogICAgIHZvaWQgZGlkU2VsZWN0U2hp
cHBpbmdDb250YWN0KGNvbnN0IFdlYkNvcmU6OlBheW1lbnRDb250YWN0Jik7CiAgICAgdm9pZCBk
aWRTZWxlY3RQYXltZW50TWV0aG9kKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXRob2QmKTsKLSNp
ZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBkaWRDaGFu
Z2VQYXltZW50TWV0aG9kTW9kZShTdHJpbmcmJiBwYXltZW50TWV0aG9kTW9kZSk7Ci0jZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBkaWRDaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYm
IGNvdXBvbkNvZGUpOworI2VuZGlmCiAgICAgdm9pZCBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihX
ZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yJiYpOwogCiAgICAgV2ViQ29yZTo6UGF5bWVudENv
b3JkaW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
Lm1lc3NhZ2VzLmluCmluZGV4IGU4NWViMTdjNGUyYmJjMDQ1OTMzZjg5Nzg0OWRjZmRlOTAwMzA5
ZmEuLmUzYjFkYjUxYzhmNGUyYjg1MjIxMTRjNmE4NDA1Zjk0MDQyYTMwY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3Iu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgpAQCAtMzEsOSArMzEsOSBAQCBtZXNzYWdlcyAt
PiBXZWJQYXltZW50Q29vcmRpbmF0b3IgTm90UmVmQ291bnRlZCB7CiAgICAgRGlkU2VsZWN0U2hp
cHBpbmdNZXRob2Qoc3RydWN0IFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2Qgc2hpcHBp
bmdNZXRob2QpCiAgICAgRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KFdlYkNvcmU6OlBheW1lbnRD
b250YWN0IHNoaXBwaW5nQ29udGFjdCkKICAgICBEaWRTZWxlY3RQYXltZW50TWV0aG9kKFdlYkNv
cmU6OlBheW1lbnRNZXRob2QgcGF5bWVudE1ldGhvZCkKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCi0gICAgRGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5n
IHBheW1lbnRNZXRob2RNb2RlKQotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIERpZENo
YW5nZUNvdXBvbkNvZGUoU3RyaW5nIGNvdXBvbkNvZGUpCisjZW5kaWYKICAgICBEaWRDYW5jZWxQ
YXltZW50U2Vzc2lvbihXZWJDb3JlOjpQYXltZW50U2Vzc2lvbkVycm9yIHNlc3Npb25FcnJvcikK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAppbmRleCA2MTM1N2Vh
YzYxYzllMjliYjgwNjBlNzUwZjNiMDgxYjY1NmI1NTcwLi4yNjA0MzhkYTJmNDY5YmQxNTVjMjZh
Y2U1YWE4ODczMWNkOGM1N2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQuaApAQCAtNDUsOSArNDUsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcGxldGVTaGlwcGlu
Z01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdN
ZXRob2RVcGRhdGU+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRh
Y3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFj
dFVwZGF0ZT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxl
Y3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGU+
JiYpIG92ZXJyaWRlOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
LSAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKSBvdmVycmlkZTsKLSNl
bmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGNvbXBsZXRlQ291cG9uQ29kZUNoYW5n
ZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJikgb3Zl
cnJpZGU7CisjZW5kaWYKICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBhYm9ydFBheW1lbnRTZXNzaW9uKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjYW5jZWxQ
YXltZW50U2Vzc2lvbigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50Lm1tCmluZGV4IDQwNzkyYTA5NzU5M2JiMDAzNDNhNmYyMmJmOGNhOTFlNjI2ZDk3MTUu
LmRjNzZlNmFkZDYyMTViMWRhZmI4NzVkYTMxYWVhZTAzMzkzZDU1ODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KQEAgLTg0LDEzICs4NCwxMyBAQCB2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9u
KHN0ZDo6b3B0aW9uYWw8VwogewogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLXZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4m
JikKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZUNvdXBvbkNvZGVD
aGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYp
CiB7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9pZCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJikKIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYTZj
MTk3YWM2YzllYWM3MzVhZDFmOWQ0NDM3ZmEwZjQ3YjcxMjJjLi5iNTE4YTkwODI1Yjg5OTNmODM2
ZDFiMWE1ZDg1MmI2ZTI5MmY0ODI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjEtMDYtMDcg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtQYXltZW50IFJl
cXVlc3RdIHVwc3RyZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk2
MzEzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGlu
ZUl0ZW1zLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0
aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLXRvdGFsLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0
cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXlt
ZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNv
ZGUuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGlu
Z0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVz
dC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMDcgIEFsZXhleSBTaHZheWth
ICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJlbGFuZCBy
Mjc2NTkyIHdpdGggYSBmaXggZm9yIHB1dCgpIG92ZXJyaWRlIGluIHByb3RvdHlwZSBjaGFpbiBv
ZiBhIEpTUHJveHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2Rp
Zmllci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NzZkNThhN2E0Y2RjNDdlMWIwYzIyYzRjMTg0NmU4NDBlOTExNTlmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVy
LWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAor
CitQQVNTIFNob3VsZCBub3QgaGF2ZSBhbnkgbGluZSBpdGVtcyBpZiBgYWRkaXRpb25hbExpbmVJ
dGVtc2AgaXMgbm90IHByb3ZpZGVkLgorUEFTUyBTaG91bGQgbm90IGhhdmUgYW55IGxpbmUgaXRl
bXMgaWYgYGFkZGl0aW9uYWxMaW5lSXRlbXNgIGlzIGVtcHR5LgorUEFTUyBUaGUgZGVmYXVsdCB2
YWx1ZSBvZiBgcGF5bWVudFRpbWluZ2Agc2hvdWxkIGJlIGAiaW1tZWRpYXRlImAuCitQQVNTIFNo
b3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxTdGFydERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgd2hlbiBg
cGF5bWVudFRpbWluZ2AgaXMgYCJyZWN1cnJpbmciYC4KK1BBU1MgU2hvdWxkIGFsc28gcHJvcGFn
YXRlIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFydERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5
bWVudEludGVydmFsRW5kRGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMg
YCJyZWN1cnJpbmciYC4KK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3Ig
YGRlZmVycmVkUGF5bWVudERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAiZGVmZXJyZWQi
YC4KK1BBU1MgU2hvdWxkIGFsc28gcHJvcGFnYXRlIGBkZWZlcnJlZFBheW1lbnREYXRlYCBpZiBw
cm92aWRlZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgImRlZmVycmVkImAuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci1hZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM4NjlkMzRlOTAxMTdkOTkzZWM2YjM0ZDk5MWRmYWIxYWY1ZTEx
MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy5odG1sCkBAIC0w
LDAgKzEsOTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYGFkZGl0aW9uYWxMaW5lSXRlbXNgIGFzIHBhcnQgb2Yg
YEFwcGxlUGF5TW9kaWZpZXJgLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9wYXlt
ZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgorc2V0dXAoeyBleHBsaWNpdF9k
b25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOworCitjb25zdCBpbW1lZGlhdGVM
YWJlbCA9ICJJbW1lZGlhdGUgTGFiZWwiOworY29uc3QgaW1tZWRpYXRlQW1vdW50ID0gIjIwLjAw
IjsKK2NvbnN0IHJlY3VycmluZ0xhYmVsID0gIlJlY3VycmluZyBMYWJlbCI7Citjb25zdCByZWN1
cnJpbmdBbW91bnQgPSAiMzAuMDAiOworY29uc3QgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSA9
IG5ldyBEYXRlKDApOworY29uc3QgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCA9ICJ5ZWFy
IjsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50ID0gMTA7Citjb25zdCByZWN1
cnJpbmdQYXltZW50RW5kRGF0ZSA9IG5ldyBEYXRlKDEpOworY29uc3QgZGVmZXJyZWRMYWJlbCA9
ICJEZWZlcnJlZCBMYWJlbCI7Citjb25zdCBkZWZlcnJlZFBheW1lbnREYXRlID0gbmV3IERhdGUo
Mik7Citjb25zdCBkZWZlcnJlZEFtb3VudCA9ICI0MC4wMCI7CisKK2Z1bmN0aW9uIHZhbGlkUGF5
bWVudERldGFpbHNXaXRoTW9kaWZpZXJUaGF0SGFzTGluZUl0ZW1zKGFkZGl0aW9uYWxMaW5lSXRl
bXMpIHsKKyAgICBsZXQgZGV0YWlscyA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZWxl
dGUgZGV0YWlscy5kaXNwbGF5SXRlbXM7CisgICAgaWYgKGFkZGl0aW9uYWxMaW5lSXRlbXMpCisg
ICAgICAgIGRldGFpbHMubW9kaWZpZXJzID0gWyB7IHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczov
L2FwcGxlLmNvbS9hcHBsZS1wYXkiLCBkYXRhOiB7IGFkZGl0aW9uYWxMaW5lSXRlbXMgfSB9IF07
CisgICAgcmV0dXJuIGRldGFpbHM7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXltZW50SXRlbURhdGEo
ZGVzY3JpcHRpb24sIHthZGRpdGlvbmFsTGluZUl0ZW1zLCBleHBlY3RlZExpbmVJdGVtc30pIHsK
KyAgICB1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkgPT4geworICAgICAgICBsZXQg
cmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxp
ZFBheW1lbnREZXRhaWxzV2l0aE1vZGlmaWVyVGhhdEhhc0xpbmVJdGVtcyhhZGRpdGlvbmFsTGlu
ZUl0ZW1zKSk7CisgICAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxp
ZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOwor
ICAgICAgICB9KTsKKyAgICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2Fk
ZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgo
eyB9KTsKKyAgICAgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2Vw
dFBheW1lbnQoKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQg
cmVxdWVzdC5zaG93KCk7CisKKyAgICAgICAgbGV0IGFjdHVhbExpbmVJdGVtcyA9IGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmxpbmVJdGVtczsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhhY3R1YWxMaW5lSXRlbXMubGVuZ3RoLCBleHBlY3RlZExpbmVJdGVtcy5sZW5ndGgsIGBjaGVj
ayB0aGF0IHRoZXJlIGFyZSAke2V4cGVjdGVkTGluZUl0ZW1zLmxlbmd0aH0gbGluZSBpdGVtc2Ap
OworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFjdHVhbExpbmVJdGVtcy5sZW5ndGg7ICsr
aSkgeworICAgICAgICAgICAgbGV0IGFjdHVhbExpbmVJdGVtID0gYWN0dWFsTGluZUl0ZW1zW2ld
OworICAgICAgICAgICAgbGV0IGV4cGVjdGVkTGluZUl0ZW0gPSBleHBlY3RlZExpbmVJdGVtc1tp
XTsKKworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxMaW5lSXRlbS5sYWJlbCwgZXhw
ZWN0ZWRMaW5lSXRlbS5sYWJlbCwgYGNoZWNrIHRoYXQgdGhlIFxgbGFiZWxcYCBtYXRjaGVzIGZv
ciBsaW5lIGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxMaW5l
SXRlbS5hbW91bnQsIGV4cGVjdGVkTGluZUl0ZW0uYW1vdW50LCBgY2hlY2sgdGhhdCB0aGUgXGBh
bW91bnRcYCBtYXRjaGVzIGZvciBsaW5lIGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhhY3R1YWxMaW5lSXRlbS5wYXltZW50VGltaW5nLCBleHBlY3RlZExpbmVJdGVtLnBh
eW1lbnRUaW1pbmcsIGBjaGVjayB0aGF0IHRoZSBcYHBheW1lbnRUaW1pbmdcYCBtYXRjaGVzIGZv
ciBsaW5lIGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxMaW5l
SXRlbS5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRlPy5nZXRUaW1lKCksIGV4cGVjdGVkTGluZUl0
ZW0ucmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZT8uZ2V0VGltZSgpLCBgY2hlY2sgdGhhdCB0aGUg
XGByZWN1cnJpbmdQYXltZW50U3RhcnREYXRlXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1g
KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0ucmVjdXJyaW5nUGF5
bWVudEludGVydmFsVW5pdCwgZXhwZWN0ZWRMaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxVbml0LCBgY2hlY2sgdGhhdCB0aGUgXGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0XGAg
bWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
YWN0dWFsTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsIGV4cGVjdGVkTGlu
ZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsIGBjaGVjayB0aGF0IHRoZSBcYHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50XGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1g
KTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0ucmVjdXJyaW5nUGF5
bWVudEVuZERhdGU/LmdldFRpbWUoKSwgZXhwZWN0ZWRMaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50
RW5kRGF0ZT8uZ2V0VGltZSgpLCBgY2hlY2sgdGhhdCB0aGUgXGByZWN1cnJpbmdQYXltZW50RW5k
RGF0ZVxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGFjdHVhbExpbmVJdGVtLmRlZmVycmVkUGF5bWVudERhdGU/LmdldFRpbWUoKSwgZXhw
ZWN0ZWRMaW5lSXRlbS5kZWZlcnJlZFBheW1lbnREYXRlPy5nZXRUaW1lKCksIGBjaGVjayB0aGF0
IHRoZSBcYGRlZmVycmVkUGF5bWVudERhdGVcYCBtYXRjaGVzIGZvciBsaW5lIGl0ZW0gJHtpfWAp
OworICAgICAgICB9CisKKyAgICAgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3Mi
KTsKKyAgICB9LCBkZXNjcmlwdGlvbik7Cit9CisKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3Vs
ZCBub3QgaGF2ZSBhbnkgbGluZSBpdGVtcyBpZiBgYWRkaXRpb25hbExpbmVJdGVtc2AgaXMgbm90
IHByb3ZpZGVkLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1zOiB1bmRlZmluZWQsCisgICAg
ZXhwZWN0ZWRMaW5lSXRlbXM6IFsgXSwKK30pOwordGVzdFBheW1lbnRJdGVtRGF0YSgiU2hvdWxk
IG5vdCBoYXZlIGFueSBsaW5lIGl0ZW1zIGlmIGBhZGRpdGlvbmFsTGluZUl0ZW1zYCBpcyBlbXB0
eS4iLCB7CisgICAgYWRkaXRpb25hbExpbmVJdGVtczogWyBdLAorICAgIGV4cGVjdGVkTGluZUl0
ZW1zOiBbIF0sCit9KTsKKwordGVzdFBheW1lbnRJdGVtRGF0YSgiVGhlIGRlZmF1bHQgdmFsdWUg
b2YgYHBheW1lbnRUaW1pbmdgIHNob3VsZCBiZSBgXCJpbW1lZGlhdGVcImAuIiwgeworICAgIGFk
ZGl0aW9uYWxMaW5lSXRlbXM6IFsgeyBsYWJlbDogaW1tZWRpYXRlTGFiZWwsIGFtb3VudDogaW1t
ZWRpYXRlQW1vdW50IH0gXSwKKyAgICBleHBlY3RlZExpbmVJdGVtczogWyB7IGxhYmVsOiBpbW1l
ZGlhdGVMYWJlbCwgYW1vdW50OiBpbW1lZGlhdGVBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJpbW1l
ZGlhdGUiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxDb3VudDogMSB9IF0sCit9KTsKKwordGVzdFBheW1lbnRJdGVtRGF0YSgi
U2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYHJlY3VycmluZ1BheW1lbnRJbnRl
cnZhbFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxFbmREYXRlYCB3aGVu
IGBwYXltZW50VGltaW5nYCBpcyBgXCJyZWN1cnJpbmdcImAuIiwgeworICAgIGFkZGl0aW9uYWxM
aW5lSXRlbXM6IFsgeyBsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1v
dW50LCBwYXltZW50VGltaW5nOiAicmVjdXJyaW5nIiB9IF0sCisgICAgZXhwZWN0ZWRMaW5lSXRl
bXM6IFsgeyBsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1vdW50LCBw
YXltZW50VGltaW5nOiAicmVjdXJyaW5nIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDog
Im1vbnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDEgfSBdLAorfSk7Cit0ZXN0
UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgYWxzbyBwcm9wYWdhdGUgYHJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxFbmREYXRlYCBp
ZiBwcm92aWRlZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJyZWN1cnJpbmdcImAuIiwgewor
ICAgIGFkZGl0aW9uYWxMaW5lSXRlbXM6IFsgeyBsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3Vu
dDogcmVjdXJyaW5nQW1vdW50LCBwYXltZW50VGltaW5nOiAicmVjdXJyaW5nIiwgcmVjdXJyaW5n
UGF5bWVudFN0YXJ0RGF0ZSwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgcmVjdXJyaW5n
UGF5bWVudEludGVydmFsQ291bnQsIHJlY3VycmluZ1BheW1lbnRFbmREYXRlIH0gXSwKKyAgICBl
eHBlY3RlZExpbmVJdGVtczogWyB7IGxhYmVsOiByZWN1cnJpbmdMYWJlbCwgYW1vdW50OiByZWN1
cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmciLCByZWN1cnJpbmdQYXltZW50
U3RhcnREYXRlLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0LCByZWN1cnJpbmdQYXltZW50
SW50ZXJ2YWxDb3VudCwgcmVjdXJyaW5nUGF5bWVudEVuZERhdGUgfSBdLAorfSk7CisKK3Rlc3RQ
YXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBkZWZl
cnJlZFBheW1lbnREYXRlYCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJkZWZlcnJlZFwiYC4i
LCB7CisgICAgYWRkaXRpb25hbExpbmVJdGVtczogWyB7IGxhYmVsOiBkZWZlcnJlZExhYmVsLCBh
bW91bnQ6IGRlZmVycmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiIH0gXSwKKyAg
ICBleHBlY3RlZExpbmVJdGVtczogWyB7IGxhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91bnQ6IGRl
ZmVycmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCByZWN1cnJpbmdQYXltZW50
SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudDogMSB9
IF0sCit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBhbHNvIHByb3BhZ2F0ZSBgZGVm
ZXJyZWRQYXltZW50RGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMgYFwi
ZGVmZXJyZWRcImAuIiwgeworICAgIGFkZGl0aW9uYWxMaW5lSXRlbXM6IFsgeyBsYWJlbDogZGVm
ZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwgcGF5bWVudFRpbWluZzogImRlZmVy
cmVkIiwgZGVmZXJyZWRQYXltZW50RGF0ZSB9IF0sCisgICAgZXhwZWN0ZWRMaW5lSXRlbXM6IFsg
eyBsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwgcGF5bWVudFRp
bWluZzogImRlZmVycmVkIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDogIm1vbnRoIiwg
cmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDEsIGRlZmVycmVkUGF5bWVudERhdGUgfSBd
LAorfSk7CisKK2RvbmUoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBw
aW5nTWV0aG9kcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBhZDk4YjI4YmExYTExMTc4ZmQwNDk0YTUx
Y2M0ZjM1ZjgxOTYwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2Rz
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBTaG91bGQgbm90IGhh
dmUgYW55IHNoaXBwaW5nIG9wdGlvbnMgaWYgYGFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHNgIGlz
IG5vdCBwcm92aWRlZC4KK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGFueSBzaGlwcGluZyBvcHRpb25z
IGlmIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBpcyBlbXB0eS4KK1BBU1MgU2hvdWxkIHBy
b3BhZ2F0ZSBgZGF0ZUNvbXBvbmVudHNSYW5nZWAgaWYgcHJvdmlkZWQuCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1h
ZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0
aG9kcy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiMGNlMWZmYmMyYmM4ODRiOTI3ZGE3NzFmMzQ4
MjIzY2Q3OGMyMjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5o
dHRwcy5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYGFkZGl0aW9uYWxTaGlwcGlu
Z01ldGhvZHNgIGFzIHBhcnQgb2YgYEFwcGxlUGF5TW9kaWZpZXJgLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
Pgorc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0p
OworCitjb25zdCBzaGlwcGluZ01ldGhvZCA9IHsKKyAgICBhbW91bnQ6ICIxMC4wMCIsCisgICAg
ZGV0YWlsOiAiZGV0YWlsIiwKKyAgICBpZGVudGlmaWVyOiAiaWRlbnRpZmllciIsCisgICAgbGFi
ZWw6ICJsYWJlbCIsCisgICAgZGF0ZUNvbXBvbmVudHNSYW5nZTogeworICAgICAgICBzdGFydERh
dGVDb21wb25lbnRzOiB7IGRheXM6IDUgfSwKKyAgICAgICAgZW5kRGF0ZUNvbXBvbmVudHM6IHsg
ZGF5czogMTAgfSwKKyAgICB9LAorfTsKKworZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlsc1dp
dGhNb2RpZmllclRoYXRIYXNBZGRpdGlvbmFsU2hpcHBpbmdPcHRpb25zKGFkZGl0aW9uYWxTaGlw
cGluZ01ldGhvZHMpIHsKKyAgICBsZXQgZGV0YWlscyA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsK
KyAgICBpZiAoYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcykKKyAgICAgICAgZGV0YWlscy5tb2Rp
ZmllcnMgPSBbIHsgc3VwcG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBh
eSIsIGRhdGE6IHsgYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcyB9IH0gXTsKKyAgICByZXR1cm4g
ZGV0YWlsczsKK30KKworZnVuY3Rpb24gdGVzdFBheW1lbnRTaGlwcGluZ09wdGlvbkRhdGEoZGVz
Y3JpcHRpb24sIHthZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzLCBleHBlY3RlZFNoaXBwaW5nTWV0
aG9kc30pIHsKKyAgICB1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkgPT4geworICAg
ICAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9k
KCldLCB2YWxpZFBheW1lbnREZXRhaWxzV2l0aE1vZGlmaWVyVGhhdEhhc0FkZGl0aW9uYWxTaGlw
cGluZ09wdGlvbnMoYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcyksIHsgcmVxdWVzdFNoaXBwaW5n
OiB0cnVlIH0pOworICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFs
aWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsK
KyAgICAgICAgfSk7CisgICAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdh
ZGRyZXNzY2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICBldmVudC51cGRhdGVXaXRo
KHsgfSk7CisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2Nl
cHRQYXltZW50KCk7CisgICAgICAgIH0pOworCisgICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0
IHJlcXVlc3Quc2hvdygpOworCisgICAgICAgIGxldCBhY3R1YWxTaGlwcGluZ01ldGhvZHMgPSBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHM7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoYWN0dWFsU2hpcHBpbmdNZXRob2RzLmxlbmd0aCwgZXhwZWN0ZWRTaGlw
cGluZ01ldGhvZHMubGVuZ3RoLCBgY2hlY2sgdGhhdCB0aGVyZSBhcmUgJHtleHBlY3RlZFNoaXBw
aW5nTWV0aG9kcy5sZW5ndGh9IHNoaXBwaW5nIG1ldGhvZHNgKTsKKyAgICAgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCBhY3R1YWxTaGlwcGluZ01ldGhvZHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
ICAgIGxldCBhY3R1YWxTaGlwcGluZ01ldGhvZCA9IGFjdHVhbFNoaXBwaW5nTWV0aG9kc1tpXTsK
KyAgICAgICAgICAgIGxldCBleHBlY3RlZFNoaXBwaW5nTWV0aG9kID0gZXhwZWN0ZWRTaGlwcGlu
Z01ldGhvZHNbaV07CisKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsU2hpcHBpbmdN
ZXRob2QuYW1vdW50LCBleHBlY3RlZFNoaXBwaW5nTWV0aG9kLmFtb3VudCwgYGNoZWNrIHRoYXQg
dGhlIFxgYW1vdW50XGAgbWF0Y2hlcyBmb3Igc2hpcHBpbmcgbWV0aG9kICR7aX1gKTsKKyAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsU2hpcHBpbmdNZXRob2QuZGV0YWlsLCBleHBlY3Rl
ZFNoaXBwaW5nTWV0aG9kLmRldGFpbCwgYGNoZWNrIHRoYXQgdGhlIFxgZGV0YWlsXGAgbWF0Y2hl
cyBmb3Igc2hpcHBpbmcgbWV0aG9kICR7aX1gKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
YWN0dWFsU2hpcHBpbmdNZXRob2QuaWRlbnRpZmllciwgZXhwZWN0ZWRTaGlwcGluZ01ldGhvZC5p
ZGVudGlmaWVyLCBgY2hlY2sgdGhhdCB0aGUgXGBpZGVudGlmaWVyXGAgbWF0Y2hlcyBmb3Igc2hp
cHBpbmcgbWV0aG9kICR7aX1gKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsU2hp
cHBpbmdNZXRob2QubGFiZWwsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2QubGFiZWwsIGBjaGVjayB0
aGF0IHRoZSBcYGxhYmVsXGAgbWF0Y2hlcyBmb3Igc2hpcHBpbmcgbWV0aG9kICR7aX1gKTsKKyAg
ICAgICAgICAgIGlmIChleHBlY3RlZFNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2Up
CisgICAgICAgICAgICAgICAgYXNzZXJ0X29iamVjdF9lcXVhbHMoYWN0dWFsU2hpcHBpbmdNZXRo
b2QuZGF0ZUNvbXBvbmVudHNSYW5nZSwgZXhwZWN0ZWRTaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9u
ZW50c1JhbmdlLCBgY2hlY2sgdGhhdCB0aGUgXGBkYXRlQ29tcG9uZW50c1JhbmdlXGAgbWF0Y2hl
cyBmb3Igc2hpcHBpbmcgbWV0aG9kICR7aX1gKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRz
UmFuZ2UsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2QuZGF0ZUNvbXBvbmVudHNSYW5nZSwgYGNoZWNr
IHRoYXQgdGhlIFxgZGF0ZUNvbXBvbmVudHNSYW5nZVxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1l
dGhvZCAke2l9YCk7CisgICAgICAgIH0KKworICAgICAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0
ZSgic3VjY2VzcyIpOworICAgIH0sIGRlc2NyaXB0aW9uKTsKK30KKwordGVzdFBheW1lbnRTaGlw
cGluZ09wdGlvbkRhdGEoIlNob3VsZCBub3QgaGF2ZSBhbnkgc2hpcHBpbmcgb3B0aW9ucyBpZiBg
YWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kc2AgaXMgbm90IHByb3ZpZGVkLiIsIHsKKyAgICBhZGRp
dGlvbmFsU2hpcHBpbmdNZXRob2RzOiB1bmRlZmluZWQsCisgICAgZXhwZWN0ZWRTaGlwcGluZ01l
dGhvZHM6IFsgXSwKK30pOwordGVzdFBheW1lbnRTaGlwcGluZ09wdGlvbkRhdGEoIlNob3VsZCBu
b3QgaGF2ZSBhbnkgc2hpcHBpbmcgb3B0aW9ucyBpZiBgYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9k
c2AgaXMgZW1wdHkuIiwgeworICAgIGFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHM6IFsgXSwKKyAg
ICBleHBlY3RlZFNoaXBwaW5nTWV0aG9kczogWyBdLAorfSk7Cit0ZXN0UGF5bWVudFNoaXBwaW5n
T3B0aW9uRGF0YSgiU2hvdWxkIHByb3BhZ2F0ZSBgZGF0ZUNvbXBvbmVudHNSYW5nZWAgaWYgcHJv
dmlkZWQuIiwgeworICAgIGFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHM6IFsgc2hpcHBpbmdNZXRo
b2QgXSwKKyAgICBleHBlY3RlZFNoaXBwaW5nTWV0aG9kczogWyBzaGlwcGluZ01ldGhvZCBdLAor
fSk7CisKK2RvbmUoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLXRvdGFsLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjFmYzNkNjI1MGVk
ZDUyMTRjMGQ3MmY3NDIwMDE3MWViNmZjZjhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworUEFTUyBUaGUgZGVmYXVsdCB2YWx1ZSBv
ZiBgcGF5bWVudFRpbWluZ2Agc2hvdWxkIGJlIGAiaW1tZWRpYXRlImAuCitQQVNTIFNob3VsZCBu
b3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFy
dERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgd2hlbiBgcGF5bWVu
dFRpbWluZ2AgaXMgYCJyZWN1cnJpbmciYC4KK1BBU1MgU2hvdWxkIGFsc28gcHJvcGFnYXRlIGBy
ZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFydERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5bWVudElu
dGVydmFsRW5kRGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMgYCJyZWN1
cnJpbmciYC4KK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYGRlZmVy
cmVkUGF5bWVudERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAiZGVmZXJyZWQiYC4KK1BB
U1MgU2hvdWxkIGFsc28gcHJvcGFnYXRlIGBkZWZlcnJlZFBheW1lbnREYXRlYCBpZiBwcm92aWRl
ZCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgImRlZmVycmVkImAuCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3Rh
bC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjMyZGQ2YjQzMzU2NTE2
M2M4N2ZhMmYzMzU5MjcyODFkZGQ4ZTM0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy5o
dG1sCkBAIC0wLDAgKzEsODMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYHRvdGFsYCBhcyBwYXJ0IG9mIGBBcHBs
ZVBheU1vZGlmaWVyYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1y
ZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTog
dHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKworY29uc3QgaW1tZWRpYXRlTGFiZWwg
PSAiSW1tZWRpYXRlIExhYmVsIjsKK2NvbnN0IGltbWVkaWF0ZUFtb3VudCA9ICIyMC4wMCI7Citj
b25zdCByZWN1cnJpbmdMYWJlbCA9ICJSZWN1cnJpbmcgTGFiZWwiOworY29uc3QgcmVjdXJyaW5n
QW1vdW50ID0gIjMwLjAwIjsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUgPSBuZXcg
RGF0ZSgwKTsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQgPSAieWVhciI7Citj
b25zdCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCA9IDEwOworY29uc3QgcmVjdXJyaW5n
UGF5bWVudEVuZERhdGUgPSBuZXcgRGF0ZSgxKTsKK2NvbnN0IGRlZmVycmVkTGFiZWwgPSAiRGVm
ZXJyZWQgTGFiZWwiOworY29uc3QgZGVmZXJyZWRQYXltZW50RGF0ZSA9IG5ldyBEYXRlKDIpOwor
Y29uc3QgZGVmZXJyZWRBbW91bnQgPSAiNDAuMDAiOworCitmdW5jdGlvbiB2YWxpZFBheW1lbnRE
ZXRhaWxzV2l0aE1vZGlmaWVyVGhhdEhhc1RvdGFsKHRvdGFsKSB7CisgICAgbGV0IGRldGFpbHMg
PSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgaWYgKHRvdGFsKQorICAgICAgICBkZXRhaWxz
Lm1vZGlmaWVycyA9IFsgeyBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBw
bGUtcGF5IiwgZGF0YTogeyB0b3RhbCB9IH0gXTsKKyAgICByZXR1cm4gZGV0YWlsczsKK30KKwor
ZnVuY3Rpb24gdGVzdFBheW1lbnRJdGVtRGF0YShkZXNjcmlwdGlvbiwge2luaXRpYWxUb3RhbCwg
ZXhwZWN0ZWRUb3RhbH0pIHsKKyAgICB1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkg
PT4geworICAgICAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXlt
ZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzV2l0aE1vZGlmaWVyVGhhdEhhc1RvdGFs
KGluaXRpYWxUb3RhbCkpOworICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNo
YW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAgICAgICAgZXZlbnQuY29tcGxldGUo
eyB9KTsKKyAgICAgICAgfSk7CisgICAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hp
cHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICBldmVudC51cGRh
dGVXaXRoKHsgfSk7CisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5hY2NlcHRQYXltZW50KCk7CisgICAgICAgIH0pOworCisgICAgICAgIGxldCByZXNwb25zZSA9
IGF3YWl0IHJlcXVlc3Quc2hvdygpOworCisgICAgICAgIGxldCBhY3R1YWxUb3RhbCA9IGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnRvdGFsOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGFjdHVhbFRvdGFsLmxhYmVsLCBleHBlY3RlZFRvdGFsLmxhYmVsLCAiY2hlY2sgdGhhdCB0aGUg
YGxhYmVsYCBtYXRjaGVzIGZvciB0b3RhbCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVh
bFRvdGFsLmFtb3VudCwgZXhwZWN0ZWRUb3RhbC5hbW91bnQsICJjaGVjayB0aGF0IHRoZSBgYW1v
dW50YCBtYXRjaGVzIGZvciB0b3RhbCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFRv
dGFsLnBheW1lbnRUaW1pbmcsIGV4cGVjdGVkVG90YWwucGF5bWVudFRpbWluZywgImNoZWNrIHRo
YXQgdGhlIGBwYXltZW50VGltaW5nYCBtYXRjaGVzIGZvciB0b3RhbCIpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGFjdHVhbFRvdGFsLnJlY3VycmluZ1BheW1lbnRTdGFydERhdGU/LmdldFRpbWUo
KSwgZXhwZWN0ZWRUb3RhbC5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRlPy5nZXRUaW1lKCksICJj
aGVjayB0aGF0IHRoZSBgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZWAgbWF0Y2hlcyBmb3IgdG90
YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5yZWN1cnJpbmdQYXltZW50
SW50ZXJ2YWxVbml0LCBleHBlY3RlZFRvdGFsLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQs
ICJjaGVjayB0aGF0IHRoZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdGAgbWF0Y2hlcyBm
b3IgdG90YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5yZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxDb3VudCwgZXhwZWN0ZWRUb3RhbC5yZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxDb3VudCwgImNoZWNrIHRoYXQgdGhlIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudGAg
bWF0Y2hlcyBmb3IgdG90YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5y
ZWN1cnJpbmdQYXltZW50RW5kRGF0ZT8uZ2V0VGltZSgpLCBleHBlY3RlZFRvdGFsLnJlY3Vycmlu
Z1BheW1lbnRFbmREYXRlPy5nZXRUaW1lKCksICJjaGVjayB0aGF0IHRoZSBgcmVjdXJyaW5nUGF5
bWVudEVuZERhdGVgIG1hdGNoZXMgZm9yIHRvdGFsIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
YWN0dWFsVG90YWwuZGVmZXJyZWRQYXltZW50RGF0ZT8uZ2V0VGltZSgpLCBleHBlY3RlZFRvdGFs
LmRlZmVycmVkUGF5bWVudERhdGU/LmdldFRpbWUoKSwgImNoZWNrIHRoYXQgdGhlIGBkZWZlcnJl
ZFBheW1lbnREYXRlYCBtYXRjaGVzIGZvciB0b3RhbCIpOworCisgICAgICAgIGF3YWl0IHJlc3Bv
bnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgfSwgZGVzY3JpcHRpb24pOworfQorCit0ZXN0
UGF5bWVudEl0ZW1EYXRhKCJUaGUgZGVmYXVsdCB2YWx1ZSBvZiBgcGF5bWVudFRpbWluZ2Agc2hv
dWxkIGJlIGBcImltbWVkaWF0ZVwiYC4iLCB7CisgICAgaW5pdGlhbFRvdGFsOiB1bmRlZmluZWQs
CisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiAiVG90YWwiLCBhbW91bnQ6ICIxMC4wMCIsIHBh
eW1lbnRUaW1pbmc6ICJpbW1lZGlhdGUiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0OiAi
bW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudDogMX0sCit9KTsKKwordGVzdFBh
eW1lbnRJdGVtRGF0YSgiU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbFN0YXJ0RGF0ZWAgYW5kIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxFbmREYXRlYCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJyZWN1cnJpbmdcImAuIiwgewor
ICAgIGluaXRpYWxUb3RhbDoge2xhYmVsOiByZWN1cnJpbmdMYWJlbCwgYW1vdW50OiByZWN1cnJp
bmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmcifSwKKyAgICBleHBlY3RlZFRvdGFs
OiB7bGFiZWw6IHJlY3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVu
dFRpbWluZzogInJlY3VycmluZyIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250
aCIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50OiAxfSwKK30pOwordGVzdFBheW1lbnRJ
dGVtRGF0YSgiU2hvdWxkIGFsc28gcHJvcGFnYXRlIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxT
dGFydERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgaWYgcHJvdmlk
ZWQgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMgYFwicmVjdXJyaW5nXCJgLiIsIHsKKyAgICBpbml0
aWFsVG90YWw6IHtsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1vdW50
LCBwYXltZW50VGltaW5nOiAicmVjdXJyaW5nIiwgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSwg
cmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291
bnQsIHJlY3VycmluZ1BheW1lbnRFbmREYXRlfSwKKyAgICBleHBlY3RlZFRvdGFsOiB7bGFiZWw6
IHJlY3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzog
InJlY3VycmluZyIsIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIHJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbFVuaXQsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCByZWN1cnJpbmdQYXlt
ZW50RW5kRGF0ZX0sCit9KTsKKwordGVzdFBheW1lbnRJdGVtRGF0YSgiU2hvdWxkIG5vdCBoYXZl
IGEgZGVmYXVsdCB2YWx1ZSBmb3IgYGRlZmVycmVkUGF5bWVudERhdGVgIHdoZW4gYHBheW1lbnRU
aW1pbmdgIGlzIGBcImRlZmVycmVkXCJgLiIsIHsKKyAgICBpbml0aWFsVG90YWw6IHtsYWJlbDog
ZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwgcGF5bWVudFRpbWluZzogImRl
ZmVycmVkIn0sCisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91
bnQ6IGRlZmVycmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3Vu
dDogMX0sCit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBhbHNvIHByb3BhZ2F0ZSBg
ZGVmZXJyZWRQYXltZW50RGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMg
YFwiZGVmZXJyZWRcImAuIiwgeworICAgIGluaXRpYWxUb3RhbDoge2xhYmVsOiBkZWZlcnJlZExh
YmVsLCBhbW91bnQ6IGRlZmVycmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCBk
ZWZlcnJlZFBheW1lbnREYXRlfSwKKyAgICBleHBlY3RlZFRvdGFsOiB7bGFiZWw6IGRlZmVycmVk
TGFiZWwsIGFtb3VudDogZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCIs
IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1BheW1lbnRJ
bnRlcnZhbENvdW50OiAxLCBkZWZlcnJlZFBheW1lbnREYXRlfSwKK30pOworCitkb25lKCk7Cis8
L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVx
dWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdl
LWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhMDlhNDQwYWUxZDUx
MzA1ZDk4MmM0NmUwZTNmZjYxMDI3NDJjN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29k
ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgU2hvdWxkIHByb3Bh
Z2F0ZSBgY291cG9uQ29kZWAgaWYgcHJvdmlkZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2Rl
Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1l
bnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YTMyODdi
MzQ4MzRmNTY5Zjc5MDQxYzlhMWViMTc3NWQ2ODRkY2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291
cG9uQ29kZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBgY291cG9uQ29kZWAgYmVpbmcg
cHJvdmlkZWQgdmlhIGAicGF5bWVudG1ldGhvZGNoYW5nZSJgLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
c2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOwor
Cit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGxldCByZXF1ZXN0
ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlk
YXRpb24iLCAoZXZlbnQpID0+IHsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9
KTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIs
IChldmVudCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmNvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBgY291cG9uQ29k
ZWAgc3RhcnRzIGFzIGBudWxsYCIpOworICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgfSk7Cisg
ICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmNoYW5nZUNvdXBvbkNvZGUo
IlRFU1QiKTsKKyAgICB9KTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInBheW1lbnRt
ZXRob2RjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5t
ZXRob2REZXRhaWxzLmNvdXBvbkNvZGUsICJURVNUIiwgImNoZWNrIHRoYXQgYG1ldGhvZERldGFp
bHNgIGNvbnRhaW5zIHRoZSBgY291cG9uQ29kZWAiKTsKKyAgICAgICAgZXZlbnQudXBkYXRlV2l0
aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQ
YXltZW50KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNo
b3coKTsKKyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3Vs
ZCBwcm9wYWdhdGUgYGNvdXBvbkNvZGVgIGlmIHByb3ZpZGVkLiIpOworCitkb25lKCk7Cis8L3Nj
cmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGVhMTc0N2U3MzViNzdhYThhYjdkYjQ0YTZk
N2UzZjQxZDNmZmViOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1
ZSBmb3IgYGNvdXBvbkNvZGVgLgorUEFTUyBTaG91bGQgcHJvcGFnYXRlIGBjb3Vwb25Db2RlYCBp
ZiBwcm92aWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jN2MwNzY3OGFhMzkwZjZhZTE5ZDkyMjEzZTQxMTdmMmI1OWQ3
OGIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVx
dWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1MyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMg
Zm9yIHByb3ZpZGluZyBgY291cG9uQ29kZWAgaW4gYGRhdGFgIGFzIHBhcnQgb2YgYFBheW1lbnRN
ZXRob2REYXRhYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1
ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5
bmMgKHRlc3QpID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFs
aWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJlcXVlc3Qu
YWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAg
ICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExp
c3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jb3Vwb25Db2RlLCBu
dWxsLCAiY2hlY2sgdGhhdCB0aGUgYGNvdXBvbkNvZGVgIGlzIHN0aWxsIGBudWxsYCBhZnRlciBh
biB1cGRhdGUiKTsKKyAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgfSk7CisK
KyAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgIGFzc2VydF9l
cXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbnVsbCwg
ImNoZWNrIHRoYXQgdGhlIGBjb3Vwb25Db2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgdGhlIHBh
eW1lbnQgaXMgYWNjZXB0ZWQiKTsKKworICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNj
ZXNzIik7Cit9LCAiU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYGNvdXBvbkNv
ZGVgLiIpOworCit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNv
bnN0IG1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOworICAgIG1ldGhvZC5kYXRhLmNvdXBv
bkNvZGUgPSAiVEVTVCI7CisKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChb
bWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlz
dGVuZXIoIm1lcmNoYW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAgICBldmVudC5j
b21wbGV0ZSh7IH0pOworICAgIH0pOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hp
cHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbWV0aG9kLmRhdGEu
Y291cG9uQ29kZSwgImNoZWNrIHRoYXQgdGhlIGBjb3Vwb25Db2RlYCBzdGlsbCBtYXRjaGVzIGFm
dGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgfSk7CisgICAgICAg
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICB9
KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworCisgICAgYXNz
ZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jb3Vwb25Db2RlLCBt
ZXRob2QuZGF0YS5jb3Vwb25Db2RlLCAiY2hlY2sgdGhhdCB0aGUgYGNvdXBvbkNvZGVgIHN0aWxs
IG1hdGNoZXMgYWZ0ZXIgdGhlIHBheW1lbnQgaXMgYWNjZXB0ZWQiKTsKKworICAgIGF3YWl0IHJl
c3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Cit9LCAiU2hvdWxkIHByb3BhZ2F0ZSBgY291cG9u
Q29kZWAgaWYgcHJvdmlkZWQuIik7CisKK2RvbmUoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNjIyNmZkYjM2YTJl
ZDE0Y2IyMjM3MzIwZGU2MTA0MDA3NjlkZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBT
aG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgc2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGVgLgorUEFTUyBTaG91bGQgcHJvcGFnYXRlIGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZWAgaWYgcHJvdmlkZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJl
cXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
Y2M4M2FjNGNiNjZiZmM5MTdmZTRiYzc2ZmJkYTJhZTQ3NTY3YjEwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1z
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBw
cm92aWRpbmcgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYCBpbiBgZGF0YWAgYXMgcGFydCBv
ZiBgUGF5bWVudE1ldGhvZERhdGFgLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9w
YXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgorc2V0dXAoeyBleHBsaWNp
dF9kb25lOiB0cnVlLCBleHBsaWNpdF90aW1lb3V0OiB0cnVlIH0pOworCit1c2VyX2FjdGl2YXRp
b25fdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGxldCByZXF1ZXN0ID0gbmV3IFBheW1lbnRS
ZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7Cisg
ICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQp
ID0+IHsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9KTsKKyAgICByZXF1ZXN0
LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLCBudWxsLCAiY2hlY2sgdGhhdCB0aGUgYHNoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgYW4gdXBkYXRlIik7Cisg
ICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3Bv
bnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLCBudWxs
LCAiY2hlY2sgdGhhdCB0aGUgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYCBpcyBzdGlsbCBg
bnVsbGAgYWZ0ZXIgdGhlIHBheW1lbnQgaXMgYWNjZXB0ZWQiKTsKKworICAgIGF3YWl0IHJlc3Bv
bnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Cit9LCAiU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2
YWx1ZSBmb3IgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYC4iKTsKKwordXNlcl9hY3RpdmF0
aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBtZXRob2QgPSB2YWxpZFBheW1l
bnRNZXRob2QoKTsKKyAgICBtZXRob2QuZGF0YS5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSA9
ICJlbmFibGVkIjsKKworICAgIGxldCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFttZXRo
b2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5l
cigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50LmNvbXBs
ZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGlu
Z2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSwg
bWV0aG9kLmRhdGEuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUsICJjaGVjayB0aGF0IHRoZSBg
c2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVgIHN0aWxsIG1hdGNoZXMgYWZ0ZXIgYW4gdXBkYXRl
Iik7CisgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0
IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2Rl
LCBtZXRob2QuZGF0YS5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSwgImNoZWNrIHRoYXQgdGhl
IGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAgc3RpbGwgbWF0Y2hlcyBhZnRlciB0aGUgcGF5
bWVudCBpcyBhY2NlcHRlZCIpOworCisgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nl
c3MiKTsKK30sICJTaG91bGQgcHJvcGFnYXRlIGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAg
aWYgcHJvdmlkZWQuIik7CisKK2RvbmUoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRz
Q291cG9uQ29kZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNhYTNjZDM0NGI3OGRlZjM0OTdhODI0NjVkZmQwMGQ3NWVi
OGViMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVl
IGZvciBgc3VwcG9ydHNDb3Vwb25Db2RlYC4KK1BBU1MgU2hvdWxkIHByb3BhZ2F0ZSBgc3VwcG9y
dHNDb3Vwb25Db2RlYCBpZiBwcm92aWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVu
dHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM4ZTkx
OWQyMjY5NTFlMTBmYTgxNjE3NjlhMTIzMTZmZmZjYWM0NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9y
dHNDb3Vwb25Db2RlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdHMgZm9yIHByb3ZpZGluZyBgc3Vw
cG9ydHNDb3Vwb25Db2RlYCBpbiBgZGF0YWAgYXMgcGFydCBvZiBgUGF5bWVudE1ldGhvZERhdGFg
LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8c2NyaXB0Pgorc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlLCBleHBsaWNp
dF90aW1lb3V0OiB0cnVlIH0pOworCit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyAodGVzdCkg
PT4geworICAgIGxldCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRN
ZXRob2QoKV0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExp
c3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+IHsKKyAgICAgICAgZXZlbnQu
Y29tcGxldGUoeyB9KTsKKyAgICB9KTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNo
aXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxz
KGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzQ291cG9uQ29kZSwgbnVs
bCwgImNoZWNrIHRoYXQgdGhlIGBzdXBwb3J0c0NvdXBvbkNvZGVgIGlzIHN0aWxsIGBudWxsYCBh
ZnRlciBhbiB1cGRhdGUiKTsKKyAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAg
ICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAg
fSk7CisKKyAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgIGFz
c2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc3VwcG9ydHNDb3Vw
b25Db2RlLCBudWxsLCAiY2hlY2sgdGhhdCB0aGUgYHN1cHBvcnRzQ291cG9uQ29kZWAgaXMgc3Rp
bGwgYG51bGxgIGFmdGVyIHRoZSBwYXltZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBhd2FpdCBy
ZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1
bHQgdmFsdWUgZm9yIGBzdXBwb3J0c0NvdXBvbkNvZGVgLiIpOworCit1c2VyX2FjdGl2YXRpb25f
dGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IG1ldGhvZCA9IHZhbGlkUGF5bWVudE1l
dGhvZCgpOworICAgIG1ldGhvZC5kYXRhLnN1cHBvcnRzQ291cG9uQ29kZSA9IHRydWU7CisKKyAg
ICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbbWV0aG9kXSwgdmFsaWRQYXltZW50
RGV0YWlscygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRh
dGlvbiIsIChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgIH0p
OworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwg
KGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3Iuc3VwcG9ydHNDb3Vwb25Db2RlLCBtZXRob2QuZGF0YS5zdXBwb3J0c0NvdXBv
bkNvZGUsICJjaGVjayB0aGF0IHRoZSBgc3VwcG9ydHNDb3Vwb25Db2RlYCBzdGlsbCBtYXRjaGVz
IGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgfSk7CisgICAg
ICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAg
ICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworCisgICAg
YXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zdXBwb3J0c0Nv
dXBvbkNvZGUsIG1ldGhvZC5kYXRhLnN1cHBvcnRzQ291cG9uQ29kZSwgImNoZWNrIHRoYXQgdGhl
IGBzdXBwb3J0c0NvdXBvbkNvZGVgIHN0aWxsIG1hdGNoZXMgYWZ0ZXIgdGhlIHBheW1lbnQgaXMg
YWNjZXB0ZWQiKTsKKworICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Cit9
LCAiU2hvdWxkIHByb3BhZ2F0ZSBgc3VwcG9ydHNDb3Vwb25Db2RlYCBpZiBwcm92aWRlZC4iKTsK
KworZG9uZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA4YjFhZWU2M2VlMDQ5YTAzYzc4YTQ5ZTcyMmY2ZjBlZTU4
ZTg0NDgzLi45YTU4MzI3ZjNhM2U4ODU0NzdkYzE2MDhjYzgxNmJlNTFjOWZlN2UwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC02MCw2ICs2
MCwxMyBAQCB3ZWJraXQub3JnL2IvMjEyOTc1IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1l
bnRSZXF1ZXN0Lmh0dHBzLmh0bWwgWyBQYXNzIFRpbQogd2Via2l0Lm9yZy9iLzIxMjk5OCBodHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbXMuaHR0cHMuaHRtbCBb
IEZhaWx1cmUgXQogCiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0IFsgUGFzcyBdCitodHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVtcy5o
dHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9k
aWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy5odG1sIFsgU2tpcCBdCitodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRtbCBb
IFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNv
dXBvbkNvZGUuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9w
YXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUu
aHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVx
dWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QgWyBQYXNzIF0KIHdlYmtpdC5vcmcv
Yi8xNzU2MTEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3Qv
YWxsb3dwYXltZW50cmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0LWF0dHJpYnV0ZS1jcm9zcy1v
cmlnaW4tYmMtY29udGFpbmVycy5odHRwcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTc1
NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L2FsbG93
cGF5bWVudHJlcXVlc3Qvbm8tYXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0
dHBzLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA0OGZiZDU3OGFmN2NlZDdlNGYxNTRjZDdiMjcwZGY2MmE3NDYzMmMy
Li43MzIxYmU4YmRjMWI0Y2VjMGVmYjY0MjU1ZGRiYWMzMDZlYzdjMzBjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC01Miw2ICs1MiwxMyBA
QCBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLmh0bWwg
WyBQYXNzIF0KIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRpbmctdmlld3BvcnQtcmVj
dHMtaGVhZGVyLWZvb3Rlci5odG1sICBbIFBhc3MgXQogCiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1
ZXN0IFsgUGFzcyBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIt
YWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRw
cy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZp
ZXItdG90YWwuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9w
YXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwg
WyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMuaHRtbCBb
IFNraXAgXQogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3QgWyBQYXNzIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IFsgUGFzcyBdCiB3
ZWJraXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVu
dC1yZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC1hdHRyaWJ1
dGUtY3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430862</attachid>
            <date>2021-06-08 10:42:21 -0700</date>
            <delta_ts>2021-06-08 16:17:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226740-20210608114220.patch</filename>
            <type>text/plain</type>
            <size>274398</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODI3NGY2MWZhZjNhMzA5Mzk2YWI1ZjFmYmFiMmNmM2Q2M2Q1OTU5Ny4uYWU0NzlkMzY0
OTdmZmFkZjY1MDgwYzM0YmUxNjM3MWIwMDI3NzU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW1Bh
eW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkK
KyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQor
ICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24g
Y29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQT05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVf
UEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAg
KGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWApCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoK
KwogMjAyMS0wNi0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNDc5NzUyMWI0MWMzM2RlZDAzYjE5NzcxMDQ2NTE2NDAyYWJiMGNmNC4uYzljYWM1MTdh
Yzk1MzMwNTA3NDVjMzIyYmVjODBiM2E1ODE0M2FmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
NiBAQAorMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgW1BheW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JF
Q1VSUklOR19TVU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElO
RV9JVEVNYCkKKyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9E
RUZFUlJFRF9TVU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9MSU5F
X0lURU1gKQorICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NL
SVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQ
TEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgKQorICAgICAgICAg
LSBjb3Vwb24gY29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQT05fQ09ERWAgYW5kIGBFTkFC
TEVfQVBQTEVfUEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9y
ZSBwaWNrdXAgKGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgIGFu
ZCBgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWApCisKKyAg
ICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1h
ZGRpdGlvbmFsTGluZUl0ZW1zLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsU2hpcHBpbmdNZXRob2Rz
Lmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlNb2RpZmllci10b3RhbC5odHRwcy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1s
CisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0
LWNvdXBvbkNvZGUuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy5o
dG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1
ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5p
ZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUu
aDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlDb3Vw
b25Db2RlVXBkYXRlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlOjpkZWNvZGUpOgorICAgICAgICBPYmplY3QgdXNlZCB0byB1cGRhdGUg
dGhlIHBheW1lbnQgcmVxdWVzdCB2aWEgYEFwcGxlUGF5U2Vzc2lvbi5wcm90b3R5cGUuY29tcGxl
dGVDb3Vwb25Db2RlQ2hhbmdlYAorICAgICAgICB3aGVuIHJlc3BvbmRpbmcgdG8gdGhlIHVzZXIg
bW9kaWZ5aW5nIHRoZSBjb3Vwb24gY29kZS4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlFcnJvckNvZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlFcnJvckNvZGUuaDoKKyAgICAgICAgQWRkIGAiY291cG9uQ29kZUludmFsaWQiYCBhbmQgYCJj
b3Vwb25Db2RlRXhwaXJlZCJgLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUxpbmVJdGVtLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0
ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5TGluZUl0ZW06OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheUxpbmVJdGVtOjpkZWNvZGUpOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5p
dC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJp
bmdQYXltZW50RGF0ZVVuaXQuaDogQWRkZWQuCisgICAgICAgIEFkZCBtZW1iZXJzIHRoYXQgaW5k
aWNhdGUgd2hldGhlciB0aGlzIGxpbmUgaXRlbSBpcyBpbW1lZGlhdGUsIHJlY3VycmluZywgb3Ig
ZGVmZXJyZWQuCisgICAgICAgIERlcGVuZGluZyBvbiB0aGF0IHRpbWluZywgYWRkaXRpb25hbCBt
ZW1iZXJzIGFyZSBhZGRlZCBmb3IgZnVydGhlciBjb25maWd1cmF0aW9uIChlLmcuIHRoZQorICAg
ICAgICBzdGFydCBhbmQvb3IgZW5kIGRhdGUgb2YgYSByZWN1cnJpbmcgcGF5bWVudCwgaXQncyBm
cmVxdWVuY3ksIGV0Yy4pLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nTWV0aG9kLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdNZXRob2QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2Q6
OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9k
OjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9u
ZW50c1JhbmdlLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eURhdGVDb21wb25lbnRzUmFuZ2UuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBh
eURhdGVDb21wb25lbnRzUmFuZ2U6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U6OmRlY29kZSk6CisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29tcG9uZW50czo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6OmRlY29kZSk6CisgICAgICAgIEFkZCBt
ZW1iZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgdGhlIGVzdGltYXRlZCBzaGlwcGlu
ZyBkYXRlcyBmb3IgdGhpcyBzaGlwcGluZyBtZXRob2QuCisKKyAgICAgICAgKiBNb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0QW5kVmFsaWRh
dGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJl
cXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0
OjpzdXBwb3J0c0NvdXBvbkNvZGUgY29uc3QpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpzZXRTdXBwb3J0c0NvdXBvbkNvZGUpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Ojpjb3Vw
b25Db2RlIGNvbnN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdDo6c2V0Q291cG9uQ29kZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2Rl
IGNvbnN0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdDo6c2V0U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGUuaDogQWRkZWQuCisgICAgICAgIEFkZCBtZW1iZXJzIHRoYXQgaW5kaWNh
dGU6CisgICAgICAgICAtIHdoZXRoZXIgdGhpcyBwYXltZW50IHJlcXVlc3Qgc3VwcG9ydHMgYSBj
b3Vwb24gY29kZSBhdCBhbGwKKyAgICAgICAgIC0gdGhlIGluaXRpYWwgY291cG9uIGNvZGUgKGFz
c3VtaW5nIHRoZSBhYm92ZSkKKyAgICAgICAgIC0gd2hldGhlciB0aGlzIHBheW1lbnQgcmVxdWVz
dCBhbGxvd3MgZWRpdGluZyB0aGUgc2hpcHBpbmcgY29udGFjdCAoaS5lLiBpbi1zdG9yZSBwaWNr
dXAgZG9lcyBub3QpCisKKyAgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgICog
ZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNv
dXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpBcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlD
b3Vwb25Db2RlQ2hhbmdlZEV2ZW50OjpldmVudEludGVyZmFjZSBjb25zdCk6CisgICAgICAgIEFk
ZCBhIGAiY291cG9uY29kZWNoYW5nZSJgIGV2ZW50IHRoYXQgaXMgZGlzcGF0Y2hlZCB3aGVuZXZl
ciB0aGUgdXNlciBtb2RpZmllcyB0aGUgY291cG9uIGNvZGUgZm9yIGFuIGBBcHBsZVBheVNlc3Np
b25gLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRh
aWxzLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5pZGwuCisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwu
CisgICAgICAgIFVzZWQgYXMgdGhlIGBvYmplY3QgbWV0aG9kRGF0YWAgd2hlbiBhIGBQYXltZW50
TWV0aG9kQ2hhbmdlRXZlbnRgIGlzIGRpc3BhdGNoZWQgZm9yIGEgYFBheW1lbnRSZXF1ZXN0YC4K
KworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbDoKKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZl
cnRBbmRWYWxpZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNvbXBs
ZXRlQ291cG9uQ29kZUNoYW5nZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlT
ZXNzaW9uOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpBcHBs
ZVBheVNlc3Npb246OmRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlYC4KKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuU3VzcGVuZFdpdGhvdXRDYW5jZWxpbmcgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5CZWdpbiBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkFib3J0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ2FuY2VsIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRl
U2hpcHBpbmdDb250YWN0U2VsZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hh
bmdlIGNvbnN0KTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkNv
bXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UgY29uc3RgLgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uOjppc0ZpbmFsU3RhdGUgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpw
YXltZW50TWV0aG9kVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpkaWRDaGFuZ2VDb3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpBcHBs
ZVBheVBheW1lbnRIYW5kbGVyOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZWAuCisgICAgICAg
IEFkZCBtZXRob2RzIGZvciBKUyB0byBjYWxsIGFuZCBzdGF0ZSBsb2dpYyB0byBoYW5kbGUgY291
cG9uIGNvZGUgY2hhbmdlcy4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENv
b3JkaW5hdG9yLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRv
cjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisgICAgICAgIChXZWJDb3JlOjpQ
YXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNvdXBvbkNvZGUpOiBSZW5hbWVkIGZyb20gYFdl
YkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGVgLgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lmg6Cisg
ICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0
eVBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVu
YW1lZCBmcm9tIGBXZWJDb3JlOjpFbXB0eVBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxl
dGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisgICAgICAgIFBsdW1iaW5nIHVwIHRvIFdlYktp
dC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJdGVt
c0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6dG9EYXRlKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjp0b0NhbGVuZGFyVW5pdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9QS1Bh
eW1lbnRTdW1tYXJ5SXRlbSk6CisgICAgICAgIENvbnZlcnQgV2ViQ29yZSBvYmplY3RzIHRvIFBh
c3NLaXQgb2JqZWN0cy4KKworICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRv
ci5pZGw6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmg6CisgICAg
ICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnNob3dQYXltZW50VUkpOgorICAgICAgICAoV2Vi
Q29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKTog
UmVuYW1lZCBmcm9tIGBXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBh
eW1lbnRNZXRob2RNb2RlQ2hhbmdlYC4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29v
cmRpbmF0b3I6OmNoYW5nZUNvdXBvbkNvZGUpOiBBZGRlZC4KKworICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlBheW1lbnRBUElWZXJzaW9uOjpjdXJyZW50KToKKworICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudEhlYWRlcnMuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRTZXNzaW9uLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0
ZW1EYXRhLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
TGluZUl0ZW1EYXRhLmg6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5pZGw6IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oOiBSZW1vdmVkLgorICAgICAgICBS
ZW1vdmUgdW5uZWNlc3NhcnkgYmFzZSB0eXBlcyBhZnRlciByMjc1MTY5LgorCisgICAgICAgICog
UGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorCiAyMDIxLTA2LTA4
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbTW9kZXJuIE1l
ZGlhIENvbnRyb2xzXSB1cHN0cmVhbSBuZXcgZmVhdHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4
IGM4NDJmOGVlYmVkODIzMzUxOTNiNDJjNGY0ODM3OWViMjgyMDgwZWEuLmM5YjE0ODJkNGE5OGU2
ODI5ZmQ1ZWM3NzAxYWE3YWQ0YmY2NjliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDIxLTA2LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSB1cHN0cmVhbSBuZXcgZmVhdHVyZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjc0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzg5NjMxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgIC0gcmVjdXJyaW5nIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRf
UkVDVVJSSU5HX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1JFQ1VSUklOR19M
SU5FX0lURU1gKQorICAgICAgICAgLSBkZWZlcnJlZCBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lU
X0RFRkVSUkVEX1NVTU1BUllfSVRFTWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJ
TkVfSVRFTWApCisgICAgICAgICAtIGVzdGltYXRlZCBzaGlwcGluZyBkYXRlcyAoYEhBVkVfUEFT
U0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFYCBhbmQgYEVOQUJMRV9B
UFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWApCisgICAgICAg
ICAtIGNvdXBvbiBjb2RlIGVudHJ5IChgSEFWRV9QQVNTS0lUX0NPVVBPTl9DT0RFYCBhbmQgYEVO
QUJMRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVgKQorICAgICAgICAgLSBzaGlwcGVkIHZzIGluLXN0
b3JlIHBpY2t1cCAoYEhBVkVfUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWAg
YW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCkKKwor
ICAgICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaDoKKyAgICAgICAgKiBwYWwvY29j
b2EvUGFzc0tpdFNvZnRMaW5rLm1tOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvUGFzc0tpdFNQ
SS5oOgorCiAyMDIxLTA2LTA2ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3NzQ2NC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ODU2YWY4YTA5YmRlNDcwNjA5ZjM1ODZmODMwYTBmYTYyOWRmMGIxOS4uZGQ2MzU0NDY4NTIxNDI5
OWZjMjZiMTY5MDA5ZjgwYjc5NTIzYzJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAy
MS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW1Bh
eW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICAtIHJlY3VycmluZyBsaW5lIGl0ZW1zIChgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNYCkK
KyAgICAgICAgIC0gZGVmZXJyZWQgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU1gIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1gKQor
ICAgICAgICAgLSBlc3RpbWF0ZWQgc2hpcHBpbmcgZGF0ZXMgKGBIQVZFX1BBU1NLSVRfU0hJUFBJ
TkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRWAgYW5kIGBFTkFCTEVfQVBQTEVfUEFZX1NI
SVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0VgKQorICAgICAgICAgLSBjb3Vwb24g
Y29kZSBlbnRyeSAoYEhBVkVfUEFTU0tJVF9DT1VQT05fQ09ERWAgYW5kIGBFTkFCTEVfQVBQTEVf
UEFZX0NPVVBPTl9DT0RFYCkKKyAgICAgICAgIC0gc2hpcHBlZCB2cyBpbi1zdG9yZSBwaWNrdXAg
KGBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgIGFuZCBgRU5BQkxF
X0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERWApCisKKyAgICAgICAgICog
UGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbToKKyAg
ICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckRlbGVnYXRlIHBh
eW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6ZGlkQ2hhbmdlQ291cG9uQ29kZTpoYW5k
bGVyOl0pOiBBZGRlZC4KKyAgICAgICAgICogUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0
aW9uQ29udHJvbGxlci5tbToKKyAgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25Db250
cm9sbGVyRGVsZWdhdGUgcGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyOmRpZENoYW5nZUNv
dXBvbkNvZGU6aGFuZGxlcjpdKTogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvUGF5
bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbToKKyAgICAgICAgKFdlYktpdDo6dG9QS1Bh
eW1lbnRFcnJvckNvZGUpOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblBy
ZXNlbnRlcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKTogUmVuYW1lZCBmcm9tIGBXZWJLaXQ6
OlBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2Rl
Q2hhbmdlYC4KKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9u
RGVsZWdhdGUuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0
aW9uRGVsZWdhdGUubW06CisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0
ZSBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6XSk6IEFkZGVkLgorICAgICAgICAodG9EYXRlQ29t
cG9uZW50cyk6IEFkZGVkLgorICAgICAgICAodG9EYXRlQ29tcG9uZW50c1JhbmdlKTogQWRkZWQu
CisgICAgICAgICh0b1NoaXBwaW5nTWV0aG9kKToKKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9y
aXphdGlvbkRlbGVnYXRlIF9kaWRDaGFuZ2VDb3Vwb25Db2RlOmNvbXBsZXRpb246XSk6IEFkZGVk
LgorICAgICAgICBBZGQgcGx1bWJpbmcgZnJvbS90byBQYXNzS2l0IGZvciBjb3Vwb24gY29kZSBj
aGFuZ2VzLgorCisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5oOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5Ojpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdlYktp
dDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2VgLgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJl
c2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZSk6IFJlbmFtZWQgZnJvbSBgV2ViS2l0OjpXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGVg
LgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQmVnaW4g
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2Fu
Q2FuY2VsIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OmNhbkNvbXBsZXRlUGF5bWVudCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1l
bnRDb29yZGluYXRvclByb3h5OjpjYW5BYm9ydCBjb25zdCk6CisgICAgICAgICogU2hhcmVkL0Fw
cGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OnRvTlNEYXRlQ29tcG9uZW50cyk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0Ojp0
b1BLRGF0ZUNvbXBvbmVudHNSYW5nZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0Ojp0b1BLU2hp
cHBpbmdNZXRob2QpOgorICAgICAgICAoV2ViS2l0Ojp0b1BLU2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5h
bWVkIGZyb20gYFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ29t
cGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZWAuCisgICAgICAgIENvbnZlcnQgUGFzc0tpdCBv
YmplY3RzIHRvL2Zyb20gV2ViQ29yZSBvYmplY3RzLgorCisgICAgICAgICogU2hhcmVkL0NvY29h
L1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoSVBDOjpBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKToKKyAg
ICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdD46OmRlY29kZSk6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBh
eW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQ
YXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVu
dENvb3JkaW5hdG9yOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20gYFdl
YktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hh
bmdlYC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpkaWRDaGFuZ2VD
b3Vwb25Db2RlKTogUmVuYW1lZCBmcm9tIGBXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6
ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGVgLgorICAgICAgICBQbHVtYmluZyBpbnRvL2Zyb20g
V2ViQ29yZS4KKwogMjAyMS0wNi0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgUmVxdWlyZSB0aGF0IGNhbGxzaXRlcyBvZiBgU25hcHNob3RPcHRpb25zYCBz
cGVjaWZ5IGEgYFBpeGVsRm9ybWF0YCBhbmQgYERlc3RpbmF0aW9uQ29sb3JTcGFjZWAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA5NTY4NDhkNmJiZWYwNGI1ZWEzOWQ5YTNjNGMxNzQ2
NDRkMDNhYjllLi4wNmIzMGYwZmIxYmFhYWI0NjJmZTI3MTExMDllZTc3ODdhNzBhNmZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDYtMDcgIERl
dmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVl
c3RdIHVwc3RyZWFtIG5ldyBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzQwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODk2MzEz
Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgLSBy
ZWN1cnJpbmcgbGluZSBpdGVtcyAoYEhBVkVfUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9JVEVN
YCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTWApCisgICAgICAgICAt
IGRlZmVycmVkIGxpbmUgaXRlbXMgKGBIQVZFX1BBU1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVN
YCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNYCkKKyAgICAgICAgIC0g
ZXN0aW1hdGVkIHNoaXBwaW5nIGRhdGVzIChgSEFWRV9QQVNTS0lUX1NISVBQSU5HX01FVEhPRF9E
QVRFX0NPTVBPTkVOVFNfUkFOR0VgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19NRVRI
T0RfREFURV9DT01QT05FTlRTX1JBTkdFYCkKKyAgICAgICAgIC0gY291cG9uIGNvZGUgZW50cnkg
KGBIQVZFX1BBU1NLSVRfQ09VUE9OX0NPREVgIGFuZCBgRU5BQkxFX0FQUExFX1BBWV9DT1VQT05f
Q09ERWApCisgICAgICAgICAtIHNoaXBwZWQgdnMgaW4tc3RvcmUgcGlja3VwIChgSEFWRV9QQVNT
S0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFYCBhbmQgYEVOQUJMRV9BUFBMRV9QQVlf
U0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVgKQorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViUGF5bWVudENv
b3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UpOiBSZW5hbWVkIGZyb20g
YFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZWAuCisKIDIwMjEtMDYtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgVXBzdHJlYW0gV2ViS2l0IHN1cHBvcnQgZm9yIExpdmUgVGV4dApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDA3ODA5MGFiZGFiYTE1ZmVhMjRlNjdk
MDQ4Y2ExYmQ4MDg2MzM3YjMuLjZiODFmMTFlMTJmMTczZGY0ZmJkZGFlZjE5YjA4MjgzNDg2OTUw
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTU5LDYgKzU5LDE0IEBA
CiAjZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVkgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFC
TEVfQVBQTEVfUEFZX0NPVVBPTl9DT0RFKSAmJiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisj
ZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfQ09VUE9OX0NPREUgMQorI2VuZGlmCisKKyNpZiAhZGVm
aW5lZChFTkFCTEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkgJiYgSEFWRShQQVNTS0lU
X0RFRkVSUkVEX1NVTU1BUllfSVRFTSkKKyNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ERUZFUlJF
RF9MSU5FX0lURU0gMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX0lO
U1RBTExNRU5UUykgJiYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKICNkZWZpbmUgRU5BQkxF
X0FQUExFX1BBWV9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCkBAIC02NywxMCArNzUsMjYgQEAKICNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVTIDEKICNlbmRpZgogCisjaWYg
IWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkg
JiYgSEFWRShQQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorI2RlZmluZSBF
TkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFIDEKKyNlbmRpZgor
CisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKSAmJiBI
QVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKKyNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9SRUNVUlJJTkdfTElORV9JVEVNIDEKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxF
X0FQUExFX1BBWV9SRU1PVEVfVUkpICYmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShNQUND
QVRBTFlTVCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2Rl
ZmluZSBFTkFCTEVfQVBQTEVfUEFZX1JFTU9URV9VSSAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMTEpICYmICgoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDMwMCkgfHwgKFBMQVRGT1JNKElPUykg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwNTAwKSkKKyNkZWZpbmUg
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YxMSAxCisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVO
QUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkgJiYg
SEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisjZGVm
aW5lIEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5H
RSAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkK
ICNkZWZpbmUgRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUIDEKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUhhdmUuaAppbmRleCAyN2RjOTZhNjMyYjIzOWRiNjZkN2UwMzNjZDMzNzZmMTgyNDg1ZDYxLi5m
ZWM1NWRiMDZjMDg4YTQ2ZTIwMTRkZmMzNTI2OTE5NzM0N2NmOTE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhh
dmUuaApAQCAtNzA4LDYgKzcwOCwxNCBAQAogI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVOVF9N
RVRIT0RfQklMTElOR19BRERSRVNTIDEKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMCkKKyNkZWZp
bmUgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0gMQorI2RlZmluZSBIQVZFX1BB
U1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVNIDEKKyNkZWZpbmUgSEFWRV9QQVNTS0lUX1NISVBQ
SU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UgMQorI2RlZmluZSBIQVZFX1BBU1NLSVRf
Q09VUE9OX0NPREUgMQorI2RlZmluZSBIQVZFX1BBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElU
SU5HX01PREUgMQorI2VuZGlmCisKICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9S
TShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9RVUlDS0xPT0tfVEhVTUJOQUlMSU5HIDEKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
aW5kZXggYzc2ZmI3OWJkMDdjODgzZGIzODk1NzM0YzhhZTk0YWY5NzBiMjYzNC4uNmQ0Yjc2OWJj
OWMzOTM3MTk1ZWE1ZjYyY2ViMTk1YjIzZDdjNDdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0yNCw2ICsyNCwxMSBAQCAkKFBST0pF
Q1RfRElSKS9EZXJpdmVkU291cmNlcy5tYWtlCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FpcnBs
YXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDYW5jZWxFdmVudC5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsCiskKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWls
cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVD
b21wb25lbnRzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURh
dGVDb21wb25lbnRzUmFuZ2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsCkBAIC0zNCwyMCArMzksMTkgQEAgJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50SXRlbS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50UmV0
YWlsQ2hhbm5lbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlM
aW5lSXRlbS5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5l
SXRlbURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TWVy
Y2hhbnRDYXBhYmlsaXR5LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kLmlkbAotJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5p
ZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZVVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRQYXNzLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbkVycm9yLmlk
bApAQCAtNTYsMTAgKzYwLDEwIEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXR1cENvbmZpZ3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2V0dXBGZWF0dXJlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVR5cGUuaWRsCiskKFBST0pFQ1RfRElSKS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCi0kKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNo
YW50RXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CmluZGV4IGU5MDEzOTUwODRlZjc0YWEzNWMyNmI3YjI3MmUwMDFhNjlhNWM5NmUu
LmNiNjA4OTU5MWZmMWYzZjdmMzQzNWY2ZTFmOTE3MDUxYTk0MzdhZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC04Nyw2ICs4Nywx
NiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxl
UGF5Q2FuY2VsRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5Q2FuY2VsRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlDb250YWN0Rmll
bGQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5Q291
cG9uQ29kZURldGFpbHMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5
Q291cG9uQ29kZVVwZGF0ZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheURhdGVD
b21wb25lbnRzUmFuZ2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2Uu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxl
UGF5RGV0YWlsc1VwZGF0ZUJhc2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmNwcApAQCAtMTA3LDggKzEx
Nyw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBw
bGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlM
aW5lSXRlbS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXBwbGVQYXlMaW5lSXRlbS5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmNwcAotJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TWVyY2hh
bnRDYXBhYmlsaXR5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5TW9kaWZpZXIuY3BwCkBAIC0xMjMs
MTAgKzEzMSw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQXBwbGVQYXlQYXltZW50Q29udGFjdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50Q29udGFjdC5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhv
ZC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBw
bGVQYXlQYXltZW50TWV0aG9kLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuY3BwCi0kKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1l
dGhvZE1vZGVEZXRhaWxzLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHAKLSQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZVVwZGF0ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNl
bGVjdGVkRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcApAQCAtMTM3LDYgKzE0MSwxMCBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UGF5
bWVudFBhc3MuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0FwcGxlUGF5UGF5bWVudFBhc3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQ
YXlQYXltZW50VGltaW5nLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNBcHBsZVBheVBheW1lbnRUaW1pbmcuaAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5p
dC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVJlcXVlc3QuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVxdWVzdC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5UmVxdWVz
dEJhc2UuY3BwCkBAIC0xNTUsMTQgKzE2MywxNCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBG
ZWF0dXJlU3RhdGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVNldHVwRmVhdHVyZVR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBw
aW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5
U2hpcHBpbmdDb250YWN0VXBkYXRlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FwcGxlUGF5U2hpcHBpbmdN
ZXRob2QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5jcHAKLSQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01l
dGhvZERhdGEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNl
bGVjdGVkRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYmY4OWNhZTJjZDFiZTYwNTcyMzk1YzE2MmY5MmZhMTcwOTg4ZTdmYy4u
MjFjMWUzOWVjMTQ5NjgxYTZhZWQwODFiN2Q1NzI3YzkzZTBiMDYwMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC01Myw2ICs1MywxMSBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxh
YmlsaXR5RXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDYW5jZWxFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvbnRhY3RGaWVsZC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5pZGwgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFu
Z2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEZXRhaWxz
VXBkYXRlQmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eURldGFpbHNVcGRhdGVEYXRhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RXJyb3IuaWRsIFwKQEAgLTYzLDIwICs2OCwxOSBAQCBKU19CSU5ESU5HX0lETFMg
Oj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50
SXRlbVR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlJ
bnN0YWxsbWVudFJldGFpbENoYW5uZWwuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVk
RXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50Q29udGFjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRNZXRob2QuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaWRsIFwKLSAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2
ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudFBhc3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uRXJyb3IuaWRsIFwK
QEAgLTg1LDEwICs4OSwxMCBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZVN0YXRlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2V0dXBGZWF0dXJlVHlwZS5pZGwg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRh
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdN
ZXRob2RTZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hh
bmdlZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlD
b3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODExOTczNGMwNDFmMjZlNjlm
N2Q5NzJlN2ExM2RlNGU0MTA0OTY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwCkBAIC0w
LDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQXBwbGVQYXlD
b3Vwb25Db2RlQ2hhbmdlZEV2ZW50KTsKKworQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50
OjpBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwg
U3RyaW5nJiYgY291cG9uQ29kZSkKKyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElz
Q2FuY2VsYWJsZTo6Tm8pCisgICAgLCBtX2NvdXBvbkNvZGUoV1RGTW92ZShjb3Vwb25Db2RlKSkK
K3sKK30KKworQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50Ojp+QXBwbGVQYXlDb3Vwb25D
b2RlQ2hhbmdlZEV2ZW50KCkgPSBkZWZhdWx0OworCitFdmVudEludGVyZmFjZSBBcHBsZVBheUNv
dXBvbkNvZGVDaGFuZ2VkRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50SW50ZXJmYWNlVHlwZTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05f
Q09ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhZWY2N2M4
MmU0NjMxYzRhYTdlOTZmZTZlNTVjZTQ1NDk2ZTFkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVu
dC5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7Cisg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQp
OworcHVibGljOgorICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50
PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgU3RyaW5nJiYgY291cG9uQ29kZSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5n
ZWRFdmVudCh0eXBlLCBXVEZNb3ZlKGNvdXBvbkNvZGUpKSk7CisgICAgfQorCisgICAgdmlydHVh
bCB+QXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50KCk7CisKKyAgICBjb25zdCBTdHJpbmcm
IGNvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvdXBvbkNvZGU7IH0KKworcHJpdmF0ZToK
KyAgICBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgU3RyaW5nJiYpOworCisgICAgLy8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBldmVudElu
dGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOworCisgICAgY29uc3QgU3RyaW5nIG1fY291cG9uQ29k
ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBM
RV9QQVlfQ09VUE9OX0NPREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTg5OGMyMTVkODhiNzJiMmM3YzQ1MDBhNmNiNmRhYzM5ZWU2NzQyNwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vw
b25Db2RlQ2hhbmdlZEV2ZW50LmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERSwKKyAgICBMZWdhY3lOb0ludGVy
ZmFjZU9iamVjdCwKK10gaW50ZXJmYWNlIEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudCA6
IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvdXBvbkNvZGU7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNv
dXBvbkNvZGVEZXRhaWxzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q291cG9uQ29kZURldGFpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmQ3N2FhYjVhNWI3YmY0ZTk4ODU0
NTA3ZTY0OGMzZWU4ZTc3Yzk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgKQEAgLTAsMCArMSw0MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzIHsKKyAgICBTdHJp
bmcgY291cG9uQ29kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZWFhNzNjZmUyYWNhMzNmMWI0ZWM1YzhlN2FmNTAxZTMyOTI4YjY5Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNv
dXBvbkNvZGVEZXRhaWxzLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAg
IENvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERSwKKyAgICBFeHBvcnRNYWNybz1XRUJD
T1JFX0VYUE9SVCwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBBcHBs
ZVBheUNvdXBvbkNvZGVEZXRhaWxzIHsKKyAgICBET01TdHJpbmcgY291cG9uQ29kZTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9u
Q29kZVVwZGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDY0NWM2MzZiYzVmMTUzYWRjOTExZWZiYjQx
NDE5OGE1ZWY1OWFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaApAQCAtMCwwICsxLDgwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQorCisjaW5jbHVkZSAiQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5oIgorI2luY2x1ZGUgIkFw
cGxlUGF5RXJyb3IuaCIKKyNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmgiCisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlIGZpbmFsIDogcHVi
bGljIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UgeworICAgIFZlY3RvcjxSZWZQdHI8QXBwbGVQ
YXlFcnJvcj4+IGVycm9yczsKKworICAgIFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBu
ZXdTaGlwcGluZ01ldGhvZHM7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiBkZWNvZGUoRGVjb2RlciYp
OworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBBcHBsZVBheURl
dGFpbHNVcGRhdGVCYXNlOjplbmNvZGUoZW5jb2Rlcik7CisgICAgZW5jb2RlciA8PCBlcnJvcnM7
CisgICAgZW5jb2RlciA8PCBuZXdTaGlwcGluZ01ldGhvZHM7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4gQXBwbGVQ
YXlDb3Vwb25Db2RlVXBkYXRlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBBcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGUgcmVzdWx0OworCisgICAgaWYgKCFyZXN1bHQuZGVjb2RlQmFz
ZShkZWNvZGVyKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8VmVjdG9yPFJlZlB0cjxBcHBsZVBheUVycm9yPj4+IGVycm9yczsKKyAgICBkZWNvZGVy
ID4+IGVycm9yczsKKyAgICBpZiAoIWVycm9ycykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKyAgICByZXN1bHQuZXJyb3JzID0gV1RGTW92ZSgqZXJyb3JzKTsKKworICAgIHN0ZDo6b3B0
aW9uYWw8VmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+PiBuZXdTaGlwcGluZ01ldGhvZHM7
CisgICAgZGVjb2RlciA+PiBuZXdTaGlwcGluZ01ldGhvZHM7CisgICAgaWYgKCFuZXdTaGlwcGlu
Z01ldGhvZHMpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmVzdWx0Lm5ld1No
aXBwaW5nTWV0aG9kcyA9IFdURk1vdmUoKm5ld1NoaXBwaW5nTWV0aG9kcyk7CisKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY3ZmM3MjhlY2ZmMWU5MTk4ODFiNGJmNmIyNDVhODA4ZmY5MmI2M2UKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q291cG9uQ29k
ZVVwZGF0ZS5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1BUFBMRV9QQVlfQ09VUE9OX0NPREUsCitdIGRpY3Rpb25hcnkgQXBwbGVQYXlDb3Vwb25D
b2RlVXBkYXRlIDogQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZSB7CisgICAgc2VxdWVuY2U8QXBw
bGVQYXlFcnJvcj4gZXJyb3JzOworCisgICAgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhv
ZD4gbmV3U2hpcHBpbmdNZXRob2RzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY1
ODZlMWU0NjEzNDU2NDQyZGIwNDJiOWQ4MmMxZjAyM2U4ZmY3ZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5o
CkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQXBwbGVQYXlEYXRlQ29tcG9uZW50cyB7CisgICAg
c3RkOjpvcHRpb25hbDx1bnNpZ25lZD4geWVhcnM7CisgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25l
ZD4gbW9udGhzOworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IGRheXM7CisgICAgc3RkOjpv
cHRpb25hbDx1bnNpZ25lZD4gaG91cnM7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4g
c3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlEYXRlQ29tcG9uZW50cz4gZGVjb2RlKERlY29k
ZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEFwcGxlUGF5RGF0ZUNv
bXBvbmVudHM6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIg
PDwgeWVhcnM7CisgICAgZW5jb2RlciA8PCBtb250aHM7CisgICAgZW5jb2RlciA8PCBkYXlzOwor
ICAgIGVuY29kZXIgPDwgaG91cnM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6
Om9wdGlvbmFsPEFwcGxlUGF5RGF0ZUNvbXBvbmVudHM+IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHM6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkg
XAorICAgIHN0ZDo6b3B0aW9uYWw8dHlwZT4gbmFtZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsg
XAorICAgIGlmICghbmFtZSkgXAorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OyBcCisKKyAg
ICBERUNPREUoeWVhcnMsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+KQorICAgIERFQ09ERShtb250
aHMsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+KQorICAgIERFQ09ERShkYXlzLCBzdGQ6Om9wdGlv
bmFsPHVuc2lnbmVkPikKKyAgICBERUNPREUoaG91cnMsIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+
KQorCisjdW5kZWYgREVDT0RFCisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqeWVhcnMpLCBXVEZN
b3ZlKCptb250aHMpLCBXVEZNb3ZlKCpkYXlzKSwgV1RGTW92ZSgqaG91cnMpIH19OworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1NISVBQ
SU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44MTIwMmIwZTYyZDI1YjYxNWQ2ZDYyMTI5OTZmMDhjYWI3YjEyZDFhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVD
b21wb25lbnRzLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRp
dGlvbmFsPUFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFLAor
ICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0
LAorXSBkaWN0aW9uYXJ5IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgeworICAgIHVuc2lnbmVkIGxv
bmcgeWVhcnM7CisgICAgdW5zaWduZWQgbG9uZyBtb250aHM7CisgICAgdW5zaWduZWQgbG9uZyBk
YXlzOworICAgIHVuc2lnbmVkIGxvbmcgaG91cnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1Jhbmdl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDU5ZTM3NmQwZDdjODNmYTM4NDFmZWM4MWZjMTc1NTRlZTA4MjUyNQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlEYXRlQ29tcG9uZW50c1JhbmdlLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9D
T01QT05FTlRTX1JBTkdFKQorCisjaW5jbHVkZSAiQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBBcHBsZVBheURhdGVDb21wb25lbnRzUmFu
Z2UgeworICAgIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgc3RhcnREYXRlQ29tcG9uZW50czsKKyAg
ICBBcHBsZVBheURhdGVDb21wb25lbnRzIGVuZERhdGVDb21wb25lbnRzOworCisgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5RGF0ZUNvbXBv
bmVudHNSYW5nZT4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+Cit2b2lkIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZTo6ZW5jb2RlKEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBzdGFydERhdGVDb21wb25lbnRzOworICAg
IGVuY29kZXIgPDwgZW5kRGF0ZUNvbXBvbmVudHM7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29k
ZXI+CitzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZT4gQXBwbGVQYXlE
YXRlQ29tcG9uZW50c1JhbmdlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNkZWZpbmUg
REVDT0RFKG5hbWUsIHR5cGUpIFwKKyAgICBzdGQ6Om9wdGlvbmFsPHR5cGU+IG5hbWU7IFwKKyAg
ICBkZWNvZGVyID4+IG5hbWU7IFwKKyAgICBpZiAoIW5hbWUpIFwKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsgXAorCisgICAgREVDT0RFKHN0YXJ0RGF0ZUNvbXBvbmVudHMsIEFwcGxlUGF5
RGF0ZUNvbXBvbmVudHMpCisgICAgREVDT0RFKGVuZERhdGVDb21wb25lbnRzLCBBcHBsZVBheURh
dGVDb21wb25lbnRzKQorCisjdW5kZWYgREVDT0RFCisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgq
c3RhcnREYXRlQ29tcG9uZW50cyksIFdURk1vdmUoKmVuZERhdGVDb21wb25lbnRzKSB9fTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9T
SElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NGEzNzg2MmM0ZjM0ZmJhMmI1NmVkNGExYTE0YjA4YWQ3
ZWU3YmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVf
Q09NUE9ORU5UU19SQU5HRSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBK
U0dlbmVyYXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBBcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UgeworICAgIHJlcXVpcmVkIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMgc3RhcnREYXRlQ29t
cG9uZW50czsKKyAgICByZXF1aXJlZCBBcHBsZVBheURhdGVDb21wb25lbnRzIGVuZERhdGVDb21w
b25lbnRzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlFcnJvckNvZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlFcnJvckNvZGUuaAppbmRleCA0MmY2NTljZmYyMzQ0ZjBhNThiMTE1ODA1MzJjNzlkYjVh
NzI3YWY3Li42NGIyZWM0ODYwNzhlYzQzNDUzMzZlMmE3M2U0ODBjNTE2ZDFjNzFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5o
CkBAIC0yOSwxMCArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAotI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5
RXJyb3JDb2RlQWRkaXRpb25zLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBl
bnVtIGNsYXNzIEFwcGxlUGF5RXJyb3JDb2RlIHsKQEAgLTQwLDkgKzM2LDggQEAgZW51bSBjbGFz
cyBBcHBsZVBheUVycm9yQ29kZSB7CiAgICAgU2hpcHBpbmdDb250YWN0SW52YWxpZCwKICAgICBC
aWxsaW5nQ29udGFjdEludmFsaWQsCiAgICAgQWRkcmVzc1Vuc2VydmljZWFibGUsCi0jaWYgZGVm
aW5lZChBcHBsZVBheUVycm9yQ29kZUFkZGl0aW9uc192YWx1ZXMpCi0gICAgQXBwbGVQYXlFcnJv
ckNvZGVBZGRpdGlvbnNfdmFsdWVzCi0jZW5kaWYKKyAgICBDb3Vwb25Db2RlSW52YWxpZCwKKyAg
ICBDb3Vwb25Db2RlRXhwaXJlZCwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKQEAgLTU1
LDEwICs1MCw5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXBwbGVQ
YXlFcnJvckNvZGU+IHsKICAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OlVua25v
d24sCiAgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpTaGlwcGluZ0NvbnRhY3RJ
bnZhbGlkLAogICAgICAgICBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QmlsbGluZ0NvbnRh
Y3RJbnZhbGlkLAotICAgICAgICBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVzc1Vu
c2VydmljZWFibGUKLSNpZiBkZWZpbmVkKEFwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zX0VudW1U
cmFpdHMpCi0gICAgICAgIEFwcGxlUGF5RXJyb3JDb2RlQWRkaXRpb25zX0VudW1UcmFpdHMKLSNl
bmRpZgorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6QWRkcmVzc1Vuc2Vydmlj
ZWFibGUsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlSW52
YWxpZCwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNvZGU6OkNvdXBvbkNvZGVFeHBp
cmVkCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwKaW5kZXggNGNkNDRmOGQ0MTJhZWVmZDM4N2IxODcx
MmQwYzM4MjNkNTMyOGU4Yi4uZjFkZjllMmFiMmU2ZjFkMTdhYmJjNDIzMGYyZjdhYjhhZmM4N2Vl
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVy
cm9yQ29kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUVycm9yQ29kZS5pZGwKQEAgLTMwLDUgKzMwLDcgQEAKICAgICAidW5rbm93biIsCiAgICAgInNo
aXBwaW5nQ29udGFjdEludmFsaWQiLAogICAgICJiaWxsaW5nQ29udGFjdEludmFsaWQiLAotICAg
ICJhZGRyZXNzVW5zZXJ2aWNlYWJsZSIKKyAgICAiYWRkcmVzc1Vuc2VydmljZWFibGUiLAorICAg
ICJjb3Vwb25Db2RlSW52YWxpZCIsCisgICAgImNvdXBvbkNvZGVFeHBpcmVkIgogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKaW5k
ZXggZThmYWJiM2NjMGNkYTJiZDYzNGY5N2VhNmZjM2E4YmMzN2NlNTE5OC4uZjU0YjNiZDMxZWUz
MGRkMzdlODY0ZWRjMmQ1YWJhZThiMTc4ODY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmgKQEAgLTI3LDEzICsyNywxNSBAQAog
CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAotI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW1EYXRh
LmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRU
aW1pbmcuaCIKKyNpbmNsdWRlICJBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIgor
I2luY2x1ZGUgPGxpbWl0cz4KKyNpbmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQXBwbGVQYXlM
aW5lSXRlbSBmaW5hbCA6IHB1YmxpYyBBcHBsZVBheUxpbmVJdGVtRGF0YSB7CitzdHJ1Y3QgQXBw
bGVQYXlMaW5lSXRlbSBmaW5hbCB7CiAgICAgZW51bSBjbGFzcyBUeXBlIDogYm9vbCB7CiAgICAg
ICAgIFBlbmRpbmcsCiAgICAgICAgIEZpbmFsLApAQCAtNDMsNiArNDUsMjEgQEAgc3RydWN0IEFw
cGxlUGF5TGluZUl0ZW0gZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlMaW5lSXRlbURhdGEgewogICAg
IFN0cmluZyBsYWJlbDsKICAgICBTdHJpbmcgYW1vdW50OwogCisjaWYgRU5BQkxFKEFQUExFX1BB
WV9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVf
SVRFTSkKKyAgICBBcHBsZVBheVBheW1lbnRUaW1pbmcgcGF5bWVudFRpbWluZyB7IEFwcGxlUGF5
UGF5bWVudFRpbWluZzo6SW1tZWRpYXRlIH07CisjZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9Q
QVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICBkb3VibGUgcmVjdXJyaW5nUGF5bWVudFN0YXJ0
RGF0ZSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyAgICBB
cHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxV
bml0IHsgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6Ok1vbnRoIH07CisgICAgdW5z
aWduZWQgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQgPSAxOworICAgIGRvdWJsZSByZWN1
cnJpbmdQYXltZW50RW5kRGF0ZSB7IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRf
TmFOKCkgfTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lU
RU0pCisgICAgZG91YmxlIGRlZmVycmVkUGF5bWVudERhdGUgeyBzdGQ6Om51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpIH07CisjZW5kaWYKKwogICAgIHRlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheUxpbmVJdGVtPiBkZWNvZGUoRGVj
b2RlciYpOwogfTsKQEAgLTUwLDM5ICs2Nyw2NyBAQCBzdHJ1Y3QgQXBwbGVQYXlMaW5lSXRlbSBm
aW5hbCA6IHB1YmxpYyBBcHBsZVBheUxpbmVJdGVtRGF0YSB7CiB0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPgogdm9pZCBBcHBsZVBheUxpbmVJdGVtOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29u
c3QKIHsKLSAgICBBcHBsZVBheUxpbmVJdGVtRGF0YTo6ZW5jb2RlKGVuY29kZXIpOwogICAgIGVu
Y29kZXIgPDwgdHlwZTsKICAgICBlbmNvZGVyIDw8IGxhYmVsOwogICAgIGVuY29kZXIgPDwgYW1v
dW50OworI2lmIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkgfHwgRU5BQkxF
KEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisgICAgZW5jb2RlciA8PCBwYXltZW50VGlt
aW5nOworI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKQor
ICAgIGVuY29kZXIgPDwgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZTsKKyAgICBlbmNvZGVyIDw8
IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ7CisgICAgZW5jb2RlciA8PCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxDb3VudDsKKyAgICBlbmNvZGVyIDw8IHJlY3VycmluZ1BheW1lbnRFbmRE
YXRlOworI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU0pCisg
ICAgZW5jb2RlciA8PCBkZWZlcnJlZFBheW1lbnREYXRlOworI2VuZGlmCiB9CiAKIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+CiBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5TGluZUl0ZW0+IEFwcGxlUGF5
TGluZUl0ZW06OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIEFwcGxlUGF5TGluZUl0
ZW0gcmVzdWx0OworI2RlZmluZSBERUNPREUobmFtZSwgdHlwZSkgXAorICAgIHN0ZDo6b3B0aW9u
YWw8dHlwZT4gbmFtZTsgXAorICAgIGRlY29kZXIgPj4gbmFtZTsgXAorICAgIGlmICghbmFtZSkg
XAorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OyBcCiAKLSAgICBpZiAoIXJlc3VsdC5kZWNv
ZGVEYXRhKGRlY29kZXIpKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIERFQ09E
RSh0eXBlLCBUeXBlKQorICAgIERFQ09ERShsYWJlbCwgU3RyaW5nKQorICAgIERFQ09ERShhbW91
bnQsIFN0cmluZykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8
IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorICAgIERFQ09ERShwYXltZW50
VGltaW5nLCBBcHBsZVBheVBheW1lbnRUaW1pbmcpCisjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVf
UEFZX1JFQ1VSUklOR19MSU5FX0lURU0pCisgICAgREVDT0RFKHJlY3VycmluZ1BheW1lbnRTdGFy
dERhdGUsIGRvdWJsZSkKKyAgICBERUNPREUocmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwg
QXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQpCisgICAgREVDT0RFKHJlY3VycmluZ1Bh
eW1lbnRJbnRlcnZhbENvdW50LCB1bnNpZ25lZCkKKyAgICBERUNPREUocmVjdXJyaW5nUGF5bWVu
dEVuZERhdGUsIGRvdWJsZSkKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURf
TElORV9JVEVNKQorICAgIERFQ09ERShkZWZlcnJlZFBheW1lbnREYXRlLCBkb3VibGUpCisjZW5k
aWYKIAotICAgIHN0ZDo6b3B0aW9uYWw8VHlwZT4gdHlwZTsKLSAgICBkZWNvZGVyID4+IHR5cGU7
Ci0gICAgaWYgKCF0eXBlKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3Vs
dC50eXBlID0gV1RGTW92ZSgqdHlwZSk7CisjdW5kZWYgREVDT0RFCiAKLSAgICBzdGQ6Om9wdGlv
bmFsPFN0cmluZz4gbGFiZWw7Ci0gICAgZGVjb2RlciA+PiBsYWJlbDsKLSAgICBpZiAoIWxhYmVs
KQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC5sYWJlbCA9IFdURk1v
dmUoKmxhYmVsKTsKLQotICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBhbW91bnQ7Ci0gICAgZGVj
b2RlciA+PiBhbW91bnQ7Ci0gICAgaWYgKCFhbW91bnQpCi0gICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7Ci0gICAgcmVzdWx0LmFtb3VudCA9IFdURk1vdmUoKmFtb3VudCk7Ci0KLSAgICByZXR1
cm4gcmVzdWx0OworICAgIHJldHVybiB7IHsKKyAgICAgICAgV1RGTW92ZSgqdHlwZSksCisgICAg
ICAgIFdURk1vdmUoKmxhYmVsKSwKKyAgICAgICAgV1RGTW92ZSgqYW1vdW50KSwKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBMRV9QQVlfREVG
RVJSRURfTElORV9JVEVNKQorICAgICAgICBXVEZNb3ZlKCpwYXltZW50VGltaW5nKSwKKyNlbmRp
ZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVfSVRFTSkKKyAgICAgICAgV1RG
TW92ZSgqcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSksCisgICAgICAgIFdURk1vdmUoKnJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbFVuaXQpLAorICAgICAgICBXVEZNb3ZlKCpyZWN1cnJpbmdQYXlt
ZW50SW50ZXJ2YWxDb3VudCksCisgICAgICAgIFdURk1vdmUoKnJlY3VycmluZ1BheW1lbnRFbmRE
YXRlKSwKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQor
ICAgICAgICBXVEZNb3ZlKCpkZWZlcnJlZFBheW1lbnREYXRlKSwKKyNlbmRpZgorICAgIH0gfTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwKaW5kZXggYTQyYjc3MjRiZThmNjg3
ODU1ZDQ2MDk2M2ZkYjgxYTRiZDcxOWE4Yy4uMWM0NDdhM2U0OGZlMzczYmZmYmIwMTRjYTMyMTZm
NDRiM2U5MDY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUxpbmVJdGVtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5TGluZUl0ZW0uaWRsCkBAIC0zNCw4ICszNCwxNyBAQAogICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWSwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBKU0dlbmVy
YXRlVG9KU09iamVjdCwKLV0gZGljdGlvbmFyeSBBcHBsZVBheUxpbmVJdGVtIDogQXBwbGVQYXlM
aW5lSXRlbURhdGEgeworXSBkaWN0aW9uYXJ5IEFwcGxlUGF5TGluZUl0ZW0gewogICAgIEFwcGxl
UGF5TGluZUl0ZW1UeXBlIHR5cGUgPSAiZmluYWwiOwogICAgIERPTVN0cmluZyBsYWJlbDsKICAg
ICBET01TdHJpbmcgYW1vdW50OworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9SRUNVUlJJ
TkdfTElORV9JVEVNfEFQUExFX1BBWV9ERUZFUlJFRF9MSU5FX0lURU1dIEFwcGxlUGF5UGF5bWVu
dFRpbWluZyBwYXltZW50VGltaW5nID0gImltbWVkaWF0ZSI7CisKKyAgICBbQ29uZGl0aW9uYWw9
QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1dIERhdGUgcmVjdXJyaW5nUGF5bWVudFN0YXJ0
RGF0ZTsKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU1dIEFw
cGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVu
aXQgPSAibW9udGgiOworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfUkVDVVJSSU5HX0xJTkVf
SVRFTV0gdW5zaWduZWQgbG9uZyByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudCA9IDE7Cisg
ICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNXSBEYXRlIHJlY3Vy
cmluZ1BheW1lbnRFbmREYXRlOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9ERUZFUlJF
RF9MSU5FX0lURU1dIERhdGUgZGVmZXJyZWRQYXltZW50RGF0ZTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2NDcyYWI2MDljMDRlZmZlZDI4MzU4NDg2OGVl
YTQ0ZTRhMWU4NDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUxpbmVJdGVtRGF0YS5o
CisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25j
ZQotCi0jaWYgRU5BQkxFKEFQUExFX1BBWSkKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
Ci0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5TGluZUl0ZW1EYXRhQWRkaXRpb25z
Lmg+Ci0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXBwbGVQYXlMaW5l
SXRlbURhdGEgewotI2lmIGRlZmluZWQoQXBwbGVQYXlMaW5lSXRlbURhdGFBZGRpdGlvbnNfbWVt
YmVycykKLSAgICBBcHBsZVBheUxpbmVJdGVtRGF0YUFkZGl0aW9uc19tZW1iZXJzCi0jZW5kaWYK
LQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBs
ZVBheUxpbmVJdGVtRGF0YT4gZGVjb2RlKERlY29kZXImKTsKLQotICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZURhdGEoRGVjb2RlciYpOwot
fTsKLQotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlMaW5lSXRlbURhdGE6
OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotI2lmIGRlZmluZWQoQXBwbGVQYXlM
aW5lSXRlbURhdGFBZGRpdGlvbnNfZW5jb2RlKQotICAgIEFwcGxlUGF5TGluZUl0ZW1EYXRhQWRk
aXRpb25zX2VuY29kZQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5jb2Rlcik7Ci0jZW5kaWYK
LX0KLQotdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KLXN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlMaW5l
SXRlbURhdGE+IEFwcGxlUGF5TGluZUl0ZW1EYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
LXsKLSAgICBBcHBsZVBheUxpbmVJdGVtRGF0YSByZXN1bHQ7Ci0gICAgaWYgKCFyZXN1bHQuZGVj
b2RlRGF0YShkZWNvZGVyKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi10ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotYm9vbCBBcHBsZVBheUxp
bmVJdGVtRGF0YTo6ZGVjb2RlRGF0YShEZWNvZGVyJiBkZWNvZGVyKQotewotI2lmIGRlZmluZWQo
QXBwbGVQYXlMaW5lSXRlbURhdGFBZGRpdGlvbnNfZGVjb2RlRGF0YSkKLSAgICBBcHBsZVBheUxp
bmVJdGVtRGF0YUFkZGl0aW9uc19kZWNvZGVEYXRhCi0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShk
ZWNvZGVyKTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTRkMTEyNGNmYmExMjM4ZDk2NmU3MjM0NTQ2
MzZjYThjZjlkODkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbURhdGEu
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBD
b25kaXRpb25hbD1BUFBMRV9QQVksCi1dIGRpY3Rpb25hcnkgQXBwbGVQYXlMaW5lSXRlbURhdGEg
ewotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZmY0NTU2ZDJkYzA2ZWFiOGRjYWM4N2Q1NTcyMGJjMTZiZTMwY2E0Yi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmgK
KysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNl
Ci0KLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0KLSNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQotI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9BcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlRGV0YWlsc0FkZGl0aW9ucy5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzIHsKLSNp
ZiBkZWZpbmVkKEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzQWRkaXRpb25zX21lbWJl
cnMpCi0gICAgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHNBZGRpdGlvbnNfbWVtYmVy
cwotI2VuZGlmCi19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZURldGFpbHMuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGUxNThjZGFh
MTA3NzYzNmFkZGIxZWU0MzJiMzJkOTZlY2VlN2RiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSwKLSAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKLSAgICBKU0dl
bmVyYXRlVG9KU09iamVjdCwKLV0gZGljdGlvbmFyeSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
RGV0YWlscyB7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNzJlMjdkYTUyZWU2NWVjYTNjNzQwYzdmMmQ4MDhiNzcxODg4
NmM5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21h
IG9uY2UKLQotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLQotI2lu
Y2x1ZGUgIkFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaCIKLSNpbmNsdWRlICJBcHBsZVBheUVy
cm9yLmgiCi0jaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIgotI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUgZmluYWwgOiBwdWJs
aWMgQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZSB7Ci0gICAgVmVjdG9yPFJlZlB0cjxBcHBsZVBh
eUVycm9yPj4gZXJyb3JzOwotCi0gICAgVmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG5l
d1NoaXBwaW5nTWV0aG9kczsKLQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiBkZWNvZGUoRGVj
b2RlciYpOwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KLXZvaWQgQXBwbGVQYXlQYXlt
ZW50TWV0aG9kTW9kZVVwZGF0ZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0g
ICAgQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZTo6ZW5jb2RlKGVuY29kZXIpOwotICAgIGVuY29k
ZXIgPDwgZXJyb3JzOwotICAgIGVuY29kZXIgPDwgbmV3U2hpcHBpbmdNZXRob2RzOwotfQotCi10
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotc3RkOjpvcHRpb25hbDxBcHBsZVBheVBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlPiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOjpkZWNvZGUoRGVj
b2RlciYgZGVjb2RlcikKLXsKLSAgICBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlIHJl
c3VsdDsKLQotICAgIGlmICghcmVzdWx0LmRlY29kZUJhc2UoZGVjb2RlcikpCi0gICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7Ci0KLSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxSZWZQdHI8QXBw
bGVQYXlFcnJvcj4+PiBlcnJvcnM7Ci0gICAgZGVjb2RlciA+PiBlcnJvcnM7Ci0gICAgaWYgKCFl
cnJvcnMpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgcmVzdWx0LmVycm9ycyA9
IFdURk1vdmUoKmVycm9ycyk7Ci0KLSAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheVNo
aXBwaW5nTWV0aG9kPj4gbmV3U2hpcHBpbmdNZXRob2RzOwotICAgIGRlY29kZXIgPj4gbmV3U2hp
cHBpbmdNZXRob2RzOwotICAgIGlmICghbmV3U2hpcHBpbmdNZXRob2RzKQotICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OwotICAgIHJlc3VsdC5uZXdTaGlwcGluZ01ldGhvZHMgPSBXVEZNb3Zl
KCpuZXdTaGlwcGluZ01ldGhvZHMpOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01F
VEhPRF9NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwMDE3OTU2MmI1MmNkMjc1ZmM0YjM5MDhjZGM4YjIwZTQx
Mzc3N2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBk
YXRlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0g
ICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUsCi1dIGRpY3Rpb25h
cnkgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZSA6IEFwcGxlUGF5RGV0YWlsc1VwZGF0
ZUJhc2UgewotICAgIHNlcXVlbmNlPEFwcGxlUGF5RXJyb3I+IGVycm9yczsKLQotICAgIHNlcXVl
bmNlPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG5ld1NoaXBwaW5nTWV0aG9kczsKLX07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFRp
bWluZy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRU
aW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44MjM5OWRkYjliY2NhZDg0ZjMwNDJkYjkyN2JkZGU2MTE2N2Ri
M2YxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRUaW1pbmcuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8
IEVOQUJMRShBUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNKQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIEFwcGxlUGF5UGF5
bWVudFRpbWluZyA6IHVpbnQ4X3QgeworICAgIEltbWVkaWF0ZSwKKyAgICBSZWN1cnJpbmcsCisg
ICAgRGVmZXJyZWQsCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBX
VEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFwcGxlUGF5UGF5
bWVudFRpbWluZz4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdl
YkNvcmU6OkFwcGxlUGF5UGF5bWVudFRpbWluZywKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQYXlQ
YXltZW50VGltaW5nOjpJbW1lZGlhdGUsCisgICAgICAgIFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dFRpbWluZzo6UmVjdXJyaW5nLAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRUaW1p
bmc6OkRlZmVycmVkCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYg
Ly8gRU5BQkxFKEFQUExFX1BBWV9SRUNVUlJJTkdfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVf
UEFZX0RFRkVSUkVEX0xJTkVfSVRFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDg0
NzIzYmNkZDQ3NDc2OGVkNmE0OTY5MDRkMzRiMjMwNWIxN2ZhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1pbmcuaWRs
CkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVf
UEFZX1JFQ1VSUklOR19MSU5FX0lURU18QVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSwKK10g
ZW51bSBBcHBsZVBheVBheW1lbnRUaW1pbmcgeworICAgICJpbW1lZGlhdGUiLAorICAgICJyZWN1
cnJpbmciLAorICAgICJkZWZlcnJlZCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVV
bml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDllNDY3OGUwODViYWU0Mjk5M2FkZWZkOTdhMzhhNTExNDEwNjQ1
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5F
X0lURU0pCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2VudW0gY2xhc3MgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQgeworICAgIFll
YXIsCisgICAgTW9udGgsCisgICAgRGF5LAorICAgIEhvdXIsCisgICAgTWludXRlLAorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5p
dD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFw
cGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LAorICAgICAgICBXZWJDb3JlOjpBcHBsZVBh
eVJlY3VycmluZ1BheW1lbnREYXRlVW5pdDo6WWVhciwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6Ok1vbnRoLAorICAgICAgICBXZWJDb3JlOjpBcHBs
ZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdDo6RGF5LAorICAgICAgICBXZWJDb3JlOjpBcHBs
ZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdDo6SG91ciwKKyAgICAgICAgV2ViQ29yZTo6QXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6Ok1pbnV0ZQorICAgID47Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUkVDVVJSSU5HX0xJ
TkVfSVRFTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDI1OGVlYWNjYmUwMmQwMjI3ZmUwODY2ZTU5ZDRlNThkMmZiYmZiMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQ
YXltZW50RGF0ZVVuaXQuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
Q29uZGl0aW9uYWw9QVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0sCitdIGVudW0gQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQgeworICAgICJ5ZWFyIiwKKyAgICAibW9udGgiLAor
ICAgICJkYXkiLAorICAgICJob3VyIiwKKyAgICAibWludXRlIgorfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwCmlu
ZGV4IDUyYWVmZjYxODIxMTIyYWQxMzMzOGYyZTAyMjE2YmZlY2NjZDU5YmEuLjcxNGQzZGE2MTJm
OGE0NTRjMTIzZjM2MzQ0NTNmNzI5NzRkNTBmNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcApAQCAtMTE4LDYg
KzExOCwxNSBAQCBFeGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdD4gY29u
dmVydEFuZFZhbGlkYXRlKERvY3VtZW50JiBkb2N1bWVudAogICAgIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICByZXN1bHQuc2V0U3VwcG9ydHNDb3Vw
b25Db2RlKHJlcXVlc3Quc3VwcG9ydHNDb3Vwb25Db2RlKTsKKyAgICByZXN1bHQuc2V0Q291cG9u
Q29kZShyZXF1ZXN0LmNvdXBvbkNvZGUpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQorICAgIHJlc3VsdC5zZXRTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZShyZXF1ZXN0LnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKTsKKyNl
bmRpZgorCiAjaWYgZGVmaW5lZChBcHBsZVBheVJlcXVlc3RCYXNlQWRkaXRpb25zX2NvbnZlcnRB
bmRWYWxpZGF0ZV9yZXF1ZXN0KQogICAgIEFwcGxlUGF5UmVxdWVzdEJhc2VBZGRpdGlvbnNfY29u
dmVydEFuZFZhbGlkYXRlX3JlcXVlc3QKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaAppbmRleCA4ZGM1YWU1Mjgy
YWU3NzYzYzlhZjQ5YjBkMDY1ZGMzOWU0ZjAxNGRkLi5kOWEyYjgzMTdlNGU1MzY1MWViZTE1ZjI1
YjljYzQ1NDVjNGNkNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUg
IkFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oIgogI2luY2x1ZGUgIkFw
cGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50Q29u
dGFjdC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCIK
IAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25z
L0FwcGxlUGF5UmVxdWVzdEJhc2VBZGRpdGlvbnMuaD4KQEAgLTU5LDYgKzYwLDE1IEBAIHN0cnVj
dCBBcHBsZVBheVJlcXVlc3RCYXNlIHsKICAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uPiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb247CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29s
PiBzdXBwb3J0c0NvdXBvbkNvZGU7CisgICAgU3RyaW5nIGNvdXBvbkNvZGU7CisjZW5kaWYKKwor
I2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAg
c3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiBzaGlwcGlu
Z0NvbnRhY3RFZGl0aW5nTW9kZTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChBcHBsZVBheVJlcXVl
c3RCYXNlQWRkaXRpb25zX21lbWJlcnMpCiAgICAgQXBwbGVQYXlSZXF1ZXN0QmFzZUFkZGl0aW9u
c19tZW1iZXJzCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCmluZGV4IGU3MTUyNTI4NGQ5MTA4Y2ZkOWEy
ZDY3NDEwMjlkYzUyYjAzNDZkMWUuLjJlMGEzNDkxYjZlZjZkMzU3MGFiYTUzYjY0YjY3NWYxNWI5
OTZmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlSZXF1ZXN0QmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVJlcXVlc3RCYXNlLmlkbApAQCAtNDAsNCArNDAsOSBAQAogICAgIHNlcXVlbmNlPERP
TVN0cmluZz4gc3VwcG9ydGVkQ291bnRyaWVzOwogCiAgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BB
WV9JTlNUQUxMTUVOVFNdIEFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIGluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbjsKKworICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVlfQ09VUE9OX0NP
REVdIGJvb2xlYW4gc3VwcG9ydHNDb3Vwb25Db2RlOworICAgIFtDb25kaXRpb25hbD1BUFBMRV9Q
QVlfQ09VUE9OX0NPREVdIERPTVN0cmluZyBjb3Vwb25Db2RlOworCisgICAgW0NvbmRpdGlvbmFs
PUFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERV0gQXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RFZGl0aW5nTW9kZSBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAK
aW5kZXggNWYyMzI0ODg5ZGQ2M2NhY2QxZGMzODI2YzZhMDYxZDU5NDYyNTNlMy4uMDdhY2I4ZDE4
MDAxMGMwODljOWRkYmU2ZmI2ZjYxZDA2ZmUxNTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApAQCAtMjksMTIgKzI5LDEz
IEBACiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAogI2luY2x1ZGUgIkFwcGxlUGF5Q2FuY2VsRXZl
bnQuaCIKKyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCIKKyNpbmNs
dWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheUVycm9y
Q29kZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCIKICNpbmNsdWRl
ICJBcHBsZVBheUxpbmVJdGVtLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50QXV0aG9yaXph
dGlvblJlc3VsdC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5o
IgotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCIKICNpbmNsdWRl
ICJBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmgiCiAjaW5jbHVkZSAiQXBwbGVQ
YXlQYXltZW50TWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50UmVxdWVz
dC5oIgpAQCAtMjgxLDkgKzI4Miw5IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxBcHBsZVBheVNoaXBw
aW5nTWV0aG9kVXBkYXRlPiBjb252ZXJ0QW5kVmFsaWRhdGUoQXBwbGVQYXlTaGlwCiAgICAgcmV0
dXJuIFdURk1vdmUodXBkYXRlKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi1zdGF0aWMg
RXhjZXB0aW9uT3I8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4gY29udmVydEFuZFZh
bGlkYXRlKEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUmJiB1cGRhdGUpCitzdGF0aWMg
RXhjZXB0aW9uT3I8QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiBjb252ZXJ0QW5kVmFsaWRhdGUo
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlJiYgdXBkYXRlKQogewogICAgIGF1dG8gY29udmVydGVk
TmV3U2hpcHBpbmdNZXRob2RzID0gY29udmVydEFuZFZhbGlkYXRlKFdURk1vdmUodXBkYXRlLm5l
d1NoaXBwaW5nTWV0aG9kcykpOwogICAgIGlmIChjb252ZXJ0ZWROZXdTaGlwcGluZ01ldGhvZHMu
aGFzRXhjZXB0aW9uKCkpCkBAIC0zMDMsNyArMzA0LDcgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPEFw
cGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+IGNvbnZlcnRBbmRWYWxpZGF0ZShBcHBsZVBh
eVAKICAgICByZXR1cm4gV1RGTW92ZSh1cGRhdGUpOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQ
UExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCiAKIEV4Y2VwdGlvbk9yPFJlZjxBcHBsZVBheVNlc3Npb24+PiBBcHBsZVBh
eVNlc3Npb246OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIHVuc2lnbmVkIHZlcnNpb24sIEFw
cGxlUGF5UGF5bWVudFJlcXVlc3QmJiBwYXltZW50UmVxdWVzdCkKIHsKQEAgLTUyNSw2ICs1MjYs
MjUgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlTZXNzaW9uOjpjb21wbGV0ZVBheW1lbnRN
ZXRob2RTZWxlY3Rpb24oQXBwbGVQYXlQYXltZW4KICAgICByZXR1cm4geyB9OwogfQogCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKworRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQ
YXlTZXNzaW9uOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoQXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlJiYgdXBkYXRlKQoreworICAgIGlmICghY2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKCkp
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKworICAg
IGF1dG8gY29udmVydGVkVXBkYXRlID0gY29udmVydEFuZFZhbGlkYXRlKFdURk1vdmUodXBkYXRl
KSk7CisgICAgaWYgKGNvbnZlcnRlZFVwZGF0ZS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIGNvbnZlcnRlZFVwZGF0ZS5yZWxlYXNlRXhjZXB0aW9uKCk7CisKKyAgICBtX3N0YXRlID0g
U3RhdGU6OkFjdGl2ZTsKKyAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5jb21wbGV0ZUNvdXBvbkNv
ZGVDaGFuZ2UoY29udmVydGVkVXBkYXRlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKworICAgIHJl
dHVybiB7IH07Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQor
CiBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNvbXBsZXRlUGF5bWVudChBcHBs
ZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0JiYgcmVzdWx0KQogewogICAgIGlmICghY2Fu
Q29tcGxldGVQYXltZW50KCkpCkBAIC03MjEsMTggKzc0MSwyMyBAQCB2b2lkIEFwcGxlUGF5U2Vz
c2lvbjo6ZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJiBwYXltZW50
TWV0aG9kKQogICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQuZ2V0KCkpOwogfQogCi0jaWYgRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCiAKLXZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDaGFuZ2VQYXltZW50TWV0aG9k
TW9kZShTdHJpbmcmJiBwYXltZW50TWV0aG9kTW9kZSkKK3ZvaWQgQXBwbGVQYXlTZXNzaW9uOjpk
aWRDaGFuZ2VDb3Vwb25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpCiB7CiAgICAgQVNTRVJUKG1f
c3RhdGUgPT0gU3RhdGU6OkFjdGl2ZSk7CiAKLSNpZiBkZWZpbmVkKEFwcGxlUGF5U2Vzc2lvbkFk
ZGl0aW9uc19kaWRDaGFuZ2VQYXltZW50TWV0aG9kTW9kZSkKLSAgICBBcHBsZVBheVNlc3Npb25B
ZGRpdGlvbnNfZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUKLSNlbmRpZgorICAgIGlmICghaGFz
RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLmNvdXBvbmNvZGVjaGFuZ2VkRXZlbnQpKSB7Cisg
ICAgICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSh7IH0p
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zdGF0ZSA9IFN0YXRlOjpDb3Vwb25D
b2RlQ2hhbmdlZDsKKyAgICBhdXRvIGV2ZW50ID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNvdXBvbmNvZGVjaGFuZ2VkRXZlbnQsIFdURk1vdmUo
Y291cG9uQ29kZSkpOworICAgIGRpc3BhdGNoRXZlbnQoZXZlbnQuZ2V0KCkpOwogfQogCi0jZW5k
aWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRD
YW5jZWxQYXltZW50U2Vzc2lvbihQYXltZW50U2Vzc2lvbkVycm9yJiYgZXJyb3IpCiB7CkBAIC03
NjMsOSArNzg4LDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhblN1c3BlbmRXaXRob3V0Q2Fu
Y2VsaW5nKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVkOgog
ICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6
OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVU
SE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2Vk
OgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQpAQCAtODEzLDkgKzgzOCw5IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9u
OjpjYW5CZWdpbigpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0
YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5U
X01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoK
LSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hh
bmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTgzNSw5ICs4NjAsOSBAQCBib29sIEFwcGxlUGF5U2Vz
c2lvbjo6Y2FuQWJvcnQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2Vs
ZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2Fz
ZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5n
ZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lm
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29k
ZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTg1Nyw5ICs4ODIsOSBAQCBib29sIEFwcGxlUGF5
U2Vzc2lvbjo6Y2FuQ2FuY2VsKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhv
ZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAg
IGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZ
X1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVD
aGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBv
bkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC04ODcsOSArOTEyLDkgQEAgYm9vbCBBcHBs
ZVBheVNlc3Npb246OmNhbkNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oKSBjb25zdAog
ICAgIGNhc2UgU3RhdGU6OkF1dGhvcml6ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhv
ZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgotI2lm
IEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRlOjpQ
YXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAg
Y2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRlOjpD
YW5jZWxSZXF1ZXN0ZWQ6CiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtOTA5LDkgKzkzNCw5
IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVj
dGlvbigpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6QXV0aG9yaXplZDoKICAgICBjYXNlIFN0YXRl
OjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RT
ZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0gICAg
Y2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkOgorI2VuZGlmCiAgICAg
Y2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAg
LTkzMSw5ICs5NTYsOSBAQCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQ29tcGxldGVQYXltZW50
TWV0aG9kU2VsZWN0aW9uKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVkOgogICAg
IGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhP
RF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQ
UExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoK
KyNlbmRpZgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCkBAIC05NDIsOSArOTY3LDkgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNv
bXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbigpIGNvbnN0CiAgICAgfQogfQogCi0jaWYgRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCiAKLWJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRN
ZXRob2RNb2RlQ2hhbmdlKCkgY29uc3QKK2Jvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0
ZUNvdXBvbkNvZGVDaGFuZ2UoKSBjb25zdAogewogICAgIHN3aXRjaCAobV9zdGF0ZSkgewogICAg
IGNhc2UgU3RhdGU6OklkbGU6CkBAIC05NTksMTIgKzk4NCwxMiBAQCBib29sIEFwcGxlUGF5U2Vz
c2lvbjo6Y2FuQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0CiAgICAgY2Fz
ZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6CisgICAgY2FzZSBTdGF0
ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiBib29sIEFwcGxlUGF5U2Vzc2lvbjo6
Y2FuQ29tcGxldGVQYXltZW50KCkgY29uc3QKIHsKQEAgLTk3Nyw5ICsxMDAyLDkgQEAgYm9vbCBB
cHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0
ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRh
Y3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYg
RU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBh
eW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1F
TlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBj
YXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgogICAgIGNhc2UgU3RhdGU6OkNh
bmNlbFJlcXVlc3RlZDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC05OTYsOSArMTAyMSw5
IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjppc0ZpbmFsU3RhdGUoKSBjb25zdAogICAgIGNhc2Ug
U3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdD
b250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgot
I2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBjYXNlIFN0YXRl
OjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisg
ICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAgICBjYXNlIFN0YXRl
OjpBdXRob3JpemVkOgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMTAxNSwxMCArMTA0MCw2IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9u
Ojp2aXJ0dWFsSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKICAgICByZXR1cm4gbV9zdGF0ZSAh
PSBTdGF0ZTo6SWRsZSAmJiAhaXNGaW5hbFN0YXRlKCk7CiB9CiAKLSNpZiBkZWZpbmVkKEFwcGxl
UGF5U2Vzc2lvbkFkZGl0aW9uc19kZWZpbml0aW9ucykKLUFwcGxlUGF5U2Vzc2lvbkFkZGl0aW9u
c19kZWZpbml0aW9ucwotI2VuZGlmCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLX0KLQotI2Vu
ZGlmCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oCmluZGV4IGUxNzhiZmFkY2JmMTk5ZjEy
MjViYzc5MDRjZDYwYTVlOTIxYjgwMzIuLmZjZTcyMDE3Y2IyMjJlNzRmZDQyNDQ5MWU0MzEwMTQ1
MGM0ODQ4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb24uaApAQCAtNTQsMTMgKzU0LDExIEBAIGNsYXNzIFBheW1lbnRDb250YWN0Owog
Y2xhc3MgUGF5bWVudENvb3JkaW5hdG9yOwogY2xhc3MgUGF5bWVudE1ldGhvZDsKIGVudW0gY2xh
c3MgUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM7CitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2Rl
VXBkYXRlOwogc3RydWN0IEFwcGxlUGF5TGluZUl0ZW07CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50
UmVxdWVzdDsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOwogc3RydWN0IEFwcGxlUGF5
UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5U
X01FVEhPRF9NT0RFKQotc3RydWN0IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU7Ci0j
ZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQogc3RydWN0IEFw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFj
dFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlOwpAQCAtOTEsNiAr
ODksOSBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGVTaGlwcGluZ01l
dGhvZFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlJiYpOwogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlJiYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGNvbXBsZXRlUGF5
bWVudE1ldGhvZFNlbGVjdGlvbihBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUmJik7CisjaWYg
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21w
bGV0ZUNvdXBvbkNvZGVDaGFuZ2UoQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlJiYpOworI2VuZGlm
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGVQYXltZW50KEFwcGxlUGF5UGF5bWVudEF1
dGhvcml6YXRpb25SZXN1bHQmJik7CiAKICAgICAvLyBPbGQgZnVuY3Rpb25zLgpAQCAtMTI2LDkg
KzEyNyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25z
dCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RT
aGlwcGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmKSBvdmVycmlkZTsKICAgICB2b2lk
IGRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYpIG92ZXJyaWRlOwot
I2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2b2lkIGRpZENo
YW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKSBvdmVycmlk
ZTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGRpZENoYW5nZUNvdXBvbkNv
ZGUoU3RyaW5nJiYgY291cG9uQ29kZSkgb3ZlcnJpZGU7CisjZW5kaWYKICAgICB2b2lkIGRpZENh
bmNlbFBheW1lbnRTZXNzaW9uKFBheW1lbnRTZXNzaW9uRXJyb3ImJikgb3ZlcnJpZGU7CiAKICAg
ICBQYXltZW50Q29vcmRpbmF0b3ImIHBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0OwpAQCAtMTQw
LDkgKzE0MSw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nTWV0aG9k
U2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNl
bGVjdGlvbigpIGNvbnN0OwogICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0
aW9uKCkgY29uc3Q7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQot
ICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZSgpIGNvbnN0OwotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGJvb2wgY2FuQ29tcGxldGVDb3Vwb25Db2RlQ2hh
bmdlKCkgY29uc3Q7CisjZW5kaWYKICAgICBib29sIGNhbkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0
OwogICAgIGJvb2wgY2FuU3VzcGVuZFdpdGhvdXRDYW5jZWxpbmcoKSBjb25zdDsKIApAQCAtMTU1
LDkgKzE1Niw5IEBAIHByaXZhdGU6CiAgICAgICAgIFNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQsCiAg
ICAgICAgIFNoaXBwaW5nQ29udGFjdFNlbGVjdGVkLAogICAgICAgICBQYXltZW50TWV0aG9kU2Vs
ZWN0ZWQsCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgICAg
ICBQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisg
ICAgICAgIENvdXBvbkNvZGVDaGFuZ2VkLAorI2VuZGlmCiAgICAgICAgIENhbmNlbFJlcXVlc3Rl
ZCwKICAgICAgICAgQXV0aG9yaXplZCwKICAgICAgICAgQ29tcGxldGVkLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCmluZGV4IDBi
ZTFkZDI3ZTNiMGFiY2VmODRjNjM1Nzg4NjM5MWZmMmIxY2EyZDguLjg4ZGM1OTUxNzYxMTYxZDNi
YWJkZDYzOTc4ZGYyNWYwYWYyY2JiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwKQEAgLTUyLDYgKzUyLDcgQEAKICAgICB1
bmRlZmluZWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihBcHBsZVBheVNoaXBwaW5n
TWV0aG9kVXBkYXRlIHVwZGF0ZSk7CiAgICAgdW5kZWZpbmVkIGNvbXBsZXRlU2hpcHBpbmdDb250
YWN0U2VsZWN0aW9uKEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0ZSk7CiAgICAg
dW5kZWZpbmVkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihBcHBsZVBheVBheW1lbnRN
ZXRob2RVcGRhdGUgdXBkYXRlKTsKKyAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9D
T0RFXSB1bmRlZmluZWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKEFwcGxlUGF5Q291cG9uQ29k
ZVVwZGF0ZSB1cGRhdGUpOwogICAgIHVuZGVmaW5lZCBjb21wbGV0ZVBheW1lbnQoQXBwbGVQYXlQ
YXltZW50QXV0aG9yaXphdGlvblJlc3VsdCByZXN1bHQpOwogCiAgICAgdW5kZWZpbmVkIGNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24odW5zaWduZWQgc2hvcnQgc3RhdHVzLCBBcHBsZVBh
eUxpbmVJdGVtIG5ld1RvdGFsLCBzZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBuZXdMaW5lSXRl
bXMpOwpAQCAtNjQsNSArNjUsNiBAQAogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wYXlt
ZW50YXV0aG9yaXplZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdtZXRo
b2RzZWxlY3RlZDsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdjb250YWN0
c2VsZWN0ZWQ7CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0gYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbmNvdXBvbmNvZGVjaGFuZ2VkOwogICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jYW5jZWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oCmluZGV4
IDQ5NjRlZDMwYjE4NjI2MDNlMTgwNTEyZWI4NTYzNTdmNGE5OTA0MTUuLmY5ZTFiMWU1N2I1Yzkz
YmQzOTY1N2Q5NmQ2ZGFjZjA0ODk2MzZiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0
LmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3IuaCIKICNpbmNs
dWRlICJBcHBsZVBheUxpbmVJdGVtLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RFZGl0aW5nTW9kZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNp
bmNsdWRlICJQYXltZW50Q29udGFjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb25XZWJDb3JlLmgiCkBAIC0xMjksNiArMTMwLDE5IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uJiYgaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKSB7IG1faW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uID0gV1RGTW92ZShpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pOyB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29s
PiBzdXBwb3J0c0NvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRzQ291cG9uQ29k
ZTsgfQorICAgIHZvaWQgc2V0U3VwcG9ydHNDb3Vwb25Db2RlKHN0ZDo6b3B0aW9uYWw8Ym9vbD4g
c3VwcG9ydHNDb3Vwb25Db2RlKSB7IG1fc3VwcG9ydHNDb3Vwb25Db2RlID0gc3VwcG9ydHNDb3Vw
b25Db2RlOyB9CisKKyAgICBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUoKSBjb25zdCB7IHJldHVy
biBtX2NvdXBvbkNvZGU7IH0KKyAgICB2b2lkIHNldENvdXBvbkNvZGUoY29uc3QgU3RyaW5nJiBj
b3Vwb25Db2RlKSB7IG1fY291cG9uQ29kZSA9IGNvdXBvbkNvZGU7IH0KKyNlbmRpZgorCisjaWYg
RU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyAgICBjb25z
dCBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+JiBzaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGU7IH0KKyAgICB2b2lkIHNldFNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKGNv
bnN0IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZT4mIHNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKSB7IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUg
PSBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAg
dW5zaWduZWQgbV92ZXJzaW9uIHsgMCB9OwogCkBAIC0xNTksNiArMTczLDE1IEBAIHByaXZhdGU6
CiAgICAgUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBtX2luc3RhbGxtZW50Q29uZmln
dXJhdGlvbjsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05UQUNU
X0VESVRJTkdfTU9ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGU+IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CisjZW5kaWYKKworI2lm
IEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBt
X3N1cHBvcnRzQ291cG9uQ29kZTsKKyAgICBTdHJpbmcgbV9jb3Vwb25Db2RlOworI2VuZGlmCisK
ICNpZiBkZWZpbmVkKEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0QWRkaXRpb25zX21lbWJl
cnMpCiAgICAgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3RBZGRpdGlvbnNfbWVtYmVycwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFjNGIxZTFkMjA4MzIxMGY4MDE5MjJlYjJmZjA3MGJkZWM2MTI0M2QKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGUuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RF
KQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZSA6IGJvb2wgeworICAgIEVuYWJsZWQsCisgICAgU3RvcmVQaWNrdXAs
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2Rl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzk1OGRhMTYwMGYxMjRhMWY3NzA0YzFi
ZWIxNWFkMWQzZDE1YmI2MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5pZGwKQEAgLTAs
MCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0hJ
UFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBP
UlQsCitdIGVudW0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSB7CisgICAgImVu
YWJsZWQiLAorICAgICJzdG9yZVBpY2t1cCIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCmluZGV4IDBjNDMz
M2NkMGE1NTE1YmMyNGVlOWRkZjhhOWMxODQzOTk0ZDA4MDguLjNiNzNkYTkxNGE1ODIxY2I1MDQ0
YjVmNDFkMjQyYTQxYTcyMDNhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCkBAIC0yNywxNyArMjcsMjIg
QEAKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKLSNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5n
TWV0aG9kRGF0YS5oIgorI2luY2x1ZGUgIkFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oIgor
I2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIGZpbmFs
IDogcHVibGljIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhIHsKK3N0cnVjdCBBcHBsZVBheVNo
aXBwaW5nTWV0aG9kIGZpbmFsIHsKICAgICBTdHJpbmcgbGFiZWw7CiAgICAgU3RyaW5nIGRldGFp
bDsKICAgICBTdHJpbmcgYW1vdW50OwogICAgIFN0cmluZyBpZGVudGlmaWVyOwogCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorICAg
IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlPiBkYXRlQ29tcG9uZW50
c1JhbmdlOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29k
ZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0
ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gZGVjb2RlKERlY29kZXImKTsKIH07
CkBAIC00NSwzNiArNTAsNDMgQEAgc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QgZmluYWwg
OiBwdWJsaWMgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEgewogdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4KIHZvaWQgQXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiB7Ci0gICAgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGE6OmVuY29kZShlbmNv
ZGVyKTsKICAgICBlbmNvZGVyIDw8IGxhYmVsOwogICAgIGVuY29kZXIgPDwgZGV0YWlsOwogICAg
IGVuY29kZXIgPDwgYW1vdW50OwogICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisgICAg
ZW5jb2RlciA8PCBkYXRlQ29tcG9uZW50c1JhbmdlOworI2VuZGlmCiB9CiAKIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+CiBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IEFwcGxl
UGF5U2hpcHBpbmdNZXRob2Q6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogewotICAgIEFwcGxl
UGF5U2hpcHBpbmdNZXRob2QgcmVzdWx0OwotCi0gICAgaWYgKCFyZXN1bHQuZGVjb2RlRGF0YShk
ZWNvZGVyKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLQogI2RlZmluZSBERUNPREUo
bmFtZSwgdHlwZSkgXAogICAgIHN0ZDo6b3B0aW9uYWw8dHlwZT4gbmFtZTsgXAogICAgIGRlY29k
ZXIgPj4gbmFtZTsgXAogICAgIGlmICghbmFtZSkgXAogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OyBcCi0gICAgcmVzdWx0Lm5hbWUgPSBXVEZNb3ZlKCpuYW1lKTsgXAogCiAgICAgREVDT0RF
KGxhYmVsLCBTdHJpbmcpCiAgICAgREVDT0RFKGRldGFpbCwgU3RyaW5nKQogICAgIERFQ09ERShh
bW91bnQsIFN0cmluZykKICAgICBERUNPREUoaWRlbnRpZmllciwgU3RyaW5nKQorI2lmIEVOQUJM
RShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBE
RUNPREUoZGF0ZUNvbXBvbmVudHNSYW5nZSwgc3RkOjpvcHRpb25hbDxBcHBsZVBheURhdGVDb21w
b25lbnRzUmFuZ2U+KQorI2VuZGlmCiAKICN1bmRlZiBERUNPREUKIAotICAgIHJldHVybiByZXN1
bHQ7CisgICAgcmV0dXJuIHsgeworICAgICAgICBXVEZNb3ZlKCpsYWJlbCksCisgICAgICAgIFdU
Rk1vdmUoKmRldGFpbCksCisgICAgICAgIFdURk1vdmUoKmFtb3VudCksCisgICAgICAgIFdURk1v
dmUoKmlkZW50aWZpZXIpLAorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RB
VEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICAgICAgV1RGTW92ZSgqZGF0ZUNvbXBvbmVudHNSYW5n
ZSksCisjZW5kaWYKKyAgICB9IH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01l
dGhvZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdNZXRob2QuaWRsCmluZGV4IGUwZjJhMjQxYmNhNTJmNmU0MGViOGJjODdiZmJmNTBkMWY2OWVl
MzkuLjQ3MTBmNTJkYWNlZjg1YzkyYTNiYTdjOWIwMTY2NTkwNjZiY2M5YTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5n
TWV0aG9kLmlkbApAQCAtMjcsOSArMjcsMTEgQEAKICAgICBDb25kaXRpb25hbD1BUFBMRV9QQVks
CiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmpl
Y3QsCi1dIGRpY3Rpb25hcnkgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCA6IEFwcGxlUGF5U2hpcHBp
bmdNZXRob2REYXRhIHsKK10gZGljdGlvbmFyeSBBcHBsZVBheVNoaXBwaW5nTWV0aG9kIHsKICAg
ICByZXF1aXJlZCBET01TdHJpbmcgbGFiZWw7CiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGRldGFp
bDsKICAgICByZXF1aXJlZCBET01TdHJpbmcgYW1vdW50OwogICAgIHJlcXVpcmVkIERPTVN0cmlu
ZyBpZGVudGlmaWVyOworCisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9TSElQUElOR19NRVRI
T0RfREFURV9DT01QT05FTlRTX1JBTkdFXSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgZGF0
ZUNvbXBvbmVudHNSYW5nZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGU1OGU2N2MyZGZiMTBkZGY3MTBiNmUzYjc1M2M5YmQ4NzY5NzVm
YmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oCisr
KyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQot
Ci0jaWYgRU5BQkxFKEFQUExFX1BBWSkKLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0j
aW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRp
b25zLmg+Ci0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3QgQXBwbGVQYXlT
aGlwcGluZ01ldGhvZERhdGEgewotI2lmIGRlZmluZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERh
dGFBZGRpdGlvbnNfbWVtYmVycykKLSAgICBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0
aW9uc19tZW1iZXJzCi0jZW5kaWYKLQotICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YT4gZGVjb2RlKERlY29k
ZXImKTsKLQotICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IFdBUk5fVU5VU0VEX1JFVFVSTiBi
b29sIGRlY29kZURhdGEoRGVjb2RlciYpOwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4K
LXZvaWQgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAotewotI2lmIGRlZmluZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlv
bnNfZW5jb2RlKQotICAgIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhQWRkaXRpb25zX2VuY29k
ZQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZW5jb2Rlcik7Ci0jZW5kaWYKLX0KLQotdGVtcGxh
dGU8Y2xhc3MgRGVjb2Rlcj4KLXN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZERh
dGE+IEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
LXsKLSAgICBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YSByZXN1bHQ7Ci0gICAgaWYgKCFyZXN1
bHQuZGVjb2RlRGF0YShkZWNvZGVyKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi10ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgotYm9vbCBBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kRGF0YTo6ZGVjb2RlRGF0YShEZWNvZGVyJiBkZWNvZGVyKQotewot
I2lmIGRlZmluZWQoQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGFBZGRpdGlvbnNfZGVjb2RlRGF0
YSkKLSAgICBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YUFkZGl0aW9uc19kZWNvZGVEYXRhCi0j
ZWxzZQotICAgIFVOVVNFRF9QQVJBTShkZWNvZGVyKTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShBUFBM
RV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdNZXRob2REYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBlY2Q2ZTUyYTljYWVmZDZiOWI3NDNhZjYwYzJhZWZmMmU0NDM4MTFlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMjkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBM
RV9QQVksCi1dIGRpY3Rpb25hcnkgQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEgewotfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5h
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5h
dG9yLmNwcAppbmRleCA1ZDhjYmI2NGJhODI2YzJlNzEzMGJmMmM1NWRlNWQ5MDZjYTRkZDlkLi41
ODFlOTEzZDU2Zjg4OWIxMTliY2MwM2E1NWJhMTE1MzExYjIwYTMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCkBA
IC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCi0jaW5jbHVkZSAiQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9u
Q29kZVVwZGF0ZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIgog
I2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBw
bGVQYXlTaGlwcGluZ01ldGhvZC5oIgpAQCAtMTU0LDE2ICsxNTQsMTYgQEAgdm9pZCBQYXltZW50
Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFs
PEFwcGxlUGF5UGEKICAgICBtX2NsaWVudC5jb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24o
V1RGTW92ZSh1cGRhdGUpKTsKIH0KIAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRI
T0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCi12b2lkIFBheW1l
bnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlv
bmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRlKQordm9pZCBQYXlt
ZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFw
cGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7CiAgICAgQVNTRVJUKG1fYWN0aXZl
U2Vzc2lvbik7Ci0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29tcGxldGVQYXltZW50TWV0
aG9kTW9kZUNoYW5nZSgpIik7Ci0gICAgbV9jbGllbnQuY29tcGxldGVQYXltZW50TWV0aG9kTW9k
ZUNoYW5nZShXVEZNb3ZlKHVwZGF0ZSkpOworICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImNv
bXBsZXRlQ291cG9uQ29kZUNoYW5nZSgpIik7CisgICAgbV9jbGllbnQuY29tcGxldGVDb3Vwb25D
b2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKIAogdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudFNlc3Np
b24oc3RkOjpvcHRpb25hbDxQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJiByZXN1bHQpCiB7
CkBAIC0yNDksMjAgKzI0OSwyMCBAQCB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2VsZWN0
U2hpcHBpbmdDb250YWN0KGNvbnN0IFBheW1lbnRDb250YWN0JiBzaGlwcGluZwogICAgIG1fYWN0
aXZlU2Vzc2lvbi0+ZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KHNoaXBwaW5nQ29udGFjdCk7CiB9
CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBQYXltZW50Q29vcmRpbmF0b3I6OmRpZENo
YW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKQordm9pZCBQ
YXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29k
ZSkKIHsKICAgICBpZiAoIW1fYWN0aXZlU2Vzc2lvbikgewogICAgICAgICAvLyBJdCdzIHBvc3Np
YmxlIHRoYXQgdGhlIHBheW1lbnQgaGFzIGJlZW4gYWJvcnRlZCBhbHJlYWR5LgogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiZGlkQ2hhbmdlUGF5
bWVudE1ldGhvZE1vZGUoKSIpOwotICAgIG1fYWN0aXZlU2Vzc2lvbi0+ZGlkQ2hhbmdlUGF5bWVu
dE1ldGhvZE1vZGUoV1RGTW92ZShwYXltZW50TWV0aG9kTW9kZSkpOworICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoImRpZENoYW5nZUNvdXBvbkNvZGUoKSIpOworICAgIG1fYWN0aXZlU2Vzc2lv
bi0+ZGlkQ2hhbmdlQ291cG9uQ29kZShXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKIH0KIAotI2VuZGlm
IC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFC
TEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIFBheW1lbnRDb29yZGluYXRvcjo6ZGlk
Q2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmIGVycm9yKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9y
LmgKaW5kZXggYjJkMDJjNTEwMTE4ZWVlMWUwOWFmMTI1ZDU5YTBiNGMyOGI0MzQ3Zi4uOWJmZmQ0
YzBkOTI4YzA4ODJiZmFlOWRiOGE1MTZhZTU3NDYwM2Y0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCkBAIC00NCw5ICs0
NCw3IEBAIGNsYXNzIFBheW1lbnRNZXRob2Q7CiBjbGFzcyBQYXltZW50U2Vzc2lvbjsKIGNsYXNz
IFBheW1lbnRTZXNzaW9uRXJyb3I7CiBlbnVtIGNsYXNzIFBheW1lbnRBdXRob3JpemF0aW9uU3Rh
dHVzOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0cnVjdCBB
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU7
CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2V0
dXBDb25maWd1cmF0aW9uOwogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlOwpA
QCAtNzUsOSArNzMsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9k
U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7
CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFs
PEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKTsKICAgICB2b2lkIGNvbXBsZXRlUGF5
bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZFVw
ZGF0ZT4mJik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAg
IHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQorICAgIHZvaWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQ
YXlDb3Vwb25Db2RlVXBkYXRlPiYmKTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQYXltZW50
U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYmKTsKICAg
ICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKTsKICAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNz
aW9uKCk7CkBAIC04Nyw5ICs4NSw5IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTaGlw
cGluZ01ldGhvZCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdD
b250YWN0KGNvbnN0IFBheW1lbnRDb250YWN0Jik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2hhbmdlUGF5bWVu
dE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpOwotI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NP
VVBPTl9DT0RFKQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlkQ2hhbmdlQ291cG9uQ29kZShT
dHJpbmcmJiBjb3Vwb25Db2RlKTsKKyNlbmRpZgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlk
Q2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmKTsKIAogICAgIHN0ZDo6
b3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhEb2N1bWVudCYsIHVuc2ln
bmVkIHZlcnNpb24sIGNvbnN0IFN0cmluZyYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5k
ZXggYzUwNzM2N2M5MzNhMTU3OTQ0ZDM3MjRiM2U5NDBjNzlmZTEzZTExYy4uODcyN2UwZGE3MzVl
OGNjM2FkNjliZjU0YjAzN2Y2YzU4MWQ5YjE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0z
Nyw5ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBQYXltZW50TWVyY2hhbnRTZXNzaW9uOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKLXN0cnVjdCBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGU7CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
Owogc3RydWN0IEFwcGxlUGF5U2V0dXBDb25maWd1cmF0aW9uOwogc3RydWN0IEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlOwpAQCAtNjAsOSArNTgsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBs
ZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RVcGRhdGU+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVQYXltZW50
TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
PiYmKSA9IDA7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAg
IHZpcnR1YWwgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9u
YWw8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJikgPSAwOwotI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X0NPVVBPTl9DT0RFKQorICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uo
c3RkOjpvcHRpb25hbDxBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYpID0gMDsKKyNlbmRpZgog
ICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5
bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRQ
YXltZW50U2Vzc2lvbigpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Np
b24oKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRI
ZWFkZXJzLmgKaW5kZXggMWIyM2QyOWIyMDk3NjhhMWVmMmFjMzg1NzUyMmUxNThjZGM4ZWVlYy4u
ZjI1ZGQxZTQxMjA3MTdjMjEzMzFjYTVkNWI1MmJkYTkwZDNkYTVkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SGVhZGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEhlYWRlcnMuaApAQCAtMjUsNyArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkFwcGxlUGF5UGF5bWVudE1ldGhvZE1v
ZGVVcGRhdGUuaCIKKyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNs
dWRlICJBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdDb250YWN0
VXBkYXRlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRT
ZXNzaW9uLmgKaW5kZXggYzEyNTA4YTE2MGJkYzE2ZDRhMzA3NTRkMGRkMzgxOGQ5NzEwOWRiNi4u
ZGY0MmE1ZTE0NzM0MDdkMTM3Zjc3ZjBlNmFlODQ2YWYyMGI1NWNjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uaApAQCAtNTEsOSArNTEs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNv
bnN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNl
bGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBQYXltZW50Q29udGFjdCYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJikgPSAw
OwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1v
ZGUpID0gMDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2RlKSA9IDA7CisjZW5kaWYKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYm
KSA9IDA7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KaW5kZXggMTJlNDRmYWE0
ZTA4MWFmNjQwOTBlYTgyN2EyYjExYjY4MTc5MGRjNi4uODcyNzZlODUzNTRhMDk3ZTYwYjU4ZGRi
MGI1OGQ3NjRjZWZmOTBiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9jb2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpAQCAtMzUs
NyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lv
bjo6Y3VycmVudCgpCiB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGN1cnJlbnQgPSBbXSB7Ci0jaWYg
RU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1YxMikKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKSB8fCBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RF
KSB8fCBFTkFCTEUoQVBQTEVfUEFZX1JFQ1VSUklOR19MSU5FX0lURU0pIHx8IEVOQUJMRShBUFBM
RV9QQVlfREVGRVJSRURfTElORV9JVEVNKSB8fCBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01F
VEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCiAgICAgICAgIHJldHVybiAxMjsKICNlbGlmIEVO
QUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WMTEpCiAgICAgICAgIHJldHVybiAxMTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFN1bW1hcnlJ
dGVtc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXlt
ZW50U3VtbWFyeUl0ZW1zQ29jb2EubW0KaW5kZXggMTFlZGIwYjQ5NmRkNzkwM2YwZmI1YTJjNjJl
NmVmODIxYWNjNDJkNi4uNjE0Y2I4ZDg4YzkzYmFlYTBkZjg4OWIwMTljZDNmNWQ3OTZiZDIxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50
U3VtbWFyeUl0ZW1zQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9jb2NvYS9QYXltZW50U3VtbWFyeUl0ZW1zQ29jb2EubW0KQEAgLTUwLDE2ICs1MCw3OCBAQCBz
dGF0aWMgUEtQYXltZW50U3VtbWFyeUl0ZW1UeXBlIHRvUEtQYXltZW50U3VtbWFyeUl0ZW1UeXBl
KEFwcGxlUGF5TGluZUl0ZW06OlR5cAogICAgIH0KIH0KIAotI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCi0jaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvUGF5bWVudFN1bW1hcnlJdGVtc0NvY29h
QWRkaXRpb25zLm1tPgotI2VuZGlmCisjaWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19MSU5FX0lU
RU0pIHx8IEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9MSU5FX0lURU0pCisKK3N0YXRpYyBOU0RhdGUg
KnRvRGF0ZShkb3VibGUgZGF0ZSkKK3sKKyAgICByZXR1cm4gW05TRGF0ZSBkYXRlV2l0aFRpbWVJ
bnRlcnZhbFNpbmNlMTk3MDpkYXRlXTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9SRUNV
UlJJTkdfTElORV9JVEVNKSB8fCBIQVZFKFBBU1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorCisj
aWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19MSU5FX0lURU0pCisKK3N0YXRpYyBOU0NhbGVuZGFy
VW5pdCB0b0NhbGVuZGFyVW5pdChBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdCB1bml0
KQoreworICAgIHN3aXRjaCAodW5pdCkgeworICAgIGNhc2UgQXBwbGVQYXlSZWN1cnJpbmdQYXlt
ZW50RGF0ZVVuaXQ6OlllYXI6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdFllYXI7CisK
KyAgICBjYXNlIEFwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0OjpNb250aDoKKyAgICAg
ICAgcmV0dXJuIE5TQ2FsZW5kYXJVbml0TW9udGg7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVjdXJy
aW5nUGF5bWVudERhdGVVbml0OjpEYXk6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdERh
eTsKKworICAgIGNhc2UgQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQ6OkhvdXI6Cisg
ICAgICAgIHJldHVybiBOU0NhbGVuZGFyVW5pdEhvdXI7CisKKyAgICBjYXNlIEFwcGxlUGF5UmVj
dXJyaW5nUGF5bWVudERhdGVVbml0OjpNaW51dGU6CisgICAgICAgIHJldHVybiBOU0NhbGVuZGFy
VW5pdE1pbnV0ZTsKKyAgICB9Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfUkVDVVJSSU5H
X0xJTkVfSVRFTSkKIAotI2lmICFFTkFCTEUoQVBQTEVfUEFZX0xJTkVfSVRFTV9EQVRBKQogc3Rh
dGljIFBLUGF5bWVudFN1bW1hcnlJdGVtICp0b1BLUGF5bWVudFN1bW1hcnlJdGVtKGNvbnN0IEFw
cGxlUGF5TGluZUl0ZW0mIGxpbmVJdGVtKQogeworI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdf
TElORV9JVEVNKSB8fCBIQVZFKFBBU1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorICAgIHN3aXRj
aCAobGluZUl0ZW0ucGF5bWVudFRpbWluZykgeworICAgIGNhc2UgQXBwbGVQYXlQYXltZW50VGlt
aW5nOjpJbW1lZGlhdGU6CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBBcHBsZVBheVBheW1l
bnRUaW1pbmc6OlJlY3VycmluZzoKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX0xJTkVfSVRF
TSkKKyAgICB7CisgICAgICAgIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtICpzdW1tYXJ5
SXRlbSA9IFtQQUw6OmdldFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtQ2xhc3MoKSBzdW1t
YXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGxp
bmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5bWVudFN1bW1hcnlJdGVtVHlwZShsaW5lSXRlbS50
eXBlKV07CisgICAgICAgIGlmICghc3RkOjppc25hbihsaW5lSXRlbS5yZWN1cnJpbmdQYXltZW50
U3RhcnREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJdGVtLnN0YXJ0RGF0ZSA9IHRvRGF0ZShs
aW5lSXRlbS5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRlKTsKKyAgICAgICAgc3VtbWFyeUl0ZW0u
aW50ZXJ2YWxVbml0ID0gdG9DYWxlbmRhclVuaXQobGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudElu
dGVydmFsVW5pdCk7CisgICAgICAgIHN1bW1hcnlJdGVtLmludGVydmFsQ291bnQgPSBsaW5lSXRl
bS5yZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudDsKKyAgICAgICAgaWYgKCFzdGQ6OmlzbmFu
KGxpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRFbmREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJ
dGVtLmVuZERhdGUgPSB0b0RhdGUobGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEVuZERhdGUpOwor
ICAgICAgICByZXR1cm4gc3VtbWFyeUl0ZW07CisgICAgfQorI2Vsc2UKKyAgICAgICAgYnJlYWs7
CisjZW5kaWYKKworICAgIGNhc2UgQXBwbGVQYXlQYXltZW50VGltaW5nOjpEZWZlcnJlZDoKKyNp
ZiBIQVZFKFBBU1NLSVRfREVGRVJSRURfTElORV9JVEVNKQorICAgIHsKKyAgICAgICAgUEtEZWZl
cnJlZFBheW1lbnRTdW1tYXJ5SXRlbSAqc3VtbWFyeUl0ZW0gPSBbUEFMOjpnZXRQS0RlZmVycmVk
UGF5bWVudFN1bW1hcnlJdGVtQ2xhc3MoKSBzdW1tYXJ5SXRlbVdpdGhMYWJlbDpsaW5lSXRlbS5s
YWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVtYmVyKGxpbmVJdGVtLmFtb3VudCkgdHlwZTp0b1BLUGF5
bWVudFN1bW1hcnlJdGVtVHlwZShsaW5lSXRlbS50eXBlKV07CisgICAgICAgIGlmICghc3RkOjpp
c25hbihsaW5lSXRlbS5kZWZlcnJlZFBheW1lbnREYXRlKSkKKyAgICAgICAgICAgIHN1bW1hcnlJ
dGVtLmRlZmVycmVkRGF0ZSA9IHRvRGF0ZShsaW5lSXRlbS5kZWZlcnJlZFBheW1lbnREYXRlKTsK
KyAgICAgICAgcmV0dXJuIHN1bW1hcnlJdGVtOworICAgIH0KKyNlbHNlCisgICAgICAgIGJyZWFr
OworI2VuZGlmCisgICAgfQorI2VuZGlmCisKICAgICByZXR1cm4gW1BBTDo6Z2V0UEtQYXltZW50
U3VtbWFyeUl0ZW1DbGFzcygpIHN1bW1hcnlJdGVtV2l0aExhYmVsOmxpbmVJdGVtLmxhYmVsIGFt
b3VudDp0b0RlY2ltYWxOdW1iZXIobGluZUl0ZW0uYW1vdW50KSB0eXBlOnRvUEtQYXltZW50U3Vt
bWFyeUl0ZW1UeXBlKGxpbmVJdGVtLnR5cGUpXTsKIH0KLSNlbmRpZgogCiBOU0FycmF5ICpwbGF0
Zm9ybVN1bW1hcnlJdGVtcyhjb25zdCBBcHBsZVBheUxpbmVJdGVtJiB0b3RhbCwgY29uc3QgVmVj
dG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBsaW5lSXRlbXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhh
bmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAppbmRleCBiYzc3YTkxNWIzOTJmMzY1N2ExOTZi
OTU5YmJhNGQ5MDk5ZTZiNjQ0Li4wOWQzOWZmMTdjM2NiNTk3OTJiZWZlN2FkYWQ1M2YyNGU1Njg0
Y2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAK
QEAgLTMwLDYgKzMwLDggQEAKIAogI2luY2x1ZGUgIkFkZHJlc3NFcnJvcnMuaCIKICNpbmNsdWRl
ICJBcHBsZVBheUNvbnRhY3RGaWVsZC5oIgorI2luY2x1ZGUgIkFwcGxlUGF5Q291cG9uQ29kZURl
dGFpbHMuaCIKKyNpbmNsdWRlICJBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCIKICNpbmNsdWRl
ICJBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlFcnJvci5o
IgogI2luY2x1ZGUgIkFwcGxlUGF5RXJyb3JDb2RlLmgiCkBAIC0zOCw4ICs0MCw2IEBACiAjaW5j
bHVkZSAiQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCIKICNpbmNsdWRlICJBcHBsZVBheU1v
ZGlmaWVyLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50LmgiCi0jaW5jbHVkZSAiQXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMuaCIKLSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRN
ZXRob2RNb2RlVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKICNpbmNsdWRl
ICJBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oIgpAQCAtNDgsMTEgKzQ4LDEwIEBACiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAi
RnJhbWUuaCIKKyNpbmNsdWRlICJKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCIKICNpbmNs
dWRlICJKU0FwcGxlUGF5RXJyb3IuaCIKLSNpbmNsdWRlICJKU0FwcGxlUGF5TGluZUl0ZW1EYXRh
LmgiCiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnQuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5
UGF5bWVudE1ldGhvZC5oIgotI2luY2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURl
dGFpbHMuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UmVxdWVzdC5oIgogI2luY2x1ZGUgIkpTRE9N
Q29udmVydC5oIgogI2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCkBAIC01OTIsMTEgKzU5
MSwxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGlu
Z09wdGlvblVwZGF0ZWQoKQogCiBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5k
bGVyOjpwYXltZW50TWV0aG9kVXBkYXRlZChWZWN0b3I8UmVmUHRyPEFwcGxlUGF5RXJyb3I+PiYm
IGVycm9ycykKIHsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi0g
ICAgaWYgKG1fdXBkYXRlU3RhdGUgPT0gVXBkYXRlU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlKSB7
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBpZiAobV91cGRhdGVTdGF0
ZSA9PSBVcGRhdGVTdGF0ZTo6Q291cG9uQ29kZSkgewogICAgICAgICBtX3VwZGF0ZVN0YXRlID0g
VXBkYXRlU3RhdGU6Ok5vbmU7CiAKLSAgICAgICAgQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVw
ZGF0ZSB1cGRhdGU7CisgICAgICAgIEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZSB1cGRhdGU7CiAg
ICAgICAgIHVwZGF0ZS5lcnJvcnMgPSBXVEZNb3ZlKGVycm9ycyk7CiAKICAgICAgICAgYXV0byBu
ZXdTaGlwcGluZ01ldGhvZHMgPSBjb21wdXRlU2hpcHBpbmdNZXRob2RzKCk7CkBAIC02MTUsMTIg
KzYxNCwxMiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpwYXlt
ZW50TWV0aG9kVXBkYXRlZChWZWN0b3I8UmVmUHRyPEFwcAogICAgICAgICBpZiAoYXV0byBtb2Rp
ZmllckRhdGEgPSBtb2RpZmllckV4Y2VwdGlvbi5yZWxlYXNlUmV0dXJuVmFsdWUoKSkKICAgICAg
ICAgICAgIG1lcmdlKHVwZGF0ZSwgV1RGTW92ZShzdGQ6OmdldDwxPigqbW9kaWZpZXJEYXRhKSkp
OwogCi0gICAgICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRlUGF5bWVudE1ldGhvZE1v
ZGVDaGFuZ2UoV1RGTW92ZSh1cGRhdGUpKTsKKyAgICAgICAgcGF5bWVudENvb3JkaW5hdG9yKCku
Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CiAgICAgICAgIHJldHVy
biB7IH07CiAgICAgfQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZXJyb3JzKTsKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogICAgIEFTU0VSVChtX3VwZGF0ZVN0YXRlID09IFVw
ZGF0ZVN0YXRlOjpQYXltZW50TWV0aG9kKTsKICAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3Rh
dGU6Ok5vbmU7CkBAIC03NTAsMjAgKzc0OSwyMCBAQCB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRs
ZXI6OmRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudAog
ICAgIH0pOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQor
I2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAKLXZvaWQgQXBwbGVQYXlQYXltZW50
SGFuZGxlcjo6ZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1vZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhv
ZE1vZGUpCit2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENoYW5nZUNvdXBvbkNvZGUo
U3RyaW5nJiYgY291cG9uQ29kZSkKIHsKICAgICBBU1NFUlQobV91cGRhdGVTdGF0ZSA9PSBVcGRh
dGVTdGF0ZTo6Tm9uZSk7Ci0gICAgbV91cGRhdGVTdGF0ZSA9IFVwZGF0ZVN0YXRlOjpQYXltZW50
TWV0aG9kTW9kZTsKKyAgICBtX3VwZGF0ZVN0YXRlID0gVXBkYXRlU3RhdGU6OkNvdXBvbkNvZGU7
CiAKLSAgICBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscyBhcHBsZVBheVBheW1lbnRN
ZXRob2RNb2RlRGV0YWlscyB7IFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGUpIH07Ci0gICAgbV9w
YXltZW50UmVxdWVzdC0+cGF5bWVudE1ldGhvZENoYW5nZWQoV1RGOjpnZXQ8VVJMPihtX2lkZW50
aWZpZXIpLnN0cmluZygpLCBbYXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZURldGFpbHMgPSBXVEZN
b3ZlKGFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzKV0gKEpTQzo6SlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIHRvSlNEaWN0aW9uYXJ5
KGxleGljYWxHbG9iYWxPYmplY3QsIGFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzKTsK
KyAgICBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzIGFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMg
eyBXVEZNb3ZlKGNvdXBvbkNvZGUpIH07CisgICAgbV9wYXltZW50UmVxdWVzdC0+cGF5bWVudE1l
dGhvZENoYW5nZWQoV1RGOjpnZXQ8VVJMPihtX2lkZW50aWZpZXIpLnN0cmluZygpLCBbYXBwbGVQ
YXlDb3Vwb25Db2RlRGV0YWlscyA9IFdURk1vdmUoYXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscyld
IChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0KSB7CisgICAgICAgIHJl
dHVybiB0b0pTRGljdGlvbmFyeShsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcHBsZVBheUNvdXBvbkNv
ZGVEZXRhaWxzKTsKICAgICB9KTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZ
TUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RF
KQogCiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZENhbmNlbFBheW1lbnRTZXNzaW9u
KFBheW1lbnRTZXNzaW9uRXJyb3ImJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmgKaW5kZXggNzExYzJiNjU4NWZhNjVlNzcxYWJkMWIyOTY1YmYxMTNlMDI2
MDI1MS4uZDRhZWFmNjZhNGViOGJlYzcyMTQ4ZWIxNWU3YjgyZDI1YWUxNDA1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eVBheW1lbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTg3LDkgKzg3LDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKGNvbnN0IEFwcGxlUGF5
U2hpcHBpbmdNZXRob2QmKSBmaW5hbDsKICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFj
dChjb25zdCBQYXltZW50Q29udGFjdCYpIGZpbmFsOwogICAgIHZvaWQgZGlkU2VsZWN0UGF5bWVu
dE1ldGhvZChjb25zdCBQYXltZW50TWV0aG9kJikgZmluYWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgZGlkQ2hhbmdlUGF5bWVudE1ldGhvZE1v
ZGUoU3RyaW5nJiYgcGF5bWVudE1ldGhvZE1vZGUpIGZpbmFsOwotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQorICAgIHZvaWQgZGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcmJiBjb3Vwb25Db2Rl
KSBmaW5hbDsKKyNlbmRpZgogICAgIHZvaWQgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVu
dFNlc3Npb25FcnJvciYmKSBmaW5hbDsKIAogICAgIFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVu
dGlmaWVyIG1faWRlbnRpZmllcjsKQEAgLTEwMiw5ICsxMDIsOSBAQCBwcml2YXRlOgogICAgICAg
ICBTaGlwcGluZ0FkZHJlc3MsCiAgICAgICAgIFNoaXBwaW5nT3B0aW9uLAogICAgICAgICBQYXlt
ZW50TWV0aG9kLAotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAg
ICAgICAgUGF5bWVudE1ldGhvZE1vZGUsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAg
ICAgIENvdXBvbkNvZGUsCisjZW5kaWYKICAgICB9IG1fdXBkYXRlU3RhdGUgeyBVcGRhdGVTdGF0
ZTo6Tm9uZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2Nv
YS9QYXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tp
dFNvZnRMaW5rLmgKaW5kZXggM2ZiYWU4YzIwZDFlMzk0YzI0YmQ2MWFkZDdjNDI3ZWZkMGRmZGU2
OC4uMGJjMjViNWNmNWNiMWUzMGU5OWZlYTY2M2IxMDk3ODI4YjY1YWJiNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCkBAIC01Miw2ICs1Miwy
MiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50
Q29uZmlndXJhdGlvbikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50
SW5zdGFsbG1lbnRJdGVtKQogI2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NV
TU1BUllfSVRFTSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtSZWN1cnJpbmdQ
YXltZW50U3VtbWFyeUl0ZW0pCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU0pCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLRGVmZXJyZWRQ
YXltZW50U3VtbWFyeUl0ZW0pCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19N
RVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIo
UEFMLCBQS0RhdGVDb21wb25lbnRzUmFuZ2UpCisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9D
T1VQT05fQ09ERSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50UmVx
dWVzdENvdXBvbkNvZGVVcGRhdGUpCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEF1dGhvcml6YXRpb25D
b250cm9sbGVyKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFz
c0tpdFNvZnRMaW5rLm1tCmluZGV4IDY1ZmExMWZjNDVjN2NiZjY5Y2FhMjdlNzI0NDdiMzc0YjUz
NWEyNDMuLmUxNTZjYmI4YjVlMjVjMjIwMTY0NzgxNGI4YTlkZmNiZDc5N2U4MTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCkBAIC01Niw2
ICs1NiwyMiBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9S
VChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZQogU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0VfT1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxs
bWVudEl0ZW0sIFBBTF9FWFBPUlQpCiAjZW5kaWYKIAorI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJ
TkdfU1VNTUFSWV9JVEVNKQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBQYXNzS2l0LCBQS1JlY3VycmluZ1BheW1lbnRTdW1tYXJ5SXRlbSwgUEFMX0VYUE9SVCkK
KyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTSkKK1NPRlRf
TElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtEZWZlcnJl
ZFBheW1lbnRTdW1tYXJ5SXRlbSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCisjaWYgSEFWRShQQVNT
S0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCitTT0ZUX0xJTktfQ0xB
U1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLRGF0ZUNvbXBvbmVudHNS
YW5nZSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RF
KQorU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQ
S1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSwgUEFMX0VYUE9SVCkKKyNlbmRpZgorCiBT
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLQ29u
dGFjdCwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JU
KFBBTCwgUGFzc0tpdCwgUEtQYXNzTGlicmFyeSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19DTEFT
U19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50LCBQQUxfRVhQ
T1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tp
dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCmlu
ZGV4IDFlMGEyMTExMDBmZTlhMzU3MjZlZmQwYmY2ZDdmYjZlZjBhM2IwMjQuLmIyYTJiMWFlMWQ5
NzMzZjNhMWZiZGI4ZjExZTBhM2FjYTY3ZWNjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTU5LDcgKzU5LDE3IEBAIFdURl9FWFRFUk5f
Q19FTkQKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+CiAjZW5k
aWYKIAotI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25zL1Bhc3NLaXRTUElBZGRpdGlvbnMuaD4KKyNp
ZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKKyNpbXBvcnQgPFBhc3NLaXRD
b3JlL1BLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtLmg+CisjZW5kaWYKKworI2lmIEhBVkUo
UEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0pCisjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS0Rl
ZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtLmg+CisjZW5kaWYKKworI2lmIEhBVkUoUEFTU0tJVF9T
SElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQorI2ltcG9ydCA8UGFzc0tpdENv
cmUvUEtEYXRlQ29tcG9uZW50c1JhbmdlLmg+CisjZW5kaWYKIAogI2Vsc2UKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybU1hYy5jbWFrZQppbmRleCAxOWVhM2FkZmQ4NjJlMWMwMzhkOGVjYmExMmIzMGE0YTgwOWRi
MjY5Li4yYjM5MDYxMmM4NTU3ZWEwNjM0ZDZjNDZiMzE3MTBhNTM3YWI0NTNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybU1hYy5jbWFrZQpAQCAtNDQ5LDIxICs0NDksMjMgQEAgbGlzdChBUFBFTkQgV2ViQ29y
ZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgTW9kdWxlcy9haXJwbGF5L1dlYk1lZGlh
U2Vzc2lvbk1hbmFnZXIuaAogICAgIE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Npb25NYW5h
Z2VyQ2xpZW50LmgKIAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlLmgKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaAorICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmgKICAgICBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaAogICAgIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUVycm9yLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgK
ICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUxpbmVJdGVtRGF0YS5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlRGV0YWlscy5oCi0gICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRNZXRob2RNb2RlVXBkYXRlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZS5oCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRUaW1p
bmcuaAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVu
aXQuaAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cENvbmZpZ3VyYXRpb24uaAog
ICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXR1cEZlYXR1cmVXZWJDb3JlLmgKKyAgICBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaAogICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCi0gICAgTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oCiAgICAgTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKICAgICBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRTZXNzaW9uRXJyb3IuaApAQCAtNzM1LDYgKzczNywxMSBAQCBsaXN0KEFQUEVORCBX
ZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURM
X0ZJTEVTCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmlkbAogICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsCisgICAgTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCisgICAgTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbAorICAgIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbAorICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlEYXRlQ29tcG9uZW50cy5pZGwKKyAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGF0
ZUNvbXBvbmVudHNSYW5nZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RGV0YWls
c1VwZGF0ZUJhc2UuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheURldGFpbHNVcGRh
dGVEYXRhLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwKQEAgLTc0
NSwyMCArNzUyLDE5IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5pZGwKICAgICBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5SW5zdGFsbG1lbnRSZXRhaWxDaGFubmVsLmlkbAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwKLSAgICBNb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5TGluZUl0ZW1EYXRhLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlN
ZXJjaGFudENhcGFiaWxpdHkuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnQuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXpl
ZEV2ZW50LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50Q29udGFjdC5p
ZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5pZGwKLSAgICBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmlkbAotICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwKICAg
ICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRs
CiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmlkbAogICAg
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmlkbAogICAgIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UGFzcy5pZGwKICAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRUaW1pbmcuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlY3Vy
cmluZ1BheW1lbnREYXRlVW5pdC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVx
dWVzdEJhc2UuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaWRsCiAg
ICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25FcnJvci5pZGwKQEAgLTc2NywxMCAr
NzczLDEwIEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNldHVwRmVhdHVyZS5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2V0dXBGZWF0dXJlU3RhdGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNl
dHVwRmVhdHVyZVR5cGUuaWRsCisgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlLmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmlkbAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nTWV0aG9kLmlkbAotICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZERhdGEuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0
aG9kU2VsZWN0ZWRFdmVudC5pZGwKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdNZXRob2RVcGRhdGUuaWRsCiAgICAgTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRl
TWVyY2hhbnRFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2Nv
YS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDdiY2Q4ZDFkNGVl
MDlhYzZlYzIwNWE3MDk0ODU0OTFjODc4YTIzNzAuLjQ3MWQ4YTUxYmEyM2NiNWI4Y2Q1MzE0MzQ5
MmI2MTE1NmU0NWE1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMjMsNiArMjMsMTEg
QEAKIAogSlNBcHBsZVBheUNhbmNlbEV2ZW50LmNwcAogSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5j
cHAKK0pTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcAorSlNBcHBsZVBheUNvdXBv
bkNvZGVEZXRhaWxzLmNwcAorSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwCitKU0FwcGxl
UGF5RGF0ZUNvbXBvbmVudHMuY3BwCitKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5jcHAK
IEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5jcHAKIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRl
RGF0YS5jcHAKIEpTQXBwbGVQYXlFcnJvci5jcHAKQEAgLTMzLDcgKzM4LDYgQEAgSlNBcHBsZVBh
eUluc3RhbGxtZW50SXRlbS5jcHAKIEpTQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmNwcAog
SlNBcHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5jcHAKIEpTQXBwbGVQYXlMaW5lSXRl
bS5jcHAKLUpTQXBwbGVQYXlMaW5lSXRlbURhdGEuY3BwCiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBh
YmlsaXR5LmNwcAogSlNBcHBsZVBheU1vZGlmaWVyLmNwcAogSlNBcHBsZVBheVBheW1lbnQuY3Bw
CkBAIC00MSwxMyArNDUsMTMgQEAgSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0
LmNwcAogSlNBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuY3BwCiBKU0FwcGxlUGF5UGF5
bWVudENvbnRhY3QuY3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5jcHAKLUpTQXBwbGVQYXlQ
YXltZW50TWV0aG9kTW9kZURldGFpbHMuY3BwCi1KU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGUuY3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiBKU0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuY3BwCiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0
ZS5jcHAKIEpTQXBwbGVQYXlQYXltZW50UGFzcy5jcHAKIEpTQXBwbGVQYXlQYXltZW50UmVxdWVz
dC5jcHAKK0pTQXBwbGVQYXlQYXltZW50VGltaW5nLmNwcAorSlNBcHBsZVBheVJlY3VycmluZ1Bh
eW1lbnREYXRlVW5pdC5jcHAKIEpTQXBwbGVQYXlSZXF1ZXN0LmNwcAogSlNBcHBsZVBheVJlcXVl
c3RCYXNlLmNwcAogSlNBcHBsZVBheVNlc3Npb24uY3BwCkBAIC01NywxNCArNjEsMTUgQEAgSlNB
cHBsZVBheVNldHVwQ29uZmlndXJhdGlvbi5jcHAKIEpTQXBwbGVQYXlTZXR1cEZlYXR1cmUuY3Bw
CiBKU0FwcGxlUGF5U2V0dXBGZWF0dXJlU3RhdGUuY3BwCiBKU0FwcGxlUGF5U2V0dXBGZWF0dXJl
VHlwZS5jcHAKK0pTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5jcHAKIEpTQXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcAogSlNBcHBsZVBheVNoaXBwaW5n
Q29udGFjdFVwZGF0ZS5jcHAKIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5jcHAKLUpTQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZERhdGEuY3BwCiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZEV2ZW50LmNwcAogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmNwcAogSlNBcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5jcHAKIE1vZHVsZXMvYWlycGxheS9XZWJNZWRpYVNlc3Np
b25NYW5hZ2VyLmNwcAorTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuY3BwCiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuY3BwCiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q29udGFjdEZpZWxkLmNwcAogTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkNzdiOGZlOWY3MmM2YWI1MDBjZjU2
NzEzYjZjMjQxOWI0YTRiZDlkLi4yYWNjMWVlYjAyMzY0OWEyOWVkYjI0NjQ0NzZlODhjMjA2OTYx
NDgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yMzkwLDcgKzIzOTAsNiBAQAogCQk3QzY1NzlFMzFFMDA4MjcwMDBFM0EyN0Eg
LyogQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M2NTc5RTIxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzY1
NzlFODFFMDA4MzE2MDBFM0EyN0EgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTc5RTcxRTAwODMxNjAw
RTNBMjdBIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzY1NzlGMDFFMDA4NTY2MDBFM0EyN0EgLyog
SlNBcHBsZVBheUxpbmVJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVt
LmggKi87IH07Ci0JCTdDNjU3OUYyMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVu
dFJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDNjU3OUVDMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCAq
LzsgfTsKIAkJN0M2NTc5RjQxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01l
dGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2
NTc5RUUxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oICovOyB9
OwogCQk3QzczRkIwNzE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVz
cGFjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzczRkIwNTE5MUVGNDE2MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5j
cHAgKi87IH07CiAJCTdDNzNGQjA4MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRs
ZXJzTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QzczRkIwNjE5MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVz
cGFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0yOTgxLDIwICsyOTgwLDMwIEBACiAJCTk0RTgzOTUxMURGQjJBMEUwMDdCQzZBNyAvKiBDU1NO
YW1lc3BhY2VSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NEU4Mzk0RjFERkIyNzAwMDA3QkM2QTcgLyogQ1NTTmFtZXNwYWNlUnVsZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk0RTgzOTU2MURG
QjJCQzQwMDdCQzZBNyAvKiBKU0NTU05hbWVzcGFjZVJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0RTgzOTU0MURGQjJCQTYwMDdCQzZBNyAvKiBK
U0NTU05hbWVzcGFjZVJ1bGUuaCAqLzsgfTsKIAkJOTUwMTgzQ0QyNUQ2MzNEOTAwRDQzNDBGIC8q
IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk1MDE4M0NCMjVENjMzRDgwMEQ0MzQwRiAvKiBBcHBsZVBheURl
dGFpbHNVcGRhdGVCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJOTUxREVERDIyNUUwODQ1QTAwMjBFMUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdN
ZXRob2REYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NTFERUREMDI1RTA4NDVBMDAyMEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5NTFE
RURENjI1RTA4NDlFMDAyMEUxRUUgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTUxREVERDQyNUUw
ODQ5RDAwMjBFMUVFIC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCAqLzsgfTsKIAkJ
OTUyN0Q3QUIyNUQ1RkRFMjAwQTZFMTc2IC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MjdEN0E4MjVE
NUZERTEwMEE2RTE3NiAvKiBBcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTUyN0Q3QUYyNUQ1RkU2QzAw
QTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTUyN0Q3QUQyNUQ1RkU2QjAwQTZFMTc2IC8q
IEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oICovOyB9OwogCQk5NTNCQ0VCMjI1RDYyODNE
MDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTNCQ0VBRjI1RDYyODNDMDBBNEEyQTEg
LyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggKi87IH07CiAJCTk1NjJFRUREMjVGMThE
RTcwMDMzNDQ0MiAvKiBQYXltZW50UmVxdWVzdFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTU2MkVFREIyNUYxOERFNjAwMzM0NDQyIC8q
IFBheW1lbnRSZXF1ZXN0VXRpbGl0aWVzLmggKi87IH07Ci0JCTk1Njg0RDgzMjY1MzU3RjgwMDAy
NjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTU2ODREODEyNjUzNTdGNzAwMDI2OTM4
IC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRhaWxzLmggKi87IH07Ci0JCTk1NkZDNEJC
MjVENDlDN0IwMEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTU2RkM0QjgyNUQ0OUM3QTAwRjdCM0Ey
IC8qIEFwcGxlUGF5TGluZUl0ZW1EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJOTU2RkM0QkIyNUQ0OUM3QjAwRjdCM0EzIC8qIEpTQXBwbGVQ
YXlMaW5lSXRlbURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk1NkZDNEJBMjVENDlDN0QwMEY3QjNBMiAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRh
LmggKi87IH07Ci0JCTk1OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheVBheW1lbnRN
ZXRob2RNb2RlVXBkYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NTk2QjkzMDI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlQYXltZW50TWV0aG9k
TW9kZVVwZGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTk1OTZCOTM4MjVERUVGMDMwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk1OTZCOTM2MjVERUVGMDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1v
ZGVVcGRhdGUuaCAqLzsgfTsKKwkJOTU2ODREODMyNjUzNTdGODAwMDI2OTM4IC8qIEFwcGxlUGF5
Q291cG9uQ29kZURldGFpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVE
ZXRhaWxzLmggKi87IH07CisJCTk1OTZCOTMzMjVERUVFQTAwMEVEMkNGQSAvKiBBcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk1OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheUNvdXBvbkNvZGVVcGRh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5
NTk2QjkzODI1REVFRjAzMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTZC
OTM2MjVERUVGMDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5o
ICovOyB9OwogCQk5NUExRTJFOTI1Q0M3NUE5MDAyNjhDOEUgLyogTWVkaWFDb250cm9sc0NvbnRl
eHRNZW51SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTVBMUUyRTcyNUNDNzVBODAwMjY4QzhFIC8qIE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0
ZW0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5
NUFBNTcxMDI1RUVFRDMyMDA0RTkyODMgLyogSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBQTU3MEUyNUVF
RUQzMTAwNEU5MjgzIC8qIEluc3BlY3RvckNhbnZhc0NhbGxUcmFjZXIuaCAqLzsgfTsKIAkJOTVE
RjlEMjUyNTJCRURCMjAwMEQ3RjQ2IC8qIFBvaW50ZXJDaGFyYWN0ZXJpc3RpY3MuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1REY5RDIzMjUyQkVEOTkw
MDBEN0Y0NiAvKiBQb2ludGVyQ2hhcmFjdGVyaXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NjMyNjZFRjJEQjAwNEI5Q0YxIC8q
IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1NUYyNjZFRjJEQTAwNEI5Q0YxIC8qIEFwcGxl
UGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oICovOyB9OworCQk5NUVBRDU2QTI2NkVGMkZBMDA0
QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUVBRDU2NjI2NkVGMkY4MDA0QjlDRjEgLyog
QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NkQyNjZFRjJGQTAwNEI5Q0YxIC8qIEFwcGxl
UGF5RGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk1RUFENTY5MjY2RUYyRjkwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25l
bnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
OTVFQUQ1NzAyNjZFRjM4NjAwNEI5Q0YxIC8qIEFwcGxlUGF5UGF5bWVudFRpbWluZy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1NkUyNjZFRjM4
NDAwNEI5Q0YxIC8qIEFwcGxlUGF5UGF5bWVudFRpbWluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk1RUFENTc0MjY2RUYzOTQwMDRCOUNGMSAv
KiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1NzIyNjZFRjM5MjAwNEI5Q0YxIC8qIEFw
cGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1NzgyNjZFRjNBODAwNEI5Q0YxIC8qIEFw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFENTc2MjY2RUYzQTYwMDRCOUNGMSAvKiBBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTVFQUQ1ODIyNjZFRjUzOTAwNEI5Q0YxIC8qIEpT
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NUVBRDU4MTI2NkVGNTMxMDA0QjlDRjEgLyogSlNBcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGUuaCAqLzsgfTsKKwkJOTVFQUQ1ODMyNjZFRjUzQjAwNEI5Q0YxIC8qIEpT
QXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlD
b3Vwb25Db2RlRGV0YWlscy5oICovOyB9OworCQk5NUVBRDU4NzI2NkVGNTZBMDA0QjlDRjEgLyog
SlNBcHBsZVBheURhdGVDb21wb25lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NUVBRDU4NTI2NkVGNTY5MDA0QjlDRjEgLyogSlNBcHBsZVBheURh
dGVDb21wb25lbnRzLmggKi87IH07CisJCTk1RUFENThCMjY2RUY1N0EwMDRCOUNGMSAvKiBKU0Fw
cGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1ODkyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlE
YXRlQ29tcG9uZW50c1JhbmdlLmggKi87IH07CisJCTk1RUFENThFMjY2RUY1OUMwMDRCOUNGMSAv
KiBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTVFQUQ1OEMyNjZFRjU5QTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQ
YXltZW50VGltaW5nLmggKi87IH07CisJCTk1RUFENTkzMjY2RUY1Q0QwMDRCOUNGMSAvKiBKU0Fw
cGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUVBRDU5MTI2NkVGNUNDMDA0QjlDRjEgLyogSlNBcHBs
ZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovOyB9OworCQk5NUVBRDU5NDI2NkVGNUQ0
MDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzY1NzlFQzFFMDA4NTY2MDBFM0EyN0EgLyog
SlNBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmggKi87IH07CisJCTk1RUFENTk3MjY2RUY2MEIwMDRC
OUNGMSAvKiBKU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RUFENTk1MjY2RUY2MDkwMDRC
OUNGMSAvKiBKU0FwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCAqLzsgfTsKIAkJ
OTVGNDVEMjcyNjRERkJGMTAwRDBCOEI4IC8qIFBhZ2VDb2xvclNhbXBsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1RjQ1RDI2MjY0REZCRUIwMEQw
QjhCOCAvKiBQYWdlQ29sb3JTYW1wbGVyLmggKi87IH07CiAJCTk3MDU5OTdBMTA3RDk3NTIwMEE1
MEE3QyAvKiBQb2xpY3lDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NzA1OTk3NjEwN0Q5NzUyMDBBNTBBN0MgLyogUG9saWN5Q2hlY2tlci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk3MEI3
MjhBMTQ0RkZBQzYwMEYwMEEzNyAvKiBFdmVudEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3MEI3Mjg5MTQ0RkZBQzYwMEYwMEEzNyAv
KiBFdmVudEludGVyZmFjZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTE5MjcsMTAgKzExOTM2LDYgQEAKIAkJOTUwQzQ4NDkyNUQ2Nzc0MjAw
QUIzRDlDIC8qIG92ZXJmbG93LXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAib3Zl
cmZsb3ctc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1MEM0ODRC
MjVENjc3NEUwMEFCM0Q5QyAvKiBvdmVyZmxvdy1idXR0b24uanMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBh
dGggPSAib3ZlcmZsb3ctYnV0dG9uLmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTUwQzRDMDJCRUQ4OTM2RjgxOEUyRjk5IC8qIEpTU1ZHR3JhcGhpY3NFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0dyYXBoaWNzRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTFERURDRTI1RTA4NDU5MDAyMEUxRUUgLyogQXBw
bGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxl
UGF5U2hpcHBpbmdNZXRob2REYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OTUxREVERDAyNUUwODQ1QTAwMjBFMUVFIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5U2hpcHBpbmdNZXRob2RE
YXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1MURFREQzMjVFMDg0OUMwMDIw
RTFFRSAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTFERURENDI1RTA4NDlEMDAyMEUxRUUgLyog
SlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTk1MjdEN0E4MjVENUZERTEwMEE2RTE3NiAvKiBBcHBsZVBheURldGFpbHNV
cGRhdGVEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5RGV0
YWlsc1VwZGF0ZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUyN0Q3QUEy
NUQ1RkRFMTAwQTZFMTc2IC8qIEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5NTI3RDdBRDI1RDVGRTZCMDBBNkUxNzYgLyogSlNBcHBsZVBh
eURldGFpbHNVcGRhdGVEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
QXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTE5NTQsMjAgKzExOTU5LDQzIEBACiAJCTk1NTE5NTlEMjVGQTlFRkIwMEY1OENGMCAvKiBz
a2lwLWZvcndhcmQtYnV0dG9uLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInNraXAtZm9yd2Fy
ZC1idXR0b24uanMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NTYyRUVEOTI1RjE4
REU1MDAzMzQ0NDIgLyogUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NTYyRUVEQjI1RjE4REU2MDAzMzQ0NDIgLyogUGF5
bWVudFJlcXVlc3RVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGF5bWVudFJlcXVlc3RVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OTU2ODREN0YyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVEZXRh
aWxzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
RGV0YWlscy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1Njg0RDgxMjY1MzU3
RjcwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWls
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NTZGQzRCODI1RDQ5QzdBMDBGN0Iz
QTIgLyogQXBwbGVQYXlMaW5lSXRlbURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXBwbGVQYXlMaW5lSXRlbURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTU2RkM0QjgyNUQ0OUM3QzAwRjdCM0EyIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheUxpbmVJdGVt
RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1NkZDNEJBMjVENDlDN0Iw
MEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gQXBwbGVQYXlMaW5lSXRlbURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk5NTZGQzRCQTI1RDQ5QzdEMDBGN0IzQTIgLyogSlNBcHBsZVBheUxpbmVJdGVtRGF0YS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk1OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAv
KiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTU5NkI5MzIyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxl
UGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk5NTk2QjkzNTI1REVFRjAwMDBFRDJDRkEgLyogSlNBcHBsZVBheVBheW1lbnRNZXRob2RN
b2RlVXBkYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBw
bGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTk1OTZCOTM2MjVERUVGMDIwMEVEMkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBh
eVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk1Njg0RDdGMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTU2ODREODEyNjUzNTdGNzAwMDI2OTM4IC8q
IEFwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQXBwbGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5NTk2QjkzMDI1REVFRTlGMDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29k
ZVVwZGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NTk2QjkzMjI1REVFRTlG
MDBFRDJDRkEgLyogQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5NTk2QjkzNTI1REVFRjAwMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NTk2QjkzNjI1REVFRjAyMDBFRDJDRkEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNv
ZGVDaGFuZ2VkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTVBMUUyRTcy
NUNDNzVBODAwMjY4QzhFIC8qIE1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW0uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NUFBNTcwRDI1RUVFRDMwMDA0RTkyODMg
LyogSW5zcGVjdG9yQ2FudmFzQ2FsbFRyYWNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbnNwZWN0b3JDYW52YXNDYWxsVHJhY2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTVBQTU3MEUyNUVFRUQzMTAwNEU5MjgzIC8qIEluc3BlY3RvckNh
bnZhc0NhbGxUcmFjZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVj
dG9yQ2FudmFzQ2FsbFRyYWNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NURG
OUQyMzI1MkJFRDk5MDAwRDdGNDYgLyogUG9pbnRlckNoYXJhY3RlcmlzdGljcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQb2ludGVyQ2hhcmFjdGVyaXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTk1RUFENTVGMjY2RUYyREEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFu
Z2VkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlDb3Vw
b25Db2RlQ2hhbmdlZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFE
NTYxMjY2RUYyREEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTYyMjY2RUYyREIwMDRCOUNG
MSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1NjYyNjZFRjJGODAwNEI5Q0YxIC8q
IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTVFQUQ1NjcyNjZFRjJGODAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBv
bmVudHMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU2ODI2NkVGMkY5MDA0QjlD
RjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5NUVBRDU2OTI2NkVGMkY5MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9u
ZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBsZVBheURhdGVDb21w
b25lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTZFMjY2RUYzODQw
MDRCOUNGMSAvKiBBcHBsZVBheVBheW1lbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQXBwbGVQYXlQYXltZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTk1RUFENTZGMjY2RUYzODUwMDRCOUNGMSAvKiBBcHBsZVBheVBheW1lbnRUaW1p
bmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5UGF5bWVudFRpbWluZy5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTcyMjY2RUYzOTIwMDRCOUNGMSAv
KiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5NUVBRDU3MzI2NkVGMzkzMDA0QjlDRjEgLyogQXBwbGVQ
YXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFw
cGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTVFQUQ1NzYyNjZFRjNBNjAwNEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5NUVBRDU3NzI2NkVGM0E3MDA0QjlDRjEgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFE
NTdEMjY2RUY1MjIwMDRCOUNGMSAvKiBKU0FwcGxlUGF5Q291cG9uQ29kZURldGFpbHMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1N0YyNjZFRjUyMzAwNEI5Q0YxIC8qIEpTQXBw
bGVQYXlDb3Vwb25Db2RlRGV0YWlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5Q291cG9u
Q29kZURldGFpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODAyNjZF
RjUzMDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODEyNjZFRjUzMTAwNEI5Q0YxIC8qIEpT
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlDb3Vw
b25Db2RlVXBkYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENTg0MjY2
RUY1NjgwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheURhdGVDb21wb25lbnRzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTVFQUQ1ODUyNjZFRjU2OTAwNEI5Q0YxIC8q
IEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTVFQUQ1ODgyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50
c1JhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQ
YXlEYXRlQ29tcG9uZW50c1JhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
OTVFQUQ1ODkyNjZFRjU3OTAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1Jhbmdl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlEYXRlQ29tcG9u
ZW50c1JhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1RUFENThDMjY2RUY1
OUEwMDRCOUNGMSAvKiBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5UGF5bWVudFRpbWluZy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5NUVBRDU4RDI2NkVGNTlCMDA0QjlDRjEgLyogSlNBcHBsZVBheVBh
eW1lbnRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNB
cHBsZVBheVBheW1lbnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NUVBRDU5MDI2NkVGNUNCMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRl
VW5pdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5
UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOTVFQUQ1OTEyNjZFRjVDQzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50
RGF0ZVVuaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheVJl
Y3VycmluZ1BheW1lbnREYXRlVW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NUVBRDU5NTI2NkVGNjA5MDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
NUVBRDU5NjI2NkVGNjBBMDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk1RjQ1RDI0MjY0REZCRUIwMEQwQjhCOCAvKiBQYWdlQ29sb3JTYW1wbGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VDb2xvclNhbXBsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5NUY0NUQyNjI2NERGQkVCMDBEMEI4QjggLyogUGFnZUNvbG9yU2FtcGxl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlQ29sb3JTYW1wbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTk3MDU5OTc1MTA3RDk3NTIwMEE1MEE3QyAvKiBQb2xpY3lDaGVja2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBvbGljeUNoZWNrZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg1OTgsNiArMTg2MjYsMTcgQEAKIAkJ
CQlBMURGNUFCNDFGODA3OEYzMDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuY3BwICov
LAogCQkJCUExREY1QTkxMUY3RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5o
ICovLAogCQkJCUExREY1QTkzMUY3RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVs
ZC5pZGwgKi8sCisJCQkJOTVFQUQ1NjIyNjZFRjJEQjAwNEI5Q0YxIC8qIEFwcGxlUGF5Q291cG9u
Q29kZUNoYW5nZWRFdmVudC5jcHAgKi8sCisJCQkJOTVFQUQ1NUYyNjZFRjJEQTAwNEI5Q0YxIC8q
IEFwcGxlUGF5Q291cG9uQ29kZUNoYW5nZWRFdmVudC5oICovLAorCQkJCTk1RUFENTYxMjY2RUYy
REEwMDRCOUNGMSAvKiBBcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsICovLAorCQkJ
CTk1Njg0RDgxMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmgg
Ki8sCisJCQkJOTU2ODREN0YyNjUzNTdGNzAwMDI2OTM4IC8qIEFwcGxlUGF5Q291cG9uQ29kZURl
dGFpbHMuaWRsICovLAorCQkJCTk1OTZCOTMwMjVERUVFOUYwMEVEMkNGQSAvKiBBcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGUuaCAqLywKKwkJCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJDRkEgLyogQXBw
bGVQYXlDb3Vwb25Db2RlVXBkYXRlLmlkbCAqLywKKwkJCQk5NUVBRDU2OTI2NkVGMkY5MDA0QjlD
RjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50cy5oICovLAorCQkJCTk1RUFENTY3MjY2RUYyRjgw
MDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRzLmlkbCAqLywKKwkJCQk5NUVBRDU2NjI2
NkVGMkY4MDA0QjlDRjEgLyogQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmggKi8sCisJCQkJ
OTVFQUQ1NjgyNjZFRjJGOTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHNSYW5nZS5p
ZGwgKi8sCiAJCQkJOTUwMTgzQ0IyNUQ2MzNEODAwRDQzNDBGIC8qIEFwcGxlUGF5RGV0YWlsc1Vw
ZGF0ZUJhc2UuaCAqLywKIAkJCQk5NTAxODNDOTI1RDYzM0Q4MDBENDM0MEYgLyogQXBwbGVQYXlE
ZXRhaWxzVXBkYXRlQmFzZS5pZGwgKi8sCiAJCQkJOTUyN0Q3QTgyNUQ1RkRFMTAwQTZFMTc2IC8q
IEFwcGxlUGF5RGV0YWlsc1VwZGF0ZURhdGEuaCAqLywKQEAgLTE4NjE4LDggKzE4NjU3LDYgQEAK
IAkJCQlBMTNCNjE2OTI0NzVERkM1MDBCQkU2REUgLyogQXBwbGVQYXlJbnN0YWxsbWVudFJldGFp
bENoYW5uZWwuaWRsICovLAogCQkJCTdDNjU3OUUyMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBh
eUxpbmVJdGVtLmggKi8sCiAJCQkJN0M2NTc5RTQxRTAwODJDODAwRTNBMjdBIC8qIEFwcGxlUGF5
TGluZUl0ZW0uaWRsICovLAotCQkJCTk1NkZDNEI4MjVENDlDN0EwMEY3QjNBMiAvKiBBcHBsZVBh
eUxpbmVJdGVtRGF0YS5oICovLAotCQkJCTk1NkZDNEJBMjVENDlDN0IwMEY3QjNBMiAvKiBBcHBs
ZVBheUxpbmVJdGVtRGF0YS5pZGwgKi8sCiAJCQkJQTFERjVBQTgxRjgwNzBENDAwNThBNDc3IC8q
IEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcCAqLywKIAkJCQlBMURGNUE4MzFGN0VCREYy
MDA1OEE0NzcgLyogQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCAqLywKIAkJCQlBMURGNUE4
NTFGN0VCREYyMDA1OEE0NzcgLyogQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaWRsICovLApA
QCAtMTg2MzQsMTAgKzE4NjcxLDYgQEAKIAkJCQk3QzY1MjJGOTFFMDBDOTA5MDA2NzdGMjIgLyog
QXBwbGVQYXlQYXltZW50Q29udGFjdC5pZGwgKi8sCiAJCQkJN0M2NTIyRUMxRTAwQTRDNzAwNjc3
RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oICovLAogCQkJCTdDNjUyMkVEMUUwMEE0Qzcw
MDY3N0YyMiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2QuaWRsICovLAotCQkJCTk1Njg0RDgxMjY1
MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5oICovLAot
CQkJCTk1Njg0RDdGMjY1MzU3RjcwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
RGV0YWlscy5pZGwgKi8sCi0JCQkJOTU5NkI5MzAyNURFRUU5RjAwRUQyQ0ZBIC8qIEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCAqLywKLQkJCQk5NTk2QjkzMjI1REVFRTlGMDBFRDJD
RkEgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5pZGwgKi8sCiAJCQkJMUE4QTY0
NDAxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQu
Y3BwICovLAogCQkJCTFBOEE2NDQyMUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRN
ZXRob2RTZWxlY3RlZEV2ZW50LmggKi8sCiAJCQkJMUE4QTY0NDMxRDE5RkNGQjAwRDBFMDBGIC8q
IEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRsICovLApAQCAtMTg2NDksNiAr
MTg2ODIsMTAgQEAKIAkJCQk3QzY1MjJGMzFFMDBBNTE3MDA2NzdGMjIgLyogQXBwbGVQYXlQYXlt
ZW50UGFzcy5pZGwgKi8sCiAJCQkJN0M2NTc5REYxRTAwNzlGOTAwRTNBMjdBIC8qIEFwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaCAqLywKIAkJCQk3QzY1NzlFMTFFMDA3QTExMDBFM0EyN0EgLyogQXBw
bGVQYXlQYXltZW50UmVxdWVzdC5pZGwgKi8sCisJCQkJOTVFQUQ1NkUyNjZFRjM4NDAwNEI5Q0Yx
IC8qIEFwcGxlUGF5UGF5bWVudFRpbWluZy5oICovLAorCQkJCTk1RUFENTZGMjY2RUYzODUwMDRC
OUNGMSAvKiBBcHBsZVBheVBheW1lbnRUaW1pbmcuaWRsICovLAorCQkJCTk1RUFENTcyMjY2RUYz
OTIwMDRCOUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICovLAorCQkJ
CTk1RUFENTczMjY2RUYzOTMwMDRCOUNGMSAvKiBBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRl
VW5pdC5pZGwgKi8sCiAJCQkJQTFERjVBQUIxRjgwNzVGMDAwNThBNDc3IC8qIEFwcGxlUGF5UmVx
dWVzdEJhc2UuY3BwICovLAogCQkJCUExREY1QUFBMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBh
eVJlcXVlc3RCYXNlLmggKi8sCiAJCQkJQTFERjVBQUMxRjgwNzVGMDAwNThBNDc3IC8qIEFwcGxl
UGF5UmVxdWVzdEJhc2UuaWRsICovLApAQCAtMTg2NzEsNiArMTg3MDgsOCBAQAogCQkJCTVDNTNE
Q0Q0MjQ0NjQ0OUIwMEE5MzEyNCAvKiBBcHBsZVBheVNldHVwRmVhdHVyZVR5cGVXZWJDb3JlLmgg
Ki8sCiAJCQkJNUM1M0RDQ0YyNDQ2NDQ5OTAwQTkzMTI0IC8qIEFwcGxlUGF5U2V0dXBGZWF0dXJl
V2ViQ29yZS5oICovLAogCQkJCTVDNTNEQ0NCMjQ0NjQ0OTgwMEE5MzEyNCAvKiBBcHBsZVBheVNl
dHVwV2ViQ29yZS5oICovLAorCQkJCTk1RUFENTc2MjY2RUYzQTYwMDRCOUNGMSAvKiBBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi8sCisJCQkJOTVFQUQ1NzcyNjZFRjNBNzAw
NEI5Q0YxIC8qIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaWRsICovLAogCQkJ
CTFBOEE2NDQ3MUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVj
dGVkRXZlbnQuY3BwICovLAogCQkJCTFBOEE2NDQ4MUQxOUZDRkIwMEQwRTAwRiAvKiBBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJCQkxQThBNjQ0OTFEMTlGQ0ZC
MDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmlkbCAqLywK
QEAgLTE4Njc4LDggKzE4NzE3LDYgQEAKIAkJCQkxQURGREZERDFFNzFEOERGMDA4RjVEMzQgLyog
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsICovLAogCQkJCTdDNjU3OUU3MUUwMDgz
MTYwMEUzQTI3QSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggKi8sCiAJCQkJN0M2NTc5RTUx
RTAwODMwNjAwRTNBMjdBIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsICovLAotCQkJCTk1
MURFREQwMjVFMDg0NUEwMDIwRTFFRSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oICov
LAotCQkJCTk1MURFRENFMjVFMDg0NTkwMDIwRTFFRSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9k
RGF0YS5pZGwgKi8sCiAJCQkJMUE4QTY0NEIxRDE5RkNGQjAwRDBFMDBGIC8qIEFwcGxlUGF5U2hp
cHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJCQkxQThBNjQ0QzFEMTlGQ0ZCMDBE
MEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCAqLywKIAkJCQkx
QThBNjQ0RDFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVk
RXZlbnQuaWRsICovLApAQCAtMTg4MTgsNiArMTg4NTUsMTYgQEAKIAkJCQlBMTk1NkYxQjIzMzFB
NjQ2MDA1N0U5RDIgLyogSlNBcHBsZVBheUNhbmNlbEV2ZW50LmggKi8sCiAJCQkJQTFERjVBOTgx
RjdFQzhDMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlDb250YWN0RmllbGQuY3BwICovLAogCQkJCUEx
REY1QTk3MUY3RUM4QkYwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5Q29udGFjdEZpZWxkLmggKi8sCisJ
CQkJOTVFQUQ1ODAyNjZFRjUzMDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdl
ZEV2ZW50LmNwcCAqLywKKwkJCQk5NTk2QjkzNjI1REVFRjAyMDBFRDJDRkEgLyogSlNBcHBsZVBh
eUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaCAqLywKKwkJCQk5NUVBRDU3RDI2NkVGNTIyMDA0QjlD
RjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmNwcCAqLywKKwkJCQk5NUVBRDU3RjI2
NkVGNTIzMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNvZGVEZXRhaWxzLmggKi8sCisJCQkJ
OTU5NkI5MzUyNURFRUYwMDAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmNw
cCAqLywKKwkJCQk5NUVBRDU4MTI2NkVGNTMxMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNv
ZGVVcGRhdGUuaCAqLywKKwkJCQk5NUVBRDU4NDI2NkVGNTY4MDA0QjlDRjEgLyogSlNBcHBsZVBh
eURhdGVDb21wb25lbnRzLmNwcCAqLywKKwkJCQk5NUVBRDU4NTI2NkVGNTY5MDA0QjlDRjEgLyog
SlNBcHBsZVBheURhdGVDb21wb25lbnRzLmggKi8sCisJCQkJOTVFQUQ1ODgyNjZFRjU3OTAwNEI5
Q0YxIC8qIEpTQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlLmNwcCAqLywKKwkJCQk5NUVBRDU4
OTI2NkVGNTc5MDA0QjlDRjEgLyogSlNBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UuaCAqLywK
IAkJCQk5NTNCQ0VCMTI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBheURldGFpbHNVcGRhdGVC
YXNlLmNwcCAqLywKIAkJCQk5NTNCQ0VBRjI1RDYyODNDMDBBNEEyQTEgLyogSlNBcHBsZVBheURl
dGFpbHNVcGRhdGVCYXNlLmggKi8sCiAJCQkJOTUyN0Q3QUUyNUQ1RkU2QjAwQTZFMTc2IC8qIEpT
QXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5jcHAgKi8sCkBAIC0xODgzOCw4ICsxODg4NSw2IEBA
CiAJCQkJQTEzQjYxNkYyNDc1RTMxMjAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVudFJl
dGFpbENoYW5uZWwuaCAqLywKIAkJCQk3QzY1NzlFOTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBs
ZVBheUxpbmVJdGVtLmNwcCAqLywKIAkJCQk3QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNB
cHBsZVBheUxpbmVJdGVtLmggKi8sCi0JCQkJOTU2RkM0QjgyNUQ0OUM3QzAwRjdCM0EyIC8qIEpT
QXBwbGVQYXlMaW5lSXRlbURhdGEuY3BwICovLAotCQkJCTk1NkZDNEJBMjVENDlDN0QwMEY3QjNB
MiAvKiBKU0FwcGxlUGF5TGluZUl0ZW1EYXRhLmggKi8sCiAJCQkJQTFERjVBODkxRjdFQzAwMDAw
NThBNDc3IC8qIEpTQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwICovLAogCQkJCUExREY1
QThBMUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggKi8s
CiAJCQkJQTFGNkQwMEExRkUwOTkyMTAwMTgwNzhDIC8qIEpTQXBwbGVQYXlNb2RpZmllci5jcHAg
Ki8sCkBAIC0xODg1NCw4ICsxODg5OSw2IEBACiAJCQkJN0M2NTIzMEMxRTAwREJCNDAwNjc3RjIy
IC8qIEpTQXBwbGVQYXlQYXltZW50Q29udGFjdC5oICovLAogCQkJCTdDNjUyMzBEMUUwMERCQjQw
MDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZC5jcHAgKi8sCiAJCQkJN0M2NTIzMEUx
RTAwREJCNDAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kLmggKi8sCi0JCQkJOTU5
NkI5MzUyNURFRUYwMDAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0
ZS5jcHAgKi8sCi0JCQkJOTU5NkI5MzYyNURFRUYwMjAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlQYXlt
ZW50TWV0aG9kTW9kZVVwZGF0ZS5oICovLAogCQkJCTFBRTk2QTdDMUQxQTBBODAwMEI4Njc2OCAv
KiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJCTFBRTk2
QTdEMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZl
bnQuaCAqLywKIAkJCQlBMUY2RDAwRDFGRTA5OTY0MDAxODA3OEMgLyogSlNBcHBsZVBheVBheW1l
bnRNZXRob2RUeXBlLmNwcCAqLywKQEAgLTE4ODY2LDYgKzE4OTA5LDEwIEBACiAJCQkJN0M2NTIz
MTAxRTAwREJCNDAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50UGFzcy5oICovLAogCQkJCTdD
NjU3OUVCMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuY3BwICov
LAogCQkJCTdDNjU3OUVDMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5UGF5bWVudFJlcXVl
c3QuaCAqLywKKwkJCQk5NUVBRDU4RDI2NkVGNTlCMDA0QjlDRjEgLyogSlNBcHBsZVBheVBheW1l
bnRUaW1pbmcuY3BwICovLAorCQkJCTk1RUFENThDMjY2RUY1OUEwMDRCOUNGMSAvKiBKU0FwcGxl
UGF5UGF5bWVudFRpbWluZy5oICovLAorCQkJCTk1RUFENTkwMjY2RUY1Q0IwMDRCOUNGMSAvKiBK
U0FwcGxlUGF5UmVjdXJyaW5nUGF5bWVudERhdGVVbml0LmNwcCAqLywKKwkJCQk5NUVBRDU5MTI2
NkVGNUNDMDA0QjlDRjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oICov
LAogCQkJCUExREY1QThDMUY3RUMwMDEwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5UmVxdWVzdC5jcHAg
Ki8sCiAJCQkJQTFERjVBOEIxRjdFQzAwMTAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0Lmgg
Ki8sCiAJCQkJQTFERjVBQjAxRjgwNzc1MjAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0QmFz
ZS5jcHAgKi8sCkBAIC0xODg3NCwxNCArMTg5MjEsMTQgQEAKIAkJCQkxQUU5NkE3RjFEMUEwQTgw
MDBCODY3NjggLyogSlNBcHBsZVBheVNlc3Npb24uaCAqLywKIAkJCQlBMUQ1MDYxMzIzMzFFRDk3
MDAxNEVFNEUgLyogSlNBcHBsZVBheVNlc3Npb25FcnJvci5jcHAgKi8sCiAJCQkJQTFENTA2MTEy
MzMxRUQ5NjAwMTRFRTRFIC8qIEpTQXBwbGVQYXlTZXNzaW9uRXJyb3IuaCAqLywKKwkJCQk5NUVB
RDU5NjI2NkVGNjBBMDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlLmNwcCAqLywKKwkJCQk5NUVBRDU5NTI2NkVGNjA5MDA0QjlDRjEgLyogSlNBcHBsZVBheVNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmggKi8sCiAJCQkJMUFFOTZBODAxRDFBMEE4MDAwQjg2
NzY4IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcCAqLywKIAkJ
CQkxQUU5NkE4MTFEMUEwQTgwMDBCODY3NjggLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQuaCAqLywKIAkJCQkxQURGREZFNzFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5jcHAgKi8sCiAJCQkJMUFERkRGRTgxRTcxRENBMDAw
OEY1RDM0IC8qIEpTQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaCAqLywKIAkJCQk3QzY1
NzlFRDFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmNwcCAqLywK
IAkJCQk3QzY1NzlFRTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9k
LmggKi8sCi0JCQkJOTUxREVERDMyNUUwODQ5QzAwMjBFMUVFIC8qIEpTQXBwbGVQYXlTaGlwcGlu
Z01ldGhvZERhdGEuY3BwICovLAotCQkJCTk1MURFREQ0MjVFMDg0OUQwMDIwRTFFRSAvKiBKU0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2REYXRhLmggKi8sCiAJCQkJMUFFOTZBODIxRDFBMEE4MDAwQjg2
NzY4IC8qIEpTQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwICovLAogCQkJ
CTFBRTk2QTgzMUQxQTBBODAwMEI4Njc2OCAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxl
Y3RlZEV2ZW50LmggKi8sCiAJCQkJMUFERkRGRTkxRTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5jcHAgKi8sCkBAIC0zMTYzMyw2ICszMTY4MCwxMSBAQAog
CQkJCTQ0MjUwNzA5MjU4MjlBMjcwMEMwOTM2OCAvKiBBcHBIaWdobGlnaHRTdG9yYWdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTEzRTAyRTIzMzFBMTM0MDA5QzMzQTAgLyogQXBwbGVQYXlDYW5j
ZWxFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBOTQxRjdFQzQzMjAwNThBNDc3IC8q
IEFwcGxlUGF5Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU2MzI2NkVG
MkRCMDA0QjlDRjEgLyogQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5NTY4NEQ4MzI2NTM1N0Y4MDAwMjY5MzggLyogQXBwbGVQYXlDb3Vwb25Db2Rl
RGV0YWlscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTU5NkI5MzMyNURFRUVBMDAwRUQyQ0ZBIC8q
IEFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1NkQy
NjZFRjJGQTAwNEI5Q0YxIC8qIEFwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTk1RUFENTZBMjY2RUYyRkEwMDRCOUNGMSAvKiBBcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk1MDE4M0NEMjVENjMzRDkwMEQ0MzQwRiAvKiBB
cHBsZVBheURldGFpbHNVcGRhdGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NTI3RDdBQjI1
RDVGREUyMDBBNkUxNzYgLyogQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTEyQzU5RUUyMDM1RkM5QjAwMTIyMzZCIC8qIEFwcGxlUGF5RXJyb3IuaCBpbiBI
ZWFkZXJzICovLApAQCAtMzE2NDMsNyArMzE2OTUsNiBAQAogCQkJCUExMTc1MEExMjQ3NDY4Rjcw
MEQ0RDI2QyAvKiBBcHBsZVBheUluc3RhbGxtZW50SXRlbVR5cGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExM0I2MTZCMjQ3NUUwNDgwMEJCRTZERSAvKiBBcHBsZVBheUluc3RhbGxtZW50UmV0YWls
Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8q
IEFwcGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLAotCQkJCTk1NkZDNEJCMjVENDlDN0Iw
MEY3QjNBMiAvKiBBcHBsZVBheUxpbmVJdGVtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFE
RjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMUY2Q0ZGRjFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2Rp
Zmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMDExRTAwRDAzNDAwNjc3RjIyIC8qIEFw
cGxlUGF5UGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTY1MiwxMyArMzE3MDMsMTMgQEAK
IAkJCQk3QzY1MjJGQjFFMDBDOTA5MDA2NzdGMjIgLyogQXBwbGVQYXlQYXltZW50Q29udGFjdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBQTIxRjdFRTExMzAwNThBNDc3IC8qIEFwcGxlUGF5
UGF5bWVudEhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMkVGMUUwMEE0QzcwMDY3
N0YyMiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2QuaCBpbiBIZWFkZXJzICovLAotCQkJCTk1Njg0
RDgzMjY1MzU3RjgwMDAyNjkzOCAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlRGV0YWlscy5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJOTU5NkI5MzMyNURFRUVBMDAwRUQyQ0ZBIC8qIEFwcGxlUGF5
UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEE2NDU2MUQx
OUZDRkMwMEQwRTAwRiAvKiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMUY2RDAwNjFGRTA5NkY2MDAxODA3OEMgLyogQXBwbGVQYXlQYXlt
ZW50TWV0aG9kVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjEyMDM1RkNCRjAwMTIy
MzZCIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0M2NTIyRjUxRTAwQTUxNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudFBhc3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDNjU3OUUwMUUwMDc5RjkwMEUzQTI3QSAvKiBBcHBsZVBheVBheW1lbnRS
ZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU3MDI2NkVGMzg2MDA0QjlDRjEgLyog
QXBwbGVQYXlQYXltZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU3NDI2NkVG
Mzk0MDA0QjlDRjEgLyogQXBwbGVQYXlSZWN1cnJpbmdQYXltZW50RGF0ZVVuaXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExREY1QTdGMUY3RUJEMEIwMDU4QTQ3NyAvKiBBcHBsZVBheVJlcXVlc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QUFEMUY4MDc1RjAwMDU4QTQ3NyAvKiBBcHBsZVBh
eVJlcXVlc3RCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ1OTFEMTlGQ0ZDMDBEMEUw
MEYgLyogQXBwbGVQYXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNjY4LDEwICszMTcx
OSwxMCBAQAogCQkJCUExRTA4NjYwMjQ4OUQyQkEwMEU0OTZEOSAvKiBBcHBsZVBheVNldHVwRmVh
dHVyZVN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzUzRENFMTI0NDY1REZDMDBBOTMxMjQg
LyogQXBwbGVQYXlTZXR1cEZlYXR1cmVXZWJDb3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzUz
RENFQTI0NDY4RkI0MDBBOTMxMjQgLyogQXBwbGVQYXlTZXR1cFdlYkNvcmUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTk1RUFENTc4MjY2RUYzQTgwMDRCOUNGMSAvKiBBcHBsZVBheVNoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ1QzFEMTlGQ0ZDMDBE
MEUwMEYgLyogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTJDNTlGMjIwMzVGQ0Q2MDAxMjIzNkIgLyogQXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RVcGRhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUU4MUUwMDgzMTYwMEUzQTI3
QSAvKiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTFERURE
MjI1RTA4NDVBMDAyMEUxRUUgLyogQXBwbGVQYXlTaGlwcGluZ01ldGhvZERhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBOEE2NDYwMUQxOUZDRkMwMEQwRTAwRiAvKiBBcHBsZVBheVNoaXBwaW5n
TWV0aG9kU2VsZWN0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjMyMDM1RkNF
MjAwMTIyMzZCIC8qIEFwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBOEE2NDYzMUQxOUZDRkMwMEQwRTAwRiAvKiBBcHBsZVBheVZhbGlkYXRlTWVyY2hh
bnRFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzI0NCw2ICszMzI5NSwxMSBAQAogCQkJCTcx
MDI1RURFMUY5OUYxRUMwMDRBMjUwQyAvKiBKU0FuaW1hdGlvblRpbWVsaW5lLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTk1NkYxQzIzMzFBNjc3MDA1N0U5RDIgLyogSlNBcHBsZVBheUNhbmNlbEV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE5OTFGN0VDOEMwMDA1OEE0NzcgLyogSlNB
cHBsZVBheUNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTU5NkI5MzgyNURFRUYw
MzAwRUQyQ0ZBIC8qIEpTQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk5NUVBRDU4MzI2NkVGNTNCMDA0QjlDRjEgLyogSlNBcHBsZVBheUNvdXBvbkNv
ZGVEZXRhaWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU4MjI2NkVGNTM5MDA0QjlDRjEg
LyogSlNBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk1RUFE
NTg3MjY2RUY1NkEwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNvbXBvbmVudHMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTk1RUFENThCMjY2RUY1N0EwMDRCOUNGMSAvKiBKU0FwcGxlUGF5RGF0ZUNv
bXBvbmVudHNSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTUzQkNFQjIyNUQ2MjgzRDAwQTRB
MkExIC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTUyN0Q3QUYyNUQ1RkU2QzAwQTZFMTc2IC8qIEpTQXBwbGVQYXlEZXRhaWxzVXBkYXRlRGF0YS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjkyMDM2MEFDQjAwMTIyMzZCIC8qIEpTQXBwbGVQ
YXlFcnJvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzI1NCw3ICszMzMxMCw2IEBACiAJCQkJQTEz
QjYxNzYyNDc1RTM3QTAwQkJFNkRFIC8qIEpTQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTNCNjE3NzI0NzVFM0EzMDBCQkU2REUgLyogSlNBcHBsZVBh
eUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RjAx
RTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJOTU2RkM0QkIyNUQ0OUM3QjAwRjdCM0EzIC8qIEpTQXBwbGVQYXlMaW5lSXRlbURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUExREY1QThFMUY3RUMwMDIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5
TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2RDAxMjFGRTA5OUI0
MDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1
MjMxNDFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMzMyNjIsMjAgKzMzMzE3LDIxIEBACiAJCQkJMUFFOTZBOEIxRDFBMERERDAwQjg2NzY4
IC8qIEpTQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzY1MjMxNjFFMDBEQkI1MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnRDb250YWN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3QzY1MjMxODFFMDBEQkI1MDA2NzdGMjIgLyogSlNBcHBsZVBh
eVBheW1lbnRNZXRob2QuaCBpbiBIZWFkZXJzICovLAotCQkJCTk1OTZCOTM4MjVERUVGMDMwMEVE
MkNGQSAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBRTk2QThEMUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhv
ZFNlbGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjZEMDBGMUZFMDk5OTQwMDE4
MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExMkM1OUZDMjAzNjBCMjcwMDEyMjM2QiAvKiBKU0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMUExRTAwREJCNTAwNjc3RjIyIC8qIEpTQXBw
bGVQYXlQYXltZW50UGFzcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0M2NTc5RjIxRTAwODU2NjAw
RTNBMjdBIC8qIEpTQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
OTVFQUQ1OTQyNjZFRjVENDAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTVFQUQ1OEUyNjZFRjU5QzAwNEI5Q0YxIC8qIEpTQXBwbGVQYXlQ
YXltZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk5NUVBRDU5MzI2NkVGNUNEMDA0QjlD
RjEgLyogSlNBcHBsZVBheVJlY3VycmluZ1BheW1lbnREYXRlVW5pdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTFERjVBOEYxRjdFQzAwMjAwNThBNDc3IC8qIEpTQXBwbGVQYXlSZXF1ZXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMURGNUFCMzFGODA3NzUzMDA1OEE0NzcgLyogSlNBcHBsZVBheVJl
cXVlc3RCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE4RjFEMUEwREREMDBCODY3Njgg
LyogSlNBcHBsZVBheVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUExRDUwNjE0MjMzMUVE
RDQwMDE0RUU0RSAvKiBKU0FwcGxlUGF5U2Vzc2lvbkVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk5NUVBRDU5NzI2NkVGNjBCMDA0QjlDRjEgLyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU5NkE5MTFEMUEwREREMDBCODY3Njgg
LyogSlNBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExMkM1OUZEMjAzNjBCM0UwMDEyMjM2QiAvKiBKU0FwcGxlUGF5U2hpcHBpbmdDb250
YWN0VXBkYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlGNDFFMDA4NTY2MDBFM0EyN0Eg
LyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NTFERURE
NjI1RTA4NDlFMDAyMEUxRUUgLyogSlNBcHBsZVBheVNoaXBwaW5nTWV0aG9kRGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFFOTZBOTMxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMkM1OUZFMjAz
NjBCNEEwMDEyMjM2QiAvKiBKU0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTU3RDEzNTJDMjI5NEFBM0QwMDgyNzQwMSAvKiBKU0F0dGVzdGF0aW9uQ29u
dmV5YW5jZVByZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
aW5kZXggNzgzMzYwMzJhMzJhZjYxMGQ4MjRmODJhOTMzNjUzMWMyYmQwMzA3Yi4uOWQ0MWQ3OTJk
ZjIyZjZhZmE4NzAzZjRkNjM2NWJlZGFkMWIwM2UxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CkBAIC0zMiwxOCArMzIsMTUgQEAKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgi
CiAjZW5kaWYKIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0
QWRkaXRpb25zL0V2ZW50TmFtZXNBZGRpdGlvbnMuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSNpZiAhZGVmaW5lZChBRERJVElPTkFMX0RPTV9FVkVOVF9OQU1FU19GT1JfRUFD
SCkKLSNkZWZpbmUgQURESVRJT05BTF9ET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gobWFjcm8pCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyNkZWZpbmUgRE9NX0VWRU5UX05BTUVf
QVBQTEVfUEFZX0NPVVBPTl9DT0RFX0NIQU5HRUQobWFjcm8pIG1hY3JvKGNvdXBvbmNvZGVjaGFu
Z2VkKQorI2Vsc2UKKyNkZWZpbmUgRE9NX0VWRU5UX05BTUVfQVBQTEVfUEFZX0NPVVBPTl9DT0RF
X0NIQU5HRUQobWFjcm8pCiAjZW5kaWYKIAogI2RlZmluZSBET01fRVZFTlRfTkFNRVNfRk9SX0VB
Q0gobWFjcm8pIFwKLSAgICBBRERJVElPTkFMX0RPTV9FVkVOVF9OQU1FU19GT1JfRUFDSChtYWNy
bykgXAogICAgIG1hY3JvKERPTUFjdGl2YXRlKSBcCiAgICAgbWFjcm8oRE9NQ2hhcmFjdGVyRGF0
YU1vZGlmaWVkKSBcCiAgICAgbWFjcm8oRE9NQ29udGVudExvYWRlZCkgXApAQCAtMTAzLDYgKzEw
MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhjb250cm9sbGVyY2hhbmdlKSBc
CiAgICAgbWFjcm8oY29vcmRpbmF0b3JzdGF0ZWNoYW5nZSkgXAogICAgIG1hY3JvKGNvcHkpIFwK
KyAgICBET01fRVZFTlRfTkFNRV9BUFBMRV9QQVlfQ09VUE9OX0NPREVfQ0hBTkdFRChtYWNybykg
XAogICAgIG1hY3JvKGN1ZWNoYW5nZSkgXAogICAgIG1hY3JvKGN1dCkgXAogICAgIG1hY3JvKGRh
dGFhdmFpbGFibGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggY2NlODZlYmE1NjUy
ZTBmZmIyYmQyZjMwMWRjYzFhYTU5YmNjNmVmNS4uNmM3Y2UzMTI3Yjk3YTU4ODQ3Y2QxYzdkNzg0
NzRmYzA4ODhhZTAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTQ0LDYgKzQ0LDcg
QEAgV2ViS2l0VHJhbnNpdGlvbkV2ZW50CiBXaGVlbEV2ZW50CiBYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnQKIEFwcGxlUGF5Q2FuY2VsRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCitBcHBs
ZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZX0NPVVBPTl9D
T0RFCiBBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZ
CiBBcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExFX1BB
WQogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50IGNvbmRpdGlvbmFsPUFQUExF
X1BBWQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA4MzM2Y2IxOGI2
N2QyZmE4MDkzZGU3OTJkZTNkNTUwNWU1ZmU4ZDcwLi5hYjVjMzE2OTMxZWQyMmQwMDk1YjAzNTdm
ZTA5MTZiZjEwNjgwOGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApA
QCAtNDExLDggKzQxMSw4IEBAIGNsYXNzIEVtcHR5UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IGZp
bmFsIDogcHVibGljIFBheW1lbnRDb29yZGluYXRvckNsaWVudCB7CiAgICAgdm9pZCBjb21wbGV0
ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01l
dGhvZFVwZGF0ZT4mJikgZmluYWwgeyB9CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFj
dFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYm
KSBmaW5hbCB7IH0KICAgICB2b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6
Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgZmluYWwgeyB9Ci0jaWYg
RU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQ
YXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhv
ZE1vZGVVcGRhdGU+JiYpIGZpbmFsIHsgfQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NP
REUpCisgICAgdm9pZCBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBs
ZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYpIGZpbmFsIHsgfQogI2VuZGlmCiAgICAgdm9pZCBjb21w
bGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQ+JiYpIGZpbmFsIHsgfQogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBmaW5hbCB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGlu
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwCmluZGV4IDE1ZDM5NmU3NjY5Nzk0OTZkMzdhMWIxYWFlOTk1OTc0ZTc4MzAwMjEuLmMyNGNl
NDJjNGFhNDYyOGI2NDkyNjYxNTZlMTc2NDU1N2FiNDNlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMjgsOSArMjgsMTAg
QEAKIAogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKLSNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRN
ZXRob2RNb2RlVXBkYXRlLmgiCisjaW5jbHVkZSAiQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmgi
CiAjaW5jbHVkZSAiQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlLmgiCiAjaW5jbHVkZSAiQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKKyNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RV
cGRhdGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmgiCiAjaW5j
bHVkZSAiTW9ja0FwcGxlUGF5U2V0dXBGZWF0dXJlLmgiCkBAIC0xMTMsNiArMTE0LDEzIEBAIGJv
b2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25z
dCBWZWN0b3I8VVJMPiYsIGNvbnN0CiAjaWYgRU5BQkxFKEFQUExFX1BBWV9JTlNUQUxMTUVOVFMp
CiAgICAgbV9pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gPSByZXF1ZXN0Lmluc3RhbGxtZW50Q29u
ZmlndXJhdGlvbigpLmFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKCk7CiAjZW5kaWYK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIG1fc3VwcG9ydHNDb3Vwb25D
b2RlID0gcmVxdWVzdC5zdXBwb3J0c0NvdXBvbkNvZGUoKTsKKyAgICBtX2NvdXBvbkNvZGUgPSBy
ZXF1ZXN0LmNvdXBvbkNvZGUoKTsKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJ
TkdfQ09OVEFDVF9FRElUSU5HX01PREUpCisgICAgbV9zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZSA9IHJlcXVlc3Quc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoKTsKKyNlbmRpZgogI2lmIGRl
ZmluZWQoTW9ja1BheW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19zaG93UGF5bWVudFVJKQogICAg
IE1vY2tQYXltZW50Q29vcmRpbmF0b3JBZGRpdGlvbnNfc2hvd1BheW1lbnRVSQogI2VuZGlmCkBA
IC0xODAsMjMgKzE4OCwyMyBAQCB2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRl
UGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPEFwcGxlUAogI2VuZGlmCiB9CiAK
LSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQ
UExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21w
bGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZT4mJiBwYXltZW50TWV0aG9kTW9kZVVwZGF0ZSkKK3ZvaWQgTW9ja1Bh
eW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYmIGNvdXBvbkNvZGVVcGRhdGUpCiB7Ci0gICAgaWYg
KCFwYXltZW50TWV0aG9kTW9kZVVwZGF0ZSkKKyAgICBpZiAoIWNvdXBvbkNvZGVVcGRhdGUpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIG1fdG90YWwgPSBXVEZNb3ZlKHBheW1lbnRNZXRob2RNb2Rl
VXBkYXRlLT5uZXdUb3RhbCk7Ci0gICAgbV9saW5lSXRlbXMgPSBXVEZNb3ZlKHBheW1lbnRNZXRo
b2RNb2RlVXBkYXRlLT5uZXdMaW5lSXRlbXMpOwotICAgIG1fZXJyb3JzID0gY29udmVydChXVEZN
b3ZlKHBheW1lbnRNZXRob2RNb2RlVXBkYXRlLT5lcnJvcnMpKTsKLSAgICBtX3NoaXBwaW5nTWV0
aG9kcyA9IFdURk1vdmUocGF5bWVudE1ldGhvZE1vZGVVcGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9k
cyk7Ci0jaWYgZGVmaW5lZChNb2NrUGF5bWVudENvb3JkaW5hdG9yQWRkaXRpb25zX2NvbXBsZXRl
UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2UpCi0gICAgTW9ja1BheW1lbnRDb29yZGluYXRvckFkZGl0
aW9uc19jb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlCisgICAgbV90b3RhbCA9IFdURk1v
dmUoY291cG9uQ29kZVVwZGF0ZS0+bmV3VG90YWwpOworICAgIG1fbGluZUl0ZW1zID0gV1RGTW92
ZShjb3Vwb25Db2RlVXBkYXRlLT5uZXdMaW5lSXRlbXMpOworICAgIG1fZXJyb3JzID0gY29udmVy
dChXVEZNb3ZlKGNvdXBvbkNvZGVVcGRhdGUtPmVycm9ycykpOworICAgIG1fc2hpcHBpbmdNZXRo
b2RzID0gV1RGTW92ZShjb3Vwb25Db2RlVXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpOworI2lm
IGRlZmluZWQoTW9ja1BheW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19jb21wbGV0ZUNvdXBvbkNv
ZGVDaGFuZ2UpCisgICAgTW9ja1BheW1lbnRDb29yZGluYXRvckFkZGl0aW9uc19jb21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2UKICNlbmRpZgogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NP
REUpCiAKIHZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y2hhbmdlU2hpcHBpbmdPcHRpb24o
U3RyaW5nJiYgc2hpcHBpbmdPcHRpb24pCiB7CkBAIC0yMTQsNiArMjIyLDE3IEBAIHZvaWQgTW9j
a1BheW1lbnRDb29yZGluYXRvcjo6Y2hhbmdlUGF5bWVudE1ldGhvZChBcHBsZVBheVBheW1lbnRN
ZXRob2QmJiBwYXltZW50CiAgICAgfSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQorCit2b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNoYW5nZUNvdXBvbkNvZGUo
U3RyaW5nJiYgY291cG9uQ29kZSkKK3sKKyAgICBkaXNwYXRjaElmU2hvd2luZyhbcGFnZSA9ICZt
X3BhZ2UsIGNvdXBvbkNvZGUgPSBXVEZNb3ZlKGNvdXBvbkNvZGUpXSgpIG11dGFibGUgeworICAg
ICAgICBwYWdlLT5wYXltZW50Q29vcmRpbmF0b3IoKS5kaWRDaGFuZ2VDb3Vwb25Db2RlKFdURk1v
dmUoY291cG9uQ29kZSkpOworICAgIH0pOworfQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BB
WV9DT1VQT05fQ09ERSkKKwogdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjphY2NlcHRQYXlt
ZW50KCkKIHsKICAgICBkaXNwYXRjaElmU2hvd2luZyhbcGFnZSA9ICZtX3BhZ2UsIHNoaXBwaW5n
QWRkcmVzcyA9IG1fc2hpcHBpbmdBZGRyZXNzXSgpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCA5MjhhY2M0ODNiZTUz
MzkzMWZkYTEwNmUwMTc2YmJiZGRjOWFlZTU1Li45ZmRmMWE4ZmI5YmZkMzQ1MDY0ZjY2NTg0NDY0
MGE0NDI5ZTQ3NmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW0u
aCIKICNpbmNsdWRlICJBcHBsZVBheVNldHVwQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIkFw
cGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaCIKICNpbmNsdWRlICJBcHBsZVBheVNo
aXBwaW5nTWV0aG9kLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRyZXNzLmgiCiAjaW5jbHVk
ZSAiTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmgiCkBAIC01Niw2ICs1Nyw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3MmJiBzaGlwcGlu
Z0FkZHJlc3MpIHsgbV9zaGlwcGluZ0FkZHJlc3MgPSBXVEZNb3ZlKHNoaXBwaW5nQWRkcmVzcyk7
IH0KICAgICB2b2lkIGNoYW5nZVNoaXBwaW5nT3B0aW9uKFN0cmluZyYmIHNoaXBwaW5nT3B0aW9u
KTsKICAgICB2b2lkIGNoYW5nZVBheW1lbnRNZXRob2QoQXBwbGVQYXlQYXltZW50TWV0aG9kJiYp
OworI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjaGFuZ2VDb3Vw
b25Db2RlKFN0cmluZyYmIGNvdXBvbkNvZGUpOworI2VuZGlmCiAgICAgdm9pZCBhY2NlcHRQYXlt
ZW50KCk7CiAgICAgdm9pZCBjYW5jZWxQYXltZW50KCk7CiAKQEAgLTc2LDYgKzgwLDE1IEBAIHB1
YmxpYzoKICAgICBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBpbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2luc3RhbGxtZW50Q29uZmlndXJhdGlvbjsg
fQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHN0ZDo6
b3B0aW9uYWw8Ym9vbD4gc3VwcG9ydHNDb3Vwb25Db2RlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBw
b3J0c0NvdXBvbkNvZGU7IH0KKyAgICBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUoKSBjb25zdCB7
IHJldHVybiBtX2NvdXBvbkNvZGU7IH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEFQUExFX1BBWV9T
SElQUElOR19DT05UQUNUX0VESVRJTkdfTU9ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5
U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU+IHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsgfQorI2VuZGlmCisK
ICAgICB2b2lkIHJlZigpIGNvbnN0IHsgfQogICAgIHZvaWQgZGVyZWYoKSBjb25zdCB7IH0KIApA
QCAtODksOSArMTAyLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRo
b2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlPiYm
KSBmaW5hbDsKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6
b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+JiYpIGZpbmFsOwogICAgIHZv
aWQgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQ
YXltZW50TWV0aG9kVXBkYXRlPiYmKSBmaW5hbDsKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1F
TlRfTUVUSE9EX01PREUpCi0gICAgdm9pZCBjb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJikgZmluYWw7
Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVO
QUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgdm9pZCBjb21wbGV0ZUNvdXBvbkNvZGVD
aGFuZ2Uoc3RkOjpvcHRpb25hbDxBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYpIGZpbmFsOwor
I2VuZGlmCiAgICAgdm9pZCBjb21wbGV0ZVBheW1lbnRTZXNzaW9uKHN0ZDo6b3B0aW9uYWw8UGF5
bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRQYXltZW50
U2Vzc2lvbigpIGZpbmFsOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Npb24oKSBmaW5hbDsK
QEAgLTEyMCw2ICsxMzMsMTMgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3VwcG9ydHNVbnJlc3Ry
aWN0ZWRBcHBsZVBheSB7IHRydWUgfTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5U
UykKICAgICBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBtX2luc3RhbGxtZW50Q29u
ZmlndXJhdGlvbjsKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisg
ICAgc3RkOjpvcHRpb25hbDxib29sPiBtX3N1cHBvcnRzQ291cG9uQ29kZTsKKyAgICBTdHJpbmcg
bV9jb3Vwb25Db2RlOworI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19DT05U
QUNUX0VESVRJTkdfTU9ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2hpcHBpbmdDb250
YWN0RWRpdGluZ01vZGU+IG1fc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGU7CiAjZW5kaWYKICAg
ICBBcHBsZVBheVNldHVwQ29uZmlndXJhdGlvbiBtX3NldHVwQ29uZmlndXJhdGlvbjsKICAgICBW
ZWN0b3I8UmVmPEFwcGxlUGF5U2V0dXBGZWF0dXJlPj4gbV9zZXR1cEZlYXR1cmVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKaW5kZXgg
NjBmNTE5ZmU4NWQxYTUyNzk1YmQ5NzQ5MTA1YjZiN2FmNjk1ZDU3NS4uZDI3ZDJiNWU5NGU4MzMz
NjkyZGM1MjMxMTM5OWJhOTRmMTNhNTZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCkBAIC0zMiw2ICszMiw3IEBACiAgICAgdW5k
ZWZpbmVkIHNldFNoaXBwaW5nQWRkcmVzcyhNb2NrUGF5bWVudEFkZHJlc3Mgc2hpcHBpbmdBZGRy
ZXNzKTsKICAgICB1bmRlZmluZWQgY2hhbmdlU2hpcHBpbmdPcHRpb24oRE9NU3RyaW5nIHNoaXBw
aW5nT3B0aW9uKTsKICAgICB1bmRlZmluZWQgY2hhbmdlUGF5bWVudE1ldGhvZChBcHBsZVBheVBh
eW1lbnRNZXRob2QgcGF5bWVudE1ldGhvZCk7CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9D
T1VQT05fQ09ERV0gdW5kZWZpbmVkIGNoYW5nZUNvdXBvbkNvZGUoRE9NU3RyaW5nIGNvdXBvbkNv
ZGUpOwogICAgIHVuZGVmaW5lZCBhY2NlcHRQYXltZW50KCk7CiAgICAgdW5kZWZpbmVkIGNhbmNl
bFBheW1lbnQoKTsKIApAQCAtNDksNCArNTAsOSBAQAogICAgIGF0dHJpYnV0ZSBib29sZWFuIHN1
cHBvcnRzVW5yZXN0cmljdGVkQXBwbGVQYXk7CiAKICAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZ
X0lOU1RBTExNRU5UU10gcmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5SW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbjsKKworICAgIFtDb25kaXRpb25hbD1B
UFBMRV9QQVlfQ09VUE9OX0NPREVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuPyBzdXBwb3J0
c0NvdXBvbkNvZGU7CisgICAgW0NvbmRpdGlvbmFsPUFQUExFX1BBWV9DT1VQT05fQ09ERV0gcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gY291cG9uQ29kZTsKKworICAgIFtDb25kaXRpb25h
bD1BUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBBcHBsZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPyBzaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29h
L1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLmgKaW5kZXggMjJjNmI2NTZjY2Fi
YjFmNzdlYTk3M2Y1NDc0OGNhYTZmNmFjNzg1Ny4uMmVmY2IyMDBlODA0NTY3YmU1MzIwOTIwYjcx
YjNjNTZmNmIyMDA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIuaApAQCAtNDIsOSArNDIsNyBA
QCBjbGFzcyBQYXltZW50Q29udGFjdDsKIGNsYXNzIFBheW1lbnRNZXJjaGFudFNlc3Npb247CiBj
bGFzcyBQYXltZW50TWV0aG9kOwogY2xhc3MgUGF5bWVudFNlc3Npb25FcnJvcjsKLSNpZiBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCi1zdHJ1Y3QgQXBwbGVQYXlQYXltZW50
TWV0aG9kTW9kZVVwZGF0ZTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVU
SE9EX01PREUpCitzdHJ1Y3QgQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlOwogc3RydWN0IEFwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVw
ZGF0ZTsKIHN0cnVjdCBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOwpAQCAtNjUsOSArNjMsOSBAQCBw
dWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RQYXltZW50TWV0
aG9kKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVu
dE1ldGhvZCYpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFNo
aXBwaW5nQ29udGFjdChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYsIGNvbnN0IFdlYkNv
cmU6OlBheW1lbnRDb250YWN0JikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJlc2VudGVy
RGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBj
b25zdCBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kJikgPSAwOwotI2lmIEVOQUJMRShB
UFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICAgICAgdmlydHVhbCB2b2lkIHByZXNl
bnRlckRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2Vu
dGVyJiwgY29uc3QgU3RyaW5nJiBwYXltZW50TWV0aG9kTW9kZSkgPSAwOwotI2VuZGlmIC8vIEVO
QUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBIQVZFKFBBU1NLSVRfQ09V
UE9OX0NPREUpCisgICAgICAgIHZpcnR1YWwgdm9pZCBwcmVzZW50ZXJEaWRDaGFuZ2VDb3Vwb25D
b2RlKFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgU3RyaW5nJiBjb3Vwb25D
b2RlKSA9IDA7CisjZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lkIHByZXNlbnRlcldpbGxWYWxp
ZGF0ZU1lcmNoYW50KFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyJiwgY29uc3QgVVJMJikg
PSAwOwogICAgIH07CiAKQEAgLTgwLDkgKzc4LDkgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGxl
dGVQYXltZW50U2Vzc2lvbihjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRo
b3JpemF0aW9uUmVzdWx0PiYpOwogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxl
Y3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0
ZT4mJik7CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7Ci0jaWYgRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXlt
ZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVu
dE1ldGhvZE1vZGVVcGRhdGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisgICAgdm9pZCBj
b21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNv
dXBvbkNvZGVVcGRhdGU+JiYpOworI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzcygp
ID0gMDsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0K
aW5kZXggMDQ1NDFmZjM1MTg5NWFhOGE3OTlmM2Y0ZThkOWEzZTgyMGJmYzBkZS4uMTI1OTBmNjhm
YmEyNWYxOWM2NzFlNmVjYWRmODk3MjUxNjY0MTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVy
Lm1tCkBAIC0zMCwxMSArMzAsMTEgQEAKIAogI2ltcG9ydCAiV0tQYXltZW50QXV0aG9yaXphdGlv
bkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLmgi
CisjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9BcHBsZVBheURldGFpbHNVcGRhdGVEYXRhLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Fw
cGxlUGF5RXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlFcnJvckNvZGUuaD4KICNp
bXBvcnQgPFdlYkNvcmUvQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVNoaXBw
aW5nTWV0aG9kVXBkYXRlLmg+CkBAIC04NiwxNyArODYsMzMgQEAgc3RhdGljIFBLUGF5bWVudEVy
cm9yQ29kZSB0b1BLUGF5bWVudEVycm9yQ29kZShXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZSBj
b2RlKQogewogICAgIHN3aXRjaCAoY29kZSkgewogICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlF
cnJvckNvZGU6OlVua25vd246Ci0gICAgICAgIHJldHVybiBQS1BheW1lbnRVbmtub3duRXJyb3I7
CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6
U2hpcHBpbmdDb250YWN0SW52YWxpZDoKICAgICAgICAgcmV0dXJuIFBLUGF5bWVudFNoaXBwaW5n
Q29udGFjdEludmFsaWRFcnJvcjsKKwogICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlFcnJvckNv
ZGU6OkJpbGxpbmdDb250YWN0SW52YWxpZDoKICAgICAgICAgcmV0dXJuIFBLUGF5bWVudEJpbGxp
bmdDb250YWN0SW52YWxpZEVycm9yOworCiAgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9y
Q29kZTo6QWRkcmVzc1Vuc2VydmljZWFibGU6CiAgICAgICAgIHJldHVybiBQS1BheW1lbnRTaGlw
cGluZ0FkZHJlc3NVbnNlcnZpY2VhYmxlRXJyb3I7Ci0jaWYgZGVmaW5lZChQYXltZW50QXV0aG9y
aXphdGlvblByZXNlbnRlckFkZGl0aW9uc190b1BLUGF5bWVudEVycm9yQ29kZSkKLSAgICBQYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlckFkZGl0aW9uc190b1BLUGF5bWVudEVycm9yQ29kZQor
CisgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheUVycm9yQ29kZTo6Q291cG9uQ29kZUludmFsaWQ6
CisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorICAgICAgICByZXR1cm4gUEtQYXltZW50
Q291cG9uQ29kZUludmFsaWRFcnJvcjsKKyNlbHNlCisgICAgICAgIGJyZWFrOworI2VuZGlmCisK
KyAgICBjYXNlIFdlYkNvcmU6OkFwcGxlUGF5RXJyb3JDb2RlOjpDb3Vwb25Db2RlRXhwaXJlZDoK
KyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisgICAgICAgIHJldHVybiBQS1BheW1lbnRD
b3Vwb25Db2RlRXhwaXJlZEVycm9yOworI2Vsc2UKKyAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAg
ICB9CisKKyAgICByZXR1cm4gUEtQYXltZW50VW5rbm93bkVycm9yOwogfQogCiBzdGF0aWMgTlNF
cnJvciAqdG9OU0Vycm9yKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5RXJyb3ImIGVycm9yKQpAQCAt
MjU2LDIzICsyNzIsMjQgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmEKICAgICBbcGxhdGZvcm1E
ZWxlZ2F0ZSgpIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246c2hpcHBpbmdNZXRob2RV
cGRhdGUuZ2V0KCldOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9N
T0RFKQorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKIAotdm9pZCBQYXltZW50QXV0aG9y
aXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYgdXBkYXRl
KQordm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVDb3Vwb25Db2Rl
Q2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlPiYm
IHVwZGF0ZSkKIHsKICAgICBBU1NFUlQocGxhdGZvcm1EZWxlZ2F0ZSgpKTsKICAgICBpZiAoIXVw
ZGF0ZSkgewotICAgICAgICBbcGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBsZXRlUGF5bWVudE1ldGhv
ZE1vZGVDaGFuZ2U6bmlsXTsKKyAgICAgICAgW3BsYXRmb3JtRGVsZWdhdGUoKSBjb21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2U6bmlsXTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIGRlZmlu
ZWQoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXJBZGRpdGlvbnNfY29tcGxldGVQYXltZW50
TWV0aG9kTW9kZUNoYW5nZSkKLSAgICBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlckFkZGl0
aW9uc19jb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlCisgICAgYXV0byBjb3Vwb25Db2Rl
VXBkYXRlID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBk
YXRlSW5zdGFuY2UoKSBpbml0V2l0aEVycm9yczp0b05TRXJyb3JzKFdURk1vdmUodXBkYXRlLT5l
cnJvcnMpKS5nZXQoKSBwYXltZW50U3VtbWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3JtU3VtbWFy
eUl0ZW1zKFdURk1vdmUodXBkYXRlLT5uZXdUb3RhbCksIFdURk1vdmUodXBkYXRlLT5uZXdMaW5l
SXRlbXMpKSBzaGlwcGluZ01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhXVEZNb3ZlKHVwZGF0
ZS0+bmV3U2hpcHBpbmdNZXRob2RzKSkuZ2V0KCldKTsKKyNpZiBkZWZpbmVkKFBheW1lbnRBdXRo
b3JpemF0aW9uUHJlc2VudGVyQWRkaXRpb25zX2NvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSkKKyAg
ICBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlckFkZGl0aW9uc19jb21wbGV0ZUNvdXBvbkNv
ZGVDaGFuZ2UKICNlbmRpZgotICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50
TWV0aG9kTW9kZUNoYW5nZTpwYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5nZXQoKV07CisgICAgW3Bs
YXRmb3JtRGVsZWdhdGUoKSBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6Y291cG9uQ29kZVVwZGF0
ZS5nZXQoKV07CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9E
X01PREUpCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9Q
YXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tCmluZGV4IDk3
OGU5MTQ2ZmY1MTBiNjg4YmM0MGI3NGM3NmE3OTZkNDk0NzU4OGQuLjVlNzI1MDEyZDAzNDBkMDJk
MjJlMDk5ZDllODk1ZmU5MGQ4M2RjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xs
ZXIubW0KQEAgLTMxLDEwICszMSw2IEBACiAjaW1wb3J0ICJXS1BheW1lbnRBdXRob3JpemF0aW9u
RGVsZWdhdGUuaCIKICNpbXBvcnQgPHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaD4KIAotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1BheW1l
bnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJBZGRpdGlvbnMubW0+Ci0jZW5kaWYKLQogQGlu
dGVyZmFjZSBXS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA6IFdL
UGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSA8UEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdD
b250cm9sbGVyRGVsZWdhdGUsIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlclBy
aXZhdGVEZWxlZ2F0ZT4KIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVxdWVzdDooUEtQYXlt
ZW50UmVxdWVzdCAqKXJlcXVlc3QgcHJlc2VudGVyOihXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyJilwcmVzZW50ZXI7CkBAIC04Myw5ICs3OSwxNCBAQCAtICh2b2lkKXBheW1l
bnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3
Q29udHJvbGxlcgogICAgIFtzZWxmIF9kaWRTZWxlY3RQYXltZW50TWV0aG9kOnBheW1lbnRNZXRo
b2QgY29tcGxldGlvbjpjb21wbGV0aW9uXTsKIH0KIAotI2lmIGRlZmluZWQoUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlckFkZGl0aW9uc19QS1BheW1lbnRBdXRob3JpemF0aW9uVmll
d0NvbnRyb2xsZXJEZWxlZ2F0ZSkKLVBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJB
ZGRpdGlvbnNfUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUKLSNl
bmRpZgorI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKKworLSAodm9pZClwYXltZW50QXV0
aG9yaXphdGlvblZpZXdDb250cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRy
b2xsZXIgKiljb250cm9sbGVyIGRpZENoYW5nZUNvdXBvbkNvZGU6KE5TU3RyaW5nICopY291cG9u
Q29kZSBoYW5kbGVyOih2b2lkICheKShQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAq
dXBkYXRlKSljb21wbGV0aW9uCit7CisgICAgW3NlbGYgX2RpZENoYW5nZUNvdXBvbkNvZGU6Y291
cG9uQ29kZSBjb21wbGV0aW9uOmNvbXBsZXRpb25dOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNT
S0lUX0NPVVBPTl9DT0RFKQogCiAjcHJhZ21hIG1hcmsgUEtQYXltZW50QXV0aG9yaXphdGlvblZp
ZXdDb250cm9sbGVyRGVsZWdhdGVQcml2YXRlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5oCmlu
ZGV4IDU0NDhkZGJhYjQwNDFlMjhlNTQ1NWU3YzM1NmU5Y2M5NjYxNTM4MzYuLjY2YmY3MGUxMzE3
ZjJkMzkyMTEzODNiN2ZhNTFjZjZlMjE2OTM4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUu
aApAQCAtMzMsMTAgKzMzLDYgQEAgT0JKQ19DTEFTUyBOU0FycmF5OwogT0JKQ19DTEFTUyBOU0Vy
cm9yOwogT0JKQ19DTEFTUyBVSVZpZXdDb250cm9sbGVyOwogCi0jaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV0tQYXltZW50QXV0aG9yaXphdGlv
bkRlbGVnYXRlQWRkaXRpb25zLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOwpAQCAtNDcsNiArNDMsOSBAQCB1c2lu
ZyBEaWRBdXRob3JpemVQYXltZW50Q29tcGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50
QXV0aG9yaXphdGlvblJlc3VsdAogdXNpbmcgRGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRp
b24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICop
PjsKIHVzaW5nIERpZFNlbGVjdFNoaXBwaW5nQ29udGFjdENvbXBsZXRpb24gPSBCbG9ja1B0cjx2
b2lkKFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRhdGUgKik+OwogdXNpbmcgRGlk
U2VsZWN0U2hpcHBpbmdNZXRob2RDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQS1BheW1lbnRS
ZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKik+OworI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05f
Q09ERSkKK3VzaW5nIERpZENoYW5nZUNvdXBvbkNvZGVDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9p
ZChQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqKT47CisjZW5kaWYKIAogfQogCkBA
IC02MSw4ICs2MCw4IEBAIHVzaW5nIERpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxldGlvbiA9
IEJsb2NrUHRyPHZvaWQoUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nCiAtICh2b2lkKWNvbXBsZXRl
UGF5bWVudFNlc3Npb246KFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMpc3RhdHVzIGVycm9y
czooTlNBcnJheTxOU0Vycm9yICo+ICopZXJyb3JzOwogLSAodm9pZCljb21wbGV0ZVNoaXBwaW5n
Q29udGFjdFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZSAq
KXNoaXBwaW5nQ29udGFjdFVwZGF0ZTsKIC0gKHZvaWQpY29tcGxldGVTaGlwcGluZ01ldGhvZFNl
bGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9kVXBkYXRlICopc2hpcHBpbmdN
ZXRob2RVcGRhdGU7Ci0jaWYgZGVmaW5lZChXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVB
ZGRpdGlvbnNfaW50ZXJmYWNlX3B1YmxpYykKLVdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0
ZUFkZGl0aW9uc19pbnRlcmZhY2VfcHVibGljCisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RF
KQorLSAodm9pZCljb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6KFBLUGF5bWVudFJlcXVlc3RDb3Vw
b25Db2RlVXBkYXRlICopY291cG9uQ29kZVVwZGF0ZTsKICNlbmRpZgogLSAodm9pZClpbnZhbGlk
YXRlOwogCkBAIC03OSw4ICs3OCw4IEBAIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFk
ZGl0aW9uc19pbnRlcmZhY2VfcHVibGljCiAtICh2b2lkKV9kaWRTZWxlY3RQYXltZW50TWV0aG9k
OihQS1BheW1lbnRNZXRob2QgKilwYXltZW50TWV0aG9kIGNvbXBsZXRpb246KFdlYktpdDo6RGlk
U2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb246OkJsb2NrVHlwZSljb21wbGV0aW9uOwogLSAo
dm9pZClfZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0OihQS0NvbnRhY3QgKiljb250YWN0IGNvbXBs
ZXRpb246KFdlYktpdDo6RGlkU2VsZWN0U2hpcHBpbmdDb250YWN0Q29tcGxldGlvbjo6QmxvY2tU
eXBlKWNvbXBsZXRpb247CiAtICh2b2lkKV9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZDooUEtTaGlw
cGluZ01ldGhvZCAqKXNoaXBwaW5nTWV0aG9kIGNvbXBsZXRpb246KFdlYktpdDo6RGlkU2VsZWN0
U2hpcHBpbmdNZXRob2RDb21wbGV0aW9uOjpCbG9ja1R5cGUpY29tcGxldGlvbjsKLSNpZiBkZWZp
bmVkKFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc19pbnRlcmZhY2VfcHJv
dGVjdGVkKQotV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ludGVyZmFj
ZV9wcm90ZWN0ZWQKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCistICh2b2lkKV9kaWRD
aGFuZ2VDb3Vwb25Db2RlOihOU1N0cmluZyAqKWNvdXBvbkNvZGUgY29tcGxldGlvbjooV2ViS2l0
OjpEaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbjo6QmxvY2tUeXBlKWNvbXBsZXRpb247CiAj
ZW5kaWYKIC0gKHZvaWQpX2dldFBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMOih2b2lkKF4pKE5T
VVJMICosIE5TRXJyb3IgKikpY29tcGxldGlvbjsKIC0gKHZvaWQpX3dpbGxGaW5pc2hXaXRoRXJy
b3I6KE5TRXJyb3IgKillcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
Y29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KaW5kZXggMDgz
NzFiNjVmMjJiOTkxODM4MGE4NjNkNWRmMzhhZmEyZmQ3NGUzZS4uNThkZGMwODYzZWFlN2Y0NTE3
NzNmYzA4NTA4MDM4YjBmZDQ4MGQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KQEAg
LTMzLDEwICszMyw2IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BheW1lbnRNZXRob2QuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUGF5bWVudFNlc3Npb25FcnJvci5oPgogCi0jaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKLSNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV0tQYXltZW50QXV0aG9yaXphdGlv
bkRlbGVnYXRlQWRkaXRpb25zLm1tPgotI2VuZGlmCi0KIEBpbXBsZW1lbnRhdGlvbiBXS1BheW1l
bnRBdXRob3JpemF0aW9uRGVsZWdhdGUgewogICAgIFJldGFpblB0cjxOU0FycmF5PFBLUGF5bWVu
dFN1bW1hcnlJdGVtICo+PiBfc3VtbWFyeUl0ZW1zOwogICAgIFJldGFpblB0cjxOU0FycmF5PFBL
U2hpcHBpbmdNZXRob2QgKj4+IF9zaGlwcGluZ01ldGhvZHM7CkBAIC00Nyw4ICs0Myw4IEBAIEBp
bXBsZW1lbnRhdGlvbiBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgewogICAgIFdlYktp
dDo6RGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb24gX2RpZFNlbGVjdFBheW1lbnRNZXRo
b2RDb21wbGV0aW9uOwogICAgIFdlYktpdDo6RGlkU2VsZWN0U2hpcHBpbmdDb250YWN0Q29tcGxl
dGlvbiBfZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0Q29tcGxldGlvbjsKICAgICBXZWJLaXQ6OkRp
ZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxldGlvbiBfZGlkU2VsZWN0U2hpcHBpbmdNZXRob2RD
b21wbGV0aW9uOwotI2lmIGRlZmluZWQoV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRk
aXRpb25zX2ltcGxlbWVudGF0aW9uX21lbWJlcnMpCi0gICAgV0tQYXltZW50QXV0aG9yaXphdGlv
bkRlbGVnYXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX21lbWJlcnMKKyNpZiBIQVZFKFBBU1NL
SVRfQ09VUE9OX0NPREUpCisgICAgV2ViS2l0OjpEaWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlv
biBfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb247CiAjZW5kaWYKIH0KIApAQCAtOTQsOSAr
OTAsMTcgQEAgLSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOihQS1BheW1l
bnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKikKICAgICBzdGQ6OmV4Y2hhbmdlKF9kaWRT
ZWxlY3RTaGlwcGluZ01ldGhvZENvbXBsZXRpb24sIG5pbCkodXBkYXRlLmdldCgpKTsKIH0KIAot
I2lmIGRlZmluZWQoV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlQWRkaXRpb25zX2ltcGxl
bWVudGF0aW9uX3B1YmxpYykKLSAgICBXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRp
dGlvbnNfaW1wbGVtZW50YXRpb25fcHVibGljCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NLSVRfQ09V
UE9OX0NPREUpCisKKy0gKHZvaWQpY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlOihQS1BheW1lbnRS
ZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqKWNvdXBvbkNvZGVVcGRhdGUKK3sKKyAgICBQS1BheW1l
bnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqdXBkYXRlID0gY291cG9uQ29kZVVwZGF0ZSA/OiBh
ZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGVJbnN0YW5j
ZSgpIGluaXRXaXRoRXJyb3JzOkBbXSBwYXltZW50U3VtbWFyeUl0ZW1zOl9zdW1tYXJ5SXRlbXMu
Z2V0KCkgc2hpcHBpbmdNZXRob2RzOl9zaGlwcGluZ01ldGhvZHMuZ2V0KCldKS5hdXRvcmVsZWFz
ZSgpOworICAgIF9zdW1tYXJ5SXRlbXMgPSBhZG9wdE5TKFt1cGRhdGUucGF5bWVudFN1bW1hcnlJ
dGVtcyBjb3B5XSk7CisgICAgX3NoaXBwaW5nTWV0aG9kcyA9IGFkb3B0TlMoW3VwZGF0ZS5zaGlw
cGluZ01ldGhvZHMgY29weV0pOworICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZENoYW5nZUNvdXBvbkNv
ZGVDb21wbGV0aW9uLCBuaWwpKHVwZGF0ZSk7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRf
Q09VUE9OX0NPREUpCiAKIC0gKHZvaWQpaW52YWxpZGF0ZQogewpAQCAtMTg1LDYgKzE4OSwzMiBA
QCAtICh2b2lkKV9kaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3Q6KFBLQ29udGFjdCAqKWNvbnRhY3Qg
Y29tcGxldGlvbjooV2ViS2l0OjpEaWRTZQogICAgIHByZXNlbnRlci0+Y2xpZW50KCkucHJlc2Vu
dGVyRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KCpwcmVzZW50ZXIsIFdlYkNvcmU6OlBheW1lbnRD
b250YWN0KGNvbnRhY3QpKTsKIH0KIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0Rf
REFURV9DT01QT05FTlRTX1JBTkdFKQorCitzdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlEYXRlQ29t
cG9uZW50cyB0b0RhdGVDb21wb25lbnRzKE5TRGF0ZUNvbXBvbmVudHMgKmRhdGVDb21wb25lbnRz
KQoreworICAgIEFTU0VSVChkYXRlQ29tcG9uZW50cyk7CisKKyAgICBXZWJDb3JlOjpBcHBsZVBh
eURhdGVDb21wb25lbnRzIHJlc3VsdDsKKyAgICByZXN1bHQueWVhcnMgPSBkYXRlQ29tcG9uZW50
cy55ZWFyOworICAgIHJlc3VsdC5tb250aHMgPSBkYXRlQ29tcG9uZW50cy5tb250aDsKKyAgICBy
ZXN1bHQuZGF5cyA9IGRhdGVDb21wb25lbnRzLmRheTsKKyAgICByZXN1bHQuaG91cnMgPSBkYXRl
Q29tcG9uZW50cy5ob3VyOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBXZWJDb3Jl
OjpBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2UgdG9EYXRlQ29tcG9uZW50c1JhbmdlKFBLRGF0
ZUNvbXBvbmVudHNSYW5nZSAqZGF0ZUNvbXBvbmVudHNSYW5nZSkKK3sKKyAgICBBU1NFUlQoZGF0
ZUNvbXBvbmVudHNSYW5nZSk7CisKKyAgICBXZWJDb3JlOjpBcHBsZVBheURhdGVDb21wb25lbnRz
UmFuZ2UgcmVzdWx0OworICAgIHJlc3VsdC5zdGFydERhdGVDb21wb25lbnRzID0gdG9EYXRlQ29t
cG9uZW50cyhkYXRlQ29tcG9uZW50c1JhbmdlLnN0YXJ0RGF0ZUNvbXBvbmVudHMpOworICAgIHJl
c3VsdC5lbmREYXRlQ29tcG9uZW50cyA9IHRvRGF0ZUNvbXBvbmVudHMoZGF0ZUNvbXBvbmVudHNS
YW5nZS5lbmREYXRlQ29tcG9uZW50cyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworI2VuZGlm
IC8vIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQor
CiBzdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCB0b1NoaXBwaW5nTWV0aG9k
KFBLU2hpcHBpbmdNZXRob2QgKnNoaXBwaW5nTWV0aG9kKQogewogICAgIEFTU0VSVChzaGlwcGlu
Z01ldGhvZCk7CkBAIC0xOTQsOCArMjI0LDkgQEAgc3RhdGljIFdlYkNvcmU6OkFwcGxlUGF5U2hp
cHBpbmdNZXRob2QgdG9TaGlwcGluZ01ldGhvZChQS1NoaXBwaW5nTWV0aG9kICpzaGlwcGkKICAg
ICByZXN1bHQuZGV0YWlsID0gc2hpcHBpbmdNZXRob2QuZGV0YWlsOwogICAgIHJlc3VsdC5pZGVu
dGlmaWVyID0gc2hpcHBpbmdNZXRob2QuaWRlbnRpZmllcjsKICAgICByZXN1bHQubGFiZWwgPSBz
aGlwcGluZ01ldGhvZC5sYWJlbDsKLSNpZiBkZWZpbmVkKFdLUGF5bWVudEF1dGhvcml6YXRpb25E
ZWxlZ2F0ZUFkZGl0aW9uc190b1NoaXBwaW5nTWV0aG9kKQotICAgIFdLUGF5bWVudEF1dGhvcml6
YXRpb25EZWxlZ2F0ZUFkZGl0aW9uc190b1NoaXBwaW5nTWV0aG9kCisjaWYgSEFWRShQQVNTS0lU
X1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCisgICAgaWYgKHNoaXBwaW5n
TWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UpCisgICAgICAgIHJlc3VsdC5kYXRlQ29tcG9uZW50
c1JhbmdlID0gdG9EYXRlQ29tcG9uZW50c1JhbmdlKHNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25l
bnRzUmFuZ2UpOwogI2VuZGlmCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTIxMiw5ICsyNDMs
MjEgQEAgLSAodm9pZClfZGlkU2VsZWN0U2hpcHBpbmdNZXRob2Q6KFBLU2hpcHBpbmdNZXRob2Qg
KilzaGlwcGluZ01ldGhvZCBjb21wbGV0aW9uOigKICAgICBwcmVzZW50ZXItPmNsaWVudCgpLnBy
ZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKCpwcmVzZW50ZXIsIHRvU2hpcHBpbmdNZXRo
b2Qoc2hpcHBpbmdNZXRob2QpKTsKIH0KIAotI2lmIGRlZmluZWQoV0tQYXltZW50QXV0aG9yaXph
dGlvbkRlbGVnYXRlQWRkaXRpb25zX2ltcGxlbWVudGF0aW9uX3Byb3RlY3RlZCkKLSAgICBXS1Bh
eW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGVBZGRpdGlvbnNfaW1wbGVtZW50YXRpb25fcHJvdGVj
dGVkCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCisKKy0gKHZvaWQpX2Rp
ZENoYW5nZUNvdXBvbkNvZGU6KE5TU3RyaW5nICopY291cG9uQ29kZSBjb21wbGV0aW9uOih2b2lk
ICheKShQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSAqdXBkYXRlKSljb21wbGV0aW9u
Cit7CisgICAgQVNTRVJUKCFfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb24pOworICAgIF9k
aWRDaGFuZ2VDb3Vwb25Db2RlQ29tcGxldGlvbiA9IGNvbXBsZXRpb247CisKKyAgICBhdXRvIHBy
ZXNlbnRlciA9IF9wcmVzZW50ZXIuZ2V0KCk7CisgICAgaWYgKCFwcmVzZW50ZXIpCisgICAgICAg
IHJldHVybiBbc2VsZiBjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6bmlsXTsKKworICAgIHByZXNl
bnRlci0+Y2xpZW50KCkucHJlc2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZSgqcHJlc2VudGVyLCBj
b3Vwb25Db2RlKTsKK30KKworI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKIAog
LSAodm9pZCkgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgX2dldFBheW1lbnRTZXJ2aWNlc01lcmNo
YW50VVJMOih2b2lkKF4pKE5TVVJMICosIE5TRXJyb3IgKikpY29tcGxldGlvbgogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRpb25Db250
cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9pb3MvUGF5bWVudEF1dGhvcml6YXRp
b25Db250cm9sbGVyLm1tCmluZGV4IDkwZDNlZWJjOTM3YmY2OTY2ZjJjYjdmODMyOGFjZjBhOWUw
NDIxYzIuLmRmOTk3NzU1ODUzMWFhMTU3OWMwZDk0YWFkYzExMzFkMzFlNzY5N2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vaW9zL1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2lvcy9QYXltZW50QXV0aG9yaXph
dGlvbkNvbnRyb2xsZXIubW0KQEAgLTMyLDEwICszMiw2IEBACiAjaW1wb3J0IDxwYWwvY29jb2Ev
UGFzc0tpdFNvZnRMaW5rLmg+CiAjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KIAot
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1Bh
eW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlckFkZGl0aW9ucy5tbT4KLSNlbmRpZgotCiBAaW50
ZXJmYWNlIFdLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyRGVsZWdhdGUgOiBXS1BheW1l
bnRBdXRob3JpemF0aW9uRGVsZWdhdGUgPFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVy
RGVsZWdhdGUsIFBLUGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyUHJpdmF0ZURlbGVnYXRl
PgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhSZXF1ZXN0OihQS1BheW1lbnRSZXF1ZXN0ICop
cmVxdWVzdCBwcmVzZW50ZXI6KFdlYktpdDo6UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIm
KXByZXNlbnRlcjsKQEAgLTg4LDkgKzg0LDE0IEBAIC0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRp
b25Db250cm9sbGVyOihQS1BheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlciAqKWNvbnRyCiAg
ICAgW3NlbGYgX2RpZFNlbGVjdFBheW1lbnRNZXRob2Q6cGF5bWVudE1ldGhvZCBjb21wbGV0aW9u
OmNvbXBsZXRpb25dOwogfQogCi0jaWYgZGVmaW5lZChQYXltZW50QXV0aG9yaXphdGlvbkNvbnRy
b2xsZXJBZGRpdGlvbnNfUEtQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZSkK
LVBheW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlckFkZGl0aW9uc19QS1BheW1lbnRBdXRob3Jp
emF0aW9uQ29udHJvbGxlckRlbGVnYXRlCi0jZW5kaWYKKyNpZiBIQVZFKFBBU1NLSVRfQ09VUE9O
X0NPREUpCisKKy0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25Db250cm9sbGVyOihQS1BheW1l
bnRBdXRob3JpemF0aW9uQ29udHJvbGxlciAqKWNvbnRyb2xsZXIgZGlkQ2hhbmdlQ291cG9uQ29k
ZTooTlNTdHJpbmcgKiljb3Vwb25Db2RlIGhhbmRsZXI6KHZvaWQgKF4pKFBLUGF5bWVudFJlcXVl
c3RDb3Vwb25Db2RlVXBkYXRlICp1cGRhdGUpKWNvbXBsZXRpb24KK3sKKyAgICBbc2VsZiBfZGlk
Q2hhbmdlQ291cG9uQ29kZTpjb3Vwb25Db2RlIGNvbXBsZXRpb246Y29tcGxldGlvbl07Cit9CisK
KyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCiAKICNwcmFnbWEgbWFyayBQS1Bh
eW1lbnRBdXRob3JpemF0aW9uQ29udHJvbGxlclByaXZhdGVEZWxlZ2F0ZQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5jcHAKaW5kZXggNjliNzA4ZDYyOTViYTBhZmRkZDYwODBmMzA3NmY5MjM0NzdmMTY0
Mi4uZWE0ODZkMzBiZWI4MTI5NmE2Njg1ODE5MzMwZWJkMzEwYWEzNTIzMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5LmNwcApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIldlYlBheW1lbnRDb29y
ZGluYXRvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlN
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgotI2luY2x1ZGUgPFdlYkNv
cmUvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
QXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVBh
eW1lbnRNZXRob2RVcGRhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdD
b250YWN0VXBkYXRlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVNoaXBwaW5nTWV0aG9k
VXBkYXRlLmg+CkBAIC0xNjgsMjEgKzE2OCwyMSBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5Ojpjb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZQog
ICAgIG1fc3RhdGUgPSBTdGF0ZTo6QWN0aXZlOwogfQogCi0jaWYgRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCiAK
LXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1v
ZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
VXBkYXRlPiYmIHVwZGF0ZSkKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNvbXBs
ZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9u
Q29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7CiAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBw
YXltZW50IGhhcyBiZWVuIGNhbmNlbGVkIGFscmVhZHkuCiAgICAgaWYgKG1fc3RhdGUgPT0gU3Rh
dGU6OklkbGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIE1FU1NBR0VfQ0hFQ0sobV9zdGF0ZSA9
PSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkKTsKKyAgICBNRVNTQUdFX0NIRUNLKG1f
c3RhdGUgPT0gU3RhdGU6OkNvdXBvbkNvZGVDaGFuZ2VkKTsKIAotICAgIHBsYXRmb3JtQ29tcGxl
dGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShXVEZNb3ZlKHVwZGF0ZSkpOworICAgIHBsYXRmb3Jt
Q29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSk7CiAgICAgbV9zdGF0ZSA9
IFN0YXRlOjpBY3RpdmU7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAog
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y29tcGxldGVQYXltZW50U2Vzc2lvbihj
b25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYg
cmVzdWx0KQogewpAQCAtMjQ2LDE3ICsyNDYsMTcgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6cHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoUGF5bWVudEF1dGhvcmkK
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OkRpZFNlbGVjdFNoaXBw
aW5nTWV0aG9kKHNoaXBwaW5nTWV0aG9kKSk7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAot
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJlc2VudGVyRGlkQ2hhbmdlUGF5bWVu
dE1ldGhvZE1vZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBTdHJpbmcm
IHBheW1lbnRNZXRob2RNb2RlKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cHJl
c2VudGVyRGlkQ2hhbmdlQ291cG9uQ29kZShQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlciYs
IGNvbnN0IFN0cmluZyYgY291cG9uQ29kZSkKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0
ZTo6QWN0aXZlKTsKIAotICAgIG1fc3RhdGUgPSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFu
Z2VkOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6RGlkQ2hhbmdl
UGF5bWVudE1ldGhvZE1vZGUocGF5bWVudE1ldGhvZE1vZGUpKTsKKyAgICBtX3N0YXRlID0gU3Rh
dGU6OkNvdXBvbkNvZGVDaGFuZ2VkOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29y
ZGluYXRvcjo6RGlkQ2hhbmdlQ291cG9uQ29kZShjb3Vwb25Db2RlKSk7CiB9CiAKLSNlbmRpZiAv
LyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6cHJlc2VudGVyRGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KFBheW1lbnRBdXRob3JpemF0aW9u
UHJlc2VudGVyJiwgY29uc3QgV2ViQ29yZTo6UGF5bWVudENvbnRhY3QmIHNoaXBwaW5nQ29udGFj
dCkKIHsKQEAgLTI4Nyw5ICsyODcsOSBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpjYW5CZWdpbigpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZDoKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0
YXRlOjpQYXltZW50TWV0aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5U
X01FVEhPRF9NT0RFKQotICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoK
LSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5B
QkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hh
bmdlZDoKKyNlbmRpZgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogfQpAQCAtMzAzLDkg
KzMwMyw5IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbkNhbmNlbCgpIGNv
bnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0
YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0
aG9kU2VsZWN0ZWQ6Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQot
ICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RNb2RlQ2hhbmdlZDoKLSNlbmRpZiAvLyBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKKyAgICBjYXNlIFN0YXRlOjpDb3Vwb25Db2RlQ2hhbmdlZDoKKyNlbmRpZgog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRpbmc6CkBAIC0z
MjcsOSArMzI3LDkgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQ29tcGxl
dGVQYXltZW50KCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ01ldGhvZFNlbGVjdGVk
OgogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVkOgogICAgIGNhc2UgU3Rh
dGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCi0gICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2VkOgot
I2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFC
TEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIGNhc2UgU3RhdGU6OkNvdXBvbkNvZGVDaGFu
Z2VkOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiB9CkBAIC0zNDMsOSAr
MzQzLDkgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuQWJvcnQoKSBjb25z
dAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0
ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhv
ZFNlbGVjdGVkOgotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAg
ICBjYXNlIFN0YXRlOjpQYXltZW50TWV0aG9kTW9kZUNoYW5nZWQ6Ci0jZW5kaWYgLy8gRU5BQkxF
KEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09V
UE9OX0NPREUpCisgICAgY2FzZSBTdGF0ZTo6Q291cG9uQ29kZUNoYW5nZWQ6CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBjYXNlIFN0YXRlOjpDb21wbGV0aW5nOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5LmgKaW5kZXggYWI3ZGI4ZmJjOGUzYzQxYjMxMzRjYzFkMWQyYTcyODQ2Njg0MGQ4
MS4uZjRlMjdmZmVhODQ5YmJiYmM2OTM2YzlmNDRlOTQxYjBiYjdkZmQwYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5oCkBAIC01MSw5ICs1MSw3IEBAIGNsYXNzIFBheW1lbnQ7CiBjbGFzcyBQYXltZW50
Q29udGFjdDsKIGNsYXNzIFBheW1lbnRNZXJjaGFudFNlc3Npb247CiBjbGFzcyBQYXltZW50TWV0
aG9kOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLXN0cnVjdCBB
cHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKK3N0cnVjdCBBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU7
CiBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0VXBkYXRlOwogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q7CkBAIC0x
MjAsOSArMTE4LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHByZXNlbnRlckRpZFNlbGVjdFBheW1l
bnRNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQ
YXltZW50TWV0aG9kJikgZmluYWw7CiAgICAgdm9pZCBwcmVzZW50ZXJEaWRTZWxlY3RTaGlwcGlu
Z0NvbnRhY3QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpQ
YXltZW50Q29udGFjdCYpIGZpbmFsOwogICAgIHZvaWQgcHJlc2VudGVyRGlkU2VsZWN0U2hpcHBp
bmdNZXRob2QoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBXZWJDb3JlOjpB
cHBsZVBheVNoaXBwaW5nTWV0aG9kJikgZmluYWw7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9QQVlN
RU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgcHJlc2VudGVyRGlkQ2hhbmdlUGF5bWVudE1ldGhv
ZE1vZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXImLCBjb25zdCBTdHJpbmcmIHBheW1l
bnRNZXRob2RNb2RlKSBmaW5hbDsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lk
IHByZXNlbnRlckRpZENoYW5nZUNvdXBvbkNvZGUoUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXImLCBjb25zdCBTdHJpbmcmIGNvdXBvbkNvZGUpIGZpbmFsOworI2VuZGlmCiAgICAgdm9pZCBw
cmVzZW50ZXJXaWxsVmFsaWRhdGVNZXJjaGFudChQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRl
ciYsIGNvbnN0IFVSTCYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwpAQCAtMTM0
LDkgKzEzMiw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2Vs
ZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0
ZT4mJik7CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKTsKICAgICB2
b2lkIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkFwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJik7Ci0jaWYgRU5BQkxFKEFQUExFX1BBWV9Q
QVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNo
YW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRh
dGU+JiYpOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
KyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgY29tcGxldGVDb3Vw
b25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlDb3Vwb25Db2RlVXBk
YXRlPiYmKTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQYXltZW50U2Vzc2lvbihjb25zdCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0PiYpOwogICAg
IHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigpOwogICAgIHZvaWQgY2FuY2VsUGF5bWVudFNlc3Np
b24oKTsKQEAgLTE2Miw5ICsxNjAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1Db21w
bGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQ
YXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlU2hp
cHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RVcGRhdGU+JiYpOwogICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZVBheW1lbnRN
ZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRo
b2RVcGRhdGU+JiYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkK
LSAgICB2b2lkIHBsYXRmb3JtQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+JiYpOwotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQgcGxhdGZvcm1Db21wbGV0ZUNvdXBvbkNv
ZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+
JiYpOworI2VuZGlmCiAgICAgdm9pZCBwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29u
c3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mKTsK
ICAgICB2b2lkIHBsYXRmb3JtSGlkZVBheW1lbnRVSSgpOwogI2lmIFBMQVRGT1JNKENPQ09BKQpA
QCAtMTk2LDEwICsxOTQsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgLy8gUGF5bWVudE1ldGhvZFNl
bGVjdGVkIC0gRGlzcGF0Y2hpbmcgdGhlIHBheW1lbnRtZXRob2RzZWxlY3RlZCBldmVudCBhbmQg
d2FpdGluZyBmb3IgYSByZXBseS4KICAgICAgICAgUGF5bWVudE1ldGhvZFNlbGVjdGVkLAogCi0j
aWYgRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgICAgICAvLyBQYXlt
ZW50TWV0aG9kU2VsZWN0ZWQgLSBEaXNwYXRjaGluZyB0aGUgcGF5bWVudG1ldGhvZG1vZGVjaGFu
Z2VkIGV2ZW50IGFuZCB3YWl0aW5nIGZvciBhIHJlcGx5LgotICAgICAgICBQYXltZW50TWV0aG9k
TW9kZUNoYW5nZWQsCi0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9N
T0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgICAgIC8vIENvdXBv
bkNvZGVDaGFuZ2VkIC0gRGlzcGF0Y2hpbmcgdGhlIGNvdXBvbmNvZGVjaGFuZ2VkIGV2ZW50IGFu
ZCB3YWl0aW5nIGZvciBhIHJlcGx5LgorICAgICAgICBDb3Vwb25Db2RlQ2hhbmdlZCwKKyNlbmRp
ZgogCiAgICAgICAgIC8vIENvbXBsZXRpbmcgLSBDb21wbGV0aW5nIHRoZSBwYXltZW50IGFuZCB3
YWl0aW5nIGZvciBwcmVzZW50ZXJEaWRGaW5pc2ggdG8gYmUgY2FsbGVkLgogICAgICAgICBDb21w
bGV0aW5nLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCAyNzQw
YzkxZjEyMWMxYzMxMjhmNTcwYTk5ZTMxMmM2MThmYTIyZTNlLi43ZDg5YTViMTEzZTk0NDhlNmEy
M2U5ZDRhNzVhYTM5MWE1YzkxZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMzUsOSArMzUsOSBAQCBtZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eSBOb3RSZWZDb3VudGVkIHsKICAgICBDb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0
aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4g
dXBkYXRlKQogICAgIENvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGU+IHVwZGF0ZSkKICAgICBD
b21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBs
ZVBheVBheW1lbnRNZXRob2RVcGRhdGU+IHVwZGF0ZSkKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BB
WU1FTlRfTUVUSE9EX01PREUpCi0gICAgQ29tcGxldGVQYXltZW50TWV0aG9kTW9kZUNoYW5nZShz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVVcGRhdGU+IHVw
ZGF0ZSkKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisj
aWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICBDb21wbGV0ZUNvdXBvbkNvZGVD
aGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+IHVw
ZGF0ZSkKKyNlbmRpZgogICAgIENvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4gcmVzdWx0KQogICAgIEFib3J0UGF5
bWVudFNlc3Npb24oKQogICAgIENhbmNlbFBheW1lbnRTZXNzaW9uKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDM3NDVjMGUwMzM1NmNmOGY5Y2Y3NTIx
NzI5Zjk2ODJhMjgyZjcyOGMuLjNkYWI3MDBhOWUyODRjOGY2NDdkZTRhN2I3NDRjMmM1N2FmYzVi
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
QXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAtMzYs
NyArMzYsNyBAQAogI2ltcG9ydCAiV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCIKICNpbXBv
cnQgIldlYlBheW1lbnRDb29yZGluYXRvclByb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eS5oIgotI2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RNb2Rl
VXBkYXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0FwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaD4KICNpbXBvcnQg
PFdlYkNvcmUvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaD4KICNpbXBvcnQgPFdlYkNv
cmUvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oPgpAQCAtMTY1LDE3ICsxNjUsNjAgQEAgc3RhdGlj
IFBLU2hpcHBpbmdUeXBlIHRvUEtTaGlwcGluZ1R5cGUoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q6OlMKICAgICB9CiB9CiAKKyNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdf
TUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKworc3RhdGljIFJldGFpblB0cjxOU0RhdGVD
b21wb25lbnRzPiB0b05TRGF0ZUNvbXBvbmVudHMoY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlEYXRl
Q29tcG9uZW50cyYgZGF0ZUNvbXBvbmVudHMpCit7CisgICAgYXV0byByZXN1bHQgPSBhZG9wdE5T
KFtbTlNEYXRlQ29tcG9uZW50cyBhbGxvY10gaW5pdF0pOworICAgIFtyZXN1bHQgc2V0Q2FsZW5k
YXI6W05TQ2FsZW5kYXIgY2FsZW5kYXJXaXRoSWRlbnRpZmllcjpOU0NhbGVuZGFySWRlbnRpZmll
ckdyZWdvcmlhbl1dOworICAgIGlmIChkYXRlQ29tcG9uZW50cy55ZWFycykKKyAgICAgICAgW3Jl
c3VsdCBzZXRZZWFyOipkYXRlQ29tcG9uZW50cy55ZWFyc107CisgICAgaWYgKGRhdGVDb21wb25l
bnRzLm1vbnRocykKKyAgICAgICAgW3Jlc3VsdCBzZXRNb250aDoqZGF0ZUNvbXBvbmVudHMubW9u
dGhzXTsKKyAgICBpZiAoZGF0ZUNvbXBvbmVudHMuZGF5cykKKyAgICAgICAgW3Jlc3VsdCBzZXRE
YXk6KmRhdGVDb21wb25lbnRzLmRheXNdOworICAgIGlmIChkYXRlQ29tcG9uZW50cy5ob3VycykK
KyAgICAgICAgW3Jlc3VsdCBzZXRIb3VyOipkYXRlQ29tcG9uZW50cy5ob3Vyc107CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworc3RhdGljIFJldGFpblB0cjxQS0RhdGVDb21wb25lbnRzUmFuZ2U+
IHRvUEtEYXRlQ29tcG9uZW50c1JhbmdlKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBv
bmVudHNSYW5nZSYgZGF0ZUNvbXBvbmVudHNSYW5nZSkKK3sKKyAgICByZXR1cm4gYWRvcHROUyhb
UEFMOjphbGxvY1BLRGF0ZUNvbXBvbmVudHNSYW5nZUluc3RhbmNlKCkgaW5pdFdpdGhTdGFydERh
dGVDb21wb25lbnRzOnRvTlNEYXRlQ29tcG9uZW50cyhkYXRlQ29tcG9uZW50c1JhbmdlLnN0YXJ0
RGF0ZUNvbXBvbmVudHMpLmdldCgpIGVuZERhdGVDb21wb25lbnRzOnRvTlNEYXRlQ29tcG9uZW50
cyhkYXRlQ29tcG9uZW50c1JhbmdlLmVuZERhdGVDb21wb25lbnRzKS5nZXQoKV0pOworfQorCisj
ZW5kaWYgLy8gSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFO
R0UpCisKIFBLU2hpcHBpbmdNZXRob2QgKnRvUEtTaGlwcGluZ01ldGhvZChjb25zdCBXZWJDb3Jl
OjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kJiBzaGlwcGluZ01ldGhvZCkKIHsKICAgICBQS1NoaXBw
aW5nTWV0aG9kICpyZXN1bHQgPSBbUEFMOjpnZXRQS1NoaXBwaW5nTWV0aG9kQ2xhc3MoKSBzdW1t
YXJ5SXRlbVdpdGhMYWJlbDpzaGlwcGluZ01ldGhvZC5sYWJlbCBhbW91bnQ6dG9EZWNpbWFsTnVt
YmVyKHNoaXBwaW5nTWV0aG9kLmFtb3VudCldOwogICAgIFtyZXN1bHQgc2V0SWRlbnRpZmllcjpz
aGlwcGluZ01ldGhvZC5pZGVudGlmaWVyXTsKICAgICBbcmVzdWx0IHNldERldGFpbDpzaGlwcGlu
Z01ldGhvZC5kZXRhaWxdOwotI2lmIGRlZmluZWQoV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlD
b2NvYUFkZGl0aW9uc190b1BLU2hpcHBpbmdNZXRob2QpCi0gICAgV2ViUGF5bWVudENvb3JkaW5h
dG9yUHJveHlDb2NvYUFkZGl0aW9uc190b1BLU2hpcHBpbmdNZXRob2QKKyNpZiBIQVZFKFBBU1NL
SVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKKyAgICBpZiAoYXV0byYg
ZGF0ZUNvbXBvbmVudHNSYW5nZSA9IHNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2Up
CisgICAgICAgIFtyZXN1bHQgc2V0RGF0ZUNvbXBvbmVudHNSYW5nZTp0b1BLRGF0ZUNvbXBvbmVu
dHNSYW5nZSgqZGF0ZUNvbXBvbmVudHNSYW5nZSkuZ2V0KCldOwogI2VuZGlmCiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAorI2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19DT05UQUNUX0VESVRJTkdf
TU9ERSkKKworc3RhdGljIFBLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgdG9QS1NoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlKFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGUgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUpCit7CisgICAgc3dpdGNoIChzaGlwcGlu
Z0NvbnRhY3RFZGl0aW5nTW9kZSkgeworICAgIGNhc2UgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RFZGl0aW5nTW9kZTo6RW5hYmxlZDoKKyAgICAgICAgcmV0dXJuIFBLU2hpcHBpbmdD
b250YWN0RWRpdGluZ01vZGVFbmFibGVkOworCisgICAgY2FzZSBXZWJDb3JlOjpBcHBsZVBheVNo
aXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOjpTdG9yZVBpY2t1cDoKKyAgICAgICAgcmV0dXJuIFBL
U2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVTdG9yZVBpY2t1cDsKKyAgICB9CisKKyAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9k
ZUVuYWJsZWQ7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9F
RElUSU5HX01PREUpCisKIHN0YXRpYyBSZXRhaW5QdHI8TlNTZXQ+IHRvTlNTZXQoY29uc3QgVmVj
dG9yPFN0cmluZz4mIHN0cmluZ3MpCiB7CiAgICAgaWYgKHN0cmluZ3MuaXNFbXB0eSgpKQpAQCAt
MjY1LDYgKzMwOCwxOSBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwogICAgIH0KICNlbmRpZgog
CisjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQorICAgIGlmIChhdXRvIHN1cHBvcnRzQ291
cG9uQ29kZSA9IHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRzQ291cG9uQ29kZSgpKQorICAgICAgICBb
cmVzdWx0IHNldFN1cHBvcnRzQ291cG9uQ29kZToqc3VwcG9ydHNDb3Vwb25Db2RlXTsKKworICAg
IGlmIChhdXRvJiBjb3Vwb25Db2RlID0gcGF5bWVudFJlcXVlc3QuY291cG9uQ29kZSgpOyAhY291
cG9uQ29kZS5pc051bGwoKSkKKyAgICAgICAgW3Jlc3VsdCBzZXRDb3Vwb25Db2RlOmNvdXBvbkNv
ZGVdOworI2VuZGlmCisKKyNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5H
X01PREUpCisgICAgaWYgKGF1dG8mIHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlID0gcGF5bWVu
dFJlcXVlc3Quc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoKSkKKyAgICAgICAgW3Jlc3VsdCBz
ZXRTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTp0b1BLU2hpcHBpbmdDb250YWN0RWRpdGluZ01v
ZGUoKnNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKV07CisjZW5kaWYKKwogI2lmIGRlZmluZWQo
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYUFkZGl0aW9uc19wbGF0Zm9ybVBheW1lbnRS
ZXF1ZXN0KQogICAgIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2FBZGRpdGlvbnNfcGxh
dGZvcm1QYXltZW50UmVxdWVzdAogI2VuZGlmCkBAIC0yOTcsMTQgKzM1MywxNCBAQCB2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihzdGQ6Om9wdAogICAgIG1fYXV0aG9yaXphdGlvblByZXNlbnRlci0+Y29tcGxldGVQ
YXltZW50TWV0aG9kU2VsZWN0aW9uKFdURk1vdmUodXBkYXRlKSk7CiB9CiAKLSNpZiBFTkFCTEUo
QVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQ
T05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1Db21w
bGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQ
YXlQYXltZW50TWV0aG9kTW9kZVVwZGF0ZT4mJiB1cGRhdGUpCit2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5OjpwbGF0Zm9ybUNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OkFwcGxlUGF5Q291cG9uQ29kZVVwZGF0ZT4mJiB1cGRhdGUpCiB7Ci0gICAg
bV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5jb21wbGV0ZVBheW1lbnRNZXRob2RNb2RlQ2hhbmdl
KFdURk1vdmUodXBkYXRlKSk7CisgICAgbV9hdXRob3JpemF0aW9uUHJlc2VudGVyLT5jb21wbGV0
ZUNvdXBvbkNvZGVDaGFuZ2UoV1RGTW92ZSh1cGRhdGUpKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJM
RShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVf
UEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpnZXRT
ZXR1cEZlYXR1cmVzKGNvbnN0IFBheW1lbnRTZXR1cENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRp
b24sIE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6R2V0U2V0dXBGZWF0dXJl
czo6QXN5bmNSZXBseSYmIHJlcGx5KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCAyYmIxMmMyNzhk
NWFkZjIwOGYyNThiYzJlZThlNDY4N2EyZGI2MjA4Li5mODIxODliZWY5MWFhNDFjMTc2Yzc2ZGJj
MmI0MDc4YzMwMGY2YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMjAxLDYgKzIwMSwxMyBAQCB2
b2lkIEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+
OjplbmNvZGUoRW5jb2RlciYgZW5jbwogI2lmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFMTE1FTlRT
KQogICAgIGVuY29kZXIgPDwgcmVxdWVzdC5pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKTsKICNl
bmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfQ09VUE9OX0NPREUpCisgICAgZW5jb2RlciA8PCBy
ZXF1ZXN0LnN1cHBvcnRzQ291cG9uQ29kZSgpOworICAgIGVuY29kZXIgPDwgcmVxdWVzdC5jb3Vw
b25Db2RlKCk7CisjZW5kaWYKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1Rf
RURJVElOR19NT0RFKQorICAgIGVuY29kZXIgPDwgcmVxdWVzdC5zaGlwcGluZ0NvbnRhY3RFZGl0
aW5nTW9kZSgpOworI2VuZGlmCiAjaWYgZGVmaW5lZChXZWJDb3JlQXJndW1lbnRDb2RlcnNDb2Nv
YUFkZGl0aW9uc19BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdF9lbmNvZGUpCiAgICAgV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzQ29jb2FBZGRpdGlvbnNfQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJl
cXVlc3RfZW5jb2RlCiAjZW5kaWYKQEAgLTI5NSw2ICszMDIsMjggQEAgYm9vbCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Pjo6ZGVjb2RlKERlY29k
ZXImIGRlY28KICAgICByZXF1ZXN0LnNldEluc3RhbGxtZW50Q29uZmlndXJhdGlvbihXVEZNb3Zl
KCppbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9DT1VQT05fQ09ERSkKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8Ym9vbD4+
IHN1cHBvcnRzQ291cG9uQ29kZTsKKyAgICBkZWNvZGVyID4+IHN1cHBvcnRzQ291cG9uQ29kZTsK
KyAgICBpZiAoIXN1cHBvcnRzQ291cG9uQ29kZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IHJlcXVlc3Quc2V0U3VwcG9ydHNDb3Vwb25Db2RlKFdURk1vdmUoKnN1cHBvcnRzQ291cG9uQ29k
ZSkpOworCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IGNvdXBvbkNvZGU7CisgICAgZGVjb2Rl
ciA+PiBjb3Vwb25Db2RlOworICAgIGlmICghY291cG9uQ29kZSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIHJlcXVlc3Quc2V0Q291cG9uQ29kZShXVEZNb3ZlKCpjb3Vwb25Db2RlKSk7Cisj
ZW5kaWYKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01P
REUpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5U2hp
cHBpbmdDb250YWN0RWRpdGluZ01vZGU+PiBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKKyAg
ICBkZWNvZGVyID4+IHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlOworICAgIGlmICghc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXF1ZXN0
LnNldFNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKFdURk1vdmUoKnNoaXBwaW5nQ29udGFjdEVk
aXRpbmdNb2RlKSk7CisjZW5kaWYKKwogI2lmIGRlZmluZWQoV2ViQ29yZUFyZ3VtZW50Q29kZXJz
Q29jb2FBZGRpdGlvbnNfQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3RfZGVjb2RlKQogICAg
IFdlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hQWRkaXRpb25zX0FwcGxlUGF5U2Vzc2lvblBheW1l
bnRSZXF1ZXN0X2RlY29kZQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IGNlYzIz
NGFmYTI4MTgyNWVkYzlmOTExZjE4YTE1NDkzNDM0MzJiMjQuLmY0ZmIyNzFhYjE2ZWNmMjM2ZTM2
ZTQwZWQ4ZjM1MzAwNDE4ZjYxZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0zNiw3ICsz
Niw3IEBACiAjaW5jbHVkZSAiV2ViUGF5bWVudENvb3JkaW5hdG9yTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlQYXltZW50TWV0aG9kTW9kZVVw
ZGF0ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGVQYXlDb3Vwb25Db2RlVXBkYXRlLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmg+CkBAIC0xMjgsMTQgKzEyOCwxNCBA
QCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0
aW9uKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpDb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oV1RGTW92ZSh1
cGRhdGUpKSk7CiB9CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUp
CisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29v
cmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpBcHBsZVBheVBheW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmIHVwZGF0ZSkKK3ZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpBcHBsZVBheUNvdXBvbkNvZGVVcGRhdGU+JiYgdXBkYXRlKQogewotICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZVBheW1l
bnRNZXRob2RNb2RlQ2hhbmdlKFdURk1vdmUodXBkYXRlKSkpOworICAgIHNlbmQoTWVzc2FnZXM6
OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpDb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2UoV1RG
TW92ZSh1cGRhdGUpKSk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRf
TUVUSE9EX01PREUpCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAog
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdD4mJiByZXN1bHQpCiB7
CkBAIC0yMTYsMTQgKzIxNiwxNCBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6ZGlkU2Vs
ZWN0UGF5bWVudE1ldGhvZChjb25zdCBXZWJDb3JlOjpQYXltZW50TWV0aG9kJgogICAgIHBheW1l
bnRDb29yZGluYXRvcigpLmRpZFNlbGVjdFBheW1lbnRNZXRob2QocGF5bWVudE1ldGhvZCk7CiB9
CiAKLSNpZiBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxF
KEFQUExFX1BBWV9DT1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRp
ZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1lbnRNZXRob2RNb2RlKQordm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRpZENoYW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291
cG9uQ29kZSkKIHsKLSAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5kaWRDaGFuZ2VQYXltZW50TWV0
aG9kTW9kZShXVEZNb3ZlKHBheW1lbnRNZXRob2RNb2RlKSk7CisgICAgcGF5bWVudENvb3JkaW5h
dG9yKCkuZGlkQ2hhbmdlQ291cG9uQ29kZShXVEZNb3ZlKGNvdXBvbkNvZGUpKTsKIH0KIAotI2Vu
ZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBF
TkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRv
cjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oV2ViQ29yZTo6UGF5bWVudFNlc3Npb25FcnJvciYm
IHNlc3Npb25FcnJvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCBjODFmMmI0YzRlNTE1YmRl
ZjAxMzJiMmIxNzExOWRmNTJhMWQ2M2M3Li40MmIzZmY3ZmRjYWE3OGE3NTkyNzU4MGRmMjgzOWNl
OGM3YWE2Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC02OCw5ICs2OCw5IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8
V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNv
cmU6OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKSBvdmVycmlkZTsKICAgICB2b2lk
IGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFw
cGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKEFQUExF
X1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9k
TW9kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1v
ZGVVcGRhdGU+JiYpIG92ZXJyaWRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVO
VF9NRVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZv
aWQgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQ
YXlDb3Vwb25Db2RlVXBkYXRlPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxl
dGVQYXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0
aW9uUmVzdWx0PiYmKSBvdmVycmlkZTsKIAogICAgIHZvaWQgYWJvcnRQYXltZW50U2Vzc2lvbigp
IG92ZXJyaWRlOwpAQCAtMTAyLDkgKzEwMiw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTZWxl
Y3RTaGlwcGluZ01ldGhvZChjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9kJik7
CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgV2ViQ29yZTo6UGF5bWVu
dENvbnRhY3QmKTsKICAgICB2b2lkIGRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3QgV2ViQ29y
ZTo6UGF5bWVudE1ldGhvZCYpOwotI2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0Rf
TU9ERSkKLSAgICB2b2lkIGRpZENoYW5nZVBheW1lbnRNZXRob2RNb2RlKFN0cmluZyYmIHBheW1l
bnRNZXRob2RNb2RlKTsKLSNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9E
X01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05fQ09ERSkKKyAgICB2b2lkIGRpZENo
YW5nZUNvdXBvbkNvZGUoU3RyaW5nJiYgY291cG9uQ29kZSk7CisjZW5kaWYKICAgICB2b2lkIGRp
ZENhbmNlbFBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRTZXNzaW9uRXJyb3ImJik7CiAK
ICAgICBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3ImIHBheW1lbnRDb29yZGluYXRvcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KaW5kZXggZTg1ZWIxN2M0ZTJiYmMw
NDU5MzNmODk3ODQ5ZGNmZGU5MDAzMDlmYS4uZTNiMWRiNTFjOGY0ZTJiODUyMjExNGM2YTg0MDVm
OTQwNDJhMzBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluCkBAIC0z
MSw5ICszMSw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvciBOb3RSZWZDb3Vu
dGVkIHsKICAgICBEaWRTZWxlY3RTaGlwcGluZ01ldGhvZChzdHJ1Y3QgV2ViQ29yZTo6QXBwbGVQ
YXlTaGlwcGluZ01ldGhvZCBzaGlwcGluZ01ldGhvZCkKICAgICBEaWRTZWxlY3RTaGlwcGluZ0Nv
bnRhY3QoV2ViQ29yZTo6UGF5bWVudENvbnRhY3Qgc2hpcHBpbmdDb250YWN0KQogICAgIERpZFNl
bGVjdFBheW1lbnRNZXRob2QoV2ViQ29yZTo6UGF5bWVudE1ldGhvZCBwYXltZW50TWV0aG9kKQot
I2lmIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKLSAgICBEaWRDaGFuZ2VQ
YXltZW50TWV0aG9kTW9kZShTdHJpbmcgcGF5bWVudE1ldGhvZE1vZGUpCi0jZW5kaWYgLy8gRU5B
QkxFKEFQUExFX1BBWV9QQVlNRU5UX01FVEhPRF9NT0RFKQorI2lmIEVOQUJMRShBUFBMRV9QQVlf
Q09VUE9OX0NPREUpCisgICAgRGlkQ2hhbmdlQ291cG9uQ29kZShTdHJpbmcgY291cG9uQ29kZSkK
KyNlbmRpZgogICAgIERpZENhbmNlbFBheW1lbnRTZXNzaW9uKFdlYkNvcmU6OlBheW1lbnRTZXNz
aW9uRXJyb3Igc2Vzc2lvbkVycm9yKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCmluZGV4IDYxMzU3ZWFjNjFjOWUyOWJiODA2MGU3NTBmM2IwODFiNjU2YjU1NzAu
LjI2MDQzOGRhMmY0NjliZDE1NWMyNmFjZTVhYTg4NzMxY2Q4YzU3ZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC00NSw5ICs0NSw5IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OkFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGNv
bXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxl
UGF5UGF5bWVudE1ldGhvZFVwZGF0ZT4mJikgb3ZlcnJpZGU7Ci0jaWYgRU5BQkxFKEFQUExFX1BB
WV9QQVlNRU5UX01FVEhPRF9NT0RFKQotICAgIHZvaWQgY29tcGxldGVQYXltZW50TWV0aG9kTW9k
ZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudE1ldGhvZE1vZGVV
cGRhdGU+JiYpIG92ZXJyaWRlOwotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVlfUEFZTUVOVF9N
RVRIT0RfTU9ERSkKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQorICAgIHZvaWQg
Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXBwbGVQYXlD
b3Vwb25Db2RlVXBkYXRlPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogICAgIHZvaWQgY29tcGxldGVQ
YXltZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0PiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGFib3J0UGF5bWVudFNlc3Npb24oKSBvdmVy
cmlkZTsKICAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKCkgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KaW5kZXggNDA3OTJhMDk3NTkzYmIwMDM0
M2E2ZjIyYmY4Y2E5MWU2MjZkOTcxNS4uZGM3NmU2YWRkNjIxNWIxZGFmYjg3NWRhMzFhZWFlMDMz
OTNkNTU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQpAQCAt
ODQsMTMgKzg0LDEzIEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpjb21wbGV0
ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxXCiB7CiB9CiAKLSNpZiBFTkFC
TEUoQVBQTEVfUEFZX1BBWU1FTlRfTUVUSE9EX01PREUpCisjaWYgRU5BQkxFKEFQUExFX1BBWV9D
T1VQT05fQ09ERSkKIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNvbXBsZXRl
UGF5bWVudE1ldGhvZE1vZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpBcHBsZVBheVBh
eW1lbnRNZXRob2RNb2RlVXBkYXRlPiYmKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ6OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZShzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkFwcGxl
UGF5Q291cG9uQ29kZVVwZGF0ZT4mJikKIHsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9Q
QVlfUEFZTUVOVF9NRVRIT0RfTU9ERSkKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0NPVVBP
Tl9DT0RFKQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y29tcGxldGVQYXlt
ZW50U2Vzc2lvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0PiYmKQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGY5ZDcxMTcyODg5MDk5Y2NkZTIyNGFlMjcxZDYyNjk4YTk4ZWE1
NWEuLmQ4MDFlMWYwZDYwYjQ4ZGU2NzkyNGEwODQ2M2ZmMGMxNDVhYWQxMmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMS0wNi0wNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3NDAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc4OTYzMTMyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxM
aW5lSXRlbXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9k
cy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlNb2RpZmllci10b3RhbC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRo
b2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qt
c2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRz
Q291cG9uQ29kZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
RXJyb3ItZXhwZWN0ZWQudHh0OgorCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAyMS0wNi0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW01vZGVybiBNZWRpYSBDb250cm9sc10gdXBzdHJlYW0gbmV3IGZlYXR1cmVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZp
ZXItYWRkaXRpb25hbExpbmVJdGVtcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJ
dGVtcy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTc2ZDU4YTdhNGNkYzQ3ZTFiMGMy
MmM0YzE4NDZlODQwZTkxMTU5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci1hZGRpdGlvbmFsTGluZUl0ZW1z
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFTUyBTaG91bGQgbm90IGhh
dmUgYW55IGxpbmUgaXRlbXMgaWYgYGFkZGl0aW9uYWxMaW5lSXRlbXNgIGlzIG5vdCBwcm92aWRl
ZC4KK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGFueSBsaW5lIGl0ZW1zIGlmIGBhZGRpdGlvbmFsTGlu
ZUl0ZW1zYCBpcyBlbXB0eS4KK1BBU1MgVGhlIGRlZmF1bHQgdmFsdWUgb2YgYHBheW1lbnRUaW1p
bmdgIHNob3VsZCBiZSBgImltbWVkaWF0ZSJgLgorUEFTUyBTaG91bGQgbm90IGhhdmUgYSBkZWZh
dWx0IHZhbHVlIGZvciBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAi
cmVjdXJyaW5nImAuCitQQVNTIFNob3VsZCBhbHNvIHByb3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVu
dEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVg
IGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVjdXJyaW5nImAuCitQQVNT
IFNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBkZWZlcnJlZFBheW1lbnREYXRl
YCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgImRlZmVycmVkImAuCitQQVNTIFNob3VsZCBhbHNv
IHByb3BhZ2F0ZSBgZGVmZXJyZWRQYXltZW50RGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVu
dFRpbWluZ2AgaXMgYCJkZWZlcnJlZCJgLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbExpbmVJdGVt
cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ODY5ZDM0ZTkwMTE3ZDk5M2VjNmIzNGQ5OTFkZmFiMWFmNWUxMTE2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVy
LWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDk5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3IgcHJvdmlk
aW5nIGBhZGRpdGlvbmFsTGluZUl0ZW1zYCBhcyBwYXJ0IG9mIGBBcHBsZVBheU1vZGlmaWVyYC48
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
Kzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRf
dGltZW91dDogdHJ1ZSB9KTsKKworY29uc3QgaW1tZWRpYXRlTGFiZWwgPSAiSW1tZWRpYXRlIExh
YmVsIjsKK2NvbnN0IGltbWVkaWF0ZUFtb3VudCA9ICIyMC4wMCI7Citjb25zdCByZWN1cnJpbmdM
YWJlbCA9ICJSZWN1cnJpbmcgTGFiZWwiOworY29uc3QgcmVjdXJyaW5nQW1vdW50ID0gIjMwLjAw
IjsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUgPSBuZXcgRGF0ZSgwKTsKK2NvbnN0
IHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQgPSAieWVhciI7Citjb25zdCByZWN1cnJpbmdQ
YXltZW50SW50ZXJ2YWxDb3VudCA9IDEwOworY29uc3QgcmVjdXJyaW5nUGF5bWVudEVuZERhdGUg
PSBuZXcgRGF0ZSgxKTsKK2NvbnN0IGRlZmVycmVkTGFiZWwgPSAiRGVmZXJyZWQgTGFiZWwiOwor
Y29uc3QgZGVmZXJyZWRQYXltZW50RGF0ZSA9IG5ldyBEYXRlKDIpOworY29uc3QgZGVmZXJyZWRB
bW91bnQgPSAiNDAuMDAiOworCitmdW5jdGlvbiB2YWxpZFBheW1lbnREZXRhaWxzV2l0aE1vZGlm
aWVyVGhhdEhhc0xpbmVJdGVtcyhhZGRpdGlvbmFsTGluZUl0ZW1zKSB7CisgICAgbGV0IGRldGFp
bHMgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGVsZXRlIGRldGFpbHMuZGlzcGxheUl0
ZW1zOworICAgIGlmIChhZGRpdGlvbmFsTGluZUl0ZW1zKQorICAgICAgICBkZXRhaWxzLm1vZGlm
aWVycyA9IFsgeyBzdXBwb3J0ZWRNZXRob2RzOiAiaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUtcGF5
IiwgZGF0YTogeyBhZGRpdGlvbmFsTGluZUl0ZW1zIH0gfSBdOworICAgIHJldHVybiBkZXRhaWxz
OworfQorCitmdW5jdGlvbiB0ZXN0UGF5bWVudEl0ZW1EYXRhKGRlc2NyaXB0aW9uLCB7YWRkaXRp
b25hbExpbmVJdGVtcywgZXhwZWN0ZWRMaW5lSXRlbXN9KSB7CisgICAgdXNlcl9hY3RpdmF0aW9u
X3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgbGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlsc1dpdGhN
b2RpZmllclRoYXRIYXNMaW5lSXRlbXMoYWRkaXRpb25hbExpbmVJdGVtcykpOworICAgICAgICBy
ZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4g
eworICAgICAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICAgICAgfSk7CisgICAgICAg
IHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2ZW50
KSA9PiB7CisgICAgICAgICAgICBldmVudC51cGRhdGVXaXRoKHsgfSk7CisgICAgICAgICAgICBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgICAg
IH0pOworCisgICAgICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworCisg
ICAgICAgIGxldCBhY3R1YWxMaW5lSXRlbXMgPSBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5saW5lSXRlbXM7CisgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW1zLmxl
bmd0aCwgZXhwZWN0ZWRMaW5lSXRlbXMubGVuZ3RoLCBgY2hlY2sgdGhhdCB0aGVyZSBhcmUgJHtl
eHBlY3RlZExpbmVJdGVtcy5sZW5ndGh9IGxpbmUgaXRlbXNgKTsKKyAgICAgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCBhY3R1YWxMaW5lSXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIGxl
dCBhY3R1YWxMaW5lSXRlbSA9IGFjdHVhbExpbmVJdGVtc1tpXTsKKyAgICAgICAgICAgIGxldCBl
eHBlY3RlZExpbmVJdGVtID0gZXhwZWN0ZWRMaW5lSXRlbXNbaV07CisKKyAgICAgICAgICAgIGFz
c2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0ubGFiZWwsIGV4cGVjdGVkTGluZUl0ZW0ubGFiZWws
IGBjaGVjayB0aGF0IHRoZSBcYGxhYmVsXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0uYW1vdW50LCBleHBlY3Rl
ZExpbmVJdGVtLmFtb3VudCwgYGNoZWNrIHRoYXQgdGhlIFxgYW1vdW50XGAgbWF0Y2hlcyBmb3Ig
bGluZSBpdGVtICR7aX1gKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0
ZW0ucGF5bWVudFRpbWluZywgZXhwZWN0ZWRMaW5lSXRlbS5wYXltZW50VGltaW5nLCBgY2hlY2sg
dGhhdCB0aGUgXGBwYXltZW50VGltaW5nXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVu
dFN0YXJ0RGF0ZT8uZ2V0VGltZSgpLCBleHBlY3RlZExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRT
dGFydERhdGU/LmdldFRpbWUoKSwgYGNoZWNrIHRoYXQgdGhlIFxgcmVjdXJyaW5nUGF5bWVudFN0
YXJ0RGF0ZVxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIGV4
cGVjdGVkTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgYGNoZWNrIHRoYXQg
dGhlIFxgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdFxgIG1hdGNoZXMgZm9yIGxpbmUgaXRl
bSAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCBleHBlY3RlZExpbmVJdGVtLnJlY3VycmluZ1BheW1l
bnRJbnRlcnZhbENvdW50LCBgY2hlY2sgdGhhdCB0aGUgXGByZWN1cnJpbmdQYXltZW50SW50ZXJ2
YWxDb3VudFxgIG1hdGNoZXMgZm9yIGxpbmUgaXRlbSAke2l9YCk7CisgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGFjdHVhbExpbmVJdGVtLnJlY3VycmluZ1BheW1lbnRFbmREYXRlPy5nZXRUaW1l
KCksIGV4cGVjdGVkTGluZUl0ZW0ucmVjdXJyaW5nUGF5bWVudEVuZERhdGU/LmdldFRpbWUoKSwg
YGNoZWNrIHRoYXQgdGhlIFxgcmVjdXJyaW5nUGF5bWVudEVuZERhdGVcYCBtYXRjaGVzIGZvciBs
aW5lIGl0ZW0gJHtpfWApOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxMaW5lSXRl
bS5kZWZlcnJlZFBheW1lbnREYXRlPy5nZXRUaW1lKCksIGV4cGVjdGVkTGluZUl0ZW0uZGVmZXJy
ZWRQYXltZW50RGF0ZT8uZ2V0VGltZSgpLCBgY2hlY2sgdGhhdCB0aGUgXGBkZWZlcnJlZFBheW1l
bnREYXRlXGAgbWF0Y2hlcyBmb3IgbGluZSBpdGVtICR7aX1gKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgfSwgZGVzY3JpcHRp
b24pOworfQorCit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91bGQgbm90IGhhdmUgYW55IGxpbmUg
aXRlbXMgaWYgYGFkZGl0aW9uYWxMaW5lSXRlbXNgIGlzIG5vdCBwcm92aWRlZC4iLCB7CisgICAg
YWRkaXRpb25hbExpbmVJdGVtczogdW5kZWZpbmVkLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBb
IF0sCit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhbnkgbGluZSBp
dGVtcyBpZiBgYWRkaXRpb25hbExpbmVJdGVtc2AgaXMgZW1wdHkuIiwgeworICAgIGFkZGl0aW9u
YWxMaW5lSXRlbXM6IFsgXSwKKyAgICBleHBlY3RlZExpbmVJdGVtczogWyBdLAorfSk7CisKK3Rl
c3RQYXltZW50SXRlbURhdGEoIlRoZSBkZWZhdWx0IHZhbHVlIG9mIGBwYXltZW50VGltaW5nYCBz
aG91bGQgYmUgYFwiaW1tZWRpYXRlXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1zOiBb
IHsgbGFiZWw6IGltbWVkaWF0ZUxhYmVsLCBhbW91bnQ6IGltbWVkaWF0ZUFtb3VudCB9IF0sCisg
ICAgZXhwZWN0ZWRMaW5lSXRlbXM6IFsgeyBsYWJlbDogaW1tZWRpYXRlTGFiZWwsIGFtb3VudDog
aW1tZWRpYXRlQW1vdW50LCBwYXltZW50VGltaW5nOiAiaW1tZWRpYXRlIiwgcmVjdXJyaW5nUGF5
bWVudEludGVydmFsVW5pdDogIm1vbnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6
IDEgfSBdLAorfSk7CisKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhIGRl
ZmF1bHQgdmFsdWUgZm9yIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFydERhdGVgIGFuZCBg
cmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgd2hlbiBgcGF5bWVudFRpbWluZ2AgaXMg
YFwicmVjdXJyaW5nXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0ZW1zOiBbIHsgbGFiZWw6
IHJlY3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzog
InJlY3VycmluZyIgfSBdLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIHsgbGFiZWw6IHJlY3Vy
cmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzogInJlY3Vy
cmluZyIsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1Bh
eW1lbnRJbnRlcnZhbENvdW50OiAxIH0gXSwKK30pOwordGVzdFBheW1lbnRJdGVtRGF0YSgiU2hv
dWxkIGFsc28gcHJvcGFnYXRlIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxTdGFydERhdGVgIGFu
ZCBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5
bWVudFRpbWluZ2AgaXMgYFwicmVjdXJyaW5nXCJgLiIsIHsKKyAgICBhZGRpdGlvbmFsTGluZUl0
ZW1zOiBbIHsgbGFiZWw6IHJlY3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwg
cGF5bWVudFRpbWluZzogInJlY3VycmluZyIsIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50
LCByZWN1cnJpbmdQYXltZW50RW5kRGF0ZSB9IF0sCisgICAgZXhwZWN0ZWRMaW5lSXRlbXM6IFsg
eyBsYWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1vdW50LCBwYXltZW50
VGltaW5nOiAicmVjdXJyaW5nIiwgcmVjdXJyaW5nUGF5bWVudFN0YXJ0RGF0ZSwgcmVjdXJyaW5n
UGF5bWVudEludGVydmFsVW5pdCwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsIHJlY3Vy
cmluZ1BheW1lbnRFbmREYXRlIH0gXSwKK30pOworCit0ZXN0UGF5bWVudEl0ZW1EYXRhKCJTaG91
bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgZGVmZXJyZWRQYXltZW50RGF0ZWAgd2hl
biBgcGF5bWVudFRpbWluZ2AgaXMgYFwiZGVmZXJyZWRcImAuIiwgeworICAgIGFkZGl0aW9uYWxM
aW5lSXRlbXM6IFsgeyBsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3Vu
dCwgcGF5bWVudFRpbWluZzogImRlZmVycmVkIiB9IF0sCisgICAgZXhwZWN0ZWRMaW5lSXRlbXM6
IFsgeyBsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwgcGF5bWVu
dFRpbWluZzogImRlZmVycmVkIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDogIm1vbnRo
IiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDEgfSBdLAorfSk7Cit0ZXN0UGF5bWVu
dEl0ZW1EYXRhKCJTaG91bGQgYWxzbyBwcm9wYWdhdGUgYGRlZmVycmVkUGF5bWVudERhdGVgIGlm
IHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGBcImRlZmVycmVkXCJgLiIsIHsKKyAg
ICBhZGRpdGlvbmFsTGluZUl0ZW1zOiBbIHsgbGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3VudDog
ZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCIsIGRlZmVycmVkUGF5bWVu
dERhdGUgfSBdLAorICAgIGV4cGVjdGVkTGluZUl0ZW1zOiBbIHsgbGFiZWw6IGRlZmVycmVkTGFi
ZWwsIGFtb3VudDogZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCIsIHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXQ6ICJtb250aCIsIHJlY3VycmluZ1BheW1lbnRJbnRl
cnZhbENvdW50OiAxLCBkZWZlcnJlZFBheW1lbnREYXRlIH0gXSwKK30pOworCitkb25lKCk7Cis8
L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVx
dWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQwYWQ5OGIyOGJhMWExMTE3OGZkMDQ5NGE1MWNjNGYzNWY4MTk2MGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9kcy5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACisKK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGFueSBzaGlwcGluZyBvcHRp
b25zIGlmIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBpcyBub3QgcHJvdmlkZWQuCitQQVNT
IFNob3VsZCBub3QgaGF2ZSBhbnkgc2hpcHBpbmcgb3B0aW9ucyBpZiBgYWRkaXRpb25hbFNoaXBw
aW5nTWV0aG9kc2AgaXMgZW1wdHkuCitQQVNTIFNob3VsZCBwcm9wYWdhdGUgYGRhdGVDb21wb25l
bnRzUmFuZ2VgIGlmIHByb3ZpZGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItYWRkaXRpb25hbFNoaXBwaW5nTWV0
aG9kcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9B
cHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zYjBjZTFmZmJjMmJjODg0YjkyN2RhNzcxZjM0ODIyM2NkNzhjMjI3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDc4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5U
ZXN0cyBmb3IgcHJvdmlkaW5nIGBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzYCBhcyBwYXJ0IG9m
IGBBcHBsZVBheU1vZGlmaWVyYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5
bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRf
ZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKworY29uc3Qgc2hpcHBpbmdN
ZXRob2QgPSB7CisgICAgYW1vdW50OiAiMTAuMDAiLAorICAgIGRldGFpbDogImRldGFpbCIsCisg
ICAgaWRlbnRpZmllcjogImlkZW50aWZpZXIiLAorICAgIGxhYmVsOiAibGFiZWwiLAorICAgIGRh
dGVDb21wb25lbnRzUmFuZ2U6IHsKKyAgICAgICAgc3RhcnREYXRlQ29tcG9uZW50czogeyBkYXlz
OiA1IH0sCisgICAgICAgIGVuZERhdGVDb21wb25lbnRzOiB7IGRheXM6IDEwIH0sCisgICAgfSwK
K307CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudERldGFpbHNXaXRoTW9kaWZpZXJUaGF0SGFzQWRk
aXRpb25hbFNoaXBwaW5nT3B0aW9ucyhhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzKSB7CisgICAg
bGV0IGRldGFpbHMgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgaWYgKGFkZGl0aW9uYWxT
aGlwcGluZ01ldGhvZHMpCisgICAgICAgIGRldGFpbHMubW9kaWZpZXJzID0gWyB7IHN1cHBvcnRl
ZE1ldGhvZHM6ICJodHRwczovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLCBkYXRhOiB7IGFkZGl0aW9u
YWxTaGlwcGluZ01ldGhvZHMgfSB9IF07CisgICAgcmV0dXJuIGRldGFpbHM7Cit9CisKK2Z1bmN0
aW9uIHRlc3RQYXltZW50U2hpcHBpbmdPcHRpb25EYXRhKGRlc2NyaXB0aW9uLCB7YWRkaXRpb25h
bFNoaXBwaW5nTWV0aG9kcywgZXhwZWN0ZWRTaGlwcGluZ01ldGhvZHN9KSB7CisgICAgdXNlcl9h
Y3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgbGV0IHJlcXVlc3QgPSBu
ZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0
YWlsc1dpdGhNb2RpZmllclRoYXRIYXNBZGRpdGlvbmFsU2hpcHBpbmdPcHRpb25zKGFkZGl0aW9u
YWxTaGlwcGluZ01ldGhvZHMpLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9KTsKKyAgICAgICAg
cmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+
IHsKKyAgICAgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgICAgIH0pOworICAgICAg
ICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVu
dCkgPT4geworICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICAgICAg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgICAg
ICB9KTsKKworICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKwor
ICAgICAgICBsZXQgYWN0dWFsU2hpcHBpbmdNZXRob2RzID0gaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRob2RzOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVh
bFNoaXBwaW5nTWV0aG9kcy5sZW5ndGgsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzLmxlbmd0aCwg
YGNoZWNrIHRoYXQgdGhlcmUgYXJlICR7ZXhwZWN0ZWRTaGlwcGluZ01ldGhvZHMubGVuZ3RofSBz
aGlwcGluZyBtZXRob2RzYCk7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0dWFsU2hp
cHBpbmdNZXRob2RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBsZXQgYWN0dWFsU2hpcHBp
bmdNZXRob2QgPSBhY3R1YWxTaGlwcGluZ01ldGhvZHNbaV07CisgICAgICAgICAgICBsZXQgZXhw
ZWN0ZWRTaGlwcGluZ01ldGhvZCA9IGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzW2ldOworCisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmFtb3VudCwgZXhwZWN0
ZWRTaGlwcGluZ01ldGhvZC5hbW91bnQsIGBjaGVjayB0aGF0IHRoZSBcYGFtb3VudFxgIG1hdGNo
ZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGFjdHVhbFNoaXBwaW5nTWV0aG9kLmRldGFpbCwgZXhwZWN0ZWRTaGlwcGluZ01ldGhvZC5kZXRh
aWwsIGBjaGVjayB0aGF0IHRoZSBcYGRldGFpbFxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhv
ZCAke2l9YCk7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9k
LmlkZW50aWZpZXIsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2QuaWRlbnRpZmllciwgYGNoZWNrIHRo
YXQgdGhlIFxgaWRlbnRpZmllclxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAke2l9YCk7
CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmxhYmVsLCBl
eHBlY3RlZFNoaXBwaW5nTWV0aG9kLmxhYmVsLCBgY2hlY2sgdGhhdCB0aGUgXGBsYWJlbFxgIG1h
dGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhvZCAke2l9YCk7CisgICAgICAgICAgICBpZiAoZXhwZWN0
ZWRTaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlKQorICAgICAgICAgICAgICAgIGFz
c2VydF9vYmplY3RfZXF1YWxzKGFjdHVhbFNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFu
Z2UsIGV4cGVjdGVkU2hpcHBpbmdNZXRob2QuZGF0ZUNvbXBvbmVudHNSYW5nZSwgYGNoZWNrIHRo
YXQgdGhlIFxgZGF0ZUNvbXBvbmVudHNSYW5nZVxgIG1hdGNoZXMgZm9yIHNoaXBwaW5nIG1ldGhv
ZCAke2l9YCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhhY3R1YWxTaGlwcGluZ01ldGhvZC5kYXRlQ29tcG9uZW50c1JhbmdlLCBleHBlY3RlZFNoaXBw
aW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UsIGBjaGVjayB0aGF0IHRoZSBcYGRhdGVDb21w
b25lbnRzUmFuZ2VcYCBtYXRjaGVzIGZvciBzaGlwcGluZyBtZXRob2QgJHtpfWApOworICAgICAg
ICB9CisKKyAgICAgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKKyAgICB9
LCBkZXNjcmlwdGlvbik7Cit9CisKK3Rlc3RQYXltZW50U2hpcHBpbmdPcHRpb25EYXRhKCJTaG91
bGQgbm90IGhhdmUgYW55IHNoaXBwaW5nIG9wdGlvbnMgaWYgYGFkZGl0aW9uYWxTaGlwcGluZ01l
dGhvZHNgIGlzIG5vdCBwcm92aWRlZC4iLCB7CisgICAgYWRkaXRpb25hbFNoaXBwaW5nTWV0aG9k
czogdW5kZWZpbmVkLAorICAgIGV4cGVjdGVkU2hpcHBpbmdNZXRob2RzOiBbIF0sCit9KTsKK3Rl
c3RQYXltZW50U2hpcHBpbmdPcHRpb25EYXRhKCJTaG91bGQgbm90IGhhdmUgYW55IHNoaXBwaW5n
IG9wdGlvbnMgaWYgYGFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHNgIGlzIGVtcHR5LiIsIHsKKyAg
ICBhZGRpdGlvbmFsU2hpcHBpbmdNZXRob2RzOiBbIF0sCisgICAgZXhwZWN0ZWRTaGlwcGluZ01l
dGhvZHM6IFsgXSwKK30pOwordGVzdFBheW1lbnRTaGlwcGluZ09wdGlvbkRhdGEoIlNob3VsZCBw
cm9wYWdhdGUgYGRhdGVDb21wb25lbnRzUmFuZ2VgIGlmIHByb3ZpZGVkLiIsIHsKKyAgICBhZGRp
dGlvbmFsU2hpcHBpbmdNZXRob2RzOiBbIHNoaXBwaW5nTWV0aG9kIF0sCisgICAgZXhwZWN0ZWRT
aGlwcGluZ01ldGhvZHM6IFsgc2hpcHBpbmdNZXRob2QgXSwKK30pOworCitkb25lKCk7Cis8L3Nj
cmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9BcHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYxZmMzZDYyNTBlZGQ1MjE0YzBkNzJmNzQyMDAxNzFl
YjZmY2Y4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACisKK1BBU1MgVGhlIGRlZmF1bHQgdmFsdWUgb2YgYHBheW1lbnRUaW1pbmdgIHNo
b3VsZCBiZSBgImltbWVkaWF0ZSJgLgorUEFTUyBTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZh
bHVlIGZvciBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3Vycmlu
Z1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVjdXJy
aW5nImAuCitQQVNTIFNob3VsZCBhbHNvIHByb3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVudEludGVy
dmFsU3RhcnREYXRlYCBhbmQgYHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIGlmIHBy
b3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGAicmVjdXJyaW5nImAuCitQQVNTIFNob3Vs
ZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBkZWZlcnJlZFBheW1lbnREYXRlYCB3aGVu
IGBwYXltZW50VGltaW5nYCBpcyBgImRlZmVycmVkImAuCitQQVNTIFNob3VsZCBhbHNvIHByb3Bh
Z2F0ZSBgZGVmZXJyZWRQYXltZW50RGF0ZWAgaWYgcHJvdmlkZWQgd2hlbiBgcGF5bWVudFRpbWlu
Z2AgaXMgYCJkZWZlcnJlZCJgLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci10b3RhbC5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzMmRkNmI0MzM1NjUxNjNjODdmYTJmMzM1OTI3MjgxZGRk
OGUzNGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXItdG90YWwuaHR0cHMuaHRtbApAQCAtMCwwICsxLDgzIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBm
b3IgcHJvdmlkaW5nIGB0b3RhbGAgYXMgcGFydCBvZiBgQXBwbGVQYXlNb2RpZmllcmAuPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVv
dXQ6IHRydWUgfSk7CisKK2NvbnN0IGltbWVkaWF0ZUxhYmVsID0gIkltbWVkaWF0ZSBMYWJlbCI7
Citjb25zdCBpbW1lZGlhdGVBbW91bnQgPSAiMjAuMDAiOworY29uc3QgcmVjdXJyaW5nTGFiZWwg
PSAiUmVjdXJyaW5nIExhYmVsIjsKK2NvbnN0IHJlY3VycmluZ0Ftb3VudCA9ICIzMC4wMCI7Citj
b25zdCByZWN1cnJpbmdQYXltZW50U3RhcnREYXRlID0gbmV3IERhdGUoMCk7Citjb25zdCByZWN1
cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0ID0gInllYXIiOworY29uc3QgcmVjdXJyaW5nUGF5bWVu
dEludGVydmFsQ291bnQgPSAxMDsKK2NvbnN0IHJlY3VycmluZ1BheW1lbnRFbmREYXRlID0gbmV3
IERhdGUoMSk7Citjb25zdCBkZWZlcnJlZExhYmVsID0gIkRlZmVycmVkIExhYmVsIjsKK2NvbnN0
IGRlZmVycmVkUGF5bWVudERhdGUgPSBuZXcgRGF0ZSgyKTsKK2NvbnN0IGRlZmVycmVkQW1vdW50
ID0gIjQwLjAwIjsKKworZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlsc1dpdGhNb2RpZmllclRo
YXRIYXNUb3RhbCh0b3RhbCkgeworICAgIGxldCBkZXRhaWxzID0gdmFsaWRQYXltZW50RGV0YWls
cygpOworICAgIGlmICh0b3RhbCkKKyAgICAgICAgZGV0YWlscy5tb2RpZmllcnMgPSBbIHsgc3Vw
cG9ydGVkTWV0aG9kczogImh0dHBzOi8vYXBwbGUuY29tL2FwcGxlLXBheSIsIGRhdGE6IHsgdG90
YWwgfSB9IF07CisgICAgcmV0dXJuIGRldGFpbHM7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXltZW50
SXRlbURhdGEoZGVzY3JpcHRpb24sIHtpbml0aWFsVG90YWwsIGV4cGVjdGVkVG90YWx9KSB7Cisg
ICAgdXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgbGV0IHJl
cXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQ
YXltZW50RGV0YWlsc1dpdGhNb2RpZmllclRoYXRIYXNUb3RhbChpbml0aWFsVG90YWwpKTsKKyAg
ICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgICAgIH0pOwor
ICAgICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIs
IChldmVudCkgPT4geworICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAg
ICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOwor
ICAgICAgICB9KTsKKworICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3co
KTsKKworICAgICAgICBsZXQgYWN0dWFsVG90YWwgPSBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci50b3RhbDsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5sYWJlbCwg
ZXhwZWN0ZWRUb3RhbC5sYWJlbCwgImNoZWNrIHRoYXQgdGhlIGBsYWJlbGAgbWF0Y2hlcyBmb3Ig
dG90YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5hbW91bnQsIGV4cGVj
dGVkVG90YWwuYW1vdW50LCAiY2hlY2sgdGhhdCB0aGUgYGFtb3VudGAgbWF0Y2hlcyBmb3IgdG90
YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3RhbC5wYXltZW50VGltaW5nLCBl
eHBlY3RlZFRvdGFsLnBheW1lbnRUaW1pbmcsICJjaGVjayB0aGF0IHRoZSBgcGF5bWVudFRpbWlu
Z2AgbWF0Y2hlcyBmb3IgdG90YWwiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxUb3Rh
bC5yZWN1cnJpbmdQYXltZW50U3RhcnREYXRlPy5nZXRUaW1lKCksIGV4cGVjdGVkVG90YWwucmVj
dXJyaW5nUGF5bWVudFN0YXJ0RGF0ZT8uZ2V0VGltZSgpLCAiY2hlY2sgdGhhdCB0aGUgYHJlY3Vy
cmluZ1BheW1lbnRTdGFydERhdGVgIG1hdGNoZXMgZm9yIHRvdGFsIik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoYWN0dWFsVG90YWwucmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdCwgZXhwZWN0
ZWRUb3RhbC5yZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0LCAiY2hlY2sgdGhhdCB0aGUgYHJl
Y3VycmluZ1BheW1lbnRJbnRlcnZhbFVuaXRgIG1hdGNoZXMgZm9yIHRvdGFsIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwucmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQs
IGV4cGVjdGVkVG90YWwucmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQsICJjaGVjayB0aGF0
IHRoZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnRgIG1hdGNoZXMgZm9yIHRvdGFsIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsVG90YWwucmVjdXJyaW5nUGF5bWVudEVuZERh
dGU/LmdldFRpbWUoKSwgZXhwZWN0ZWRUb3RhbC5yZWN1cnJpbmdQYXltZW50RW5kRGF0ZT8uZ2V0
VGltZSgpLCAiY2hlY2sgdGhhdCB0aGUgYHJlY3VycmluZ1BheW1lbnRFbmREYXRlYCBtYXRjaGVz
IGZvciB0b3RhbCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbFRvdGFsLmRlZmVycmVk
UGF5bWVudERhdGU/LmdldFRpbWUoKSwgZXhwZWN0ZWRUb3RhbC5kZWZlcnJlZFBheW1lbnREYXRl
Py5nZXRUaW1lKCksICJjaGVjayB0aGF0IHRoZSBgZGVmZXJyZWRQYXltZW50RGF0ZWAgbWF0Y2hl
cyBmb3IgdG90YWwiKTsKKworICAgICAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2Vz
cyIpOworICAgIH0sIGRlc2NyaXB0aW9uKTsKK30KKwordGVzdFBheW1lbnRJdGVtRGF0YSgiVGhl
IGRlZmF1bHQgdmFsdWUgb2YgYHBheW1lbnRUaW1pbmdgIHNob3VsZCBiZSBgXCJpbW1lZGlhdGVc
ImAuIiwgeworICAgIGluaXRpYWxUb3RhbDogdW5kZWZpbmVkLAorICAgIGV4cGVjdGVkVG90YWw6
IHtsYWJlbDogIlRvdGFsIiwgYW1vdW50OiAiMTAuMDAiLCBwYXltZW50VGltaW5nOiAiaW1tZWRp
YXRlIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDogIm1vbnRoIiwgcmVjdXJyaW5nUGF5
bWVudEludGVydmFsQ291bnQ6IDF9LAorfSk7CisKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3Vs
ZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxT
dGFydERhdGVgIGFuZCBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsRW5kRGF0ZWAgd2hlbiBgcGF5
bWVudFRpbWluZ2AgaXMgYFwicmVjdXJyaW5nXCJgLiIsIHsKKyAgICBpbml0aWFsVG90YWw6IHts
YWJlbDogcmVjdXJyaW5nTGFiZWwsIGFtb3VudDogcmVjdXJyaW5nQW1vdW50LCBwYXltZW50VGlt
aW5nOiAicmVjdXJyaW5nIn0sCisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiByZWN1cnJpbmdM
YWJlbCwgYW1vdW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmci
LCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50
SW50ZXJ2YWxDb3VudDogMX0sCit9KTsKK3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBhbHNv
IHByb3BhZ2F0ZSBgcmVjdXJyaW5nUGF5bWVudEludGVydmFsU3RhcnREYXRlYCBhbmQgYHJlY3Vy
cmluZ1BheW1lbnRJbnRlcnZhbEVuZERhdGVgIGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1p
bmdgIGlzIGBcInJlY3VycmluZ1wiYC4iLCB7CisgICAgaW5pdGlhbFRvdGFsOiB7bGFiZWw6IHJl
Y3VycmluZ0xhYmVsLCBhbW91bnQ6IHJlY3VycmluZ0Ftb3VudCwgcGF5bWVudFRpbWluZzogInJl
Y3VycmluZyIsIHJlY3VycmluZ1BheW1lbnRTdGFydERhdGUsIHJlY3VycmluZ1BheW1lbnRJbnRl
cnZhbFVuaXQsIHJlY3VycmluZ1BheW1lbnRJbnRlcnZhbENvdW50LCByZWN1cnJpbmdQYXltZW50
RW5kRGF0ZX0sCisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiByZWN1cnJpbmdMYWJlbCwgYW1v
dW50OiByZWN1cnJpbmdBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJyZWN1cnJpbmciLCByZWN1cnJp
bmdQYXltZW50U3RhcnREYXRlLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxVbml0LCByZWN1cnJp
bmdQYXltZW50SW50ZXJ2YWxDb3VudCwgcmVjdXJyaW5nUGF5bWVudEVuZERhdGV9LAorfSk7CisK
K3Rlc3RQYXltZW50SXRlbURhdGEoIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9y
IGBkZWZlcnJlZFBheW1lbnREYXRlYCB3aGVuIGBwYXltZW50VGltaW5nYCBpcyBgXCJkZWZlcnJl
ZFwiYC4iLCB7CisgICAgaW5pdGlhbFRvdGFsOiB7bGFiZWw6IGRlZmVycmVkTGFiZWwsIGFtb3Vu
dDogZGVmZXJyZWRBbW91bnQsIHBheW1lbnRUaW1pbmc6ICJkZWZlcnJlZCJ9LAorICAgIGV4cGVj
dGVkVG90YWw6IHtsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJlZEFtb3VudCwg
cGF5bWVudFRpbWluZzogImRlZmVycmVkIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsVW5pdDog
Im1vbnRoIiwgcmVjdXJyaW5nUGF5bWVudEludGVydmFsQ291bnQ6IDF9LAorfSk7Cit0ZXN0UGF5
bWVudEl0ZW1EYXRhKCJTaG91bGQgYWxzbyBwcm9wYWdhdGUgYGRlZmVycmVkUGF5bWVudERhdGVg
IGlmIHByb3ZpZGVkIHdoZW4gYHBheW1lbnRUaW1pbmdgIGlzIGBcImRlZmVycmVkXCJgLiIsIHsK
KyAgICBpbml0aWFsVG90YWw6IHtsYWJlbDogZGVmZXJyZWRMYWJlbCwgYW1vdW50OiBkZWZlcnJl
ZEFtb3VudCwgcGF5bWVudFRpbWluZzogImRlZmVycmVkIiwgZGVmZXJyZWRQYXltZW50RGF0ZX0s
CisgICAgZXhwZWN0ZWRUb3RhbDoge2xhYmVsOiBkZWZlcnJlZExhYmVsLCBhbW91bnQ6IGRlZmVy
cmVkQW1vdW50LCBwYXltZW50VGltaW5nOiAiZGVmZXJyZWQiLCByZWN1cnJpbmdQYXltZW50SW50
ZXJ2YWxVbml0OiAibW9udGgiLCByZWN1cnJpbmdQYXltZW50SW50ZXJ2YWxDb3VudDogMSwgZGVm
ZXJyZWRQYXltZW50RGF0ZX0sCit9KTsKKworZG9uZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNo
YW5nZS1jb3Vwb25Db2RlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTA5YTQ0MGFlMWQ1MTMwNWQ5ODJjNDZlMGUzZmY2MTAy
NzQyYzdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFNob3VsZCBwcm9wYWdhdGUgYGNvdXBvbkNvZGVgIGlm
IHByb3ZpZGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnRtZXRob2RjaGFuZ2UtY291cG9uQ29kZS5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBv
bkNvZGUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2EzMjg3YjM0ODM0ZjU2OWY3OTA0MWM5YTFl
YjE3NzVkNjg0ZGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC9wYXltZW50bWV0aG9kY2hhbmdlLWNvdXBvbkNvZGUuaHR0cHMuaHRtbApA
QCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5UZXN0cyBmb3IgYGNvdXBvbkNvZGVgIGJlaW5nIHByb3ZpZGVkIHZpYSBgInBheW1l
bnRtZXRob2RjaGFuZ2UiYC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVu
dC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9u
ZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsKKwordXNlcl9hY3RpdmF0aW9uX3Rl
c3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVz
dChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJl
cXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7
CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRF
dmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jb3Vwb25D
b2RlLCBudWxsLCAiY2hlY2sgdGhhdCB0aGUgYGNvdXBvbkNvZGVgIHN0YXJ0cyBhcyBgbnVsbGAi
KTsKKyAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5jaGFuZ2VDb3Vwb25Db2RlKCJURVNUIik7CisgICAgfSk7Cisg
ICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJwYXltZW50bWV0aG9kY2hhbmdlIiwgKGV2ZW50
KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubWV0aG9kRGV0YWlscy5jb3Vwb25D
b2RlLCAiVEVTVCIsICJjaGVjayB0aGF0IGBtZXRob2REZXRhaWxzYCBjb250YWlucyB0aGUgYGNv
dXBvbkNvZGVgIik7CisgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOwor
CisgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisgICAgYXdhaXQgcmVz
cG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKK30sICJTaG91bGQgcHJvcGFnYXRlIGBjb3Vwb25D
b2RlYCBpZiBwcm92aWRlZC4iKTsKKworZG9uZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291
cG9uQ29kZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBlYTE3NDdlNzM1Yjc3YWE4YWI3ZGI0NGE2ZDdlM2Y0MWQzZmZlYjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1l
bnRyZXF1ZXN0LWNvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAor
CitQQVNTIFNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBjb3Vwb25Db2RlYC4K
K1BBU1MgU2hvdWxkIHByb3BhZ2F0ZSBgY291cG9uQ29kZWAgaWYgcHJvdmlkZWQuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVl
c3QtY291cG9uQ29kZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50cmVxdWVzdC1jb3Vwb25Db2RlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzdjMDc2NzhhYTM5MGY2YWUxOWQ5MjIxM2U0MTE3ZjJiNTlkNzhiMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qt
Y291cG9uQ29kZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYGNvdXBv
bkNvZGVgIGluIGBkYXRhYCBhcyBwYXJ0IG9mIGBQYXltZW50TWV0aG9kRGF0YWAuPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6
IHRydWUgfSk7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
bGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwg
dmFsaWRQYXltZW50RGV0YWlscygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1l
cmNoYW50dmFsaWRhdGlvbiIsIChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0ZSh7
IH0pOworICAgIH0pOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRy
ZXNzY2hhbmdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbnVsbCwgImNoZWNrIHRoYXQgdGhl
IGBjb3Vwb25Db2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgYW4gdXBkYXRlIik7CisgICAgICAg
IGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3BvbnNlID0g
YXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmNvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBgY291
cG9uQ29kZWAgaXMgc3RpbGwgYG51bGxgIGFmdGVyIHRoZSBwYXltZW50IGlzIGFjY2VwdGVkIik7
CisKKyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3VsZCBu
b3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBjb3Vwb25Db2RlYC4iKTsKKwordXNlcl9hY3Rp
dmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBtZXRob2QgPSB2YWxpZFBh
eW1lbnRNZXRob2QoKTsKKyAgICBtZXRob2QuZGF0YS5jb3Vwb25Db2RlID0gIlRFU1QiOworCisg
ICAgbGV0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW21ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlk
YXRpb24iLCAoZXZlbnQpID0+IHsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9
KTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIs
IChldmVudCkgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmNvdXBvbkNvZGUsIG1ldGhvZC5kYXRhLmNvdXBvbkNvZGUsICJjaGVjayB0
aGF0IHRoZSBgY291cG9uQ29kZWAgc3RpbGwgbWF0Y2hlcyBhZnRlciBhbiB1cGRhdGUiKTsKKyAg
ICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVzcG9u
c2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY291cG9uQ29kZSwgbWV0aG9kLmRhdGEuY291cG9uQ29k
ZSwgImNoZWNrIHRoYXQgdGhlIGBjb3Vwb25Db2RlYCBzdGlsbCBtYXRjaGVzIGFmdGVyIHRoZSBw
YXltZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3Vj
Y2VzcyIpOworfSwgIlNob3VsZCBwcm9wYWdhdGUgYGNvdXBvbkNvZGVgIGlmIHByb3ZpZGVkLiIp
OworCitkb25lKCk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjYyMjZmZGIzNmEyZWQxNGNiMjIzNzMyMGRlNjEwNDAw
NzY5ZGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZS5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVm
YXVsdCB2YWx1ZSBmb3IgYHNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlYC4KK1BBU1MgU2hvdWxk
IHByb3BhZ2F0ZSBgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVgIGlmIHByb3ZpZGVkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRy
ZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFj
dEVkaXRpbmdNb2RlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNjODNhYzRjYjY2YmZjOTE3ZmU0
YmM3NmZiZGEyYWU0NzU2N2IxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc2hpcHBpbmdDb250YWN0RWRpdGlu
Z01vZGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0cyBmb3IgcHJvdmlkaW5nIGBzaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZWAgaW4gYGRhdGFgIGFzIHBhcnQgb2YgYFBheW1lbnRNZXRob2REYXRh
YC48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPHNjcmlwdD4KK3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGlj
aXRfdGltZW91dDogdHJ1ZSB9KTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3Qp
ID0+IHsKKyAgICBsZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50
TWV0aG9kKCldLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRM
aXN0ZW5lcigibWVyY2hhbnR2YWxpZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50
LmNvbXBsZXRlKHsgfSk7CisgICAgfSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJz
aGlwcGluZ2FkZHJlc3NjaGFuZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5n
TW9kZSwgbnVsbCwgImNoZWNrIHRoYXQgdGhlIGBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAg
aXMgc3RpbGwgYG51bGxgIGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51cGRhdGVX
aXRoKHsgfSk7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2Vw
dFBheW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Qu
c2hvdygpOworCisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSwgbnVsbCwgImNoZWNrIHRoYXQgdGhlIGBz
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZWAgaXMgc3RpbGwgYG51bGxgIGFmdGVyIHRoZSBwYXlt
ZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBhd2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2Vz
cyIpOworfSwgIlNob3VsZCBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgZm9yIGBzaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZWAuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0
KSA9PiB7CisgICAgY29uc3QgbWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7CisgICAgbWV0
aG9kLmRhdGEuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUgPSAiZW5hYmxlZCI7CisKKyAgICBs
ZXQgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbbWV0aG9kXSwgdmFsaWRQYXltZW50RGV0
YWlscygpKTsKKyAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoIm1lcmNoYW50dmFsaWRhdGlv
biIsIChldmVudCkgPT4geworICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOworICAgIH0pOwor
ICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigic2hpcHBpbmdhZGRyZXNzY2hhbmdlIiwgKGV2
ZW50KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3Iuc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUsIG1ldGhvZC5kYXRhLnNoaXBwaW5n
Q29udGFjdEVkaXRpbmdNb2RlLCAiY2hlY2sgdGhhdCB0aGUgYHNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlYCBzdGlsbCBtYXRjaGVzIGFmdGVyIGFuIHVwZGF0ZSIpOworICAgICAgICBldmVudC51
cGRhdGVXaXRoKHsgfSk7CisgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmFjY2VwdFBheW1lbnQoKTsKKyAgICB9KTsKKworICAgIGxldCByZXNwb25zZSA9IGF3YWl0IHJl
cXVlc3Quc2hvdygpOworCisgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5zaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSwgbWV0aG9kLmRhdGEuc2hpcHBp
bmdDb250YWN0RWRpdGluZ01vZGUsICJjaGVjayB0aGF0IHRoZSBgc2hpcHBpbmdDb250YWN0RWRp
dGluZ01vZGVgIHN0aWxsIG1hdGNoZXMgYWZ0ZXIgdGhlIHBheW1lbnQgaXMgYWNjZXB0ZWQiKTsK
KworICAgIGF3YWl0IHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7Cit9LCAiU2hvdWxkIHBy
b3BhZ2F0ZSBgc2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGVgIGlmIHByb3ZpZGVkLiIpOworCitk
b25lKCk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9w
YXltZW50cmVxdWVzdC9wYXltZW50cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50
cmVxdWVzdC1zdXBwb3J0c0NvdXBvbkNvZGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMzYWEzY2QzNDRiNzhkZWYzNDk3YTgyNDY1ZGZkMDBkNzVlYjhlYjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0
LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisK
K1BBU1MgU2hvdWxkIG5vdCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgYHN1cHBvcnRzQ291cG9u
Q29kZWAuCitQQVNTIFNob3VsZCBwcm9wYWdhdGUgYHN1cHBvcnRzQ291cG9uQ29kZWAgaWYgcHJv
dmlkZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291
cG9uQ29kZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczOGU5MTlkMjI2OTUxZTEwZmE4MTYxNzY5
YTEyMzE2ZmZmY2FjNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXN1cHBvcnRzQ291cG9uQ29kZS5odHRwcy5o
dG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPlRlc3RzIGZvciBwcm92aWRpbmcgYHN1cHBvcnRzQ291cG9uQ29kZWAgaW4g
YGRhdGFgIGFzIHBhcnQgb2YgYFBheW1lbnRNZXRob2REYXRhYC48L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4K
K3NldHVwKHsgZXhwbGljaXRfZG9uZTogdHJ1ZSwgZXhwbGljaXRfdGltZW91dDogdHJ1ZSB9KTsK
KwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBsZXQgcmVxdWVz
dCA9IG5ldyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCB2YWxpZFBheW1l
bnREZXRhaWxzKCkpOworICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigibWVyY2hhbnR2YWxp
ZGF0aW9uIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7CisgICAg
fSk7CisgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ2FkZHJlc3NjaGFuZ2Ui
LCAoZXZlbnQpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5zdXBwb3J0c0NvdXBvbkNvZGUsIG51bGwsICJjaGVjayB0aGF0IHRoZSBg
c3VwcG9ydHNDb3Vwb25Db2RlYCBpcyBzdGlsbCBgbnVsbGAgYWZ0ZXIgYW4gdXBkYXRlIik7Cisg
ICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoeyB9KTsKKyAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH0pOworCisgICAgbGV0IHJlc3Bv
bnNlID0gYXdhaXQgcmVxdWVzdC5zaG93KCk7CisKKyAgICBhc3NlcnRfZXF1YWxzKGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRzQ291cG9uQ29kZSwgbnVsbCwgImNoZWNr
IHRoYXQgdGhlIGBzdXBwb3J0c0NvdXBvbkNvZGVgIGlzIHN0aWxsIGBudWxsYCBhZnRlciB0aGUg
cGF5bWVudCBpcyBhY2NlcHRlZCIpOworCisgICAgYXdhaXQgcmVzcG9uc2UuY29tcGxldGUoInN1
Y2Nlc3MiKTsKK30sICJTaG91bGQgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBgc3VwcG9y
dHNDb3Vwb25Db2RlYC4iKTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+
IHsKKyAgICBjb25zdCBtZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsKKyAgICBtZXRob2Qu
ZGF0YS5zdXBwb3J0c0NvdXBvbkNvZGUgPSB0cnVlOworCisgICAgbGV0IHJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoW21ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7CisgICAgcmVx
dWVzdC5hZGRFdmVudExpc3RlbmVyKCJtZXJjaGFudHZhbGlkYXRpb24iLCAoZXZlbnQpID0+IHsK
KyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICB9KTsKKyAgICByZXF1ZXN0LmFkZEV2
ZW50TGlzdGVuZXIoInNoaXBwaW5nYWRkcmVzc2NoYW5nZSIsIChldmVudCkgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnN1cHBvcnRz
Q291cG9uQ29kZSwgbWV0aG9kLmRhdGEuc3VwcG9ydHNDb3Vwb25Db2RlLCAiY2hlY2sgdGhhdCB0
aGUgYHN1cHBvcnRzQ291cG9uQ29kZWAgc3RpbGwgbWF0Y2hlcyBhZnRlciBhbiB1cGRhdGUiKTsK
KyAgICAgICAgZXZlbnQudXBkYXRlV2l0aCh7IH0pOworICAgICAgICBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5hY2NlcHRQYXltZW50KCk7CisgICAgfSk7CisKKyAgICBsZXQgcmVz
cG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKworICAgIGFzc2VydF9lcXVhbHMoaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc3VwcG9ydHNDb3Vwb25Db2RlLCBtZXRob2QuZGF0
YS5zdXBwb3J0c0NvdXBvbkNvZGUsICJjaGVjayB0aGF0IHRoZSBgc3VwcG9ydHNDb3Vwb25Db2Rl
YCBzdGlsbCBtYXRjaGVzIGFmdGVyIHRoZSBwYXltZW50IGlzIGFjY2VwdGVkIik7CisKKyAgICBh
d2FpdCByZXNwb25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIlNob3VsZCBwcm9wYWdhdGUg
YHN1cHBvcnRzQ291cG9uQ29kZWAgaWYgcHJvdmlkZWQuIik7CisKK2RvbmUoKTsKKzwvc2NyaXB0
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheUVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5RXJyb3ItZXhwZWN0ZWQudHh0CmluZGV4IGZjMzg5NGU3MGFjNDdiNDI0ZTdl
NTA3MzUzMjc2NjA1ZTM3MzZkOTYuLjdjNmRmNmQyMzIwNGQ0NGFiZDU1YWVmNTEzNTY1MWZhNTE0
MDUwNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5RXJyb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5RXJyb3ItZXhwZWN0ZWQudHh0CkBAIC05LDEwICs5LDEwIEBAIFNF
VFVQOgogUEFTUyBuZXcgQXBwbGVQYXlFcnJvcigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogCiBTRVRVUDoKLVBBU1MgbmV3IEFwcGxlUGF5RXJyb3Io
W10pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdlcnJvckNvZGUnKSB0
byB0aGUgQXBwbGVQYXlFcnJvciBjb25zdHJ1Y3RvciBtdXN0IGJlIG9uZSBvZjogInVua25vd24i
LCAic2hpcHBpbmdDb250YWN0SW52YWxpZCIsICJiaWxsaW5nQ29udGFjdEludmFsaWQiLCAiYWRk
cmVzc1Vuc2VydmljZWFibGUiLgorUEFTUyBuZXcgQXBwbGVQYXlFcnJvcihbXSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2Vycm9yQ29kZScpIHRvIHRoZSBBcHBsZVBh
eUVycm9yIGNvbnN0cnVjdG9yIG11c3QgYmUgb25lIG9mOiAidW5rbm93biIsICJzaGlwcGluZ0Nv
bnRhY3RJbnZhbGlkIiwgImJpbGxpbmdDb250YWN0SW52YWxpZCIsICJhZGRyZXNzVW5zZXJ2aWNl
YWJsZSIsICJjb3Vwb25Db2RlSW52YWxpZCIsICJjb3Vwb25Db2RlRXhwaXJlZCIuCiAKIFNFVFVQ
OgotUEFTUyBuZXcgQXBwbGVQYXlFcnJvcignJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ2Vycm9yQ29kZScpIHRvIHRoZSBBcHBsZVBheUVycm9yIGNvbnN0cnVjdG9y
IG11c3QgYmUgb25lIG9mOiAidW5rbm93biIsICJzaGlwcGluZ0NvbnRhY3RJbnZhbGlkIiwgImJp
bGxpbmdDb250YWN0SW52YWxpZCIsICJhZGRyZXNzVW5zZXJ2aWNlYWJsZSIuCitQQVNTIG5ldyBB
cHBsZVBheUVycm9yKCcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
ZXJyb3JDb2RlJykgdG8gdGhlIEFwcGxlUGF5RXJyb3IgY29uc3RydWN0b3IgbXVzdCBiZSBvbmUg
b2Y6ICJ1bmtub3duIiwgInNoaXBwaW5nQ29udGFjdEludmFsaWQiLCAiYmlsbGluZ0NvbnRhY3RJ
bnZhbGlkIiwgImFkZHJlc3NVbnNlcnZpY2VhYmxlIiwgImNvdXBvbkNvZGVJbnZhbGlkIiwgImNv
dXBvbkNvZGVFeHBpcmVkIi4KIAogU0VUVVA6CiBQQVNTIG5ldyBBcHBsZVBheUVycm9yKCd1bmtu
b3duJykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOGIxYWVlNjNlZTA0OWEwM2M3OGE0OWU3MjJm
NmYwZWU1OGU4NDQ4My4uOWE1ODMyN2YzYTNlODg1NDc3ZGMxNjA4Y2M4MTZiZTUxYzlmZTdlMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NjAsNiArNjAsMTMgQEAgd2Via2l0Lm9yZy9iLzIxMjk3NSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sIFsgUGFzcyBUaW0KIHdlYmtpdC5vcmcvYi8yMTI5
OTggaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1zLmh0dHBz
Lmh0bWwgWyBGYWlsdXJlIF0KIAogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdCBbIFBhc3MgXQor
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxMaW5l
SXRlbXMuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhvZHMuaHR0cHMuaHRtbCBbIFNraXAg
XQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLXRvdGFsLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudG1ldGhvZGNo
YW5nZS1jb3Vwb25Db2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRwcy5odG1sIFsgU2tpcCBdCitodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0LXNoaXBwaW5nQ29udGFjdEVkaXRp
bmdNb2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5
bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IFsgUGFzcyBdCiB3ZWJr
aXQub3JnL2IvMTc1NjExIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3QvYWxsb3dwYXltZW50cmVxdWVzdC1hdHRyaWJ1dGUt
Y3Jvc3Mtb3JpZ2luLWJjLWNvbnRhaW5lcnMuaHR0cHMuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9y
Zy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVz
dC9hbGxvd3BheW1lbnRyZXF1ZXN0L25vLWF0dHJpYnV0ZS1jcm9zcy1vcmlnaW4tYmMtY29udGFp
bmVycy5odHRwcy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmU3YmYxYmUzOWE2MjMyOGI5NjZjZWJjMGNhODJmOGEw
NDRjYWQ3MS4uZWE0NDU0YTI1NzIxODU4Zjg3NTliNDk3MTQwMzM1MTQxOWVjYzU0NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTMsNiAr
NTMsMTMgQEAgZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0
cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdw
b3J0LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAgWyBQYXNzIF0KIAogaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdCBbIFBhc3MgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1v
ZGlmaWVyLWFkZGl0aW9uYWxMaW5lSXRlbXMuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLWFkZGl0aW9uYWxTaGlwcGluZ01ldGhv
ZHMuaHR0cHMuaHRtbCBbIFNraXAgXQoraHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eU1vZGlmaWVyLXRvdGFsLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudG1ldGhvZGNoYW5nZS1jb3Vwb25Db2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0K
K2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3QtY291cG9uQ29kZS5odHRw
cy5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnRyZXF1ZXN0
LXNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVz
dHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudHJlcXVlc3Qtc3VwcG9ydHNDb3Vwb25Db2RlLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3BheW1lbnRyZXF1ZXN0IFsgUGFz
cyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdCBbIFBh
c3MgXQogd2Via2l0Lm9yZy9iLzE3NTYxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BheW1lbnQtcmVxdWVzdC9hbGxvd3BheW1lbnRyZXF1ZXN0L2FsbG93cGF5bWVudHJlcXVlc3Qt
YXR0cmlidXRlLWNyb3NzLW9yaWdpbi1iYy1jb250YWluZXJzLmh0dHBzLmh0bWwgWyBTa2lwIF0K
</data>
<flag name="commit-queue"
          id="452513"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>