<?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>184173</bug_id>
          
          <creation_ts>2018-03-29 21:35:25 -0700</creation_ts>
          <short_desc>Update availability annotations to match the macOS 10.13.4 and iOS 11.3 GM SDKs</short_desc>
          <delta_ts>2018-03-30 17:10:36 -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>WebKit API</component>
          <version>WebKit Local 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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1410537</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2018-03-29 21:35:25 -0700</bug_when>
    <thetext>Patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410558</commentid>
    <comment_count>1</comment_count>
      <attachid>336843</attachid>
    <who name="">mitz</who>
    <bug_when>2018-03-29 23:03:06 -0700</bug_when>
    <thetext>Created attachment 336843
Update availability</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410779</commentid>
    <comment_count>2</comment_count>
      <attachid>336843</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 17:09:21 -0700</bug_when>
    <thetext>Comment on attachment 336843
Update availability

Clearing flags on attachment: 336843

Committed r230121: &lt;https://trac.webkit.org/changeset/230121&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410780</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-30 17:09:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1410781</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-30 17:10:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/39059030&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336843</attachid>
            <date>2018-03-29 23:03:06 -0700</date>
            <delta_ts>2018-03-30 17:09:21 -0700</delta_ts>
            <desc>Update availability</desc>
            <filename>bug-184173-20180329230305.patch</filename>
            <type>text/plain</type>
            <size>75057</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzAxMDApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE4LTAzLTI5ICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIGF2YWlsYWJpbGl0eSBhbm5v
dGF0aW9ucyB0byBtYXRjaCB0aGUgbWFjT1MgMTAuMTMuNCBhbmQgaU9TIDExLjMgR00gU0RLcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0MTczCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlZCBX
S19NQUNfVEJBIGFuZCBXS19JT1NfVEJBIHRvIDEwLjEzLjQgYW5kIDExLjMsIHJlc3BlY3RpdmVs
eSwgaW4gYWxsIGRlY2xhcmF0aW9ucyB0aGF0CisgICAgICAgIGFwcGVhciBpbiB0aGUgR00gU0RL
cy4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS09wZW5QYW5lbFBhcmFtZXRlcnNQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZhdGUu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3JkLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdHRhY2htZW50Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbi5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25Db25maWd1cmF0aW9uLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEb3dubG9hZC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLRG93bmxvYWREZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLRm9jdXNlZEVsZW1lbnRJbmZvLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tGdWxsc2NyZWVuRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Zpc2l0ZWRMaW5rU3RvcmUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQ
bHVnSW5Ob2RlSGFuZGxlUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS0RPTURvY3VtZW50Lmg6CisKIDIwMTgtMDMtMjkgIEpGIEJhc3RpZW4g
IDxqZmJhc3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBGb3J3YXJkLmggaW5zdGVhZCBv
ZiBmb3J3YXJkLWRlY2xhcmluZyBXVEY6OlN0cmluZwpJbmRleDogU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLmgJKHJldmlzaW9uIDIzMDA5
NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tOU1dpbmRvd0V4dHJhcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIEBpbnRlcmZhY2UgTlNXaW5kb3cg
KFdLRXh0cmFzKQogCi0tIChCT09MKV93ZWJfaXNXZWJJbnNwZWN0b3JXaW5kb3cgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAoQk9PTClfd2ViX2lzV2ViSW5zcGVjdG9y
V2luZG93IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKIAogQGVuZAogCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQ
cml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiAyMzAwOTUpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgX1dLV2ViR0xMb2FkUAogICAgIF9XS1dlYkdMTG9hZFBvbGljeUJsb2NrQ3JlYXRpb24s
CiAgICAgX1dLV2ViR0xMb2FkUG9saWN5QWxsb3dDcmVhdGlvbiwKICAgICBfV0tXZWJHTExvYWRQ
b2xpY3lQZW5kaW5nQ3JlYXRpb24sCi19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogCiB0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBfV0tQbHVnaW5Nb2R1bGVMb2FkUG9saWN5KSB7CiAgICAgX1dLUGx1
Z2luTW9kdWxlTG9hZFBvbGljeUxvYWROb3JtYWxseSwKQEAgLTc0LDggKzc0LDggQEAgc3RhdGlj
IGNvbnN0IFdLTmF2aWdhdGlvblJlc3BvbnNlUG9saWN5IAogCiAtICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hhbmdlOihfV0tSZW5kZXJp
bmdQcm9ncmVzc0V2ZW50cylwcm9ncmVzc0V2ZW50czsKIAotLSAoQk9PTClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlOihO
U1VSTFByb3RlY3Rpb25TcGFjZSAqKXByb3RlY3Rpb25TcGFjZSBXS19BUElfREVQUkVDQVRFRF9X
SVRIX1JFUExBQ0VNRU5UKCJ3ZWJWaWV3OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZTpjb21wbGV0aW9uSGFuZGxlcjoiLCBtYWNvc3goMTAuMTAsIFdLX01BQ19UQkEpLCBpb3MoOC4w
LCBXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSAqKWNoYWxsZW5nZSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJ3ZWJW
aWV3OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpjb21wbGV0aW9uSGFuZGxlcjoi
LCBtYWNvc3goMTAuMTAsIFdLX01BQ19UQkEpLCBpb3MoOC4wLCBXS19JT1NfVEJBKSk7CistIChC
T09MKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQ
cm90ZWN0aW9uU3BhY2U6KE5TVVJMUHJvdGVjdGlvblNwYWNlICopcHJvdGVjdGlvblNwYWNlIFdL
X0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIndlYlZpZXc6ZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOmNvbXBsZXRpb25IYW5kbGVyOiIsIG1hY29zeCgxMC4xMCwgMTAu
MTMuNCksIGlvcyg4LjAsIDExLjMpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOihOU1VSTEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlICopY2hhbGxlbmdlIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1F
TlQoIndlYlZpZXc6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOmNvbXBsZXRpb25I
YW5kbGVyOiIsIG1hY29zeCgxMC4xMCwgMTAuMTMuNCksIGlvcyg4LjAsIDExLjMpKTsKIAogLSAo
dm9pZClfd2ViVmlld1dlYlByb2Nlc3NEaWRDcmFzaDooV0tXZWJWaWV3ICopd2ViVmlldzsKIC0g
KHZvaWQpX3dlYlZpZXdXZWJQcm9jZXNzRGlkQmVjb21lUmVzcG9uc2l2ZTooV0tXZWJWaWV3ICop
d2ViVmlldzsKQEAgLTkxLDExICs5MSwxMSBAQCBzdGF0aWMgY29uc3QgV0tOYXZpZ2F0aW9uUmVz
cG9uc2VQb2xpY3kgCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHdpbGxT
bmFwc2hvdEJhY2tGb3J3YXJkTGlzdEl0ZW06KFdLQmFja0ZvcndhcmRMaXN0SXRlbSAqKWl0ZW07
CiAtICh2b2lkKV93ZWJWaWV3RGlkUmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdDooV0tX
ZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4w
KSk7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24g
ZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3ksIF9XS1dl
YnNpdGVQb2xpY2llcyAqKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTIuMyksIGlvcygxMC4zKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAq
KW5hdmlnYXRpb25BY3Rpb24gdXNlckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8g
ZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3ksIF9XS1dl
YnNpdGVQb2xpY2llcyAqKSlkZWNpc2lvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZFN0YXJ0UHJvdmlzaW9uYWxOYXZpZ2F0aW9uOihXS05hdmlnYXRpb24g
KiluYXZpZ2F0aW9uIHVzZXJJbmZvOihpZCA8TlNTZWN1cmVDb2Rpbmc+KXVzZXJJbmZvIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsTmF2aWdhdGlvbjooV0tOYXZp
Z2F0aW9uICopbmF2aWdhdGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvciB1c2VySW5mbzoo
aWQgPE5TU2VjdXJlQ29kaW5nPil1c2VySW5mbyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0
aW9uICopbmF2aWdhdGlvbkFjdGlvbiB1c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1c2Vy
SW5mbyBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSwg
X1dLV2Vic2l0ZVBvbGljaWVzICopKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgZGlkU3RhcnRQcm92aXNpb25hbE5hdmlnYXRpb246KFdLTmF2aWdhdGlvbiAqKW5h
dmlnYXRpb24gdXNlckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8gV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGRpZEZhaWxOYXZpZ2F0aW9uOihXS05hdmlnYXRpb24gKiluYXZp
Z2F0aW9uIHdpdGhFcnJvcjooTlNFcnJvciAqKWVycm9yIHVzZXJJbmZvOihpZCA8TlNTZWN1cmVD
b2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEu
MykpOwogCi0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFVSTDooTlNVUkwg
Kil1cmwgY29udGVudFJ1bGVMaXN0SWRlbnRpZmllcnM6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilp
ZGVudGlmaWVycyBub3RpZmljYXRpb25zOihOU0FycmF5PE5TU3RyaW5nICo+ICopbm90aWZpY2F0
aW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgVVJMOihOU1VSTCAqKXVy
bCBjb250ZW50UnVsZUxpc3RJZGVudGlmaWVyczooTlNBcnJheTxOU1N0cmluZyAqPiAqKWlkZW50
aWZpZXJzIG5vdGlmaWNhdGlvbnM6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilub3RpZmljYXRpb25z
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB3ZWJDb250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0
ZVdpdGhSZWFzb246KF9XS1Byb2Nlc3NUZXJtaW5hdGlvblJlYXNvbilyZWFzb24gV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKICNpZiBUQVJH
RVRfT1NfSVBIT05FCkBAIC0xMDMsMTMgKzEwMywxMyBAQCBzdGF0aWMgY29uc3QgV0tOYXZpZ2F0
aW9uUmVzcG9uc2VQb2xpY3kgCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IGRpZEZpbmlzaExvYWRGb3JRdWlja0xvb2tEb2N1bWVudEluTWFpbkZyYW1lOihOU0RhdGEgKilk
b2N1bWVudERhdGE7CiAtICh2b2lkKV93ZWJWaWV3RGlkUmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tM
b29rRG9jdW1lbnQ6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEu
MCkpOwogI2Vsc2UKLS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgd2ViR0xM
b2FkUG9saWN5Rm9yVVJMOihOU1VSTCAqKXVybCBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKF9X
S1dlYkdMTG9hZFBvbGljeSkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVz
b2x2ZVdlYkdMTG9hZFBvbGljeUZvclVSTDooTlNVUkwgKil1cmwgZGVjaXNpb25IYW5kbGVyOih2
b2lkICheKShfV0tXZWJHTExvYWRQb2xpY3kpKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHdpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbTooV0tCYWNrRm9yd2FyZExpc3RJdGVt
ICopaXRlbSBpblBhZ2VDYWNoZTooQk9PTClpblBhZ2VDYWNoZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IGRpZEZhaWxUb0luaXRpYWxpemVQbHVnSW5XaXRoSW5mbzooTlNEaWN0aW9uYXJ5ICopaW5mbyBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHdlYkdMTG9hZFBvbGljeUZvclVSTDooTlNVUkwgKil1cmwgZGVj
aXNpb25IYW5kbGVyOih2b2lkICheKShfV0tXZWJHTExvYWRQb2xpY3kpKWRlY2lzaW9uSGFuZGxl
ciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHJlc29sdmVXZWJHTExvYWRQb2xpY3lGb3JVUkw6KE5TVVJMICop
dXJsIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoX1dLV2ViR0xMb2FkUG9saWN5KSlkZWNpc2lv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyB3aWxsR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW06KFdL
QmFja0ZvcndhcmRMaXN0SXRlbSAqKWl0ZW0gaW5QYWdlQ2FjaGU6KEJPT0wpaW5QYWdlQ2FjaGUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClfd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsVG9Jbml0aWFsaXplUGx1Z0luV2l0aEluZm86KE5TRGlj
dGlvbmFyeSAqKWluZm8gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogLSAodm9p
ZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVy
c2lvbldpdGhJbmZvOihOU0RpY3Rpb25hcnkgKilpbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKIC0gKF9XS1BsdWdpbk1vZHVsZUxvYWRQb2xpY3kpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yUGx1Z2luTG9hZFdpdGhDdXJyZW50UG9s
aWN5OihfV0tQbHVnaW5Nb2R1bGVMb2FkUG9saWN5KXBvbGljeSBwbHVnaW5JbmZvOihOU0RpY3Rp
b25hcnkgKilpbmZvIHVuYXZhaWxhYmlsaXR5RGVzY3JpcHRpb246KE5TU3RyaW5nICopdW5hdmFp
bGFiaWxpdHlEZXNjcmlwdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7
Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdEl0
ZW1BZGRlZDooV0tCYWNrRm9yd2FyZExpc3RJdGVtICopaXRlbUFkZGVkIHJlbW92ZWQ6KE5TQXJy
YXk8V0tCYWNrRm9yd2FyZExpc3RJdGVtICo+ICopaXRlbXNSZW1vdmVkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgYmFja0ZvcndhcmRMaXN0SXRlbUFkZGVkOihXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKilp
dGVtQWRkZWQgcmVtb3ZlZDooTlNBcnJheTxXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gKj4gKilpdGVt
c1JlbW92ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogI2VuZGlmCiAKIEBl
bmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS09wZW5QYW5lbFBh
cmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDIzMDA5NSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEy
KSkKIAogLyohIEBhYnN0cmFjdCBXaGV0aGVyIHRoZSBmaWxlIHVwbG9hZCBjb250cm9sIHN1cHBv
cnRzIHNlbGVjdGluZyBkaXJlY3Rvcmllcy4KICAqLwotQHByb3BlcnR5IChub25hdG9taWMsIHJl
YWRvbmx5KSBCT09MIGFsbG93c0RpcmVjdG9yaWVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBhbGxvd3NE
aXJlY3RvcmllcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CiAKIEBlbmQKIApJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLT3BlblBhbmVsUGFyYW1l
dGVyc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUHJpdmF0ZS5oCShyZXZpc2lvbiAyMzAwOTUpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tPcGVuUGFuZWxQYXJhbWV0ZXJz
UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw4ICsyOSw4IEBACiAKIEBpbnRlcmZhY2Ug
V0tPcGVuUGFuZWxQYXJhbWV0ZXJzIChXS1ByaXZhdGUpCiAKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSwgY29weSkgTlNBcnJheTxOU1N0cmluZyAqPiAqX2FjY2VwdGVkTUlNRVR5cGVz
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkb25seSwgY29weSkgTlNBcnJheTxOU1N0cmluZyAqPiAqX2FjY2VwdGVkRmlsZUV4
dGVuc2lvbnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU0FycmF5PE5TU3RyaW5nICo+ICpfYWNjZXB0
ZWRNSU1FVHlwZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU0FycmF5PE5TU3RyaW5nICo+ICpfYWNjZXB0
ZWRGaWxlRXh0ZW5zaW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CiAKIEBl
bmQKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDIzMDA5NSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Miw3ICs1Miw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0Vk
aXRhYmxlTGkKICAgICBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvck9ubHlMaXZlV2l0aFNoaWZ0S2V5
LAogICAgIF9XS0VkaXRhYmxlTGlua0JlaGF2aW9yTGl2ZVdoZW5Ob3RGb2N1c2VkLAogICAgIF9X
S0VkaXRhYmxlTGlua0JlaGF2aW9yTmV2ZXJMaXZlLAotfSBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIEBjbGFzcyBfV0tFeHBlcmltZW50YWxGZWF0dXJl
OwogCkBAIC0xMTAsMjMgKzExMCwyMyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tF
ZGl0YWJsZUxpCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldExvYWRzSW1hZ2Vz
QXV0b21hdGljYWxseTopIEJPT0wgX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldFBlZXJDb25uZWN0aW9uRW5hYmxlZDopIEJPT0wgX3BlZXJDb25uZWN0aW9u
RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBlZXJDb25uZWN0aW9uRW5h
YmxlZDopIEJPT0wgX3BlZXJDb25uZWN0aW9uRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dE1lZGlhRGV2aWNlc0VuYWJsZWQ6KSBCT09MIF9tZWRpYURldmljZXNFbmFibGVkIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldFNjcmVlbkNhcHR1cmVFbmFibGVkOikgQk9PTCBfc2NyZWVuQ2FwdHVyZUVu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTY3JlZW5DYXB0dXJlRW5hYmxl
ZDopIEJPT0wgX3NjcmVlbkNhcHR1cmVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEzLjQpLCBpb3MoMTEuMykpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TW9j
a0NhcHR1cmVEZXZpY2VzRW5hYmxlZDopIEJPT0wgX21vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwotQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0TW9ja0NhcHR1cmVEZXZpY2VzUHJvbXB0RW5hYmxlZDopIEJP
T0wgX21vY2tDYXB0dXJlRGV2aWNlc1Byb21wdEVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRNb2NrQ2FwdHVyZURldmljZXNQcm9tcHRFbmFibGVkOikgQk9PTCBfbW9ja0Nh
cHR1cmVEZXZpY2VzUHJvbXB0RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSwgaW9zKDExLjMpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhQ2Fw
dHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbjopIEJPT0wgX21lZGlhQ2FwdHVyZVJlcXVpcmVz
U2VjdXJlQ29ubmVjdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4w
KSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRFbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzRW5hYmxlZDopIEJPT0wgX2VudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFj
ZXNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElDRUNhbmRpZGF0ZUZpbHRlcmluZ0VuYWJs
ZWQ6KSBCT09MIF9pY2VDYW5kaWRhdGVGaWx0ZXJpbmdFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nRW5hYmxlZDopIEJPT0wgX2ljZUNh
bmRpZGF0ZUZpbHRlcmluZ0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCks
IGlvcygxMS4zKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRXZWJSVENMZWdh
Y3lBUElFbmFibGVkOikgQk9PTCBfd2ViUlRDTGVnYWN5QVBJRW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRJbmFjdGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRl
czopIGRvdWJsZSBfaW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVhbVJlcHJvbXB0SW50ZXJ2YWxJbk1p
bnV0ZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbmFjdGl2ZU1lZGlhQ2FwdHVy
ZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRlczopIGRvdWJsZSBfaW5hY3RpdmVNZWRpYUNh
cHR1cmVTdGVhbVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9
X3NldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQ6KSBCT09MIF9qYXZhU2NyaXB0Q2FuQWNj
ZXNzQ2xpcGJvYXJkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldERPTVBhc3RlQWxsb3dlZDopIEJPT0wg
X2RvbVBhc3RlQWxsb3dlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4w
KSk7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzOikgQk9PTCBfc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czop
IEJPT0wgX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRFZGl0YWJsZUxpbmtCZWhhdmlvcjopIF9XS0VkaXRhYmxlTGlua0JlaGF2aW9yIF9lZGl0
YWJsZUxpbmtCZWhhdmlvciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEVkaXRhYmxl
TGlua0JlaGF2aW9yOikgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IgX2VkaXRhYmxlTGlua0JlaGF2
aW9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCiBAcHJv
cGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBVkZvdW5kYXRpb25FbmFibGVkOikgQk9PTCBf
YXZGb3VuZGF0aW9uRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlvcyhX
S19JT1NfVEJBKSk7CiAKQEAgLTEzNywzNCArMTM3LDM0IEBAIHR5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIF9XS0VkaXRhYmxlTGkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNo
b3VsZEVuYWJsZVRleHRBdXRvc2l6aW5nQm9vc3Q6KSBCT09MIF9zaG91bGRFbmFibGVUZXh0QXV0
b3NpemluZ0Jvb3N0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwogCiAjaWYgIVRBUkdFVF9PU19JUEhPTkUKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldFdlYkdMRW5hYmxlZDopIEJPT0wgX3dlYkdMRW5hYmxlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXM6KSBCT09MIF9qYXZhRW5hYmxlZEZvckxvY2Fs
RmlsZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZzopIEJPT0wg
X2NhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQ6KSBCT09MIF9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZTopIE5TU3RyaW5nICpfZGVmYXVs
dFRleHRFbmNvZGluZ05hbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwot
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3M6
KSBCT09MIF9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBdXRob3JBbmRV
c2VyU3R5bGVzRW5hYmxlZDopIEJPT0wgX2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
ZXR0ZXI9X3NldERPTVRpbWVyc1Rocm90dGxpbmdFbmFibGVkOikgQk9PTCBfZG9tVGltZXJzVGhy
b3R0bGluZ0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQ6
KSBCT09MIF93ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRMb2NhbEZp
bGVDb250ZW50U25pZmZpbmdFbmFibGVkOikgQk9PTCBfbG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRVc2VzUGFnZUNhY2hlOikgQk9PTCBfdXNlc1BhZ2VDYWNo
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnM6KSBCT09MIF9wYWdlQ2Fj
aGVTdXBwb3J0c1BsdWdpbnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwot
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5kczop
IEJPT0wgX3Nob3VsZFByaW50QmFja2dyb3VuZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0V2ViU2VjdXJpdHlF
bmFibGVkOikgQk9PTCBfd2ViU2VjdXJpdHlFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFVuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQ6KSBCT09MIF91bml2ZXJzYWxBY2Nlc3NGcm9tRmls
ZVVSTHNBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmlu
ZzopIEJPT0wgX3N1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRB
c3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWQ6KSBCT09MIF9hc3luY2hyb25v
dXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QXJ0aWZpY2lhbFBs
dWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkOikgQk9PTCBfYXJ0aWZpY2lhbFBsdWdpbklu
aXRpYWxpemF0aW9uRGVsYXlFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvb2tpZUVuYWJsZWQ6KSBC
T09MIF9jb29raWVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsK
LUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBsdWdJblNuYXBzaG90dGluZ0VuYWJs
ZWQ6KSBCT09MIF9wbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFN1YnBp
eGVsQ1NTT01FbGVtZW50TWV0cmljc0VuYWJsZWQ6KSBCT09MIF9zdWJwaXhlbENTU09NRWxlbWVu
dE1ldHJpY3NFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhU291cmNlRW5hYmxlZDopIEJPT0wg
X21lZGlhU291cmNlRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRWaWV3R2VzdHVyZURlYnVnZ2luZ0Vu
YWJsZWQ6KSBCT09MIF92aWV3R2VzdHVyZURlYnVnZ2luZ0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
Q1NTQW5pbWF0aW9uVHJpZ2dlcnNFbmFibGVkOikgQk9PTCBfY3NzQW5pbWF0aW9uVHJpZ2dlcnNF
bmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldFdlYkdMRW5hYmxlZDopIEJPT0wgX3dlYkdMRW5hYmxlZCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXM6KSBCT09MIF9qYXZhRW5hYmxlZEZv
ckxvY2FsRmlsZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5
IChub25hdG9taWMsIHNldHRlcj1fc2V0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZzopIEJP
T0wgX2NhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTMuNCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQ6KSBCT09MIF9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZTopIE5TU3RyaW5nICpfZGVmYXVsdFRl
eHRFbmNvZGluZ05hbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3Bl
cnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3M6KSBCT09M
IF9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZDopIEJPT0wgX2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldERP
TVRpbWVyc1Rocm90dGxpbmdFbmFibGVkOikgQk9PTCBfZG9tVGltZXJzVGhyb3R0bGluZ0VuYWJs
ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0V2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQ6KSBCT09MIF93ZWJBcmNo
aXZlRGVidWdNb2RlRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRMb2NhbEZpbGVDb250ZW50U25pZmZpbmdF
bmFibGVkOikgQk9PTCBfbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRVc2VzUGFnZUNhY2hlOikgQk9PTCBfdXNlc1BhZ2VDYWNoZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRQYWdlQ2Fj
aGVTdXBwb3J0c1BsdWdpbnM6KSBCT09MIF9wYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5kczopIEJPT0wgX3Nob3VsZFByaW50QmFja2dyb3Vu
ZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0V2ViU2VjdXJpdHlFbmFibGVkOikgQk9PTCBfd2ViU2VjdXJpdHlFbmFi
bGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldFVuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0FsbG93ZWQ6KSBCT09M
IF91bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHNBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFN1cHByZXNz
ZXNJbmNyZW1lbnRhbFJlbmRlcmluZzopIEJPT0wgX3N1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRl
cmluZyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWQ6
KSBCT09MIF9hc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1f
c2V0QXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkOikgQk9PTCBfYXJ0
aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENvb2tp
ZUVuYWJsZWQ6KSBCT09MIF9jb29raWVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBsdWdJblNuYXBzaG90
dGluZ0VuYWJsZWQ6KSBCT09MIF9wbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFN1YnBpeGVsQ1NTT01FbGVtZW50TWV0cmljc0VuYWJsZWQ6KSBCT09MIF9zdWJwaXhlbENTU09N
RWxlbWVudE1ldHJpY3NFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE1lZGlhU291cmNlRW5hYmxlZDopIEJP
T0wgX21lZGlhU291cmNlRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRWaWV3R2VzdHVyZURlYnVnZ2luZ0Vu
YWJsZWQ6KSBCT09MIF92aWV3R2VzdHVyZURlYnVnZ2luZ0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMuNCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Q1NT
QW5pbWF0aW9uVHJpZ2dlcnNFbmFibGVkOikgQk9PTCBfY3NzQW5pbWF0aW9uVHJpZ2dlcnNFbmFi
bGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldENTU0FuaW1hdGlvbnNBbmRDU1NUcmFuc2l0aW9uc0JhY2tlZEJ5V2Vi
QW5pbWF0aW9uc0VuYWJsZWQ6KSBCT09MIF9jc3NBbmltYXRpb25zQW5kQ1NTVHJhbnNpdGlvbnNC
YWNrZWRCeVdlYkFuaW1hdGlvbnNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFN0YW5kYXJkRm9udEZh
bWlseTopIE5TU3RyaW5nICpfc3RhbmRhcmRGb250RmFtaWx5IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE5vdGlm
aWNhdGlvbnNFbmFibGVkOikgQk9PTCBfbm90aWZpY2F0aW9uc0VuYWJsZWQgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1f
c2V0QmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQ6KSBCT09MIF9iYWNrc3BhY2VLZXlOYXZp
Z2F0aW9uRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTdGFuZGFyZEZvbnRGYW1pbHk6KSBOU1N0cmlu
ZyAqX3N0YW5kYXJkRm9udEZhbWlseSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXROb3RpZmljYXRpb25zRW5hYmxlZDop
IEJPT0wgX25vdGlmaWNhdGlvbnNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
LjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEJhY2tzcGFjZUtleU5hdmln
YXRpb25FbmFibGVkOikgQk9PTCBfYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazopIEJPT0wgX2FsbG93c0lubGluZU1lZGlh
UGxheWJhY2sgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5
IChub25hdG9taWMsIHNldHRlcj1fc2V0QXBwbGVQYXlFbmFibGVkOikgQk9PTCBfYXBwbGVQYXlF
bmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldEROU1ByZWZldGNoaW5nRW5hYmxlZDopIEJPT0wgX2Ruc1By
ZWZldGNoaW5nRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbFByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzUG9vbFByaXZhdGUuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTg1LDI5ICs4NSwyOSBAQAogCiAvLyBUZXN0IG9ubHkuCiAtIChwaWRfdClfbmV0d29ya1By
b2Nlc3NJZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjAp
KTsKLS0gKHBpZF90KV9zdG9yYWdlUHJvY2Vzc0lkZW50aWZpZXIgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CistIChwaWRfdClfc3RvcmFnZVBy
b2Nlc3NJZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEu
MykpOwogCiAvLyBUZXN0IG9ubHkuCiAtIChzaXplX3QpX3dlYlByb2Nlc3NDb3VudCBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7Ci0tIChzaXplX3QpX3BsdWdpblBy
b2Nlc3NDb3VudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy0gKHNpemVfdClfcGx1Z2luUHJvY2Vzc0NvdW50IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogLSAoc2l6ZV90KV9zZXJ2aWNlV29ya2VyUHJv
Y2Vzc0NvdW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogLSAodm9pZClfc3luY05ldHdvcmtQcm9jZXNzQ29va2llcyBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAKIC8vIFRlc3Qgb25seS4gUmV0dXJucyB3
ZWIgcHJvY2Vzc2VzIHJ1bm5pbmcgd2ViIHBhZ2VzIChkb2VzIG5vdCBpbmNsdWRlIHdlYiBwcm9j
ZXNzZXMgcnVubmluZyBzZXJ2aWNlIHdvcmtlcnMpCi0tIChzaXplX3QpX3dlYlBhZ2VDb250ZW50
UHJvY2Vzc0NvdW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOworLSAoc2l6ZV90KV93ZWJQYWdlQ29udGVudFByb2Nlc3NDb3VudCBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIAogLy8gVGVzdCBvbmx5LiBT
aG91bGQgYmUgY2FsbGVkIGJlZm9yZSBhbnkgd2ViIGNvbnRlbnQgcHJvY2Vzc2VzIGFyZSBsYXVu
Y2hlZC4KICsgKHZvaWQpX2ZvcmNlR2FtZUNvbnRyb2xsZXJGcmFtZXdvcmsgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCi0tICh2b2lkKV9wcmVjb25uZWN0VG9T
ZXJ2ZXI6KE5TVVJMICopc2VydmVyVVJMIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfcHJlY29ubmVjdFRvU2VydmVyOihOU1VS
TCAqKXNlcnZlclVSTCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMp
KTsKIAogLy8gVGVzdCBvbmx5LgotLSAodm9pZClfc2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGVG
b3JTZXJ2aWNlV29ya2VyOihCT09MKWFsbG93cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpX3JlZ2lzdGVyVVJMU2NoZW1lU2Vy
dmljZVdvcmtlcnNDYW5IYW5kbGU6KE5TU3RyaW5nICopc2NoZW1lIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfc2V0TWF4aW11
bU51bWJlck9mUHJvY2Vzc2VzOihOU1VJbnRlZ2VyKXZhbHVlIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfc2V0QWxsb3dzQW55
U1NMQ2VydGlmaWNhdGVGb3JTZXJ2aWNlV29ya2VyOihCT09MKWFsbG93cyBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKKy0gKHZvaWQpX3JlZ2lzdGVyVVJMU2No
ZW1lU2VydmljZVdvcmtlcnNDYW5IYW5kbGU6KE5TU3RyaW5nICopc2NoZW1lIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOworLSAodm9pZClfc2V0TWF4aW11bU51
bWJlck9mUHJvY2Vzc2VzOihOU1VJbnRlZ2VyKXZhbHVlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPV9p
c0Nvb2tpZVN0b3JhZ2VQYXJ0aXRpb25pbmdFbmFibGVkLCBzZXR0ZXI9X3NldENvb2tpZVN0b3Jh
Z2VQYXJ0aXRpb25pbmdFbmFibGVkOikgQk9PTCBfY29va2llU3RvcmFnZVBhcnRpdGlvbmluZ0Vu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyksIGlvcygxMC4zKSk7Ci1AcHJv
cGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPV9pc1N0b3JhZ2VBY2Nlc3NBUElFbmFibGVkLCBzZXR0
ZXI9X3NldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkOikgQk9PTCBfc3RvcmFnZUFjY2Vzc0FQSUVu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPV9pc1N0b3JhZ2VBY2Nlc3NBUElFbmFi
bGVkLCBzZXR0ZXI9X3NldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkOikgQk9PTCBfc3RvcmFnZUFj
Y2Vzc0FQSUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4z
KSk7CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
VUlEZWxlZ2F0ZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCShyZXZpc2lvbiAyMzAwOTUpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC01MCwzMCArNTAsMzAgQEAKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIF9XS0ZvY3VzRGlyZWN0aW9uKSB7CiAgICAgX1dLRm9jdXNEaXJlY3Rpb25CYWNrd2FyZCwK
ICAgICBfV0tGb2N1c0RpcmVjdGlvbkZvcndhcmQsCi19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogCiB0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBdXRvcGxheUV2ZW50KSB7CiAgICAgX1dLQXV0
b3BsYXlFdmVudERpZFByZXZlbnRGcm9tQXV0b3BsYXlpbmcsCiAgICAgX1dLQXV0b3BsYXlFdmVu
dERpZFBsYXlNZWRpYVByZXZlbnRlZEZyb21BdXRvcGxheWluZywKICAgICBfV0tBdXRvcGxheUV2
ZW50RGlkQXV0b3BsYXlNZWRpYVBhc3RUaHJlc2hvbGRXaXRob3V0VXNlckludGVyZmVyZW5jZSwK
ICAgICBfV0tBdXRvcGxheUV2ZW50VXNlckRpZEludGVyZmVyZVdpdGhQbGF5YmFjaywKLX0gV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworfSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMy40KSk7CiAKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS1Jlc291cmNl
TGltaXQpIHsKICAgICBfV0tSZXNvdXJjZUxpbWl0TWVtb3J5LAogICAgIF9XS1Jlc291cmNlTGlt
aXRDUFUsCi19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKK30gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogCiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBfV0tQbHVnSW5VbmF2YWlsYWJpbGl0eVJlYXNvbikgewogICAgIF9XS1BsdWdJblVuYXZhaWxh
YmlsaXR5UmVhc29uUGx1Z2luTWlzc2luZywKICAgICBfV0tQbHVnSW5VbmF2YWlsYWJpbGl0eVJl
YXNvblBsdWdpbkNyYXNoZWQsCiAgICAgX1dLUGx1Z0luVW5hdmFpbGFiaWxpdHlSZWFzb25JbnNl
Y3VyZVBsdWdpblZlcnNpb24KLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkp
OworfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CiAKIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBfV0tBdXRvcGxheUV2ZW50RmxhZ3MpIHsKICAgICBfV0tBdXRvcGxh
eUV2ZW50RmxhZ3NOb25lID0gMCwKICAgICBfV0tBdXRvcGxheUV2ZW50RmxhZ3NIYXNBdWRpbyA9
IDEgPDwgMCwKLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworfSBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CiAjZW5kaWYKIAogQHByb3RvY29sIFdLVUlE
ZWxlZ2F0ZVByaXZhdGUgPFdLVUlEZWxlZ2F0ZT4KQEAgLTEwNSwxMyArMTA1LDEzIEBAIHN0cnVj
dCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IG1l
ZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlOihfV0tNZWRpYUNhcHR1cmVTdGF0ZSlzdGF0ZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CiAtIChXS0RyYWdEZXN0aW5h
dGlvbkFjdGlvbilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkcmFnRGVzdGluYXRpb25B
Y3Rpb25NYXNrRm9yRHJhZ2dpbmdJbmZvOihpZClkcmFnZ2luZ0luZm8gV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZp
Z3VyYXRpb24gKiljb25maWd1cmF0aW9uIGZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlv
bkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gd2luZG93RmVhdHVyZXM6KFdLV2luZG93RmVhdHVy
ZXMgKil3aW5kb3dGZWF0dXJlcyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoV0tXZWJWaWV3
ICp3ZWJWaWV3KSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MyksIGlvcygxMS4wKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJl
cXVlc3RHZW9sb2NhdGlvblBlcm1pc3Npb25Gb3JGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBk
ZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgYWxsb3dlZCkpZGVjaXNpb25IYW5kbGVyIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAo
dm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZXF1ZXN0R2VvbG9jYXRpb25QZXJt
aXNzaW9uRm9yRnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lk
ICheKShCT09MIGFsbG93ZWQpKWRlY2lzaW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIAogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVzc2FnZTooTlNTdHJpbmcg
KiltZXNzYWdlIGluaXRpYXRlZEJ5RnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWUgY29tcGxldGlv
bkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wgcmVzdWx0KSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7Ci0tICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGVkaXRvclN0YXRlRGlkQ2hhbmdlOihOU0RpY3Rpb25hcnkgKill
ZGl0b3JTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZWRpdG9yU3Rh
dGVEaWRDaGFuZ2U6KE5TRGljdGlvbmFyeSAqKWVkaXRvclN0YXRlIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCi0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZFJlbW92ZUF0dGFjaG1lbnQ6KF9XS0F0dGFjaG1lbnQgKilhdHRhY2ht
ZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRJbnNlcnRBdHRhY2ht
ZW50OihfV0tBdHRhY2htZW50ICopYXR0YWNobWVudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgZGlkUmVtb3ZlQXR0YWNobWVudDooX1dLQXR0YWNobWVudCAqKWF0dGFjaG1l
bnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CistICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZEluc2VydEF0dGFjaG1lbnQ6KF9XS0F0
dGFjaG1lbnQgKilhdHRhY2htZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBp
b3MoMTEuMykpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRJbnNl
cnRBdHRhY2htZW50OihfV0tBdHRhY2htZW50ICopYXR0YWNobWVudCB3aXRoU291cmNlOihOU1N0
cmluZyAqKXNvdXJjZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKQEAgLTE1NCwzMCArMTU0LDMwIEBA
IHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAjZW5kaWYKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgZGlkQ2hhbmdlU2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZEluc2V0czoo
Qk9PTClzYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRzIFdLX0FQSV9BVkFJTEFCTEUo
aW9zKDExLjApKTsKICNlbHNlIC8vIFRBUkdFVF9PU19JUEhPTkUKLS0gKHZvaWQpX3ByZXBhcmVG
b3JJbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Gb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX2NhbmNlbElt
bWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkZvcldlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAodm9pZClfY29tcGxldGVJbW1l
ZGlhdGVBY3Rpb25BbmltYXRpb25Gb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX3Nob3dXZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsK
LS0gKHZvaWQpX2ZvY3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lkKV91bmZvY3VzV2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2
b2lkKV93ZWJWaWV3RGlkU2Nyb2xsOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX3dlYlZpZXdSdW5Nb2RhbDooV0tXZWJW
aWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2
b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRha2VGb2N1czooX1dLRm9jdXNEaXJl
Y3Rpb24pZGlyZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkTm90SGFuZGxlV2hlZWxFdmVu
dDooTlNFdmVudCAqKWV2ZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsK
LS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaGFuZGxlQXV0b3BsYXlFdmVu
dDooX1dLQXV0b3BsYXlFdmVudClldmVudCB3aXRoRmxhZ3M6KF9XS0F1dG9wbGF5RXZlbnRGbGFn
cylmbGFncyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZENsaWNrQXV0b0ZpbGxCdXR0b25XaXRoVXNl
ckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8gV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSkpOwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBn
ZXRUb29sYmFyc0FyZVZpc2libGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikoQk9PTCkp
Y29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwot
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzYXZlRGF0YVRvRmlsZTooTlNE
YXRhICopZGF0YSBzdWdnZXN0ZWRGaWxlbmFtZTooTlNTdHJpbmcgKilzdWdnZXN0ZWRGaWxlbmFt
ZSBtaW1lVHlwZTooTlNTdHJpbmcgKiltaW1lVHlwZSBvcmlnaW5hdGluZ1VSTDooTlNVUkwgKil1
cmwgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAoQ0dGbG9hdClfd2Vi
Vmlld0hlYWRlckhlaWdodDooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSk7Ci0tIChDR0Zsb2F0KV93ZWJWaWV3Rm9vdGVySGVpZ2h0OihXS1dl
YlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZHJhd0hlYWRlckluUmVjdDooQ0dS
ZWN0KXJlY3QgZm9yUGFnZVdpdGhUaXRsZTooTlNTdHJpbmcgKil0aXRsZSBVUkw6KE5TVVJMICop
dXJsIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZHJhd0Zvb3RlckluUmVjdDooQ0dSZWN0KXJlY3QgZm9y
UGFnZVdpdGhUaXRsZTooTlNTdHJpbmcgKil0aXRsZSBVUkw6KE5TVVJMICopdXJsIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgcmVxdWVzdE5vdGlmaWNhdGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdp
bjooV0tTZWN1cml0eU9yaWdpbiAqKXNlY3VyaXR5T3JpZ2luIGRlY2lzaW9uSGFuZGxlcjoodm9p
ZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpKTsKKy0gKHZvaWQpX3ByZXBhcmVGb3JJbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Gb3JX
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
LjQpKTsKKy0gKHZvaWQpX2NhbmNlbEltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkZvcldlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwor
LSAodm9pZClfY29tcGxldGVJbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Gb3JXZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZv
aWQpX3Nob3dXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX2ZvY3VzV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CistICh2b2lkKV91bmZvY3VzV2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSk7CistICh2b2lkKV93ZWJWaWV3RGlkU2Nyb2xsOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX3dlYlZpZXdSdW5Nb2RhbDoo
V0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7Cist
ICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHRha2VGb2N1czooX1dLRm9jdXNE
aXJlY3Rpb24pZGlyZWN0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkTm90SGFuZGxlV2hlZWxFdmVu
dDooTlNFdmVudCAqKWV2ZW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaGFuZGxlQXV0b3BsYXlFdmVudDoo
X1dLQXV0b3BsYXlFdmVudClldmVudCB3aXRoRmxhZ3M6KF9XS0F1dG9wbGF5RXZlbnRGbGFncylm
bGFncyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CistICh2b2lkKV93ZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZENsaWNrQXV0b0ZpbGxCdXR0b25XaXRoVXNlckluZm86
KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMuNCkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBnZXRUb29sYmFy
c0FyZVZpc2libGVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikoQk9PTCkpY29tcGxldGlv
bkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClfd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzYXZlRGF0YVRvRmlsZTooTlNEYXRhICopZGF0YSBz
dWdnZXN0ZWRGaWxlbmFtZTooTlNTdHJpbmcgKilzdWdnZXN0ZWRGaWxlbmFtZSBtaW1lVHlwZToo
TlNTdHJpbmcgKiltaW1lVHlwZSBvcmlnaW5hdGluZ1VSTDooTlNVUkwgKil1cmwgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAoQ0dGbG9hdClfd2ViVmlld0hlYWRlckhlaWdo
dDooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7
CistIChDR0Zsb2F0KV93ZWJWaWV3Rm9vdGVySGVpZ2h0OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgZHJhd0hlYWRlckluUmVjdDooQ0dSZWN0KXJlY3QgZm9yUGFnZVdpdGhU
aXRsZTooTlNTdHJpbmcgKil0aXRsZSBVUkw6KE5TVVJMICopdXJsIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
ZHJhd0Zvb3RlckluUmVjdDooQ0dSZWN0KXJlY3QgZm9yUGFnZVdpdGhUaXRsZTooTlNTdHJpbmcg
Kil0aXRsZSBVUkw6KE5TVVJMICopdXJsIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQp
KTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdE5vdGlmaWNh
dGlvblBlcm1pc3Npb25Gb3JTZWN1cml0eU9yaWdpbjooV0tTZWN1cml0eU9yaWdpbiAqKXNlY3Vy
aXR5T3JpZ2luIGRlY2lzaW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpZGVjaXNpb25IYW5kbGVy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYnZpZXcgbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQ6KF9XS0hpdFRlc3RSZXN1
bHQgKiloaXRUZXN0UmVzdWx0IHdpdGhGbGFnczooTlNFdmVudE1vZGlmaWVyRmxhZ3MpZmxhZ3Mg
dXNlckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm87Ci0tICh2b2lkKV93ZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZEV4Y2VlZEJhY2tncm91bmRSZXNvdXJjZUxpbWl0V2hp
bGVJbkZvcmVncm91bmQ6KF9XS1Jlc291cmNlTGltaXQpbGltaXQgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSkpOwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBzZXRSZXNpemFibGU6KEJPT0wpaXNSZXNpemFibGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSkpOwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBnZXRX
aW5kb3dGcmFtZVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQ0dSZWN0KSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNldFdpbmRvd0ZyYW1lOihDR1JlY3QpZnJh
bWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRFeGNlZWRCYWNrZ3JvdW5kUmVzb3VyY2VMaW1pdFdo
aWxlSW5Gb3JlZ3JvdW5kOihfV0tSZXNvdXJjZUxpbWl0KWxpbWl0IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
c2V0UmVzaXphYmxlOihCT09MKWlzUmVzaXphYmxlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEzLjQpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZ2V0V2luZG93
RnJhbWVXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKENHUmVjdCkpY29tcGxldGlvbkhh
bmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBzZXRXaW5kb3dGcmFtZTooQ0dSZWN0KWZyYW1lIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgdW5hdmFpbGFibGVQbHVnSW5CdXR0b25DbGlja2VkV2l0aFJlYXNvbjooX1dL
UGx1Z0luVW5hdmFpbGFiaWxpdHlSZWFzb24pcmVhc29uIHBsdWdJbkluZm86KE5TRGljdGlvbmFy
eSAqKXBsdWdJbkluZm87CiAtIChOU01lbnUgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBjb250ZXh0TWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50OihfV0tDb250ZXh0TWVudUVs
ZW1lbnRJbmZvICopZWxlbWVudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwogLSAo
TlNNZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4dE1lbnU6KE5TTWVu
dSAqKW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVsZW1lbnQg
dXNlckluZm86KGlkIDxOU1NlY3VyZUNvZGluZz4pdXNlckluZm8gV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1ZpZXdQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTMxLDE0ICsxMzEsMTQgQEAKIAogLSAodm9pZClfZ2VzdHVyZUV2ZW50V2FzTm90SGFuZGxlZEJ5
V2ViQ29yZTooTlNFdmVudCAqKWV2ZW50OwogCi0tICh2b2lkKV9zZXRTaG91bGRTdXBwcmVzc0Zp
cnN0UmVzcG9uZGVyQ2hhbmdlczooQk9PTClzaG91bGRTdXBwcmVzcyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV9zZXRTaG91bGRTdXBwcmVzc0ZpcnN0UmVz
cG9uZGVyQ2hhbmdlczooQk9PTClzaG91bGRTdXBwcmVzcyBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMy40KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1f
c2V0V2FudHNNZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3OikgQk9PTCBfd2FudHNNZWRpYVBsYXli
YWNrQ29udHJvbHNWaWV3OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSAgaWQgX21l
ZGlhUGxheWJhY2tDb250cm9sc1ZpZXc7CiAtICh2b2lkKV9hZGRNZWRpYVBsYXliYWNrQ29udHJv
bHNWaWV3OihpZCltZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3OwogLSAodm9pZClfcmVtb3ZlTWVk
aWFQbGF5YmFja0NvbnRyb2xzVmlldzsKIAotLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRp
b25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRl
Oih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
My40KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0VXNl
U3lzdGVtQXBwZWFyYW5jZTopIEJPT0wgX3VzZVN5c3RlbUFwcGVhcmFuY2UgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDcgKzY5LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0RyYWdMaWZ0
RAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QXBwbGVQYXlFbmFibGVkOikgQk9P
TCBfYXBwbGVQYXlFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEw
LjApKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFdhaXRzRm9yUGFpbnRBZnRl
clZpZXdEaWRNb3ZlVG9XaW5kb3c6KSBCT09MIF93YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92
ZVRvV2luZG93IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbjos
IGdldHRlcj1faXNDb250cm9sbGVkQnlBdXRvbWF0aW9uKSBCT09MIF9jb250cm9sbGVkQnlBdXRv
bWF0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwotQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QXBwbGljYXRpb25NYW5pZmVzdDopIF9XS0Fw
cGxpY2F0aW9uTWFuaWZlc3QgKl9hcHBsaWNhdGlvbk1hbmlmZXN0IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0QXBwbGljYXRpb25NYW5pZmVzdDopIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3QgKl9hcHBsaWNhdGlvbk1hbmlmZXN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQp
LCBpb3MoMTEuMykpOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0QWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5OikgQk9PTCBfYWx3
YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDlfMCkpOwpA
QCAtODMsOCArODMsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLRHJhZ0xpZnRE
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVk
OikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMikpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SW1hZ2VDb250cm9sc0Vu
YWJsZWQ6KSBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMikpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRS
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVxdWly
ZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMikpOwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9z
ZXRDUFVMaW1pdDopIGRvdWJsZSBfY3B1TGltaXQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRQ
YWdlR3JvdXA6KSBXS1BhZ2VHcm91cFJlZiBfcGFnZUdyb3VwIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRl
cj1fc2V0Q1BVTGltaXQ6KSBkb3VibGUgX2NwdUxpbWl0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0
UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMy40KSk7CiAjZW5kaWYKIAogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZywg
c2V0dGVyPV9zZXRXZWJzaXRlRGF0YVN0b3JlOikgX1dLV2Vic2l0ZURhdGFTdG9yZSAqX3dlYnNp
dGVEYXRhU3RvcmUgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2Vic2l0ZURh
dGFTdG9yZSIsIG1hY29zeCgxMC4xMCwgMTAuMTEpLCBpb3MoOC4wLCA5LjApKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCB0
eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkCiAgICAgX1dLUmVjdEVkZ2VS
aWdodCA9IDEgPDwgQ0dSZWN0TWF4WEVkZ2UsCiAgICAgX1dLUmVjdEVkZ2VCb3R0b20gPSAxIDw8
IENHUmVjdE1heFlFZGdlLAogICAgIF9XS1JlY3RFZGdlQWxsID0gX1dLUmVjdEVkZ2VMZWZ0IHwg
X1dLUmVjdEVkZ2VUb3AgfCBfV0tSZWN0RWRnZVJpZ2h0IHwgX1dLUmVjdEVkZ2VCb3R0b20sCi19
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKK30gV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMuNCkpOwogCiAjZW5kaWYKIApAQCAtMTM2LDcgKzEzNiw3IEBAIHR5cGVk
ZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWQKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgTlNTdHJpbmcgKl9NSU1FVHlwZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgTlNTdHJpbmcgKl91c2VyQWdlbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTEpLCBpb3MoOS4wKSk7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVy
PV9pc1BsYXlpbmdBdWRpbykgQk9PTCBfcGxheWluZ0F1ZGlvIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5LCBnZXR0ZXI9X2lzUGxheWluZ0F1ZGlvKSBCT09MIF9wbGF5aW5nQXVkaW8gV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIEBwcm9wZXJ0eSAo
Y29weSwgc2V0dGVyPV9zZXRBcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQ6KSBOU1N0cmluZyAq
X2FwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudDsKIEBwcm9wZXJ0eSAoY29weSwgc2V0dGVyPV9z
ZXRDdXN0b21Vc2VyQWdlbnQ6KSBOU1N0cmluZyAqX2N1c3RvbVVzZXJBZ2VudDsKQEAgLTE3OCw5
ICsxNzgsOSBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkCiAKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFZpZXdTY2FsZTopIENHRmxvYXQgX3ZpZXdT
Y2FsZTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0QmFja2dyb3VuZEV4dGVu
ZHNCZXlvbmRQYWdlOikgQk9PTCBfYmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoOC4wKSk7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRCYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2U6KSBCT09MIF9iYWNr
Z3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2UgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCks
IGlvcyg4LjApKTsKIAotLSAoX1dLQXR0YWNobWVudCAqKV9pbnNlcnRBdHRhY2htZW50V2l0aEZp
bGVuYW1lOihOU1N0cmluZyAqKWZpbGVuYW1lIGNvbnRlbnRUeXBlOihOU1N0cmluZyAqKWNvbnRl
bnRUeXBlIGRhdGE6KE5TRGF0YSAqKWRhdGEgb3B0aW9uczooX1dLQXR0YWNobWVudERpc3BsYXlP
cHRpb25zICopb3B0aW9ucyBjb21wbGV0aW9uOih2b2lkKF4pKEJPT0wgc3VjY2VzcykpY29tcGxl
dGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CistIChfV0tBdHRhY2htZW50ICopX2luc2VydEF0dGFjaG1lbnRXaXRoRmlsZW5h
bWU6KE5TU3RyaW5nICopZmlsZW5hbWUgY29udGVudFR5cGU6KE5TU3RyaW5nICopY29udGVudFR5
cGUgZGF0YTooTlNEYXRhICopZGF0YSBvcHRpb25zOihfV0tBdHRhY2htZW50RGlzcGxheU9wdGlv
bnMgKilvcHRpb25zIGNvbXBsZXRpb246KHZvaWQoXikoQk9PTCBzdWNjZXNzKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIAog
I2lmIFRBUkdFVF9PU19JUEhPTkUKIC8vIERFUkVDQVRFRDogVGhlIHNldHRlcnMgb2YgdGhlIHRo
cmVlIGZvbGxvd2luZyBmdW5jdGlvbiBhcmUgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBvdmVycmlk
ZUxheW91dFBhcmFtZXRlcnMuCkBAIC0yNTYsOCArMjU2LDggQEAgdHlwZWRlZiBOU19PUFRJT05T
KE5TVUludGVnZXIsIF9XS1JlY3RFZAogCiAjZWxzZQogCi1AcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIF9XS1JlY3RFZGdlIF9waW5uZWRTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSdWJiZXJC
YW5kaW5nRW5hYmxlZDopIF9XS1JlY3RFZGdlIF9ydWJiZXJCYW5kaW5nRW5hYmxlZCBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHkpIF9XS1JlY3RFZGdlIF9waW5uZWRTdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSdWJiZXJCYW5kaW5n
RW5hYmxlZDopIF9XS1JlY3RFZGdlIF9ydWJiZXJCYW5kaW5nRW5hYmxlZCBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMy40KSk7CiAKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIE5TQ29sb3IgKl9w
YWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3I7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXREcmF3c0JhY2tncm91bmQ6KSBCT09MIF9kcmF3c0JhY2tncm91bmQ7CkBAIC0yODQsOCAr
Mjg0LDggQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1JlY3RFZAogLy8gb2Yg
dGhlIGNvbnRlbnQ7IHVzZSB0aGlzIHByb3BlcnR5IHRvIGZvcmNlIGl0IHRvIGxheSBvdXQgdG8g
dGhlIGhlaWdodCBvZiB0aGUgdmlldyBpbnN0ZWFkLgogQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0U2hvdWxkRXhwYW5kQ29udGVudFRvVmlld0hlaWdodEZvckF1dG9MYXlvdXQ6KSBC
T09MIF9zaG91bGRFeHBhbmRDb250ZW50VG9WaWV3SGVpZ2h0Rm9yQXV0b0xheW91dCBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRBbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcjopIEJPT0wgX2Fsd2F5c1Nob3dzSG9y
aXpvbnRhbFNjcm9sbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxl
cjopIEJPT0wgX2Fsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBbHdh
eXNTaG93c0hvcml6b250YWxTY3JvbGxlcjopIEJPT0wgX2Fsd2F5c1Nob3dzSG9yaXpvbnRhbFNj
cm9sbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldEFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcjopIEJPT0wgX2Fs
d2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSk7CiAKIC0gKE5TUHJpbnRPcGVyYXRpb24gKilfcHJpbnRPcGVyYXRpb25XaXRoUHJpbnRJbmZv
OihOU1ByaW50SW5mbyAqKXByaW50SW5mbzsKIC0gKE5TUHJpbnRPcGVyYXRpb24gKilfcHJpbnRP
cGVyYXRpb25XaXRoUHJpbnRJbmZvOihOU1ByaW50SW5mbyAqKXByaW50SW5mbyBmb3JGcmFtZToo
X1dLRnJhbWVIYW5kbGUgKilmcmFtZUhhbmRsZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MiksIGlvcygxMC4wKSk7CkBAIC0yOTgsMTEgKzI5OCwxMSBAQCB0eXBlZGVmIE5TX09QVElPTlMo
TlNVSW50ZWdlciwgX1dLUmVjdEVkCiAKIC0gKHZvaWQpX3ByZXBhcmVGb3JNb3ZlVG9XaW5kb3c6
KE5TV2luZG93ICopdGFyZ2V0V2luZG93IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKHZvaWQp
KWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSk7CiAKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE92ZXJsYXlTY3JvbGxiYXJTdHlsZTopIF9X
S092ZXJsYXlTY3JvbGxiYXJTdHlsZSBfb3ZlcmxheVNjcm9sbGJhclN0eWxlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAoc3Ryb25nLCBub25hdG9taWMs
IHNldHRlcj1fc2V0SW5zcGVjdG9yQXR0YWNobWVudFZpZXc6KSBOU1ZpZXcgKl9pbnNwZWN0b3JB
dHRhY2htZW50VmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRPdmVybGF5U2Nyb2xsYmFyU3R5bGU6KSBfV0tP
dmVybGF5U2Nyb2xsYmFyU3R5bGUgX292ZXJsYXlTY3JvbGxiYXJTdHlsZSBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKHN0cm9uZywgbm9uYXRvbWljLCBzZXR0
ZXI9X3NldEluc3BlY3RvckF0dGFjaG1lbnRWaWV3OikgTlNWaWV3ICpfaW5zcGVjdG9yQXR0YWNo
bWVudFZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogCi1AcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRUaHVtYm5haWxWaWV3OikgX1dLVGh1bWJuYWlsVmlldyAq
X3RodW1ibmFpbFZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SWdub3Jlc0FsbEV2ZW50czopIEJPT0wgX2ln
bm9yZXNBbGxFdmVudHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0VGh1bWJuYWlsVmlldzopIF9XS1RodW1ibmFp
bFZpZXcgKl90aHVtYm5haWxWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldElnbm9yZXNBbGxFdmVudHM6KSBCT09M
IF9pZ25vcmVzQWxsRXZlbnRzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKIAog
I2VuZGlmCiAKQEAgLTMxNSw3ICszMTUsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdl
ciwgX1dLUmVjdEVkCiAtICh2b2lkKV9nZXRXZWJBcmNoaXZlRGF0YVdpdGhDb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoTlNEYXRhICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXI7CiAt
ICh2b2lkKV9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KShOU1N0cmluZyAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAotLSAodm9pZClfZ2V0QXBwbGljYXRpb25N
YW5pZmVzdFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLQXBwbGljYXRpb25NYW5p
ZmVzdCAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX2dldEFwcGxpY2F0aW9uTWFuaWZlc3RX
aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgKikp
Y29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygx
MS4zKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBhZ2luYXRpb25Nb2Rl
OikgX1dLUGFnaW5hdGlvbk1vZGUgX3BhZ2luYXRpb25Nb2RlOwogLy8gV2hldGhlciB0aGUgY29s
dW1uLWJyZWFrLXtiZWZvcmUsYWZ0ZXJ9IHByb3BlcnRpZXMgYXJlIHJlc3BlY3RlZCBpbnN0ZWFk
IG9mIHRoZQpAQCAtNDA0LDMzICs0MDQsMzMgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVn
ZXIsIF9XS1JlY3RFZAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgX2Ry
YWdDYXJldFJlY3QgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTEuMCkpOwogCiAtICh2b2lkKV9yZXF1
ZXN0QWN0aXZhdGVkRWxlbWVudEF0UG9zaXRpb246KENHUG9pbnQpcG9zaXRpb24gY29tcGxldGlv
bkJsb2NrOih2b2lkICheKShfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKSlibG9jayBXS19BUElf
QVZBSUxBQkxFKGlvcygxMS4wKSk7Ci0tICh2b2lkKV9hY2Nlc3NpYmlsaXR5UmV0cmlldmVSZWN0
c0F0U2VsZWN0aW9uT2Zmc2V0OihOU0ludGVnZXIpb2Zmc2V0IHdpdGhUZXh0OihOU1N0cmluZyAq
KXRleHQgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TQXJyYXk8TlNWYWx1ZSAqPiAqcmVj
dHMpKWNvbXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsK
LS0gKHZvaWQpX2FjY2Vzc2liaWxpdHlTdG9yZVNlbGVjdGlvbiBXS19BUElfQVZBSUxBQkxFKGlv
cyhXS19JT1NfVEJBKSk7Ci0tICh2b2lkKV9hY2Nlc3NpYmlsaXR5Q2xlYXJTZWxlY3Rpb24gV0tf
QVBJX0FWQUlMQUJMRShpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfYWNjZXNzaWJpbGl0eVJl
dHJpZXZlUmVjdHNBdFNlbGVjdGlvbk9mZnNldDooTlNJbnRlZ2VyKW9mZnNldCB3aXRoVGV4dDoo
TlNTdHJpbmcgKil0ZXh0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5PE5TVmFs
dWUgKj4gKnJlY3RzKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4z
KSk7CistICh2b2lkKV9hY2Nlc3NpYmlsaXR5U3RvcmVTZWxlY3Rpb24gV0tfQVBJX0FWQUlMQUJM
RShpb3MoMTEuMykpOworLSAodm9pZClfYWNjZXNzaWJpbGl0eUNsZWFyU2VsZWN0aW9uIFdLX0FQ
SV9BVkFJTEFCTEUoaW9zKDExLjMpKTsKIAogI2Vsc2UKLS0gKHZvaWQpX2Rpc21pc3NDb250ZW50
UmVsYXRpdmVDaGlsZFdpbmRvd3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkp
OwotLSAodm9pZClfc2V0RnJhbWU6KE5TUmVjdClyZWN0IGFuZFNjcm9sbEJ5OihOU1NpemUpb2Zm
c2V0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX2JlZ2lu
RGVmZXJyaW5nVmlld0luV2luZG93Q2hhbmdlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSk7Ci0tICh2b2lkKV9lbmREZWZlcnJpbmdWaWV3SW5XaW5kb3dDaGFuZ2VzIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX2VuZERlZmVycmluZ1Zp
ZXdJbldpbmRvd0NoYW5nZXNTeW5jIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
KTsKLS0gKHZvaWQpX2dlc3R1cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmU6KE5TRXZlbnQg
KilldmVudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lkKV9z
ZXRDdXN0b21Td2lwZVZpZXdzOihOU0FycmF5ICopY3VzdG9tU3dpcGVWaWV3cyBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0tICh2b2lkKV9zZXRDdXN0b21Td2lwZVZpZXdz
VG9wQ29udGVudEluc2V0OihmbG9hdCl0b3BDb250ZW50SW5zZXQgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSkpOwotLSAoTlNWaWV3ICopX2Z1bGxTY3JlZW5QbGFjZWhvbGRlclZp
ZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAoTlNXaW5kb3cgKilf
ZnVsbFNjcmVlbldpbmRvdyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7Ci0t
ICh2b2lkKV9kaXNhYmxlRnJhbWVTaXplVXBkYXRlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSk7Ci0tICh2b2lkKV9lbmFibGVGcmFtZVNpemVVcGRhdGVzIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX3ByZXBhcmVGb3JJbW1lZGlhdGVB
Y3Rpb25BbmltYXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAo
dm9pZClfY2FuY2VsSW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX2NvbXBsZXRlSW1tZWRpYXRlQWN0aW9uQW5pbWF0
aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKEJPT0wpX2NhbkNo
YW5nZUZyYW1lTGF5b3V0OihfV0tGcmFtZUhhbmRsZSAqKWZyYW1lSGFuZGxlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKEJPT0wpX3RyeVRvU3dpcGVXaXRoRXZlbnQ6
KE5TRXZlbnQgKilldmVudCBpZ25vcmluZ1Bpbm5lZFN0YXRlOihCT09MKWlnbm9yaW5nUGlubmVk
U3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAodm9pZClfc2V0
RGlkTW92ZVN3aXBlU25hcHNob3RDYWxsYmFjazoodm9pZCheKShDR1JlY3QpKWNhbGxiYWNrIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldFRvdGFsSGVpZ2h0T2ZCYW5uZXJzOikgQ0dGbG9hdCBfdG90YWxIZWlnaHRP
ZkJhbm5lcnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotQHByb3BlcnR5
IChub25hdG9taWMsIGNvcHksIHNldHRlcj1fc2V0VW5kZXJsYXlDb2xvcjopIE5TQ29sb3IgKl91
bmRlcmxheUNvbG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLUBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0SWdub3Jlc05vbldoZWVsRXZl
bnRzOikgQk9PTCBfaWdub3Jlc05vbldoZWVsRXZlbnRzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tQYWdlUmVm
IF9wYWdlUmVmRm9yVHJhbnNpdGlvblRvV0tXZWJWaWV3ICBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSk7CistICh2b2lkKV9kaXNtaXNzQ29udGVudFJlbGF0aXZlQ2hpbGRXaW5k
b3dzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX3NldEZyYW1l
OihOU1JlY3QpcmVjdCBhbmRTY3JvbGxCeTooTlNTaXplKW9mZnNldCBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMy40KSk7CistICh2b2lkKV9iZWdpbkRlZmVycmluZ1ZpZXdJbldpbmRvd0No
YW5nZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClfZW5kRGVm
ZXJyaW5nVmlld0luV2luZG93Q2hhbmdlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSk7CistICh2b2lkKV9lbmREZWZlcnJpbmdWaWV3SW5XaW5kb3dDaGFuZ2VzU3luYyBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CistICh2b2lkKV9nZXN0dXJlRXZlbnRXYXNOb3RI
YW5kbGVkQnlXZWJDb3JlOihOU0V2ZW50ICopZXZlbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTMuNCkpOworLSAodm9pZClfc2V0Q3VzdG9tU3dpcGVWaWV3czooTlNBcnJheSAqKWN1c3Rv
bVN3aXBlVmlld3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClf
c2V0Q3VzdG9tU3dpcGVWaWV3c1RvcENvbnRlbnRJbnNldDooZmxvYXQpdG9wQ29udGVudEluc2V0
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0gKE5TVmlldyAqKV9mdWxsU2Ny
ZWVuUGxhY2Vob2xkZXJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0g
KE5TV2luZG93ICopX2Z1bGxTY3JlZW5XaW5kb3cgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMuNCkpOworLSAodm9pZClfZGlzYWJsZUZyYW1lU2l6ZVVwZGF0ZXMgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMuNCkpOworLSAodm9pZClfZW5hYmxlRnJhbWVTaXplVXBkYXRlcyBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CistICh2b2lkKV9wcmVwYXJlRm9ySW1tZWRp
YXRlQWN0aW9uQW5pbWF0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0g
KHZvaWQpX2NhbmNlbEltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbiBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMy40KSk7CistICh2b2lkKV9jb21wbGV0ZUltbWVkaWF0ZUFjdGlvbkFuaW1hdGlv
biBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CistIChCT09MKV9jYW5DaGFuZ2VG
cmFtZUxheW91dDooX1dLRnJhbWVIYW5kbGUgKilmcmFtZUhhbmRsZSBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMy40KSk7CistIChCT09MKV90cnlUb1N3aXBlV2l0aEV2ZW50OihOU0V2ZW50
ICopZXZlbnQgaWdub3JpbmdQaW5uZWRTdGF0ZTooQk9PTClpZ25vcmluZ1Bpbm5lZFN0YXRlIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKKy0gKHZvaWQpX3NldERpZE1vdmVTd2lw
ZVNuYXBzaG90Q2FsbGJhY2s6KHZvaWQoXikoQ0dSZWN0KSljYWxsYmFjayBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRU
b3RhbEhlaWdodE9mQmFubmVyczopIENHRmxvYXQgX3RvdGFsSGVpZ2h0T2ZCYW5uZXJzIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
LCBzZXR0ZXI9X3NldFVuZGVybGF5Q29sb3I6KSBOU0NvbG9yICpfdW5kZXJsYXlDb2xvciBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZHdyaXRlLCBzZXR0ZXI9X3NldElnbm9yZXNOb25XaGVlbEV2ZW50czopIEJPT0wgX2lnbm9yZXNO
b25XaGVlbEV2ZW50cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSk7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLUGFnZVJlZiBfcGFnZVJlZkZvclRyYW5zaXRpb25U
b1dLV2ViVmlldyAgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCkpOwogQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9oYXNBY3RpdmVWaWRlb0ZvckNvbnRyb2xzTWFu
YWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMikpOwogLSAodm9pZClfcmVxdWVzdENv
bnRyb2xsZWRFbGVtZW50SUQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMykpOwogLSAo
dm9pZClfaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlOihOU1N0cmluZyAqKWlkZW50
aWZpZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMykpOwpAQCAtNDQ3LDcgKzQ0Nyw3
IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWQKIC0gKHZvaWQpX3Nl
dEZvb3RlckJhbm5lckhlaWdodDooaW50KWhlaWdodCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMi4zKSk7CiAjZW5kaWYKIAotLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNz
aW9uSW5mbzoodm9pZCheKShCT09MLCBCT09MLCBOU1N0cmluZyosIGRvdWJsZSwgZG91YmxlLCBO
U0ludGVnZXIpKWNhbGxiYWNrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9u
SW5mbzoodm9pZCheKShCT09MLCBCT09MLCBOU1N0cmluZyosIGRvdWJsZSwgZG91YmxlLCBOU0lu
dGVnZXIpKWNhbGxiYWNrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEu
MykpOwogCiAtICh2b2lkKV9zZXRQYWdlU2NhbGU6KENHRmxvYXQpc2NhbGUgd2l0aE9yaWdpbjoo
Q0dQb2ludClvcmlnaW4gV0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwogLSAoQ0dGbG9hdClf
cGFnZVNjYWxlIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjMpKTsKQEAgLTQ1Nyw3ICs0NTcsNyBA
QCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLUmVjdEVkCiAtICh2b2lkKV9kb0Fm
dGVyTmV4dFZpc2libGVDb250ZW50UmVjdFVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxv
Y2sgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogCiAtICh2b2lk
KV9kaXNhYmxlQmFja0ZvcndhcmRTbmFwc2hvdFZvbGF0aWxpdHlGb3JUZXN0aW5nIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwotLSAodm9pZClfZXhlY3V0ZUVk
aXRDb21tYW5kOihOU1N0cmluZyAqKWNvbW1hbmQgYXJndW1lbnQ6KE5TU3RyaW5nICopYXJndW1l
bnQgY29tcGxldGlvbjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbiBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX2V4ZWN1dGVF
ZGl0Q29tbWFuZDooTlNTdHJpbmcgKiljb21tYW5kIGFyZ3VtZW50OihOU1N0cmluZyAqKWFyZ3Vt
ZW50IGNvbXBsZXRpb246KHZvaWQgKF4pKEJPT0wpKWNvbXBsZXRpb24gV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIC0gKEJPT0wpX2JlZ2luQmFja1N3aXBl
Rm9yVGVzdGluZzsKIC0gKEJPT0wpX2NvbXBsZXRlQmFja1N3aXBlRm9yVGVzdGluZzsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhUmVjb3JkLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFSZWNvcmQuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFSZWNvcmQuaAkod29ya2luZyBjb3B5KQpAQCAtMzIs
NyArMzIsNyBAQAogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIAogLyohIEBjb25zdGFudCBXS1dl
YnNpdGVEYXRhVHlwZUZldGNoQ2FjaGUgT24tZGlzayBGZXRjaCBjYWNoZXMuICovCi1XS19FWFRF
Uk4gTlNTdHJpbmcgKiBjb25zdCBXS1dlYnNpdGVEYXRhVHlwZUZldGNoQ2FjaGUgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitXS19FWFRFUk4g
TlNTdHJpbmcgKiBjb25zdCBXS1dlYnNpdGVEYXRhVHlwZUZldGNoQ2FjaGUgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIC8qISBAY29uc3RhbnQgV0tXZWJz
aXRlRGF0YVR5cGVEaXNrQ2FjaGUgT24tZGlzayBjYWNoZXMuICovCiBXS19FWFRFUk4gTlNTdHJp
bmcgKiBjb25zdCBXS1dlYnNpdGVEYXRhVHlwZURpc2tDYWNoZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMSksIGlvcyg5LjApKTsKQEAgLTU5LDcgKzU5LDcgQEAgV0tfRVhURVJOIE5TU3Ry
aW5nICogY29uc3QgV0tXZWJzaXRlRGF0YQogV0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgV0tX
ZWJzaXRlRGF0YVR5cGVJbmRleGVkREJEYXRhYmFzZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
MTAuMTEpLCBpb3MoOS4wKSk7CiAKIC8qISBAY29uc3RhbnQgV0tXZWJzaXRlRGF0YVR5cGVTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9ucyBTZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zLiAqLwot
V0tfRVhURVJOIE5TU3RyaW5nICogY29uc3QgV0tXZWJzaXRlRGF0YVR5cGVTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKK1dLX0VYVEVSTiBOU1N0cmluZyAqIGNvbnN0IFdLV2Vic2l0ZURhdGFUeXBl
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMu
NCksIGlvcygxMS4zKSk7CiAKIC8qISBBIFdLV2Vic2l0ZURhdGFSZWNvcmQgcmVwcmVzZW50cyB3
ZWJzaXRlIGRhdGEsIGdyb3VwZWQgYnkgZG9tYWluIG5hbWUgdXNpbmcgdGhlIHB1YmxpYyBzdWZm
aXggbGlzdC4gKi8KIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOS4wKSkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3Rv
cmVQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTcgKzQ2LDE3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhO
U1VJbnRlZ2VyLCBfV0tXZWJzaXQKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQ6KSBCT09MIF9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVi
dWdNb2RlOikgQk9PTCBfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9kZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzZXR0ZXI9X3NldENhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhOikgTlNVSW50
ZWdlciBfY2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRDYWNoZVN0b3JhZ2VEaXJlY3Rvcnk6KSBOU1N0cmluZyogX2NhY2hlU3RvcmFnZURp
cmVjdG9yeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EaXJlY3Rvcnk6KSBOU1N0cmluZyogX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
aXJlY3RvcnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRDYWNoZVN0b3JhZ2VQZXJP
cmlnaW5RdW90YTopIE5TVUludGVnZXIgX2NhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOworQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0Q2FjaGVTdG9yYWdlRGlyZWN0b3J5OikgTlNTdHJpbmcqIF9jYWNo
ZVN0b3JhZ2VEaXJlY3RvcnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygx
MS4zKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5OikgTlNTdHJpbmcqIF9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGlyZWN0b3J5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwog
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRCb3VuZEludGVyZmFjZUlkZW50aWZp
ZXI6KSBOU1N0cmluZyAqX2JvdW5kSW50ZXJmYWNlSWRlbnRpZmllciBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldEFsbG93c0NlbGx1bGFyQWNjZXNzOikgQk9PTCBfYWxsb3dzQ2VsbHVs
YXJBY2Nlc3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRCb3VuZEludGVyZmFjZUlk
ZW50aWZpZXI6KSBOU1N0cmluZyAqX2JvdW5kSW50ZXJmYWNlSWRlbnRpZmllciBXS19BUElfQVZB
SUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldEFsbG93c0NlbGx1bGFyQWNjZXNzOikgQk9PTCBfYWxsb3dzQ2VsbHVsYXJB
Y2Nlc3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIC0g
KHZvaWQpX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NTZXRTaG91bGRTdWJtaXRUZWxlbWV0cnk6KEJP
T0wpdmFsdWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAo
dm9pZClfc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc1Rlc3RpbmdDYWxsYmFjazoobnVsbGFibGUg
dm9pZCAoXikoV0tXZWJzaXRlRGF0YVN0b3JlICosIE5TU3RyaW5nICopKWNhbGxiYWNrIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZvaWQpX2dldEFsbFN0
b3JhZ2VBY2Nlc3NFbnRyaWVzOih2b2lkICheKShOU0FycmF5PE5TU3RyaW5nICo+ICpkb21haW5z
KSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKLSsgKHZvaWQpX2FsbG93V2Vic2l0ZURhdGFSZWNvcmRzRm9yQWxs
T3JpZ2lucyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKysgKHZvaWQpX2FsbG93V2Vic2l0ZURhdGFSZWNvcmRzRm9yQWxsT3JpZ2lucyBXS19B
UElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIC0gKGJvb2wpX2hhc1Jl
Z2lzdGVyZWRTZXJ2aWNlV29ya2VyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
LCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmgJKHJl
dmlzaW9uIDIzMDA5NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
cHBsaWNhdGlvbk1hbmlmZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDkgKzM4LDkgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXBwbGljYXRpbwogICAgIF9XS0FwcGxpY2F0aW9u
TWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSSwKICAgICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
RGlzcGxheU1vZGVTdGFuZGFsb25lLAogICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5
TW9kZUZ1bGxTY3JlZW4sCi19IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOworfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9z
KDExLjMpKTsKIAotV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKQorV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMp
KQogQGludGVyZmFjZSBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IDogTlNPYmplY3QgPE5TU2VjdXJl
Q29kaW5nPgogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIG51bGxhYmxlLCBjb3B5
KSBOU1N0cmluZyAqbmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBdHRhY2htZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0F0dGFjaG1lbnQuaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F0dGFjaG1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzUsOSArMzUsOSBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBdHRhY2htZW50
CiAgICAgX1dLQXR0YWNobWVudERpc3BsYXlNb2RlQXV0byA9IDEsCiAgICAgX1dLQXR0YWNobWVu
dERpc3BsYXlNb2RlSW5QbGFjZSwKICAgICBfV0tBdHRhY2htZW50RGlzcGxheU1vZGVBc0ljb24K
LX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
Cit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCi1XS19D
TEFTU19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCitXS19D
TEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpCiBAaW50ZXJmYWNlIF9X
S0F0dGFjaG1lbnREaXNwbGF5T3B0aW9ucyA6IE5TT2JqZWN0CiBAcHJvcGVydHkgKG5vbmF0b21p
YykgX1dLQXR0YWNobWVudERpc3BsYXlNb2RlIG1vZGU7CiBAZW5kCkBAIC01MCw3ICs1MCw3IEBA
IFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGkKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSwgbnVsbGFibGUpIE5TRGF0YSAqZGF0YTsKIEBlbmQKIAotV0tfQ0xB
U1NfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQorV0tfQ0xB
U1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKQogQGludGVyZmFjZSBfV0tB
dHRhY2htZW50IDogTlNPYmplY3QKIC0gKHZvaWQpcmVxdWVzdEluZm86KHZvaWQoXikoX1dLQXR0
YWNobWVudEluZm8gKiBfTnVsbGFibGUsIE5TRXJyb3IgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25I
YW5kbGVyOwogLSAodm9pZClyZXF1ZXN0RGF0YToodm9pZCheKShOU0RhdGEgKiBfTnVsbGFibGUs
IE5TRXJyb3IgKiBfTnVsbGFibGUpKWNvbXBsZXRpb25IYW5kbGVyOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNz
aW9uLmgJKHJldmlzaW9uIDIzMDA5NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3
IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCB3ZWFrKSBpZCA8X1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZT4gZGVsZWdh
dGU7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1pc1BhaXJlZCkgQk9P
TCBwYWlyZWQ7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPWlzU2lt
dWxhdGluZ1VzZXJJbnRlcmFjdGlvbikgQk9PTCBzaW11bGF0aW5nVXNlckludGVyYWN0aW9uIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9aXNTaW11bGF0aW5nVXNlckludGVy
YWN0aW9uKSBCT09MIHNpbXVsYXRpbmdVc2VySW50ZXJhY3Rpb24gV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aENv
bmZpZ3VyYXRpb246KF9XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbiAqKWNvbmZpZ3Vy
YXRpb24gTlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKIApJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0
aW9uU2Vzc2lvbkNvbmZpZ3VyYXRpb24uaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uQ29uZmlndXJhdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIE5TX0FTU1VNRV9OT05OVUxM
X0JFR0lOCiAKLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpCitXS19DTEFT
U19BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpKQogQGludGVyZmFjZSBfV0tBdXRvbWF0aW9uU2Vz
c2lvbkNvbmZpZ3VyYXRpb24gOiBOU09iamVjdCA8TlNDb3B5aW5nPgogCiBAcHJvcGVydHkgKG5v
bmF0b21pYykgQk9PTCBhbGxvd3NJbnNlY3VyZU1lZGlhQ2FwdHVyZTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEb3dubG9hZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEb3dubG9hZC5oCShyZXZpc2lvbiAy
MzAwOTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRG93bmxvYWQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzgsOCArMzgsOCBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFj
b3N4KDEwLjEwKSwgaW9zKDguCiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNV
UkxSZXF1ZXN0ICpyZXF1ZXN0OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCB3ZWFr
KSBXS1dlYlZpZXcgKm9yaWdpbmF0aW5nV2ViVmlldzsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSwgY29weSkgTlNBcnJheTxOU1VSTCAqPiAqcmVkaXJlY3RDaGFpbiBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgQk9PTCB3YXNVc2VySW5pdGlhdGVkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU0FycmF5PE5TVVJMICo+ICpyZWRpcmVjdENoYWluIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHdhc1VzZXJJbml0aWF0ZWQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Rvd25sb2FkRGVsZWdhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRG93bmxvYWREZWxlZ2F0
ZS5oCShyZXZpc2lvbiAyMzAwOTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLRG93bmxvYWREZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxOSArMzQsMTkg
QEAKIEBwcm90b2NvbCBfV0tEb3dubG9hZERlbGVnYXRlIDxOU09iamVjdD4KIEBvcHRpb25hbAog
LSAodm9pZClfZG93bmxvYWREaWRTdGFydDooX1dLRG93bmxvYWQgKilkb3dubG9hZDsKLS0gKHZv
aWQpX2Rvd25sb2FkOihfV0tEb3dubG9hZCAqKWRvd25sb2FkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdFRvVVJMOihOU1VSTCAqKXVybCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX2Rvd25sb2FkOihfV0tEb3dubG9hZCAqKWRv
d25sb2FkIGRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdFRvVVJMOihOU1VSTCAqKXVybCBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIC0gKHZvaWQpX2Rvd25sb2Fk
OihfV0tEb3dubG9hZCAqKWRvd25sb2FkIGRpZFJlY2VpdmVSZXNwb25zZTooTlNVUkxSZXNwb25z
ZSAqKXJlc3BvbnNlOwogLSAodm9pZClfZG93bmxvYWQ6KF9XS0Rvd25sb2FkICopZG93bmxvYWQg
ZGlkUmVjZWl2ZURhdGE6KHVpbnQ2NF90KWxlbmd0aDsKIC0gKHZvaWQpX2Rvd25sb2FkOihfV0tE
b3dubG9hZCAqKWRvd25sb2FkIGRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1l
OihOU1N0cmluZyAqKWZpbGVuYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MIGFs
bG93T3ZlcndyaXRlLCBOU1N0cmluZyAqZGVzdGluYXRpb24pKWNvbXBsZXRpb25IYW5kbGVyOwog
LSAodm9pZClfZG93bmxvYWREaWRGaW5pc2g6KF9XS0Rvd25sb2FkICopZG93bmxvYWQ7CiAtICh2
b2lkKV9kb3dubG9hZDooX1dLRG93bmxvYWQgKilkb3dubG9hZCBkaWRGYWlsV2l0aEVycm9yOihO
U0Vycm9yICopZXJyb3I7CiAtICh2b2lkKV9kb3dubG9hZERpZENhbmNlbDooX1dLRG93bmxvYWQg
Kilkb3dubG9hZDsKLS0gKHZvaWQpX2Rvd25sb2FkOihfV0tEb3dubG9hZCAqKWRvd25sb2FkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSAqKWNoYWxsZW5nZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNVUkxTZXNzaW9u
QXV0aENoYWxsZW5nZURpc3Bvc2l0aW9uLCBOU1VSTENyZWRlbnRpYWwqKSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKLS0gKHZvaWQpX2Rvd25sb2FkOihfV0tEb3dubG9hZCAqKWRvd25sb2FkIGRpZENyZWF0ZURl
c3RpbmF0aW9uOihOU1N0cmluZyAqKWRlc3RpbmF0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAodm9pZClfZG93bmxvYWRQcm9jZXNz
RGlkQ3Jhc2g6KF9XS0Rvd25sb2FkICopZG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0tIChCT09MKV9kb3dubG9hZDooX1dLRG93
bmxvYWQgKilkb3dubG9hZCBzaG91bGREZWNvZGVTb3VyY2VEYXRhT2ZNSU1FVHlwZTooTlNTdHJp
bmcgKilNSU1FVHlwZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKy0gKHZvaWQpX2Rvd25sb2FkOihfV0tEb3dubG9hZCAqKWRvd25sb2FkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSAqKWNoYWxsZW5nZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNVUkxTZXNzaW9u
QXV0aENoYWxsZW5nZURpc3Bvc2l0aW9uLCBOU1VSTENyZWRlbnRpYWwqKSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKKy0gKHZv
aWQpX2Rvd25sb2FkOihfV0tEb3dubG9hZCAqKWRvd25sb2FkIGRpZENyZWF0ZURlc3RpbmF0aW9u
OihOU1N0cmluZyAqKWRlc3RpbmF0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQp
LCBpb3MoMTEuMykpOworLSAodm9pZClfZG93bmxvYWRQcm9jZXNzRGlkQ3Jhc2g6KF9XS0Rvd25s
b2FkICopZG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4z
KSk7CistIChCT09MKV9kb3dubG9hZDooX1dLRG93bmxvYWQgKilkb3dubG9hZCBzaG91bGREZWNv
ZGVTb3VyY2VEYXRhT2ZNSU1FVHlwZTooTlNTdHJpbmcgKilNSU1FVHlwZSBXS19BUElfQVZBSUxB
QkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKIAotLSAoTlNTdHJpbmcgKilfZG93bmxv
YWQ6KF9XS0Rvd25sb2FkICopZG93bmxvYWQgZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVk
RmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUgYWxsb3dPdmVyd3JpdGU6KEJPT0wgKilhbGxv
d092ZXJ3cml0ZSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJfZG93bmxvYWQ6
ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWU6Y29tcGxldGlvbkhhbmRsZXI6
IiwgbWFjb3N4KDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOworLSAo
TlNTdHJpbmcgKilfZG93bmxvYWQ6KF9XS0Rvd25sb2FkICopZG93bmxvYWQgZGVjaWRlRGVzdGlu
YXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUgYWxsb3dPdmVy
d3JpdGU6KEJPT0wgKilhbGxvd092ZXJ3cml0ZSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExB
Q0VNRU5UKCJfZG93bmxvYWQ6ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWU6
Y29tcGxldGlvbkhhbmRsZXI6IiwgbWFjb3N4KDEwLjEwLCAxMC4xMy40KSwgaW9zKDguMCwgMTEu
MykpOwogQGVuZAogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tGb2N1c2VkRWxlbWVudEluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9jdXNlZEVsZW1lbnRJbmZvLmgJKHJldmlzaW9uIDIz
MDA5NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tGb2N1c2VkRWxl
bWVudEluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNyBAQCB0eXBlZGVmIE5TX0VO
VU0oTlNJbnRlZ2VyLCBXS0lucHV0VHlwZSkgCiAgKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSwgZ2V0dGVyPWlzVXNlckluaXRpYXRlZCkgQk9PTCB1c2VySW5pdGlhdGVkOwogCi1A
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4g
KnVzZXJPYmplY3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TT2JqZWN0IDxOU1Nl
Y3VyZUNvZGluZz4gKnVzZXJPYmplY3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCks
IGlvcygxMS4zKSk7CiAKIEBlbmQKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0Z1bGxzY3JlZW5EZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tGdWxsc2NyZWVuRGVsZWdhdGUuaAkocmV2aXNpb24g
MjMwMDk1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Z1bGxzY3Jl
ZW5EZWxlZ2F0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBXS19B
UElfRU5BQkxFRAogCi1XS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcyhXS19JT1Nf
VEJBKSkKK1dLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjMpKQogQHByb3Rv
Y29sIF9XS0Z1bGxzY3JlZW5EZWxlZ2F0ZSA8TlNPYmplY3Q+CiAKIEBvcHRpb25hbApJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaAkocmV2aXNpb24gMjMwMDk1KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNv
c3goMTAuMTApLCBpb3MoOC4KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGRpc2tDYWNoZVNw
ZWN1bGF0aXZlVmFsaWRhdGlvbkVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIp
LCBpb3MoMTAuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU1N0
cmluZyAqc291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwogQHByb3BlcnR5IChub25hdG9taWMsIG51bGxh
YmxlLCBjb3B5KSBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyLjMpLCBpb3MoMTAuMykpOwotQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MgV0tfQVBJX0RFUFJFQ0FURURf
V0lUSF9SRVBMQUNFTUVOVCgiV0tXZWJzaXRlRGF0YVN0b3JlLl9hbGxvd3NDZWxsdWxhckFjY2Vz
cyIsIG1hY29zeCgxMC4xMywgV0tfTUFDX1RCQSksIGlvcygxMS4wLCBXS19JT1NfVEJBKSk7CitA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhbGxvd3NDZWxsdWxhckFjY2VzcyBXS19BUElfREVQ
UkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJXS1dlYnNpdGVEYXRhU3RvcmUuX2FsbG93c0NlbGx1
bGFyQWNjZXNzIiwgbWFjb3N4KDEwLjEzLCAxMC4xMy40KSwgaW9zKDExLjAsIDExLjMpKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNob3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICpD
VERhdGFDb25uZWN0aW9uU2VydmljZVR5cGUgV0tfQVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwpJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3Bl
Y3RvclZpZXdDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLmgJKHJldmlz
aW9uIDIzMDA5NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tSZW1v
dGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICsz
Niw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIHR5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFdLUmVtb3RlV2ViSW5zcGVjdG9yRGVidWdnYWJsZVR5cGUpIHsKICAgICBXS1JlbW90ZVdl
Ykluc3BlY3RvckRlYnVnZ2FibGVUeXBlSmF2YVNjcmlwdCwKLSAgICBXS1JlbW90ZVdlYkluc3Bl
Y3RvckRlYnVnZ2FibGVUeXBlU2VydmljZVdvcmtlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKKyAgICBXS1JlbW90ZVdlYkluc3BlY3RvckRl
YnVnZ2FibGVUeXBlU2VydmljZVdvcmtlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSwgaW9zKDExLjMpKSwKICAgICBXS1JlbW90ZVdlYkluc3BlY3RvckRlYnVnZ2FibGVUeXBlV2Vi
LAogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwgaW9zKDEwLjMpKTsKIApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Zpc2l0ZWRMaW5rU3RvcmUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVmlz
aXRlZExpbmtTdG9yZS5oCShyZXZpc2lvbiAyMzAwOTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLVmlzaXRlZExpbmtTdG9yZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
MiwxMCArMzIsMTAgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCksIGlvcyg4Lgog
QGludGVyZmFjZSBfV0tWaXNpdGVkTGlua1N0b3JlIDogTlNPYmplY3QKIAogLSAodm9pZClhZGRW
aXNpdGVkTGlua1dpdGhVUkw6KE5TVVJMICopVVJMOwotLSAodm9pZClhZGRWaXNpdGVkTGlua1dp
dGhTdHJpbmc6KE5TU3RyaW5nICopc3RyaW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworLSAodm9pZClhZGRWaXNpdGVkTGlua1dpdGhTdHJp
bmc6KE5TU3RyaW5nICopc3RyaW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBp
b3MoMTEuMykpOwogLSAodm9pZClyZW1vdmVBbGw7Ci0tIChCT09MKWNvbnRhaW5zVmlzaXRlZExp
bmtXaXRoVVJMOihOU1VSTCAqKVVSTCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKHZvaWQpcmVtb3ZlVmlzaXRlZExpbmtXaXRoVVJMOihO
U1VSTCAqKVVSTCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKy0gKEJPT0wpY29udGFpbnNWaXNpdGVkTGlua1dpdGhVUkw6KE5TVVJMICopVVJM
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOworLSAodm9pZCly
ZW1vdmVWaXNpdGVkTGlua1dpdGhVUkw6KE5TVVJMICopVVJMIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogCiBAZW5kCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCShyZXZpc2lvbiAyMzAwOTUpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMzgsOSArMzgsOSBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFj
b3N4KDEwLjEzKSwgaW9zKDExCiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9z
ZXRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTopIE5TVVJMICpfaW5kZXhlZERCRGF0YWJhc2VE
aXJlY3Rvcnk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRXZWJTUUxE
YXRhYmFzZURpcmVjdG9yeTopIE5TVVJMICpfd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiBAcHJv
cGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRDb29raWVTdG9yYWdlRmlsZTopIE5T
VVJMICpfY29va2llU3RvcmFnZUZpbGU7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0
dGVyPV9zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5OikgTlNVUkwgKl9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIHNldHRl
cj1fc2V0Q2FjaGVTdG9yYWdlRGlyZWN0b3J5OikgTlNVUkwgKl9jYWNoZVN0b3JhZ2VEaXJlY3Rv
cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5OikgTlNVUkwgKl9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGly
ZWN0b3J5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIHNldHRlcj1fc2V0UmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RpcmVjdG9yeTopIE5TVVJMICpfcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVj
dG9yeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldENhY2hlU3RvcmFnZURpcmVjdG9yeTop
IE5TVVJMICpfY2FjaGVTdG9yYWdlRGlyZWN0b3J5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEzLjQpLCBpb3MoMTEuMykpOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIHNldHRlcj1f
c2V0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeTopIE5TVVJMICpfc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40
KSwgaW9zKDExLjMpKTsKIAogQGVuZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oCShyZXZpc2lvbiAyMzAw
OTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGlj
aWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDkgKzU0LDkgQEAgV0tfQ0xBU1NfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMi4zKSwgaW9zKAogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgY29udGVu
dEJsb2NrZXJzRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBfV0tXZWJzaXRlQXV0b3Bs
YXlRdWlyayBhbGxvd2VkQXV0b3BsYXlRdWlya3MgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMpIF9XS1dlYnNpdGVBdXRvcGxh
eVBvbGljeSBhdXRvcGxheVBvbGljeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlv
cygxMS4wKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNEaWN0aW9uYXJ5PE5TU3Ry
aW5nICosIE5TU3RyaW5nICo+ICpjdXN0b21IZWFkZXJGaWVsZHMgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgY29weSkgTlNEaWN0aW9uYXJ5PE5TU3RyaW5nICosIE5TU3RyaW5nICo+ICpjdXN0b21IZWFk
ZXJGaWVsZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiBA
cHJvcGVydHkgKG5vbmF0b21pYykgX1dLV2Vic2l0ZVBvcFVwUG9saWN5IHBvcFVwUG9saWN5IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgV0tXZWJzaXRlRGF0YVN0b3JlICp3ZWJzaXRlRGF0
YVN0b3JlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgV0tXZWJzaXRlRGF0YVN0b3JlICp3
ZWJzaXRlRGF0YVN0b3JlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEu
MykpOwogCiBAZW5kCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZVByaXZhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0Nv
Y29hL1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVQcml2YXRlLmgJKHJldmlzaW9uIDIzMDA5
NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2Ev
V0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsMTQgKzMzLDE0IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0F1dG9GaWxsQnUK
ICAgICBfV0tBdXRvRmlsbEJ1dHRvblR5cGVDb250YWN0cywKICAgICBfV0tBdXRvRmlsbEJ1dHRv
blR5cGVTdHJvbmdDb25maXJtYXRpb25QYXNzd29yZCwKICAgICBfV0tBdXRvRmlsbEJ1dHRvblR5
cGVTdHJvbmdQYXNzd29yZCwKLX0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7Cit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBp
b3MoMTEuMykpOwogCiBAaW50ZXJmYWNlIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgKFdL
UHJpdmF0ZSkKIAotLSAoQk9PTClpc0hUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJs
ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
Ci0tICh2b2lkKXNldEhUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWRXaXRoQnV0
dG9uVHlwZTooX1dLQXV0b0ZpbGxCdXR0b25UeXBlKWF1dG9GaWxsQnV0dG9uVHlwZSBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLS0gKF9XS0F1
dG9GaWxsQnV0dG9uVHlwZSlodG1sSW5wdXRFbGVtZW50QXV0b0ZpbGxCdXR0b25UeXBlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotLSAoX1dL
QXV0b0ZpbGxCdXR0b25UeXBlKWh0bWxJbnB1dEVsZW1lbnRMYXN0QXV0b0ZpbGxCdXR0b25UeXBl
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwor
LSAoQk9PTClpc0hUTUxJbnB1dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CistICh2b2lkKXNldEhUTUxJbnB1
dEVsZW1lbnRBdXRvRmlsbEJ1dHRvbkVuYWJsZWRXaXRoQnV0dG9uVHlwZTooX1dLQXV0b0ZpbGxC
dXR0b25UeXBlKWF1dG9GaWxsQnV0dG9uVHlwZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
My40KSwgaW9zKDExLjMpKTsKKy0gKF9XS0F1dG9GaWxsQnV0dG9uVHlwZSlodG1sSW5wdXRFbGVt
ZW50QXV0b0ZpbGxCdXR0b25UeXBlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBp
b3MoMTEuMykpOworLSAoX1dLQXV0b0ZpbGxCdXR0b25UeXBlKWh0bWxJbnB1dEVsZW1lbnRMYXN0
QXV0b0ZpbGxCdXR0b25UeXBlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3Mo
MTEuMykpOwogCiBAZW5kCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvbWFjL1dLRE9NRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS0RPTURvY3VtZW50LmgJKHJl
dmlzaW9uIDIzMDA5NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvbWFjL1dLRE9NRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsOCArMzcsOCBA
QCBAaW50ZXJmYWNlIFdLRE9NRG9jdW1lbnQgOiBXS0RPTU5vZGUKIAogLSAoV0tET01FbGVtZW50
ICopY3JlYXRlRWxlbWVudDooTlNTdHJpbmcgKil0YWdOYW1lOwogLSAoV0tET01UZXh0ICopY3Jl
YXRlVGV4dE5vZGU6KE5TU3RyaW5nICopZGF0YTsKLS0gKFdLRE9NTm9kZSAqKWNyZWF0ZURvY3Vt
ZW50RnJhZ21lbnRXaXRoTWFya3VwU3RyaW5nOihOU1N0cmluZyAqKW1hcmt1cFN0cmluZyBiYXNl
VVJMOihOU1VSTCAqKWJhc2VVUkwgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7Ci0tIChXS0RPTU5vZGUgKiljcmVhdGVEb2N1bWVudEZyYWdtZW50
V2l0aFRleHQ6KE5TU3RyaW5nICopdGV4dCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKFdLRE9NTm9kZSAqKWNyZWF0ZURvY3VtZW50RnJh
Z21lbnRXaXRoTWFya3VwU3RyaW5nOihOU1N0cmluZyAqKW1hcmt1cFN0cmluZyBiYXNlVVJMOihO
U1VSTCAqKWJhc2VVUkwgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4z
KSk7CistIChXS0RPTU5vZGUgKiljcmVhdGVEb2N1bWVudEZyYWdtZW50V2l0aFRleHQ6KE5TU3Ry
aW5nICopdGV4dCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMy40KSwgaW9zKDExLjMpKTsK
IAogQHByb3BlcnR5KHJlYWRvbmx5KSBXS0RPTUVsZW1lbnQgKmJvZHk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>