<?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>180376</bug_id>
          
          <creation_ts>2017-12-04 13:40:33 -0800</creation_ts>
          <short_desc>[Web App Manifest] Support display-mode media feature</short_desc>
          <delta_ts>2017-12-07 12:04:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Quesada">david_quesada</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377869</commentid>
    <comment_count>0</comment_count>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-04 13:40:33 -0800</bug_when>
    <thetext>https://www.w3.org/TR/appmanifest/#the-display-mode-media-feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377872</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-04 13:41:07 -0800</bug_when>
    <thetext>&lt;rdar://problem/35837993&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377960</commentid>
    <comment_count>2</comment_count>
      <attachid>328398</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-04 15:39:42 -0800</bug_when>
    <thetext>Created attachment 328398
Patch

Patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378472</commentid>
    <comment_count>3</comment_count>
      <attachid>328534</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-05 17:17:57 -0800</bug_when>
    <thetext>Created attachment 328534
Patch v2

Rebased, updated the way ApplicationManifestParser parses the JSON.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378505</commentid>
    <comment_count>4</comment_count>
      <attachid>328534</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-12-05 18:28:33 -0800</bug_when>
    <thetext>Comment on attachment 328534
Patch v2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379005</commentid>
    <comment_count>5</comment_count>
      <attachid>328676</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-06 20:34:17 -0800</bug_when>
    <thetext>Created attachment 328676
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379117</commentid>
    <comment_count>6</comment_count>
      <attachid>328696</attachid>
    <who name="David Quesada">david_quesada</who>
    <bug_when>2017-12-07 08:35:03 -0800</bug_when>
    <thetext>Created attachment 328696
Patch for landing (v2)

Attempt to fix the EWS errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379212</commentid>
    <comment_count>7</comment_count>
      <attachid>328696</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-07 12:04:41 -0800</bug_when>
    <thetext>Comment on attachment 328696
Patch for landing (v2)

Clearing flags on attachment: 328696

Committed r225639: &lt;https://trac.webkit.org/changeset/225639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379213</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-07 12:04:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328398</attachid>
            <date>2017-12-04 15:39:42 -0800</date>
            <delta_ts>2017-12-05 17:17:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>5.patch</filename>
            <type>text/plain</type>
            <size>41887</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IDY1M2Y2NzFmNjZjOWIyOTVhZjFmOGVhNzVhYmNmN2UxNzk2OWRmOTAKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBUdWUgTm92IDcg
MTc6NTc6MDQgMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBTdXBwb3J0IGRpc3Bs
YXktbW9kZSBtZWRpYSBmZWF0dXJlCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMzc2CiAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MwogICAgCiAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KICAgIAogICAgU291cmNlL1dlYkNvcmU6CiAgICAKICAg
IFRlc3RzOiBhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCiAg
ICAgICAgICAgYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbAogICAgCiAgICAq
IE1vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg6CiAgICAo
V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlIGNvbnN0KToKICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0OjpkZWNvZGUpOgogICAgKiBNb2R1bGVzL2FwcGxpY2F0aW9u
bWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CiAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VNYW5pZmVzdCk6CiAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VEaXNwbGF5KToKICAgICogTW9kdWxlcy9hcHBs
aWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuaDoKICAgICAgICBBZGQg
YSAnZGlzcGxheScgcHJvcGVydHkgdG8gQXBwbGljYXRpb25NYW5pZmVzdCBhbmQgaGF2ZSBBcHBs
aWNhdGlvbk1hbmlmZXN0UGFyc2VyCiAgICAgICAgcG9wdWxhdGUgaXQgYnkgcGFyc2luZyB0aGUg
J2Rpc3BsYXknIHByb3BlcnR5IGZyb20gdGhlIHJhdyBtYW5pZmVzdC4KICAgIAogICAgKiBjc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbjoKICAgICogY3NzL01lZGlhRmVhdHVyZU5hbWVzLmg6CiAgICAq
IGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoKICAgIChXZWJDb3JlOjpkaXNwbGF5TW9kZUV2
YWx1YXRlKToKICAgICAgICBUbyBldmFsdWF0ZSB3aGV0aGVyIGEgZGlzcGxheS1tb2RlIHF1ZXJ5
IG1hdGNoZXMsIGNvbXBhcmUgdGhlIHBhcmFtZXRlciB0byB0aGUKICAgICAgICBkaXNwbGF5IG1v
ZGUgb2YgdGhlIG1hbmlmZXN0IGFwcGxpZWQgdG8gdGhlIG1haW4gZnJhbWUuIElmIHRoZXJlIGlz
IG5vIG1hbmlmZXN0LAogICAgICAgIHVzZSB0aGUgZmFsbGJhY2sgZGlzcGxheSBtb2RlICdicm93
c2VyJyAtIHRoZSBzcGVjIG1hbmRhdGVzIHRoYXQgZGlzcGxheS1tb2RlCiAgICAgICAgbXVzdCBi
ZSBleHBvc2VkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gYXBwbGllZCBtYW5pZmVzdC4KICAgICogY3Nz
L01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcDoKICAgIChXZWJDb3JlOjpmZWF0dXJlV2l0aFZhbGlk
SWRlbnQpOgogICAgKFdlYkNvcmU6OmlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKToKICAgIAog
ICAgU291cmNlL1dlYktpdDoKICAgIAogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxp
Y2F0aW9uTWFuaWZlc3QuaDoKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lm1tOgogICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBpbml0V2l0aENvZGVy
Ol0pOgogICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBlbmNvZGVXaXRoQ29kZXI6XSk6CiAg
ICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGRpc3BsYXlNb2RlXSk6CiAgICAKICAgIFRvb2xz
OgogICAgCiAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgogICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlci5jcHA6CiAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CiAgICAoQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlclRlc3Q6OnRlc3REaXNwbGF5KToKICAgIChURVNUX0YpOgogICAg
ICAgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgcGFyc2luZyBvZiB0aGUgJ2Rpc3BsYXknIG1hbmlm
ZXN0IHByb3BlcnR5LgogICAgCiAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXBwbGljYXRpb25NYW5pZmVzdC5tbToKICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQu
CiAgICAgICAgVXBkYXRlIEFQSSB0ZXN0cyB0byBpbmNsdWRlIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3QuZGlzcGxheU1vZGUuCiAgICAKICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CiAgICAoV1RSOjpwYXJzZVN0cmluZ1Rlc3RIZWFkZXJWYWx1ZUFzUmVsYXRpdmVQYXRo
KToKICAgIChXVFI6OnVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIpOgogICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CiAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2Ft
ZUluaXRpYWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CiAgICAqIFdlYktpdFRlc3RSdW5uZXIvY29j
b2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbToKICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNyZWF0ZVdlYlZpZXcpOgogICAgICAgIFRlYWNoIFdLVFIgdG8gbG9vayBmb3IgYW5kIGFw
cGx5IGFuIGFwcCBtYW5pZmVzdC4gQSBuZXcgPCEtLXdlYmtpdC10ZXN0LXJ1bm5lci0tPgogICAg
ICAgIGRpcmVjdGl2ZSAnYXBwbGljYXRpb25NYW5pZmVzdCcgY2FuIHNwZWNpZnkgYSBwYXRoIChy
ZWxhdGl2ZSB0byB0aGUgdGVzdCBmaWxlIGl0c2VsZikKICAgICAgICB0byBhIEpTT04gYXBwIG1h
bmlmZXN0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIHdlYiB2aWV3IGJlZm9yZSBydW5uaW5nIHRoZSB0
ZXN0LgogICAgCiAgICBMYXlvdXRUZXN0czoKICAgIAogICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgKiBhcHBsaWNhdGlvbm1hbmlm
ZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgKiBhcHBs
aWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sOiBBZGRlZC4KICAgICog
YXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQuCiAgICAqIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1zdWJmcmFtZS0xLmh0bWw6IEFk
ZGVkLgogICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlm
ZXN0OiBBZGRlZC4KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWUzZWJjNDA1ZDkuLjBhMDdiMGNmMmFjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMTItMDQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gU3VwcG9ydCBkaXNwbGF5LW1v
ZGUgbWVkaWEgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMzc2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM1ODM3OTkzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhcHBsaWNhdGlvbm1h
bmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRt
bDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxh
eS1tb2RlLXN1YmZyYW1lLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5p
ZmVzdC9yZXNvdXJjZXMvc3RhbmRhbG9uZS5tYW5pZmVzdDogQWRkZWQuCisKIDIwMTctMTItMDEg
IERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2Vi
IEFwcCBNYW5pZmVzdF0gQWRkIFNQSSBmb3IgZmV0Y2hpbmcgdGhlIG1hbmlmZXN0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNkNmNiMWI5
ZjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9k
aXNwbGF5LW1vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKyhkaXNwbGF5LW1vZGUpIChk
aXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNh
dGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI4ZTQzYWQwYjcwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5
LW1vZGUtc3ViZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCisKKy0tLS0tLS0t
CitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KKyhk
aXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNzVlMWJhMjVlNTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXkt
bW9kZS1zdWJmcmFtZS5odG1sCkBAIC0wLDAgKzEsNiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBhcHBsaWNhdGlvbk1hbmlmZXN0PXJlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0IF0g
LS0+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorCXRlc3RSdW5uZXIuZHVtcENo
aWxkRnJhbWVzQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZGlz
cGxheS1tb2RlLXN1YmZyYW1lLTEuaHRtbCI+PC9pZnJhbWU+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNw
bGF5LW1vZGUuaHRtbCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1t
b2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRkNmFmNTMw
ZjE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9k
aXNwbGF5LW1vZGUuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIGFwcGxpY2F0aW9uTWFuaWZlc3Q9cmVzb3VyY2VzL3N0YW5kYWxvbmUubWFuaWZlc3QgXSAt
LT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK2RpdiB7IGRpc3BsYXk6IG5vbmU7IH0KK0Bt
ZWRpYSAoZGlzcGxheS1tb2RlKSB7CisgICAgLmRpc3BsYXktbW9kZS1udWxsIHsgZGlzcGxheTog
aW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogYnJvd3NlcikgeworICAgIC5kaXNw
bGF5LW1vZGUtYnJvd3NlciB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5
LW1vZGU6IG1pbmltYWwtdWkpIHsKKyAgICAuZGlzcGxheS1tb2RlLW1pbmltYWwtdWkgeyBkaXNw
bGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKSB7Cisg
ICAgLmRpc3BsYXktbW9kZS1zdGFuZGFsb25lIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVk
aWEgKGRpc3BsYXktbW9kZTogZnVsbHNjcmVlbikgeworICAgIC5kaXNwbGF5LW1vZGUtZnVsbHNj
cmVlbiB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGludmFs
aWQtdmFsdWUpIHsKKyAgICAuZGlzcGxheS1tb2RlLWludmFsaWQtdmFsdWUgeyBkaXNwbGF5OiBp
bmxpbmU7IH0KK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbnVsbCI+KGRp
c3BsYXktbW9kZSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1icm93c2VyIj4oZGlz
cGxheS1tb2RlOiBicm93c2VyKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW1pbmlt
YWwtdWkiPihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNw
bGF5LW1vZGUtc3RhbmRhbG9uZSI+KGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSk8L2Rpdj4KKzxk
aXYgY2xhc3M9ImRpc3BsYXktbW9kZS1mdWxsc2NyZWVuIj4oZGlzcGxheS1tb2RlOiBmdWxsc2Ny
ZWVuKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWludmFsaWQtdmFsdWUiPihkaXNw
bGF5LW1vZGU6IGludmFsaWQtdmFsdWUpPC9kaXY+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMv
ZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEuaHRtbCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFu
aWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1zdWJmcmFtZS0xLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJiZTM1YjQ3ODQzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxheS1tb2Rl
LXN1YmZyYW1lLTEuaHRtbApAQCAtMCwwICsxLDI3IEBACis8c3R5bGU+CitkaXYgeyBkaXNwbGF5
OiBub25lOyB9CitAbWVkaWEgKGRpc3BsYXktbW9kZSkgeworICAgIC5kaXNwbGF5LW1vZGUtbnVs
bCB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGJyb3dzZXIp
IHsKKyAgICAuZGlzcGxheS1tb2RlLWJyb3dzZXIgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0Bt
ZWRpYSAoZGlzcGxheS1tb2RlOiBtaW5pbWFsLXVpKSB7CisgICAgLmRpc3BsYXktbW9kZS1taW5p
bWFsLXVpIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogc3Rh
bmRhbG9uZSkgeworICAgIC5kaXNwbGF5LW1vZGUtc3RhbmRhbG9uZSB7IGRpc3BsYXk6IGlubGlu
ZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIHsKKyAgICAuZGlzcGxh
eS1tb2RlLWZ1bGxzY3JlZW4geyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxh
eS1tb2RlOiBpbnZhbGlkLXZhbHVlKSB7CisgICAgLmRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVl
IHsgZGlzcGxheTogaW5saW5lOyB9Cit9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz0iZGlzcGxheS1t
b2RlLW51bGwiPihkaXNwbGF5LW1vZGUpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUt
YnJvd3NlciI+KGRpc3BsYXktbW9kZTogYnJvd3Nlcik8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3Bs
YXktbW9kZS1taW5pbWFsLXVpIj4oZGlzcGxheS1tb2RlOiBtaW5pbWFsLXVpKTwvZGl2PgorPGRp
diBjbGFzcz0iZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUiPihkaXNwbGF5LW1vZGU6IHN0YW5kYWxv
bmUpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtZnVsbHNjcmVlbiI+KGRpc3BsYXkt
bW9kZTogZnVsbHNjcmVlbik8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1pbnZhbGlk
LXZhbHVlIj4oZGlzcGxheS1tb2RlOiBpbnZhbGlkLXZhbHVlKTwvZGl2PgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZl
c3QvcmVzb3VyY2VzL3N0YW5kYWxvbmUubWFuaWZlc3QgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlv
bm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kZTkwMmYzZjg4YgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL3N0YW5kYWxvbmUubWFuaWZl
c3QKQEAgLTAsMCArMSwzIEBACit7CisJImRpc3BsYXkiOiAic3RhbmRhbG9uZSIKK30KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM4ZmJhNTY2OTQuLjcxMmVjZDlm
ZjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzggQEAKIDIwMTctMTItMDQgIERhdmlkIFF1ZXNh
ZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KIAorICAgICAgICBbV2ViIEFwcCBNYW5pZmVz
dF0gU3VwcG9ydCBkaXNwbGF5LW1vZGUgbWVkaWEgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzc2CisgICAgICAgIHJkYXI6Ly9wcm9i
bGVtLzM1ODM3OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGFwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLmh0
bWwKKyAgICAgICAgICAgICAgIGFwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0bWwK
KworICAgICAgICAqIE1vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlm
ZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OjplbmNvZGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKToKKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpw
YXJzZU1hbmlmZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3RQYXJz
ZXI6OnBhcnNlRGlzcGxheSk6CisgICAgICAgICogTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0
L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuaDoKKyAgICAgICAgICAgIEFkZCBhICdkaXNwbGF5
JyBwcm9wZXJ0eSB0byBBcHBsaWNhdGlvbk1hbmlmZXN0IGFuZCBoYXZlIEFwcGxpY2F0aW9uTWFu
aWZlc3RQYXJzZXIKKyAgICAgICAgICAgIHBvcHVsYXRlIGl0IGJ5IHBhcnNpbmcgdGhlICdkaXNw
bGF5JyBwcm9wZXJ0eSBmcm9tIHRoZSByYXcgbWFuaWZlc3QuCisKKyAgICAgICAgKiBjc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAgKiBjc3MvTWVkaWFGZWF0dXJlTmFtZXMuaDoKKyAg
ICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpk
aXNwbGF5TW9kZUV2YWx1YXRlKToKKyAgICAgICAgICAgIFRvIGV2YWx1YXRlIHdoZXRoZXIgYSBk
aXNwbGF5LW1vZGUgcXVlcnkgbWF0Y2hlcywgY29tcGFyZSB0aGUgcGFyYW1ldGVyIHRvIHRoZQor
ICAgICAgICAgICAgZGlzcGxheSBtb2RlIG9mIHRoZSBtYW5pZmVzdCBhcHBsaWVkIHRvIHRoZSBt
YWluIGZyYW1lLiBJZiB0aGVyZSBpcyBubyBtYW5pZmVzdCwKKyAgICAgICAgICAgIHVzZSB0aGUg
ZmFsbGJhY2sgZGlzcGxheSBtb2RlICdicm93c2VyJyAtIHRoZSBzcGVjIG1hbmRhdGVzIHRoYXQg
ZGlzcGxheS1tb2RlCisgICAgICAgICAgICBtdXN0IGJlIGV4cG9zZWQgZXZlbiBpZiB0aGVyZSBp
cyBubyBhcHBsaWVkIG1hbmlmZXN0LgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmZWF0dXJlV2l0aFZhbGlkSWRlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6aXNGZWF0dXJlVmFsaWRXaXRob3V0VmFsdWUpOgorCisyMDE3LTEyLTA0ICBE
YXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisKICAgICAgICAgW1dlYiBB
cHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9yIGFwcGx5aW5nIGEgbWFuaWZlc3QgdG8gYSB0b3AtbGV2
ZWwgYnJvd3NpbmcgY29udGV4dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTgwMzY4CiAgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM0NzQ4MDY3CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGlj
YXRpb25NYW5pZmVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlm
ZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3QuaAppbmRleCBjNzBlN2U2MGM5MS4uOTk4Yjc4NDYwY2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9B
cHBsaWNhdGlvbk1hbmlmZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNh
dGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3QuaApAQCAtMjgsMTUgKzI4LDI0IEBACiAj
aWYgRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogCiAjaW5jbHVkZSAiVVJMLmgiCisjaW5j
bHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgQXBwbGljYXRpb25NYW5pZmVzdCB7CisgICAgZW51
bSBjbGFzcyBEaXNwbGF5IHsKKyAgICAgICAgQnJvd3NlciwKKyAgICAgICAgTWluaW1hbFVJLAor
ICAgICAgICBTdGFuZGFsb25lLAorICAgICAgICBGdWxsc2NyZWVuLAorICAgIH07CisKICAgICBT
dHJpbmcgbmFtZTsKICAgICBTdHJpbmcgc2hvcnROYW1lOwogICAgIFN0cmluZyBkZXNjcmlwdGlv
bjsKICAgICBVUkwgc2NvcGU7CisgICAgRGlzcGxheSBkaXNwbGF5OwogICAgIFVSTCBzdGFydFVS
TDsKIAogICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBj
b25zdDsKQEAgLTQ2LDcgKzU1LDcgQEAgc3RydWN0IEFwcGxpY2F0aW9uTWFuaWZlc3QgewogdGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgQXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBuYW1lIDw8IHNob3J0TmFt
ZSA8PCBkZXNjcmlwdGlvbiA8PCBzY29wZSA8PCBzdGFydFVSTDsKKyAgICBlbmNvZGVyIDw8IG5h
bWUgPDwgc2hvcnROYW1lIDw8IGRlc2NyaXB0aW9uIDw8IHNjb3BlIDw8IGRpc3BsYXkgPDwgc3Rh
cnRVUkw7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC02Miw2ICs3MSw4IEBAIHN0
ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5pZmVzdD4gQXBwbGljYXRpb25NYW5pZmVzdDo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc2NvcGUpKQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5kaXNwbGF5KSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5zdGFydFVSTCkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKQEAgLTcwLDUgKzgx
LDE5IEBAIHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25NYW5pZmVzdD4gQXBwbGljYXRpb25NYW5p
ZmVzdDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAorbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29y
ZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXks
CisgICAgICAgIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIs
CisgICAgICAgIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6Ok1pbmltYWxV
SSwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRh
bG9uZSwKKyAgICAgICAgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVs
bHNjcmVlbgorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEY7CisKICNlbmRpZiAvLyBF
TkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlv
bk1hbmlmZXN0UGFyc2VyLmNwcAppbmRleCAyMDU1MDY0NzYzNy4uYmJjYzM0ZGFiOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNh
dGlvbk1hbmlmZXN0UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxp
Y2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAKQEAgLTk3LDYgKzk3
LDcgQEAgQXBwbGljYXRpb25NYW5pZmVzdCBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJz
ZU1hbmlmZXN0KGNvbnN0IFN0cmluZyYgdGV4dCwKICAgICB9CiAKICAgICBwYXJzZWRNYW5pZmVz
dC5zdGFydFVSTCA9IHBhcnNlU3RhcnRVUkwobWFuaWZlc3QsIG1hbmlmZXN0VVJMLCBkb2N1bWVu
dFVSTCk7CisgICAgcGFyc2VkTWFuaWZlc3QuZGlzcGxheSA9IHBhcnNlRGlzcGxheShtYW5pZmVz
dCk7CiAgICAgcGFyc2VkTWFuaWZlc3QubmFtZSA9IHBhcnNlTmFtZShtYW5pZmVzdCk7CiAgICAg
cGFyc2VkTWFuaWZlc3QuZGVzY3JpcHRpb24gPSBwYXJzZURlc2NyaXB0aW9uKG1hbmlmZXN0KTsK
ICAgICBwYXJzZWRNYW5pZmVzdC5zaG9ydE5hbWUgPSBwYXJzZVNob3J0TmFtZShtYW5pZmVzdCk7
CkBAIC0xNDksNiArMTUwLDMyIEBAIFVSTCBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJz
ZVN0YXJ0VVJMKGNvbnN0IEpTQzo6SlNWYWx1ZSYgbWFuaWZlc3QsIGNvbnN0CiAgICAgcmV0dXJu
IHN0YXJ0VVJMOwogfQogCitBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5IEFwcGxpY2F0aW9u
TWFuaWZlc3RQYXJzZXI6OnBhcnNlRGlzcGxheShjb25zdCBKU0M6OkpTVmFsdWUmIG1hbmlmZXN0
KQoreworICAgIGF1dG8gZXhlYyA9IGV4ZWNTdGF0ZSgpOworICAgIGF1dG8gdmFsdWUgPSBKU0M6
OmFzT2JqZWN0KG1hbmlmZXN0KS0+Z2V0KGV4ZWMsIEpTQzo6SWRlbnRpZmllcjo6ZnJvbVN0cmlu
ZyhleGVjLCAiZGlzcGxheSIpKTsKKworICAgIGlmICghdmFsdWUuaXNTdHJpbmcoKSkgeworICAg
ICAgICBpZiAoIXZhbHVlLmlzVW5kZWZpbmVkKCkpCisgICAgICAgICAgICBsb2dNYW5pZmVzdFBy
b3BlcnR5Tm90QVN0cmluZygiZGlzcGxheSIpOworICAgICAgICBpZiAodmFsdWUuaXNVbmRlZmlu
ZWRPck51bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNw
bGF5OjpCcm93c2VyOworICAgIH0KKworICAgIGF1dG8gc3RyaW5nVmFsdWUgPSB2YWx1ZS50b1dU
RlN0cmluZyhleGVjKS5zdHJpcFdoaXRlU3BhY2UoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgp
OworCisgICAgaWYgKHN0cmluZ1ZhbHVlID09ICJmdWxsc2NyZWVuIikKKyAgICAgICAgcmV0dXJu
IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkZ1bGxzY3JlZW47CisgICAgaWYgKHN0cmlu
Z1ZhbHVlID09ICJzdGFuZGFsb25lIikKKyAgICAgICAgcmV0dXJuIEFwcGxpY2F0aW9uTWFuaWZl
c3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU7CisgICAgaWYgKHN0cmluZ1ZhbHVlID09ICJtaW5pbWFs
LXVpIikKKyAgICAgICAgcmV0dXJuIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6Ok1pbmlt
YWxVSTsKKyAgICBpZiAoc3RyaW5nVmFsdWUgPT0gImJyb3dzZXIiKQorICAgICAgICByZXR1cm4g
QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlcjsKKworICAgIHJldHVybiBBcHBs
aWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOworfQorCiBTdHJpbmcgQXBwbGljYXRp
b25NYW5pZmVzdFBhcnNlcjo6cGFyc2VOYW1lKGNvbnN0IEpTQzo6SlNWYWx1ZSYgbWFuaWZlc3Qp
CiB7CiAgICAgcmV0dXJuIHBhcnNlR2VuZXJpY1N0cmluZyhtYW5pZmVzdCwgQVNDSUlMaXRlcmFs
KCJuYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlv
bm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmgKaW5k
ZXggZjM1Yjc5YjA5NGUuLmFiYTJjZWEzZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlv
bk1hbmlmZXN0UGFyc2VyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHJpdmF0ZToKICAgICBBcHBsaWNh
dGlvbk1hbmlmZXN0IHBhcnNlTWFuaWZlc3QoY29uc3QgU3RyaW5nJiwgY29uc3QgVVJMJiwgY29u
c3QgVVJMJik7CiAKICAgICBVUkwgcGFyc2VTdGFydFVSTChjb25zdCBKU0M6OkpTVmFsdWUmLCBj
b25zdCBVUkwmLCBjb25zdCBVUkwmKTsKKyAgICBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5
IHBhcnNlRGlzcGxheShjb25zdCBKU0M6OkpTVmFsdWUmKTsKICAgICBTdHJpbmcgcGFyc2VOYW1l
KGNvbnN0IEpTQzo6SlNWYWx1ZSYpOwogICAgIFN0cmluZyBwYXJzZURlc2NyaXB0aW9uKGNvbnN0
IEpTQzo6SlNWYWx1ZSYpOwogICAgIFN0cmluZyBwYXJzZVNob3J0TmFtZShjb25zdCBKU0M6OkpT
VmFsdWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggNWE0OWZh
NjJlZDAuLjdiMjg1MmFhZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5p
bgpAQCAtMTM0NiwzICsxMzQ2LDEwIEBAIGF1dG8tZml0CiBzd2FwCiBmYWxsYmFjawogb3B0aW9u
YWwKKworI2lmIGRlZmluZWQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAmJiBFTkFCTEVf
QVBQTElDQVRJT05fTUFOSUZFU1QKK2Z1bGxzY3JlZW4KK3N0YW5kYWxvbmUKK21pbmltYWwtdWkK
K2Jyb3dzZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhRmVh
dHVyZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaAppbmRl
eCBmZjJiYWI4NDEwMC4uMjFkODc1MDhmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYUZlYXR1cmVOYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUZlYXR1
cmVOYW1lcy5oCkBAIC0yMyw3ICsyMywxMSBAQAogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCi0jZGVmaW5lIENTU19N
RURJQVFVRVJZX1ZJRVdfTU9ERShtYWNybykKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisjZGVmaW5lIENTU19NRURJQVFVRVJZX0RJU1BMQVlfTU9ERShtYWNybykgbWFjcm8oZGlz
cGxheU1vZGUsICJkaXNwbGF5LW1vZGUiKQorI2Vsc2UKKyNkZWZpbmUgQ1NTX01FRElBUVVFUllf
RElTUExBWV9NT0RFKG1hY3JvKQorI2VuZGlmCiAKICNkZWZpbmUgQ1NTX01FRElBUVVFUllfTkFN
RVNfRk9SX0VBQ0hfTUVESUFGRUFUVVJFKG1hY3JvKSBcCiAgICAgbWFjcm8oYW5pbWF0aW9uLCAi
LXdlYmtpdC1hbmltYXRpb24iKSBcCkBAIC03Myw3ICs3Nyw3IEBACiAgICAgbWFjcm8odHJhbnNp
dGlvbiwgIi13ZWJraXQtdHJhbnNpdGlvbiIpIFwKICAgICBtYWNybyh2aWRlb1BsYXlhYmxlSW5s
aW5lLCAiLXdlYmtpdC12aWRlby1wbGF5YWJsZS1pbmxpbmUiKSBcCiAgICAgbWFjcm8od2lkdGgs
ICJ3aWR0aCIpIFwKLSAgICBDU1NfTUVESUFRVUVSWV9WSUVXX01PREUobWFjcm8pCisgICAgQ1NT
X01FRElBUVVFUllfRElTUExBWV9NT0RFKG1hY3JvKSBcCiAKIC8vIGVuZCBvZiBtYWNybwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKaW5kZXggZTZmZGExODBi
NjQuLjZmZDAyNGE0MDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0
b3IuY3BwCkBAIC03MzQsNiArNzM0LDMzIEBAIHN0YXRpYyBib29sIHByZWZlcnNSZWR1Y2VkTW90
aW9uRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlCiAgICAg
cmV0dXJuIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLnZhbHVlSUQoKSA9PSAo
dXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID8gQ1NTVmFsdWVSZWR1Y2UgOiBDU1NWYWx1ZU5vUHJl
ZmVyZW5jZSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCitzdGF0aWMg
Ym9vbCBkaXNwbGF5TW9kZUV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5n
dGhDb252ZXJzaW9uRGF0YSYsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4KQorewor
ICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgYXV0byBrZXl3b3Jk
ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkudmFsdWVJRCgpOworCisgICAg
YXV0byBtYW5pZmVzdCA9IGZyYW1lLm1haW5GcmFtZSgpLmFwcGxpY2F0aW9uTWFuaWZlc3QoKTsK
KyAgICBpZiAoIW1hbmlmZXN0KQorICAgICAgICByZXR1cm4ga2V5d29yZCA9PSBDU1NWYWx1ZUJy
b3dzZXI7CisKKyAgICBzd2l0Y2ggKG1hbmlmZXN0LT5kaXNwbGF5KSB7CisgICAgY2FzZSBBcHBs
aWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4ga2V5
d29yZCA9PSBDU1NWYWx1ZUZ1bGxzY3JlZW47CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0
OjpEaXNwbGF5OjpTdGFuZGFsb25lOgorICAgICAgICByZXR1cm4ga2V5d29yZCA9PSBDU1NWYWx1
ZVN0YW5kYWxvbmU7CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5p
bWFsVUk6CisgICAgICAgIHJldHVybiBrZXl3b3JkID09IENTU1ZhbHVlTWluaW1hbFVpOworICAg
IGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlcjoKKyAgICAgICAgcmV0
dXJuIGtleXdvcmQgPT0gQ1NTVmFsdWVCcm93c2VyOworICAgIH0KKworICAgIHJldHVybiBmYWxz
ZTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCisKIC8vIFVzZSB0
aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgY2FsbGluZyBhZGQgZGlyZWN0bHkgdG8gYXZvaWQgaW5s
aW5pbmcuCiBzdGF0aWMgdm9pZCBhZGQoTWVkaWFRdWVyeUZ1bmN0aW9uTWFwJiBtYXAsIEF0b21p
Y1N0cmluZ0ltcGwqIGtleSwgTWVkaWFRdWVyeUZ1bmN0aW9uIHZhbHVlKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAKaW5kZXggYmE3YmFmYTkxODIuLjQw
Nzg1MmM1NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cHJl
c3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5j
cHAKQEAgLTQ2LDYgKzQ2LDkgQEAgc3RhdGljIGlubGluZSBib29sIGZlYXR1cmVXaXRoVmFsaWRJ
ZGVudChjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSkKICAgICB8fCBtZWRpYUZlYXR1
cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmhvdmVyCiAgICAgfHwgbWVkaWFGZWF0dXJlID09IE1l
ZGlhRmVhdHVyZU5hbWVzOjppbnZlcnRlZENvbG9ycwogICAgIHx8IG1lZGlhRmVhdHVyZSA9PSBN
ZWRpYUZlYXR1cmVOYW1lczo6cG9pbnRlcgorI2lmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVT
VCkKKyAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmRpc3BsYXlNb2Rl
CisjZW5kaWYKICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnByZWZl
cnNSZWR1Y2VkTW90aW9uOwogfQogCkBAIC0xNTMsNiArMTU2LDkgQEAgc3RhdGljIGlubGluZSBi
b29sIGlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYgbWVkaWFG
ZWF0dXJlKQogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnBy
ZWZlcnNSZWR1Y2VkTW90aW9uCiAgICAgICAgIHx8IG1lZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1
cmVOYW1lczo6ZGV2aWNlUGl4ZWxSYXRpbwogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVk
aWFGZWF0dXJlTmFtZXM6OnJlc29sdXRpb24KKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisgICAgICAgIHx8IG1lZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6ZGlzcGxh
eU1vZGUKKyNlbmRpZgogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFt
ZXM6OnZpZGVvUGxheWFibGVJbmxpbmU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggODE4NTY2NThiMDAuLjFi
MmEwOTcxM2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE3LTEyLTA0ICBEYXZpZCBR
dWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dlYiBBcHAgTWFu
aWZlc3RdIFN1cHBvcnQgZGlzcGxheS1tb2RlIG1lZGlhIGZlYXR1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM3NgorICAgICAgICByZGFyOi8v
cHJvYmxlbS8zNTgzNzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1t
OgorICAgICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGluaXRXaXRoQ29kZXI6XSk6Cisg
ICAgICAgICgtW19XS0FwcGxpY2F0aW9uTWFuaWZlc3QgZW5jb2RlV2l0aENvZGVyOl0pOgorICAg
ICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGRpc3BsYXlNb2RlXSk6CisKKzIwMTctMTIt
MDQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KKwogICAgICAgICBb
V2ViIEFwcCBNYW5pZmVzdF0gQWRkIFNQSSBmb3IgYXBwbHlpbmcgYSBtYW5pZmVzdCB0byBhIHRv
cC1sZXZlbCBicm93c2luZyBjb250ZXh0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODAzNjgKICAgICAgICAgcmRhcjovL3Byb2JsZW0vMzQ3NDgwNjcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNh
dGlvbk1hbmlmZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBw
bGljYXRpb25NYW5pZmVzdC5oCmluZGV4IDYxYzUwZjJiZTEwLi5kMzJjZWZjMDEwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFu
aWZlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5oCkBAIC0zMyw2ICszMywxMyBAQAogCiBOU19BU1NVTUVfTk9OTlVMTF9C
RUdJTgogCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
RGlzcGxheU1vZGUpIHsKKyAgICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVCcm93
c2VyLAorICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSSwKKyAg
ICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVTdGFuZGFsb25lLAorICAgIF9XS0Fw
cGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZUZ1bGxTY3JlZW4sCit9IFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBXS19DTEFTU19BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBAaW50ZXJmYWNlIF9X
S0FwcGxpY2F0aW9uTWFuaWZlc3QgOiBOU09iamVjdCA8TlNDb2Rpbmc+CiAKQEAgLTQxLDYgKzQ4
LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBudWxsYWJsZSwgY29weSkgTlNT
dHJpbmcgKmFwcGxpY2F0aW9uRGVzY3JpcHRpb247CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHksIG51bGxhYmxlLCBjb3B5KSBOU1VSTCAqc2NvcGU7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHksIGNvcHkpIE5TVVJMICpzdGFydFVSTDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgX1dLQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlIGRpc3BsYXlNb2Rl
OwogCiArIChfV0tBcHBsaWNhdGlvbk1hbmlmZXN0ICopYXBwbGljYXRpb25NYW5pZmVzdEZyb21K
U09OOihOU1N0cmluZyAqKWpzb24gbWFuaWZlc3RVUkw6KE5TVVJMICopbWFuaWZlc3RVUkwgZG9j
dW1lbnRVUkw6KG51bGxhYmxlIE5TVVJMICopZG9jdW1lbnRVUkw7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZl
c3QubW0KaW5kZXggOTkyY2VhNDZkNTEuLjBhOTRkY2E3MjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVz
dC5tbQpAQCAtNDMsNiArNDMsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb2RlcjooTlND
b2RlciAqKWFEZWNvZGVyCiAgICAgTlNTdHJpbmcgKnNob3J0TmFtZSA9IFthRGVjb2RlciBkZWNv
ZGVPYmplY3RGb3JLZXk6QCJzaG9ydF9uYW1lIl07CiAgICAgTlNTdHJpbmcgKmRlc2NyaXB0aW9u
ID0gW2FEZWNvZGVyIGRlY29kZU9iamVjdEZvcktleTpAImRlc2NyaXB0aW9uIl07CiAgICAgTlNV
UkwgKnNjb3BlVVJMID0gW2FEZWNvZGVyIGRlY29kZU9iamVjdEZvcktleTpAInNjb3BlIl07Cisg
ICAgTlNJbnRlZ2VyIGRpc3BsYXkgPSBbYURlY29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAImRp
c3BsYXkiXTsKICAgICBOU1VSTCAqc3RhcnRVUkwgPSBbYURlY29kZXIgZGVjb2RlT2JqZWN0Rm9y
S2V5OkAic3RhcnRfdXJsIl07CiAKICAgICBXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0IGNv
cmVBcHBsaWNhdGlvbk1hbmlmZXN0IHsKQEAgLTUwLDYgKzUxLDcgQEAgLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKilhRGVjb2RlcgogICAgICAgICBXVEY6OlN0cmluZyhz
aG9ydE5hbWUpLAogICAgICAgICBXVEY6OlN0cmluZyhkZXNjcmlwdGlvbiksCiAgICAgICAgIFdl
YkNvcmU6OlVSTChzY29wZVVSTCksCisgICAgICAgIHN0YXRpY19jYXN0PFdlYkNvcmU6OkFwcGxp
Y2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk+KGRpc3BsYXkpLAogICAgICAgICBXZWJDb3JlOjpVUkwo
c3RhcnRVUkwpCiAgICAgfTsKIApAQCAtNjIsNiArNjQsNyBAQCAtICh2b2lkKWVuY29kZVdpdGhD
b2RlcjooTlNDb2RlciAqKWFDb2RlcgogICAgIFthQ29kZXIgZW5jb2RlT2JqZWN0OnNlbGYuc2hv
cnROYW1lIGZvcktleTpAInNob3J0X25hbWUiXTsKICAgICBbYUNvZGVyIGVuY29kZU9iamVjdDpz
ZWxmLmFwcGxpY2F0aW9uRGVzY3JpcHRpb24gZm9yS2V5OkAiZGVzY3JpcHRpb24iXTsKICAgICBb
YUNvZGVyIGVuY29kZU9iamVjdDpzZWxmLnNjb3BlIGZvcktleTpAInNjb3BlIl07CisgICAgW2FD
b2RlciBlbmNvZGVJbnRlZ2VyOnN0YXRpY19jYXN0PE5TSW50ZWdlcj4oX2FwcGxpY2F0aW9uTWFu
aWZlc3QtPmFwcGxpY2F0aW9uTWFuaWZlc3QoKS5kaXNwbGF5KSBmb3JLZXk6QCJkaXNwbGF5Il07
CiAgICAgW2FDb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5zdGFydFVSTCBmb3JLZXk6QCJzdGFydF91
cmwiXTsKIH0KIApAQCAtMTA2LDYgKzEwOSwyMiBAQCAtIChOU1VSTCAqKXN0YXJ0VVJMCiAgICAg
cmV0dXJuIF9hcHBsaWNhdGlvbk1hbmlmZXN0LT5hcHBsaWNhdGlvbk1hbmlmZXN0KCkuc3RhcnRV
Ukw7CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZSlkaXNwbGF5TW9k
ZQoreworICAgIHN3aXRjaCAoX2FwcGxpY2F0aW9uTWFuaWZlc3QtPmFwcGxpY2F0aW9uTWFuaWZl
c3QoKS5kaXNwbGF5KSB7CisgICAgY2FzZSBXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OjpE
aXNwbGF5OjpCcm93c2VyOgorICAgICAgICByZXR1cm4gX1dLQXBwbGljYXRpb25NYW5pZmVzdERp
c3BsYXlNb2RlQnJvd3NlcjsKKyAgICBjYXNlIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6
OkRpc3BsYXk6Ok1pbmltYWxVSToKKyAgICAgICAgcmV0dXJuIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3REaXNwbGF5TW9kZU1pbmltYWxVSTsKKyAgICBjYXNlIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFu
aWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU6CisgICAgICAgIHJldHVybiBfV0tBcHBsaWNhdGlv
bk1hbmlmZXN0RGlzcGxheU1vZGVTdGFuZGFsb25lOworICAgIGNhc2UgV2ViQ29yZTo6QXBwbGlj
YXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIF9XS0Fw
cGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZUZ1bGxTY3JlZW47CisgICAgfQorCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7Cit9CisKICNlbHNlIC8vIEVOQUJMRShBUFBMSUNBVElPTl9NQU5J
RkVTVCkKIAogKyAoX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqKWFwcGxpY2F0aW9uTWFuaWZlc3RG
cm9tSlNPTjooTlNTdHJpbmcgKilqc29uIG1hbmlmZXN0VVJMOihOU1VSTCAqKW1hbmlmZXN0VVJM
IGRvY3VtZW50VVJMOihOU1VSTCAqKWRvY3VtZW50VVJMCkBAIC0xNDksNiArMTY4LDExIEBAIC0g
KE5TVVJMICopc3RhcnRVUkwKICAgICByZXR1cm4gbmlsOwogfQogCistIChfV0tBcHBsaWNhdGlv
bk1hbmlmZXN0RGlzcGxheU1vZGUpZGlzcGxheU1vZGUKK3sKKyAgICByZXR1cm4gX1dLQXBwbGlj
YXRpb25NYW5pZmVzdERpc3BsYXlNb2RlQnJvd3NlcjsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShB
UFBMSUNBVElPTl9NQU5JRkVTVCkKIAogQGVuZApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDcxMzBiOTJjYWEzLi4yZWRmY2YyOTQ5YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+
CisKKyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIFN1cHBvcnQgZGlzcGxheS1tb2RlIG1lZGlh
IGZlYXR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4MDM3NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgIChBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2Vy
VGVzdDo6dGVzdERpc3BsYXkpOgorICAgICAgICAoVEVTVF9GKToKKyAgICAgICAgICAgIEFkZCB1
bml0IHRlc3RzIGZvciB0aGUgcGFyc2luZyBvZiB0aGUgJ2Rpc3BsYXknIG1hbmlmZXN0IHByb3Bl
cnR5LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBsaWNh
dGlvbk1hbmlmZXN0Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICAgICBVcGRhdGUgQVBJIHRlc3RzIHRvIGluY2x1ZGUgX1dLQXBwbGljYXRp
b25NYW5pZmVzdC5kaXNwbGF5TW9kZS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpwYXJzZVN0cmluZ1Rlc3RIZWFkZXJWYWx1
ZUFzUmVsYXRpdmVQYXRoKToKKyAgICAgICAgKFdUUjo6dXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVz
dEhlYWRlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oOgorICAg
ICAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2FtZUluaXRpYWxpemF0aW9uT3B0aW9ucyBjb25z
dCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29h
Lm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3
KToKKyAgICAgICAgICAgIFRlYWNoIFdLVFIgdG8gbG9vayBmb3IgYW5kIGFwcGx5IGFuIGFwcCBt
YW5pZmVzdC4gQSBuZXcgPCEtLXdlYmtpdC10ZXN0LXJ1bm5lci0tPgorICAgICAgICAgICAgZGly
ZWN0aXZlICdhcHBsaWNhdGlvbk1hbmlmZXN0JyBjYW4gc3BlY2lmeSBhIHBhdGggKHJlbGF0aXZl
IHRvIHRoZSB0ZXN0IGZpbGUgaXRzZWxmKQorICAgICAgICAgICAgdG8gYSBKU09OIGFwcCBtYW5p
ZmVzdCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3ZWIgdmlldyBiZWZvcmUgcnVubmluZyB0aGUgdGVz
dC4KKwogMjAxNy0xMi0wMSAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29t
PgogCiAgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBmZXRjaGluZyB0aGUg
bWFuaWZlc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjdmZDc5Y2M4NmQuLmRjM2EzYzc1
ZTRjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjU5LDYgKzI1OSw3IEBACiAJCTYzNTRG
NEQxMUY3QzNBQjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTRGNEQwMUY3QzNB
QjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCAqLzsgfTsKIAkJNjM1
NkZCMjIxRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTZGQjIxMUVDNEUwQkEwMDQ0
QkYxOCAvKiBWaXNpYmxlQ29udGVudFJlY3QubW0gKi87IH07CiAJCTYzNjM1M0E3MUU5ODY2NUQw
MDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNjM1M0E2
MUU5ODYxOTQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5o
dG1sICovOyB9OworCQk2M0E2MUI4QjFGQUQyNTExMDBGMDY4ODUgLyogZGlzcGxheS1tb2RlLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NjNBNjFCOEExRkFEMjA0RDAwRjA2ODg1IC8qIGRpc3BsYXktbW9kZS5odG1sICovOyB9OwogCQk2
M0Y2NjgyMjFGOTdGN0Y5MDAzMkVFNTEgLyogQXBwbGljYXRpb25NYW5pZmVzdC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzRjY2ODIwMUY5N0MzQUEw
MDMyRUU1MSAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovOyB9OwogCQk2QkZEMjk0QzFENUU2
QzFEMDA4RUM5NjggLyogSGFzaENvdW50ZWRTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzOEQ3RTUxQzc1MkQ1RjAwNEYxNTdEIC8qIEhhc2hD
b3VudGVkU2V0LmNwcCAqLzsgfTsKIAkJNzUxQjA1RDYxRjhFQUM0MTAwMjhBMDlFIC8qIERhdGFi
YXNlVHJhY2tlclRlc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3NTFCMDVENTFGOEVBQzFBMDAyOEEwOUUgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5t
bSAqLzsgfTsKQEAgLTg2OSw2ICs4NzAsNyBAQAogCQkJCUY0NTEyRTEzMUY2MEM0NDYwMEJCMzY5
RSAvKiBEYXRhVHJhbnNmZXJJdGVtLWdldEFzRW50cnkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQlDMDdFNkNCMjEzRkQ3MzkzMDAzOEIyMkIgLyogZGV2aWNlUGl4ZWxSYXRpby5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTA3OTlDMzRCMUVCQTMzMDEwMDNCNzUzMiAvKiBk
aXNhYmxlR2V0VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJNjNBNjFC
OEIxRkFEMjUxMTAwRjA2ODg1IC8qIGRpc3BsYXktbW9kZS5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLAogCQkJCUY0MUFCOUEyMUVGNDY5NkIwMDgzRkEwOCAvKiBkaXYtYW5kLWxhcmdlLWltYWdl
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzdFMTA2NEMxNjk3NjgxODAwQjc4QkQw
IC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCiAJCQkJMzdEQzY3OTExNDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE0MDIsNiArMTQwNCw3IEBACiAJCTYzNTRG
NEQwMUY3QzNBQjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2MzU2RkIyMTFFQzRFMEJBMDA0NEJGMTggLyogVmlzaWJsZUNv
bnRlbnRSZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVmlzaWJsZUNvbnRlbnRSZWN0Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MzYzNTNBNjFFOTg2MTk0MDAwOUY4QUYg
LyogR2VvbG9jYXRpb25HZXRDdXJyZW50UG9zaXRpb25SZXN1bHQuaHRtbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9IEdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uUmVzdWx0Lmh0bWw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYzQTYxQjhBMUZBRDIwNEQwMEYwNjg4NSAv
KiBkaXNwbGF5LW1vZGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJkaXNwbGF5LW1vZGUuaHRtbCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRjY2ODIwMUY5N0MzQUEwMDMyRUU1MSAvKiBBcHBs
aWNhdGlvbk1hbmlmZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXBwbGljYXRpb25NYW5p
ZmVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzUxQjA1RDUxRjhFQUMxQTAw
MjhBMDlFIC8qIERhdGFiYXNlVHJhY2tlclRlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
YXRhYmFzZVRyYWNrZXJUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NTRD
RUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBBdXRvRmlsbEF2YWlsYWJsZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIyODcsNiArMjI5MCw3IEBACiAJCQkJRjQ4NkIxQ0YxRjY3OTRGRjAwRjM0QkREIC8q
IERhdGFUcmFuc2Zlci1zZXREcmFnSW1hZ2UuaHRtbCAqLywKIAkJCQlGNDUxMkUxMjFGNjBDNDM0
MDBCQjM2OUUgLyogRGF0YVRyYW5zZmVySXRlbS1nZXRBc0VudHJ5Lmh0bWwgKi8sCiAJCQkJMDc5
OUMzNEExRUJBMzJGNDAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVkaWEuaHRtbCAqLywKKwkJ
CQk2M0E2MUI4QTFGQUQyMDREMDBGMDY4ODUgLyogZGlzcGxheS1tb2RlLmh0bWwgKi8sCiAJCQkJ
RjQxQUI5OUUxRUY0NjkyQzAwODNGQTA4IC8qIGRpdi1hbmQtbGFyZ2UtaW1hZ2UuaHRtbCAqLywK
IAkJCQk4MzdBMzVGMDFEOUExRTY0MDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5o
dG1sICovLAogCQkJCTU3MTRFQ0I4MUNBOEI1ODgwMDA1MUFDOCAvKiBEb3dubG9hZFJlcXVlc3RP
cmlnaW5hbFVSTC5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCmluZGV4IDc0
OWIzM2VhYWNhLi4zOWRlODU4YTZhYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcApA
QCAtMzQsNiArMzQsMjIgQEAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAorbmFtZXNwYWNlIFdlYkNvcmUgeworc3RhdGljIGlubGluZSBzdGQ6Om9zdHJl
YW0mIG9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtJiBvcywgY29uc3QgQXBwbGljYXRpb25NYW5pZmVz
dDo6RGlzcGxheSYgZGlzcGxheSkKK3sKKyAgICBzd2l0Y2ggKGRpc3BsYXkpIHsKKyAgICBjYXNl
IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXI6CisgICAgICAgIHJldHVybiBv
cyA8PCAiQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlciI7CisgICAgY2FzZSBB
cHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUk6CisgICAgICAgIHJldHVybiBv
cyA8PCAiQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJIjsKKyAgICBjYXNl
IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU6CisgICAgICAgIHJldHVy
biBvcyA8PCAiQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZSI7CisgICAg
Y2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVuOgorICAgICAgICBy
ZXR1cm4gb3MgPDwgIkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkZ1bGxzY3JlZW4iOwor
ICAgIH0KK30KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwogY2xhc3MgQXBwbGljYXRpb25NYW5p
ZmVzdFBhcnNlclRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CiBwdWJsaWM6CiAgICAgVVJM
IG1fbWFuaWZlc3RVUkw7CkBAIC03MSw2ICs4NywxMyBAQCBwdWJsaWM6CiAgICAgICAgIEVYUEVD
VF9TVFJFUShleHBlY3RlZFZhbHVlLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIHZhbHVlLnN0cmlu
ZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KIAorICAgIHZvaWQgdGVzdERpc3BsYXkoY29uc3Qg
U3RyaW5nJiByYXdKU09OLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5IGV4cGVjdGVkVmFs
dWUpCisgICAgeworICAgICAgICBhdXRvIG1hbmlmZXN0ID0gcGFyc2VUb3BMZXZlbFByb3BlcnR5
KCJkaXNwbGF5IiwgcmF3SlNPTik7CisgICAgICAgIGF1dG8gdmFsdWUgPSBtYW5pZmVzdC5kaXNw
bGF5OworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRWYWx1ZSwgdmFsdWUpOworICAgIH0KKwog
ICAgIHZvaWQgdGVzdE5hbWUoY29uc3QgU3RyaW5nJiByYXdKU09OLCBjb25zdCBTdHJpbmcmIGV4
cGVjdGVkVmFsdWUpCiAgICAgewogICAgICAgICBhdXRvIG1hbmlmZXN0ID0gcGFyc2VUb3BMZXZl
bFByb3BlcnR5KCJuYW1lIiwgcmF3SlNPTik7CkBAIC0xNjksNiArMTkyLDI0IEBAIFRFU1RfRihB
cHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdCwgU3RhcnRVUkwpCiAgICAgdGVzdFN0YXJ0VVJM
KCJcIi4uL3BhZ2UyXCIiLCAiaHR0cHM6Ly9leGFtcGxlLmNvbS9wYWdlMiIpOwogfQogCitURVNU
X0YoQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlclRlc3QsIERpc3BsYXkpCit7CisgICAgdGVzdERp
c3BsYXkoIjEyMyIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOworICAg
IHRlc3REaXNwbGF5KCJudWxsIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nl
cik7CisgICAgdGVzdERpc3BsYXkoInRydWUiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5
OjpCcm93c2VyKTsKKyAgICB0ZXN0RGlzcGxheSgieyB9IiwgQXBwbGljYXRpb25NYW5pZmVzdDo6
RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIlsgXSIsIEFwcGxpY2F0aW9uTWFu
aWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOworICAgIHRlc3REaXNwbGF5KCJcIlwiIiwgQXBwbGlj
YXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIlwiZ2Fy
YmFnZSBzdHJpbmdcIiIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOwor
CisgICAgdGVzdERpc3BsYXkoIlwiYnJvd3NlclwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlz
cGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIlwic3RhbmRhbG9uZVwiIiwgQXBwbGlj
YXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZSk7CisgICAgdGVzdERpc3BsYXkoIlwi
bWluaW1hbC11aVwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJKTsK
KyAgICB0ZXN0RGlzcGxheSgiXCJmdWxsc2NyZWVuXCIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpE
aXNwbGF5OjpGdWxsc2NyZWVuKTsKKworICAgIHRlc3REaXNwbGF5KCJbXCJcXHRNSU5JTUFMLXVp
XFx0XCJdIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJKTsKK30KKwog
VEVTVF9GKEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXJUZXN0LCBOYW1lKQogewogICAgIHRlc3RO
YW1lKCIxMjMiLCBTdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KaW5kZXggNzEwYTc3
YWFhN2MuLjliYzE1NGVlYzkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBsaWNhdGlvbk1hbmlmZXN0Lm1tCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW1wb3J0ICJUZXN0LmgiCiAjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRl
LmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3
Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRl
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oPgogCkBAIC0zOCw3
ICszOSw3IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogVEVTVChXZWJLaXQsIEFwcGxp
Y2F0aW9uTWFuaWZlc3RDb2RpbmcpCiB7Ci0gICAgYXV0byBqc29uU3RyaW5nID0gQCJ7IFwibmFt
ZVwiOiBcIlRlc3ROYW1lXCIsIFwic2hvcnRfbmFtZVwiOiBcIlRlc3RTaG9ydE5hbWVcIiwgXCJk
ZXNjcmlwdGlvblwiOiBcIlRlc3REZXNjcmlwdGlvblwiLCBcInNjb3BlXCI6IFwiaHR0cHM6Ly90
ZXN0LmNvbS9hcHBcIiwgXCJzdGFydF91cmxcIjogXCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRl
eC5odG1sXCIgfSI7CisgICAgYXV0byBqc29uU3RyaW5nID0gQCJ7IFwibmFtZVwiOiBcIlRlc3RO
YW1lXCIsIFwic2hvcnRfbmFtZVwiOiBcIlRlc3RTaG9ydE5hbWVcIiwgXCJkZXNjcmlwdGlvblwi
OiBcIlRlc3REZXNjcmlwdGlvblwiLCBcInNjb3BlXCI6IFwiaHR0cHM6Ly90ZXN0LmNvbS9hcHBc
IiwgXCJzdGFydF91cmxcIjogXCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRleC5odG1sXCIsIFwi
ZGlzcGxheVwiOiBcIm1pbmltYWwtdWlcIiB9IjsKICAgICBSZXRhaW5QdHI8X1dLQXBwbGljYXRp
b25NYW5pZmVzdD4gbWFuaWZlc3QgeyBbX1dLQXBwbGljYXRpb25NYW5pZmVzdCBhcHBsaWNhdGlv
bk1hbmlmZXN0RnJvbUpTT046anNvblN0cmluZyBtYW5pZmVzdFVSTDpbTlNVUkwgVVJMV2l0aFN0
cmluZzpAImh0dHBzOi8vdGVzdC5jb20vbWFuaWZlc3QuanNvbiJdIGRvY3VtZW50VVJMOltOU1VS
TCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly90ZXN0LmNvbS8iXV0gfTsKICAgICAKICAgICBtYW5p
ZmVzdCA9IFtOU0tleWVkVW5hcmNoaXZlciB1bmFyY2hpdmVPYmplY3RXaXRoRGF0YTpbTlNLZXll
ZEFyY2hpdmVyIGFyY2hpdmVkRGF0YVdpdGhSb290T2JqZWN0Om1hbmlmZXN0LmdldCgpXV07CkBA
IC00OSw2ICs1MCw3IEBAIFRFU1QoV2ViS2l0LCBBcHBsaWNhdGlvbk1hbmlmZXN0Q29kaW5nKQog
ICAgIEVYUEVDVF9TVFJFUSgiVGVzdERlc2NyaXB0aW9uIiwgbWFuaWZlc3QuZ2V0KCkuYXBwbGlj
YXRpb25EZXNjcmlwdGlvbi5VVEY4U3RyaW5nKTsKICAgICBFWFBFQ1RfU1RSRVEoImh0dHBzOi8v
dGVzdC5jb20vYXBwIiwgbWFuaWZlc3QuZ2V0KCkuc2NvcGUuYWJzb2x1dGVTdHJpbmcuVVRGOFN0
cmluZyk7CiAgICAgRVhQRUNUX1NUUkVRKCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRleC5odG1s
IiwgbWFuaWZlc3QuZ2V0KCkuc3RhcnRVUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7Cisg
ICAgRVhQRUNUX0VRKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSSwg
IG1hbmlmZXN0LmdldCgpLmRpc3BsYXlNb2RlKTsKIH0KIAogVEVTVChXZWJLaXQsIEFwcGxpY2F0
aW9uTWFuaWZlc3RCYXNpYykKQEAgLTEwMiw2ICsxMDQsMzggQEAgVEVTVChXZWJLaXQsIEFwcGxp
Y2F0aW9uTWFuaWZlc3RCYXNpYykKICAgICBVdGlsOjpydW4oJmRvbmUpOwogfQogCitURVNUKFdl
YktpdCwgQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlKQoreworICAgIHN0YXRpYyBib29s
IGRvbmU7CisgICAgTlNEaWN0aW9uYXJ5ICpkaXNwbGF5TW9kZXNBbmRFeHBlY3RlZENvbnRlbnQg
PSBAeworICAgICAgICBAIiI6IEAiKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogYnJvd3Nl
cikiLAorICAgICAgICBAImJyb3dzZXIiOiBAIihkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6
IGJyb3dzZXIpIiwKKyAgICAgICAgQCJtaW5pbWFsLXVpIjogQCIoZGlzcGxheS1tb2RlKSAoZGlz
cGxheS1tb2RlOiBtaW5pbWFsLXVpKSIsCisgICAgICAgIEAic3RhbmRhbG9uZSI6IEAiKGRpc3Bs
YXktbW9kZSkgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkiLAorICAgICAgICBAImZ1bGxzY3Jl
ZW4iOiBAIihkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIiwKKyAgICB9
OworCisgICAgTlNVUkwgKmJhc2VVUkwgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVV
UkxdIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2Vz
Il07CisgICAgW2Rpc3BsYXlNb2Rlc0FuZEV4cGVjdGVkQ29udGVudCBlbnVtZXJhdGVLZXlzQW5k
T2JqZWN0c1VzaW5nQmxvY2s6XihOU1N0cmluZyAqZGlzcGxheU1vZGUsIE5TU3RyaW5nICpleHBl
Y3RlZFBhZ2VDb250ZW50LCBCT09MKiBzdG9wKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wg
eworICAgICAgICAgICAgTlNTdHJpbmcgKm0yID0gZGlzcGxheU1vZGUubGVuZ3RoID8gW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ7XCJkaXNwbGF5XCI6IFwiJUBcIn0iLCBkaXNwbGF5TW9k
ZV0gOiBAInt9IjsKKyAgICAgICAgICAgIFJldGFpblB0cjxfV0tBcHBsaWNhdGlvbk1hbmlmZXN0
PiBtYW5pZmVzdCA9IFtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGFwcGxpY2F0aW9uTWFuaWZlc3RG
cm9tSlNPTjptMiBtYW5pZmVzdFVSTDpbYmFzZVVSTCBVUkxCeUFwcGVuZGluZ1BhdGhDb21wb25l
bnQ6QCJtYW5pZmVzdC5qc29uIl0gZG9jdW1lbnRVUkw6YmFzZVVSTF07CisgICAgICAgICAgICBh
dXRvIGNvbmZpZyA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgICAgICAgICBjb25maWcuZ2V0KCkuX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSBtYW5p
ZmVzdC5nZXQoKTsKKyAgICAgICAgICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25m
aWcuZ2V0KCldKTsKKyAgICAgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBh
Z2VOYW1lZDpAImRpc3BsYXktbW9kZSJdOworICAgICAgICAgICAgCisgICAgICAgICAgICBkb25l
ID0gZmFsc2U7CisgICAgICAgICAgICBbd2ViVmlldyBfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhD
b21wbGV0aW9uSGFuZGxlcjpeKE5TU3RyaW5nICpjb250ZW50cywgTlNFcnJvciAqZXJyb3IpIHsK
KyAgICAgICAgICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfU1RS
RVEoZXhwZWN0ZWRQYWdlQ29udGVudC5VVEY4U3RyaW5nLCBjb250ZW50cy5VVEY4U3RyaW5nKTsK
KyAgICAgICAgICAgIH1dOworICAgICAgICAgICAgVXRpbDo6cnVuKCZkb25lKTsKKyAgICAgICAg
ICAgIFt3ZWJWaWV3IHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgICAgICB9CisgICAgfV07Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFC
TEVEICYmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvZGlzcGxheS1tb2RlLmh0bWwgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2Rpc3BsYXktbW9kZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44ZDY1MWVjZTc1OQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvZGlzcGxheS1tb2Rl
Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHN0eWxlPgorZGl2IHsgZGlzcGxheTogbm9uZTsgfQor
QG1lZGlhIChkaXNwbGF5LW1vZGUpIHsKKyAgICAuZGlzcGxheS1tb2RlLW51bGwgeyBkaXNwbGF5
OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBicm93c2VyKSB7CisgICAgLmRp
c3BsYXktbW9kZS1icm93c2VyIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3Bs
YXktbW9kZTogbWluaW1hbC11aSkgeworICAgIC5kaXNwbGF5LW1vZGUtbWluaW1hbC11aSB7IGRp
c3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHsK
KyAgICAuZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0Bt
ZWRpYSAoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSB7CisgICAgLmRpc3BsYXktbW9kZS1mdWxs
c2NyZWVuIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogaW52
YWxpZC12YWx1ZSkgeworICAgIC5kaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSB7IGRpc3BsYXk6
IGlubGluZTsgfQorfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1udWxsIj4o
ZGlzcGxheS1tb2RlKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWJyb3dzZXIiPihk
aXNwbGF5LW1vZGU6IGJyb3dzZXIpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbWlu
aW1hbC11aSI+KGRpc3BsYXktbW9kZTogbWluaW1hbC11aSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRp
c3BsYXktbW9kZS1zdGFuZGFsb25lIj4oZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKTwvZGl2Pgor
PGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4iPihkaXNwbGF5LW1vZGU6IGZ1bGxz
Y3JlZW4pPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSI+KGRp
c3BsYXktbW9kZTogaW52YWxpZC12YWx1ZSk8L2Rpdj4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMjcwMDA0NTMzOWIuLmI5YmViNmExMGI2IDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtOTgyLDYgKzk4MiwxMyBA
QCBzdGF0aWMgYm9vbCBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUoY29uc3Qgc3RkOjpzdHJp
bmcmIHZhbHVlKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIHN0ZDo6c3RyaW5nIHBh
cnNlU3RyaW5nVGVzdEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgoY29uc3Qgc3RkOjpzdHJpbmcm
IHZhbHVlLCBjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMKQoreworICAgIFdLUmV0YWluUHRy
PFdLVVJMUmVmPiBiYXNlVVJMKEFkb3B0V0ssIGNyZWF0ZVRlc3RVUkwocGF0aE9yVVJMLmNfc3Ry
KCkpKTsKKyAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gcmVsYXRpdmVVUkwoQWRvcHRXSywgV0tV
UkxDcmVhdGVXaXRoQmFzZVVSTChiYXNlVVJMLmdldCgpLCB2YWx1ZS5jX3N0cigpKSk7CisgICAg
cmV0dXJuIHRvU1REKGFkb3B0V0soV0tVUkxDb3B5UGF0aChyZWxhdGl2ZVVSTC5nZXQoKSkpKTsK
K30KKwogc3RhdGljIHZvaWQgdXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihUZXN0T3B0
aW9ucyYgdGVzdE9wdGlvbnMsIGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0
ZDo6c3RyaW5nJiBhYnNvbHV0ZVBhdGgpCiB7CiAgICAgc3RkOjpzdHJpbmcgZmlsZW5hbWUgPSBh
YnNvbHV0ZVBhdGg7CkBAIC0xMDU4LDYgKzEwNjUsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVUZXN0
T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qgc3Rk
OgogICAgICAgICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlSW5zcGVjdG9yQWRkaXRpb25zID0gcGFy
c2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgaWYgKGtleSA9PSAiZHVt
cEpTQ29uc29sZUxvZ0luU3RkRXJyIikKICAgICAgICAgICAgIHRlc3RPcHRpb25zLmR1bXBKU0Nv
bnNvbGVMb2dJblN0ZEVyciA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7Cisg
ICAgICAgIGlmIChrZXkgPT0gImFwcGxpY2F0aW9uTWFuaWZlc3QiKQorICAgICAgICAgICAgdGVz
dE9wdGlvbnMuYXBwbGljYXRpb25NYW5pZmVzdCA9IHBhcnNlU3RyaW5nVGVzdEhlYWRlclZhbHVl
QXNSZWxhdGl2ZVBhdGgodmFsdWUsIHBhdGhPclVSTCk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBh
aXJFbmQgKyAxOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdE9wdGlvbnMuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAppbmRl
eCA5NmJkN2NjYzZlNy4uMDExZjQ5ZDg2YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRp
b25zLmgKQEAgLTU3LDYgKzU3LDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKIAogICAgIGZsb2F0
IGRldmljZVNjYWxlRmFjdG9yIHsgMSB9OwogICAgIFZlY3RvcjxTdHJpbmc+IG92ZXJyaWRlTGFu
Z3VhZ2VzOworICAgIHN0ZDo6c3RyaW5nIGFwcGxpY2F0aW9uTWFuaWZlc3Q7CiAgICAgCiAgICAg
VGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVSTCk7CiAKQEAgLTgwLDcgKzgx
LDggQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICAgICAgICAgIHx8IGVuYWJsZUNyZWRlbnRp
YWxNYW5hZ2VtZW50ICE9IG9wdGlvbnMuZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQKICAgICAg
ICAgICAgIHx8IGVuYWJsZUlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZSAhPSBvcHRpb25zLmVuYWJs
ZUlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZQogICAgICAgICAgICAgfHwgZW5hYmxlSW5zcGVjdG9y
QWRkaXRpb25zICE9IG9wdGlvbnMuZW5hYmxlSW5zcGVjdG9yQWRkaXRpb25zCi0gICAgICAgICAg
ICB8fCBkdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgIT0gb3B0aW9ucy5kdW1wSlNDb25zb2xlTG9n
SW5TdGRFcnIpCisgICAgICAgICAgICB8fCBkdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgIT0gb3B0
aW9ucy5kdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIKKyAgICAgICAgICAgIHx8IGFwcGxpY2F0aW9u
TWFuaWZlc3QgIT0gb3B0aW9ucy5hcHBsaWNhdGlvbk1hbmlmZXN0KQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCmluZGV4IGQ4YzZjMDk2NWFm
Li44ODE4MmIwZjFhYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9U
ZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2Ev
VGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtNDUsNiArNDUsNyBAQAogI2ltcG9ydCA8V2ViS2l0
L1dLV2Vic2l0ZURhdGFSZWNvcmRQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRl
RGF0YVN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0ZURhdGFTdG9yZVJl
Zi5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaD4KICNpbXBvcnQg
PFdlYktpdC9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9f
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaD4KQEAgLTE1Myw2ICsxNTQsMTIgQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNvbmZpZ3VyYXRpb25S
ZWYsIGNvbnN0IFRlc3RPcHQKICAgICBpZiAob3B0aW9ucy5lbmFibGVBdHRhY2htZW50RWxlbWVu
dCkKICAgICAgICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldEF0dGFjaG1lbnRFbGVtZW50RW5h
YmxlZDogWUVTXTsKIAorICAgIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uTWFuaWZlc3QubGVuZ3Ro
KCkpIHsKKyAgICAgICAgYXV0byBtYW5pZmVzdFBhdGggPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVU
RjhTdHJpbmc6b3B0aW9ucy5hcHBsaWNhdGlvbk1hbmlmZXN0LmNfc3RyKCldOworICAgICAgICBO
U1N0cmluZyAqdGV4dCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6bWFuaWZl
c3RQYXRoIHVzZWRFbmNvZGluZzpudWxscHRyIGVycm9yOm51bGxwdHJdOworICAgICAgICBbY29w
aWVkQ29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5pZmVzdDpbX1dLQXBwbGljYXRpb25N
YW5pZmVzdCBhcHBsaWNhdGlvbk1hbmlmZXN0RnJvbUpTT046dGV4dCBtYW5pZmVzdFVSTDpuaWwg
ZG9jdW1lbnRVUkw6bmlsXV07CisgICAgfQorCiAgICAgbV9tYWluV2ViVmlldyA9IHN0ZDo6bWFr
ZV91bmlxdWU8UGxhdGZvcm1XZWJWaWV3Pihjb3BpZWRDb25maWd1cmF0aW9uLmdldCgpLCBvcHRp
b25zKTsKICNlbHNlCiAgICAgbV9tYWluV2ViVmlldyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZv
cm1XZWJWaWV3PihnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbiwgb3B0aW9ucyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328534</attachid>
            <date>2017-12-05 17:17:57 -0800</date>
            <delta_ts>2017-12-06 20:34:17 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>0004-Web-App-Manifest-Support-display-mode-media-feature.patch</filename>
            <type>text/plain</type>
            <size>46144</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">RnJvbSBkMWI4OWQ1YTBiNDA2NmM5YmNiODliYmFiZWNjMDg3ZTJlN2FlYWVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNv
bT4KRGF0ZTogVHVlLCA3IE5vdiAyMDE3IDE3OjU3OjA0IC0wODAwClN1YmplY3Q6IFtQQVRDSCA0
LzVdIFtXZWIgQXBwIE1hbmlmZXN0XSBTdXBwb3J0IGRpc3BsYXktbW9kZSBtZWRpYSBmZWF0dXJl
CiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzc2IHJkYXI6Ly9w
cm9ibGVtLzM1ODM3OTkzCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNvdXJjZS9XZWJD
b3JlOgoKVGVzdHM6IGFwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLmh0
bWwKICAgICAgIGFwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0bWwKCiogTW9kdWxl
cy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3QuaDoKKFdlYkNvcmU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q6OmVuY29kZSBjb25zdCk6CihXZWJDb3JlOjpBcHBsaWNhdGlvbk1h
bmlmZXN0OjpkZWNvZGUpOgoqIE1vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlv
bk1hbmlmZXN0UGFyc2VyLmNwcDoKKFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6
OnBhcnNlTWFuaWZlc3QpOgooV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFy
c2VEaXNwbGF5KToKKiBNb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5p
ZmVzdFBhcnNlci5oOgogICAgQWRkIGEgJ2Rpc3BsYXknIHByb3BlcnR5IHRvIEFwcGxpY2F0aW9u
TWFuaWZlc3QgYW5kIGhhdmUgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcgogICAgcG9wdWxhdGUg
aXQgYnkgcGFyc2luZyB0aGUgJ2Rpc3BsYXknIHByb3BlcnR5IGZyb20gdGhlIHJhdyBtYW5pZmVz
dC4KCiogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CiogY3NzL01lZGlhRmVhdHVyZU5hbWVzLmg6
CiogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgooV2ViQ29yZTo6ZGlzcGxheU1vZGVFdmFs
dWF0ZSk6CiAgICBUbyBldmFsdWF0ZSB3aGV0aGVyIGEgZGlzcGxheS1tb2RlIHF1ZXJ5IG1hdGNo
ZXMsIGNvbXBhcmUgdGhlIHBhcmFtZXRlciB0byB0aGUKICAgIGRpc3BsYXkgbW9kZSBvZiB0aGUg
bWFuaWZlc3QgYXBwbGllZCB0byB0aGUgbWFpbiBmcmFtZS4gSWYgdGhlcmUgaXMgbm8gbWFuaWZl
c3QsCiAgICB1c2UgdGhlIGZhbGxiYWNrIGRpc3BsYXkgbW9kZSAnYnJvd3NlcicgLSB0aGUgc3Bl
YyBtYW5kYXRlcyB0aGF0IGRpc3BsYXktbW9kZQogICAgbXVzdCBiZSBleHBvc2VkIGV2ZW4gaWYg
dGhlcmUgaXMgbm8gYXBwbGllZCBtYW5pZmVzdC4KKiBjc3MvTWVkaWFRdWVyeUV4cHJlc3Npb24u
Y3BwOgooV2ViQ29yZTo6ZmVhdHVyZVdpdGhWYWxpZElkZW50KToKKFdlYkNvcmU6OmlzRmVhdHVy
ZVZhbGlkV2l0aG91dFZhbHVlKToKClNvdXJjZS9XZWJLaXQ6CgoqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oOgoqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBw
bGljYXRpb25NYW5pZmVzdC5tbToKKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBpbml0V2l0aENv
ZGVyOl0pOgooLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGVuY29kZVdpdGhDb2RlcjpdKToKKC1b
X1dLQXBwbGljYXRpb25NYW5pZmVzdCBkaXNwbGF5TW9kZV0pOgoKVG9vbHM6CgoqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcDoKKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgooQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlclRlc3Q6OnRlc3REaXNw
bGF5KToKKFRFU1RfRik6CiAgICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIHBhcnNpbmcgb2YgdGhl
ICdkaXNwbGF5JyBtYW5pZmVzdCBwcm9wZXJ0eS4KCiogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BcHBsaWNhdGlvbk1hbmlmZXN0Lm1tOgooVGVzdFdlYktpdEFQSTo6VEVTVCk6Ciog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQu
CiAgICBVcGRhdGUgQVBJIHRlc3RzIHRvIGluY2x1ZGUgX1dLQXBwbGljYXRpb25NYW5pZmVzdC5k
aXNwbGF5TW9kZS4KCiogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CihXVFI6
OnBhcnNlU3RyaW5nVGVzdEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgpOgooV1RSOjp1cGRhdGVU
ZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25z
Lmg6CihXVFI6OlRlc3RPcHRpb25zOjpoYXNTYW1lSW5pdGlhbGl6YXRpb25PcHRpb25zIGNvbnN0
KToKKiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CihXVFI6
OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcpOgogICAgVGVhY2ggV0tUUiB0
byBsb29rIGZvciBhbmQgYXBwbHkgYW4gYXBwIG1hbmlmZXN0LiBBIG5ldyA8IS0td2Via2l0LXRl
c3QtcnVubmVyLS0+CiAgICBkaXJlY3RpdmUgJ2FwcGxpY2F0aW9uTWFuaWZlc3QnIGNhbiBzcGVj
aWZ5IGEgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHRlc3QgZmlsZSBpdHNlbGYpCiAgICB0byBhIEpT
T04gYXBwIG1hbmlmZXN0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIHdlYiB2aWV3IGJlZm9yZSBydW5u
aW5nIHRoZSB0ZXN0LgoKTGF5b3V0VGVzdHM6CgoqIGFwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxh
eS1tb2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5
LW1vZGUtc3ViZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBhcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKiBhcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS5odG1sOiBBZGRlZC4KKiBhcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNl
cy9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtMS5odG1sOiBBZGRlZC4KKiBhcHBsaWNhdGlvbm1hbmlm
ZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0OiBBZGRlZC4KLS0tCiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysrKysrCiAu
Li4vYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtZXhwZWN0ZWQudHh0ICB8ICAxICsK
IC4uLi9kaXNwbGF5LW1vZGUtbm8tbWFuaWZlc3QtZXhwZWN0ZWQudHh0ICAgICAgICAgIHwgIDEg
KwogLi4uL2Rpc3BsYXktbW9kZS1uby1tYW5pZmVzdC5odG1sICAgICAgICAgICAgICAgICAgfCAz
MSArKysrKysrKysrKysrKysrCiAuLi4vZGlzcGxheS1tb2RlLXN1YmZyYW1lLWV4cGVjdGVkLnR4
dCAgICAgICAgICAgICB8ICA2ICsrKysKIC4uLi9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXkt
bW9kZS1zdWJmcmFtZS5odG1sIHwgIDYgKysrKwogTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5p
ZmVzdC9kaXNwbGF5LW1vZGUuaHRtbCAgfCAzMiArKysrKysrKysrKysrKysrKwogLi4uL3Jlc291
cmNlcy9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtMS5odG1sICAgICAgICAgfCAyNyArKysrKysrKysr
KysrKwogLi4uL3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0ICAgICAgICAgICAgICAgICAg
fCAgMyArKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAzMyArKysrKysrKysrKysrKysrKwogLi4uL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGlj
YXRpb25NYW5pZmVzdC5oICAgICAgfCAyNyArKysrKysrKysrKysrLQogLi4uL0FwcGxpY2F0aW9u
TWFuaWZlc3RQYXJzZXIuY3BwICAgICAgICAgICAgICAgICAgfCAyOCArKysrKysrKysrKysrKysK
IC4uLi9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmggICAgICAgICAgICAgICAgICAgIHwgIDEg
KwogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gICAgICAgICAgICAgfCAg
NyArKysrCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaCAgICAgICAgICAg
ICB8ICA4ICsrKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAg
ICAgICAgICB8IDI3ICsrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUV4cHJlc3Npb24uY3BwICAgICAgICB8ICA2ICsrKysKIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysKIC4uLi9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaCAgIHwgIDggKysrKysKIC4uLi9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gIHwgMjQgKysrKysrKysr
KysrKwogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAzMSArKysrKysrKysrKysrKysrCiAuLi4vVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qICAgICAgICB8ICA0ICsrKwogLi4uL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlci5jcHAgICAgfCA0MSArKysrKysrKysrKysrKysrKysrKysrCiAuLi4vVGVz
dHMvV2ViS2l0Q29jb2EvQXBwbGljYXRpb25NYW5pZmVzdC5tbSAgICAgICB8IDM2ICsrKysrKysr
KysrKysrKysrKy0KIC4uLi9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbCAgICAg
ICAgICAgIHwgMjcgKysrKysrKysrKysrKysKIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwICAgICAgICAgIHwgIDkgKysrKysKIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdE9wdGlvbnMuaCAgICAgICAgICAgICAgIHwgIDQgKystCiAuLi4vV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tICB8ICA3ICsrKysKIDI4IGZpbGVzIGNoYW5n
ZWQsIDQ1OSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlz
cGxheS1tb2RlLW5vLW1hbmlmZXN0LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLW5vLW1hbmlmZXN0Lmh0
bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rp
c3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5
LW1vZGUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFu
aWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1zdWJmcmFtZS0xLmh0bWwKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFs
b25lLm1hbmlmZXN0CiBjcmVhdGUgbW9kZSAxMDA2NDQgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YzI5NWEyOTk5Zi4uMTYz
ZTA2MTYyNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMi0wNCAgRGF2aWQgUXVlc2Fk
YSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0
XSBTdXBwb3J0IGRpc3BsYXktbW9kZSBtZWRpYSBmZWF0dXJlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNzYKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vMzU4Mzc5OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGFwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3Bs
YXktbW9kZS1zdWJmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBhcHBsaWNhdGlvbm1hbmlm
ZXN0L2Rpc3BsYXktbW9kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBhcHBsaWNhdGlvbm1hbmlm
ZXN0L3Jlc291cmNlcy9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtMS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0OiBB
ZGRlZC4KKwogMjAxNy0xMi0wMSAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBmZXRjaGluZyB0
aGUgbWFuaWZlc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3Qv
ZGlzcGxheS1tb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZl
c3QvZGlzcGxheS1tb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMC4uM2Q2Y2IxYjlmMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9h
cHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBA
QAorKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLW5vLW1hbmlmZXN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1t
b2RlLW5vLW1hbmlmZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMC4uY2M4ZDBkOWY1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9h
cHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1uby1tYW5pZmVzdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSBAQAorKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogYnJvd3NlcikKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLW5v
LW1hbmlmZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXkt
bW9kZS1uby1tYW5pZmVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi5mZGYzNTNkY2ViMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FwcGxpY2F0
aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLW5vLW1hbmlmZXN0Lmh0bWwKQEAgLTAsMCArMSwzMSBA
QAorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorZGl2IHsgZGlzcGxheTogbm9uZTsgfQorQG1l
ZGlhIChkaXNwbGF5LW1vZGUpIHsKKyAgICAuZGlzcGxheS1tb2RlLW51bGwgeyBkaXNwbGF5OiBp
bmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBicm93c2VyKSB7CisgICAgLmRpc3Bs
YXktbW9kZS1icm93c2VyIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXkt
bW9kZTogbWluaW1hbC11aSkgeworICAgIC5kaXNwbGF5LW1vZGUtbWluaW1hbC11aSB7IGRpc3Bs
YXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHsKKyAg
ICAuZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRp
YSAoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSB7CisgICAgLmRpc3BsYXktbW9kZS1mdWxsc2Ny
ZWVuIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogaW52YWxp
ZC12YWx1ZSkgeworICAgIC5kaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSB7IGRpc3BsYXk6IGlu
bGluZTsgfQorfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1udWxsIj4oZGlz
cGxheS1tb2RlKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWJyb3dzZXIiPihkaXNw
bGF5LW1vZGU6IGJyb3dzZXIpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbWluaW1h
bC11aSI+KGRpc3BsYXktbW9kZTogbWluaW1hbC11aSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3Bs
YXktbW9kZS1zdGFuZGFsb25lIj4oZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKTwvZGl2PgorPGRp
diBjbGFzcz0iZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4iPihkaXNwbGF5LW1vZGU6IGZ1bGxzY3Jl
ZW4pPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSI+KGRpc3Bs
YXktbW9kZTogaW52YWxpZC12YWx1ZSk8L2Rpdj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9k
ZS1zdWJmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAuLjI4ZTQzYWQwYjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGgg
Ly88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KKyhkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1v
ZGU6IHN0YW5kYWxvbmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlm
ZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25t
YW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uNzVlMWJhMjVlNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCkBAIC0w
LDAgKzEsNiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBhcHBsaWNhdGlvbk1hbmlmZXN0
PXJlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0IF0gLS0+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorCXRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Cis8L3Nj
cmlwdD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEuaHRt
bCI+PC9pZnJhbWU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbCBiL0xheW91dFRl
c3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRkNmFmNTMwZjE1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbApAQCAtMCww
ICsxLDMyIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGFwcGxpY2F0aW9uTWFuaWZlc3Q9
cmVzb3VyY2VzL3N0YW5kYWxvbmUubWFuaWZlc3QgXSAtLT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxz
dHlsZT4KK2RpdiB7IGRpc3BsYXk6IG5vbmU7IH0KK0BtZWRpYSAoZGlzcGxheS1tb2RlKSB7Cisg
ICAgLmRpc3BsYXktbW9kZS1udWxsIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRp
c3BsYXktbW9kZTogYnJvd3NlcikgeworICAgIC5kaXNwbGF5LW1vZGUtYnJvd3NlciB7IGRpc3Bs
YXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIHsKKyAg
ICAuZGlzcGxheS1tb2RlLW1pbmltYWwtdWkgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRp
YSAoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKSB7CisgICAgLmRpc3BsYXktbW9kZS1zdGFuZGFs
b25lIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogZnVsbHNj
cmVlbikgeworICAgIC5kaXNwbGF5LW1vZGUtZnVsbHNjcmVlbiB7IGRpc3BsYXk6IGlubGluZTsg
fQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGludmFsaWQtdmFsdWUpIHsKKyAgICAuZGlzcGxh
eS1tb2RlLWludmFsaWQtdmFsdWUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KKzwvc3R5bGU+Cis8
ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbnVsbCI+KGRpc3BsYXktbW9kZSk8L2Rpdj4KKzxkaXYg
Y2xhc3M9ImRpc3BsYXktbW9kZS1icm93c2VyIj4oZGlzcGxheS1tb2RlOiBicm93c2VyKTwvZGl2
PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW1pbmltYWwtdWkiPihkaXNwbGF5LW1vZGU6IG1p
bmltYWwtdWkpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtc3RhbmRhbG9uZSI+KGRp
c3BsYXktbW9kZTogc3RhbmRhbG9uZSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1m
dWxsc2NyZWVuIj4oZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKTwvZGl2PgorPGRpdiBjbGFzcz0i
ZGlzcGxheS1tb2RlLWludmFsaWQtdmFsdWUiPihkaXNwbGF5LW1vZGU6IGludmFsaWQtdmFsdWUp
PC9kaXY+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEu
aHRtbCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXkt
bW9kZS1zdWJmcmFtZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAuLmJiZTM1YjQ3ODQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRp
b25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEuaHRtbApAQCAtMCww
ICsxLDI3IEBACis8c3R5bGU+CitkaXYgeyBkaXNwbGF5OiBub25lOyB9CitAbWVkaWEgKGRpc3Bs
YXktbW9kZSkgeworICAgIC5kaXNwbGF5LW1vZGUtbnVsbCB7IGRpc3BsYXk6IGlubGluZTsgfQor
fQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIHsKKyAgICAuZGlzcGxheS1tb2RlLWJy
b3dzZXIgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBtaW5p
bWFsLXVpKSB7CisgICAgLmRpc3BsYXktbW9kZS1taW5pbWFsLXVpIHsgZGlzcGxheTogaW5saW5l
OyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkgeworICAgIC5kaXNwbGF5
LW1vZGUtc3RhbmRhbG9uZSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5
LW1vZGU6IGZ1bGxzY3JlZW4pIHsKKyAgICAuZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4geyBkaXNw
bGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBpbnZhbGlkLXZhbHVlKSB7
CisgICAgLmRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIHsgZGlzcGxheTogaW5saW5lOyB9Cit9
Cis8L3N0eWxlPgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW51bGwiPihkaXNwbGF5LW1vZGUp
PC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtYnJvd3NlciI+KGRpc3BsYXktbW9kZTog
YnJvd3Nlcik8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1taW5pbWFsLXVpIj4oZGlz
cGxheS1tb2RlOiBtaW5pbWFsLXVpKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLXN0
YW5kYWxvbmUiPihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpPC9kaXY+Cis8ZGl2IGNsYXNzPSJk
aXNwbGF5LW1vZGUtZnVsbHNjcmVlbiI+KGRpc3BsYXktbW9kZTogZnVsbHNjcmVlbik8L2Rpdj4K
KzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIj4oZGlzcGxheS1tb2RlOiBp
bnZhbGlkLXZhbHVlKTwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL3N0YW5kYWxvbmUu
bWFuaWZlc3QgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFu
ZGFsb25lLm1hbmlmZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5k
ZTkwMmYzZjg4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFu
aWZlc3QvcmVzb3VyY2VzL3N0YW5kYWxvbmUubWFuaWZlc3QKQEAgLTAsMCArMSwzIEBACit7CisJ
ImRpc3BsYXkiOiAic3RhbmRhbG9uZSIKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggM2M3YzBkY2ViNzMuLjM1MzU0NDQxZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMzggQEAKIDIwMTctMTItMDQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxl
LmNvbT4KIAorICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gU3VwcG9ydCBkaXNwbGF5LW1vZGUg
bWVkaWEgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgwMzc2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM1ODM3OTkzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGFwcGxpY2F0aW9u
bWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvYXBw
bGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxpY2F0
aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJzZU1hbmlmZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBhcnNlRGlzcGxheSk6CisgICAg
ICAgICogTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJz
ZXIuaDoKKyAgICAgICAgICAgIEFkZCBhICdkaXNwbGF5JyBwcm9wZXJ0eSB0byBBcHBsaWNhdGlv
bk1hbmlmZXN0IGFuZCBoYXZlIEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIKKyAgICAgICAgICAg
IHBvcHVsYXRlIGl0IGJ5IHBhcnNpbmcgdGhlICdkaXNwbGF5JyBwcm9wZXJ0eSBmcm9tIHRoZSBy
YXcgbWFuaWZlc3QuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAg
ICAgKiBjc3MvTWVkaWFGZWF0dXJlTmFtZXMuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkaXNwbGF5TW9kZUV2YWx1YXRlKToKKyAg
ICAgICAgICAgIFRvIGV2YWx1YXRlIHdoZXRoZXIgYSBkaXNwbGF5LW1vZGUgcXVlcnkgbWF0Y2hl
cywgY29tcGFyZSB0aGUgcGFyYW1ldGVyIHRvIHRoZQorICAgICAgICAgICAgZGlzcGxheSBtb2Rl
IG9mIHRoZSBtYW5pZmVzdCBhcHBsaWVkIHRvIHRoZSBtYWluIGZyYW1lLiBJZiB0aGVyZSBpcyBu
byBtYW5pZmVzdCwKKyAgICAgICAgICAgIHVzZSB0aGUgZmFsbGJhY2sgZGlzcGxheSBtb2RlICdi
cm93c2VyJyAtIHRoZSBzcGVjIG1hbmRhdGVzIHRoYXQgZGlzcGxheS1tb2RlCisgICAgICAgICAg
ICBtdXN0IGJlIGV4cG9zZWQgZXZlbiBpZiB0aGVyZSBpcyBubyBhcHBsaWVkIG1hbmlmZXN0Lgor
ICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpmZWF0dXJlV2l0aFZhbGlkSWRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6aXNGZWF0dXJlVmFs
aWRXaXRob3V0VmFsdWUpOgorCisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVl
c2FkYUBhcHBsZS5jb20+CisKICAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIEFkZCBTUEkgZm9y
IGFwcGx5aW5nIGEgbWFuaWZlc3QgdG8gYSB0b3AtbGV2ZWwgYnJvd3NpbmcgY29udGV4dAogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzY4CiAgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzM0NzQ4MDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3Qu
aAppbmRleCBjNzBlN2U2MGM5MS4uOTk4Yjc4NDYwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9u
TWFuaWZlc3QuaApAQCAtMjgsMTUgKzI4LDI0IEBACiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01B
TklGRVNUKQogCiAjaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4K
ICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1
Y3QgQXBwbGljYXRpb25NYW5pZmVzdCB7CisgICAgZW51bSBjbGFzcyBEaXNwbGF5IHsKKyAgICAg
ICAgQnJvd3NlciwKKyAgICAgICAgTWluaW1hbFVJLAorICAgICAgICBTdGFuZGFsb25lLAorICAg
ICAgICBGdWxsc2NyZWVuLAorICAgIH07CisKICAgICBTdHJpbmcgbmFtZTsKICAgICBTdHJpbmcg
c2hvcnROYW1lOwogICAgIFN0cmluZyBkZXNjcmlwdGlvbjsKICAgICBVUkwgc2NvcGU7CisgICAg
RGlzcGxheSBkaXNwbGF5OwogICAgIFVSTCBzdGFydFVSTDsKIAogICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKQEAgLTQ2LDcgKzU1LDcgQEAg
c3RydWN0IEFwcGxpY2F0aW9uTWFuaWZlc3QgewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KIHZv
aWQgQXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7
Ci0gICAgZW5jb2RlciA8PCBuYW1lIDw8IHNob3J0TmFtZSA8PCBkZXNjcmlwdGlvbiA8PCBzY29w
ZSA8PCBzdGFydFVSTDsKKyAgICBlbmNvZGVyIDw8IG5hbWUgPDwgc2hvcnROYW1lIDw8IGRlc2Ny
aXB0aW9uIDw8IHNjb3BlIDw8IGRpc3BsYXkgPDwgc3RhcnRVUkw7CiB9CiAKIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+CkBAIC02Miw2ICs3MSw4IEBAIHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRpb25N
YW5pZmVzdD4gQXBwbGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQuc2NvcGUpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHJlc3VsdC5kaXNwbGF5KSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zdGFydFVSTCkpCiAgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CiAKQEAgLTcwLDUgKzgxLDE5IEBAIHN0ZDo6b3B0aW9uYWw8QXBw
bGljYXRpb25NYW5pZmVzdD4gQXBwbGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKERlY29kZXImIGRl
Y29kZXIpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorbmFtZXNwYWNlIFdURiB7CisKK3Rl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6
RGlzcGxheT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNv
cmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXksCisgICAgICAgIFdlYkNvcmU6OkFwcGxp
Y2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIsCisgICAgICAgIFdlYkNvcmU6OkFwcGxp
Y2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6Ok1pbmltYWxVSSwKKyAgICAgICAgV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZSwKKyAgICAgICAgV2ViQ29yZTo6
QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbgorICAgID47Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXVEY7CisKICNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5p
ZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAppbmRl
eCAwOTcwYTUyNzMzYS4uZjIyODQyYjE5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRp
b25NYW5pZmVzdFBhcnNlci5jcHAKQEAgLTY5LDYgKzY5LDcgQEAgQXBwbGljYXRpb25NYW5pZmVz
dCBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJzZU1hbmlmZXN0KGNvbnN0IFN0cmluZyYg
dGV4dCwKICAgICBBcHBsaWNhdGlvbk1hbmlmZXN0IHBhcnNlZE1hbmlmZXN0OwogCiAgICAgcGFy
c2VkTWFuaWZlc3Quc3RhcnRVUkwgPSBwYXJzZVN0YXJ0VVJMKCptYW5pZmVzdCwgZG9jdW1lbnRV
UkwpOworICAgIHBhcnNlZE1hbmlmZXN0LmRpc3BsYXkgPSBwYXJzZURpc3BsYXkoKm1hbmlmZXN0
KTsKICAgICBwYXJzZWRNYW5pZmVzdC5uYW1lID0gcGFyc2VOYW1lKCptYW5pZmVzdCk7CiAgICAg
cGFyc2VkTWFuaWZlc3QuZGVzY3JpcHRpb24gPSBwYXJzZURlc2NyaXB0aW9uKCptYW5pZmVzdCk7
CiAgICAgcGFyc2VkTWFuaWZlc3Quc2hvcnROYW1lID0gcGFyc2VTaG9ydE5hbWUoKm1hbmlmZXN0
KTsKQEAgLTEyNCw2ICsxMjUsMzMgQEAgVVJMIEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBh
cnNlU3RhcnRVUkwoY29uc3QgSlNPTjo6T2JqZWN0JiBtYW5pZmVzdCwgY29uc3QKICAgICByZXR1
cm4gc3RhcnRVUkw7CiB9CiAKK0FwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXkgQXBwbGljYXRp
b25NYW5pZmVzdFBhcnNlcjo6cGFyc2VEaXNwbGF5KGNvbnN0IEpTT046Ok9iamVjdCYgbWFuaWZl
c3QpCit7CisgICAgUmVmUHRyPEpTT046OlZhbHVlPiB2YWx1ZTsKKyAgICBpZiAoIW1hbmlmZXN0
LmdldFZhbHVlKEFTQ0lJTGl0ZXJhbCgiZGlzcGxheSIpLCB2YWx1ZSkpCisgICAgICAgIHJldHVy
biBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOworCisgICAgU3RyaW5nIHN0
cmluZ1ZhbHVlOworICAgIGlmICghdmFsdWUtPmFzU3RyaW5nKHN0cmluZ1ZhbHVlKSkgeworICAg
ICAgICBsb2dNYW5pZmVzdFByb3BlcnR5Tm90QVN0cmluZyhBU0NJSUxpdGVyYWwoImRpc3BsYXki
KSk7CisgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2Vy
OworICAgIH0KKworICAgIHN0cmluZ1ZhbHVlID0gc3RyaW5nVmFsdWUuc3RyaXBXaGl0ZVNwYWNl
KCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKKworICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAi
ZnVsbHNjcmVlbiIpCisgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5
OjpGdWxsc2NyZWVuOworICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAic3RhbmRhbG9uZSIpCisgICAg
ICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpTdGFuZGFsb25lOworICAg
IGlmIChzdHJpbmdWYWx1ZSA9PSAibWluaW1hbC11aSIpCisgICAgICAgIHJldHVybiBBcHBsaWNh
dGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUk7CisgICAgaWYgKHN0cmluZ1ZhbHVlID09
ICJicm93c2VyIikKKyAgICAgICAgcmV0dXJuIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6
OkJyb3dzZXI7CisKKyAgICBsb2dEZXZlbG9wZXJXYXJuaW5nKEFTQ0lJTGl0ZXJhbCgiXCIiKSAr
IHN0cmluZ1ZhbHVlICsgQVNDSUlMaXRlcmFsKCJcIiBpcyBub3QgYSB2YWxpZCBkaXNwbGF5IG1v
ZGUuIikpOworICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2Vy
OworfQorCiBTdHJpbmcgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VOYW1lKGNvbnN0
IEpTT046Ok9iamVjdCYgbWFuaWZlc3QpCiB7CiAgICAgcmV0dXJuIHBhcnNlR2VuZXJpY1N0cmlu
ZyhtYW5pZmVzdCwgQVNDSUlMaXRlcmFsKCJuYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNh
dGlvbk1hbmlmZXN0UGFyc2VyLmgKaW5kZXggNjlhMTFkYzU5NDUuLjIyNTQwZjcwZDU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGlj
YXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmgKQEAgLTQzLDYgKzQzLDcg
QEAgcHJpdmF0ZToKICAgICBBcHBsaWNhdGlvbk1hbmlmZXN0IHBhcnNlTWFuaWZlc3QoY29uc3Qg
U3RyaW5nJiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJik7CiAKICAgICBVUkwgcGFyc2VTdGFydFVS
TChjb25zdCBKU09OOjpPYmplY3QmLCBjb25zdCBVUkwmKTsKKyAgICBBcHBsaWNhdGlvbk1hbmlm
ZXN0OjpEaXNwbGF5IHBhcnNlRGlzcGxheShjb25zdCBKU09OOjpPYmplY3QmKTsKICAgICBTdHJp
bmcgcGFyc2VOYW1lKGNvbnN0IEpTT046Ok9iamVjdCYpOwogICAgIFN0cmluZyBwYXJzZURlc2Ny
aXB0aW9uKGNvbnN0IEpTT046Ok9iamVjdCYpOwogICAgIFN0cmluZyBwYXJzZVNob3J0TmFtZShj
b25zdCBKU09OOjpPYmplY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
aW5kZXggNWE0OWZhNjJlZDAuLjdiMjg1MmFhZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgpAQCAtMTM0NiwzICsxMzQ2LDEwIEBAIGF1dG8tZml0CiBzd2FwCiBmYWxs
YmFjawogb3B0aW9uYWwKKworI2lmIGRlZmluZWQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNU
KSAmJiBFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QKK2Z1bGxzY3JlZW4KK3N0YW5kYWxvbmUK
K21pbmltYWwtdWkKK2Jyb3dzZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhRmVhdHVyZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJl
TmFtZXMuaAppbmRleCBmZjJiYWI4NDEwMC4uMjFkODc1MDhmZjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYUZlYXR1cmVOYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYUZlYXR1cmVOYW1lcy5oCkBAIC0yMyw3ICsyMywxMSBAQAogI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCi0j
ZGVmaW5lIENTU19NRURJQVFVRVJZX1ZJRVdfTU9ERShtYWNybykKKyNpZiBFTkFCTEUoQVBQTElD
QVRJT05fTUFOSUZFU1QpCisjZGVmaW5lIENTU19NRURJQVFVRVJZX0RJU1BMQVlfTU9ERShtYWNy
bykgbWFjcm8oZGlzcGxheU1vZGUsICJkaXNwbGF5LW1vZGUiKQorI2Vsc2UKKyNkZWZpbmUgQ1NT
X01FRElBUVVFUllfRElTUExBWV9NT0RFKG1hY3JvKQorI2VuZGlmCiAKICNkZWZpbmUgQ1NTX01F
RElBUVVFUllfTkFNRVNfRk9SX0VBQ0hfTUVESUFGRUFUVVJFKG1hY3JvKSBcCiAgICAgbWFjcm8o
YW5pbWF0aW9uLCAiLXdlYmtpdC1hbmltYXRpb24iKSBcCkBAIC03Myw3ICs3Nyw3IEBACiAgICAg
bWFjcm8odHJhbnNpdGlvbiwgIi13ZWJraXQtdHJhbnNpdGlvbiIpIFwKICAgICBtYWNybyh2aWRl
b1BsYXlhYmxlSW5saW5lLCAiLXdlYmtpdC12aWRlby1wbGF5YWJsZS1pbmxpbmUiKSBcCiAgICAg
bWFjcm8od2lkdGgsICJ3aWR0aCIpIFwKLSAgICBDU1NfTUVESUFRVUVSWV9WSUVXX01PREUobWFj
cm8pCisgICAgQ1NTX01FRElBUVVFUllfRElTUExBWV9NT0RFKG1hY3JvKSBcCiAKIC8vIGVuZCBv
ZiBtYWNybwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKaW5k
ZXggZTZmZGExODBiNjQuLjZmZDAyNGE0MDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwCkBAIC03MzQsNiArNzM0LDMzIEBAIHN0YXRpYyBib29sIHByZWZl
cnNSZWR1Y2VkTW90aW9uRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0
aENvbnZlCiAgICAgcmV0dXJuIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLnZh
bHVlSUQoKSA9PSAodXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID8gQ1NTVmFsdWVSZWR1Y2UgOiBD
U1NWYWx1ZU5vUHJlZmVyZW5jZSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCitzdGF0aWMgYm9vbCBkaXNwbGF5TW9kZUV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29u
c3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJl
UHJlZml4KQoreworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
YXV0byBrZXl3b3JkID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkudmFsdWVJ
RCgpOworCisgICAgYXV0byBtYW5pZmVzdCA9IGZyYW1lLm1haW5GcmFtZSgpLmFwcGxpY2F0aW9u
TWFuaWZlc3QoKTsKKyAgICBpZiAoIW1hbmlmZXN0KQorICAgICAgICByZXR1cm4ga2V5d29yZCA9
PSBDU1NWYWx1ZUJyb3dzZXI7CisKKyAgICBzd2l0Y2ggKG1hbmlmZXN0LT5kaXNwbGF5KSB7Cisg
ICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVuOgorICAgICAg
ICByZXR1cm4ga2V5d29yZCA9PSBDU1NWYWx1ZUZ1bGxzY3JlZW47CisgICAgY2FzZSBBcHBsaWNh
dGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpTdGFuZGFsb25lOgorICAgICAgICByZXR1cm4ga2V5d29y
ZCA9PSBDU1NWYWx1ZVN0YW5kYWxvbmU7CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpE
aXNwbGF5OjpNaW5pbWFsVUk6CisgICAgICAgIHJldHVybiBrZXl3b3JkID09IENTU1ZhbHVlTWlu
aW1hbFVpOworICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlcjoK
KyAgICAgICAgcmV0dXJuIGtleXdvcmQgPT0gQ1NTVmFsdWVCcm93c2VyOworICAgIH0KKworICAg
IHJldHVybiBmYWxzZTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1Qp
CisKIC8vIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgY2FsbGluZyBhZGQgZGlyZWN0bHkg
dG8gYXZvaWQgaW5saW5pbmcuCiBzdGF0aWMgdm9pZCBhZGQoTWVkaWFRdWVyeUZ1bmN0aW9uTWFw
JiBtYXAsIEF0b21pY1N0cmluZ0ltcGwqIGtleSwgTWVkaWFRdWVyeUZ1bmN0aW9uIHZhbHVlKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAKaW5kZXggYmE3
YmFmYTkxODIuLjQwNzg1MmM1NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUV4cHJlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
RXhwcmVzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDkgQEAgc3RhdGljIGlubGluZSBib29sIGZlYXR1
cmVXaXRoVmFsaWRJZGVudChjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSkKICAgICB8
fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmhvdmVyCiAgICAgfHwgbWVkaWFG
ZWF0dXJlID09IE1lZGlhRmVhdHVyZU5hbWVzOjppbnZlcnRlZENvbG9ycwogICAgIHx8IG1lZGlh
RmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6cG9pbnRlcgorI2lmIEVOQUJMRShBUFBMSUNB
VElPTl9NQU5JRkVTVCkKKyAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6
OmRpc3BsYXlNb2RlCisjZW5kaWYKICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJl
TmFtZXM6OnByZWZlcnNSZWR1Y2VkTW90aW9uOwogfQogCkBAIC0xNTMsNiArMTU2LDkgQEAgc3Rh
dGljIGlubGluZSBib29sIGlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKGNvbnN0IEF0b21pY1N0
cmluZyYgbWVkaWFGZWF0dXJlKQogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0
dXJlTmFtZXM6OnByZWZlcnNSZWR1Y2VkTW90aW9uCiAgICAgICAgIHx8IG1lZGlhRmVhdHVyZSA9
PSBNZWRpYUZlYXR1cmVOYW1lczo6ZGV2aWNlUGl4ZWxSYXRpbwogICAgICAgICB8fCBtZWRpYUZl
YXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnJlc29sdXRpb24KKyNpZiBFTkFCTEUoQVBQTElD
QVRJT05fTUFOSUZFU1QpCisgICAgICAgIHx8IG1lZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVO
YW1lczo6ZGlzcGxheU1vZGUKKyNlbmRpZgogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVk
aWFGZWF0dXJlTmFtZXM6OnZpZGVvUGxheWFibGVJbmxpbmU7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjRm
MTVlM2YzMmIuLjA2ZTJhY2MwMzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE3LTEy
LTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CiAKKyAgICAgICAg
W1dlYiBBcHAgTWFuaWZlc3RdIFN1cHBvcnQgZGlzcGxheS1tb2RlIG1lZGlhIGZlYXR1cmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM3NgorICAg
ICAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lm1tOgorICAgICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGluaXRXaXRo
Q29kZXI6XSk6CisgICAgICAgICgtW19XS0FwcGxpY2F0aW9uTWFuaWZlc3QgZW5jb2RlV2l0aENv
ZGVyOl0pOgorICAgICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGRpc3BsYXlNb2RlXSk6
CisKKzIwMTctMTItMDQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4K
KwogICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gQWRkIFNQSSBmb3IgYXBwbHlpbmcgYSBtYW5p
ZmVzdCB0byBhIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0CiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNjgKICAgICAgICAgcmRhcjovL3Byb2Js
ZW0vMzQ3NDgwNjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oCmluZGV4IDYxYzUwZjJiZTEwLi5kMzJjZWZj
MDEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Fw
cGxpY2F0aW9uTWFuaWZlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oCkBAIC0zMyw2ICszMywxMyBAQAogCiBOU19BU1NV
TUVfTk9OTlVMTF9CRUdJTgogCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBcHBsaWNh
dGlvbk1hbmlmZXN0RGlzcGxheU1vZGUpIHsKKyAgICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlz
cGxheU1vZGVCcm93c2VyLAorICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1p
bmltYWxVSSwKKyAgICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVTdGFuZGFsb25l
LAorICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZUZ1bGxTY3JlZW4sCit9IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBX
S19DTEFTU19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBA
aW50ZXJmYWNlIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgOiBOU09iamVjdCA8TlNDb2Rpbmc+CiAK
QEAgLTQxLDYgKzQ4LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBudWxsYWJs
ZSwgY29weSkgTlNTdHJpbmcgKmFwcGxpY2F0aW9uRGVzY3JpcHRpb247CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIG51bGxhYmxlLCBjb3B5KSBOU1VSTCAqc2NvcGU7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TVVJMICpzdGFydFVSTDsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2Rl
IGRpc3BsYXlNb2RlOwogCiArIChfV0tBcHBsaWNhdGlvbk1hbmlmZXN0ICopYXBwbGljYXRpb25N
YW5pZmVzdEZyb21KU09OOihOU1N0cmluZyAqKWpzb24gbWFuaWZlc3RVUkw6KE5TVVJMICopbWFu
aWZlc3RVUkwgZG9jdW1lbnRVUkw6KG51bGxhYmxlIE5TVVJMICopZG9jdW1lbnRVUkw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxp
Y2F0aW9uTWFuaWZlc3QubW0KaW5kZXggODY0NWFjNGI3MTkuLmQwNDliOTY5ZmNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5p
ZmVzdC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5tbQpAQCAtNDEsNiArNDEsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhDb2RlcjooTlNDb2RlciAqKWFEZWNvZGVyCiAgICAgTlNTdHJpbmcgKnNob3J0TmFtZSA9IFth
RGVjb2RlciBkZWNvZGVPYmplY3RGb3JLZXk6QCJzaG9ydF9uYW1lIl07CiAgICAgTlNTdHJpbmcg
KmRlc2NyaXB0aW9uID0gW2FEZWNvZGVyIGRlY29kZU9iamVjdEZvcktleTpAImRlc2NyaXB0aW9u
Il07CiAgICAgTlNVUkwgKnNjb3BlVVJMID0gW2FEZWNvZGVyIGRlY29kZU9iamVjdEZvcktleTpA
InNjb3BlIl07CisgICAgTlNJbnRlZ2VyIGRpc3BsYXkgPSBbYURlY29kZXIgZGVjb2RlSW50ZWdl
ckZvcktleTpAImRpc3BsYXkiXTsKICAgICBOU1VSTCAqc3RhcnRVUkwgPSBbYURlY29kZXIgZGVj
b2RlT2JqZWN0Rm9yS2V5OkAic3RhcnRfdXJsIl07CiAKICAgICBXZWJDb3JlOjpBcHBsaWNhdGlv
bk1hbmlmZXN0IGNvcmVBcHBsaWNhdGlvbk1hbmlmZXN0IHsKQEAgLTQ4LDYgKzQ5LDcgQEAgLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKilhRGVjb2RlcgogICAgICAgICBX
VEY6OlN0cmluZyhzaG9ydE5hbWUpLAogICAgICAgICBXVEY6OlN0cmluZyhkZXNjcmlwdGlvbiks
CiAgICAgICAgIFdlYkNvcmU6OlVSTChzY29wZVVSTCksCisgICAgICAgIHN0YXRpY19jYXN0PFdl
YkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk+KGRpc3BsYXkpLAogICAgICAgICBX
ZWJDb3JlOjpVUkwoc3RhcnRVUkwpCiAgICAgfTsKIApAQCAtNjksNiArNzEsNyBAQCAtICh2b2lk
KWVuY29kZVdpdGhDb2RlcjooTlNDb2RlciAqKWFDb2RlcgogICAgIFthQ29kZXIgZW5jb2RlT2Jq
ZWN0OnNlbGYuc2hvcnROYW1lIGZvcktleTpAInNob3J0X25hbWUiXTsKICAgICBbYUNvZGVyIGVu
Y29kZU9iamVjdDpzZWxmLmFwcGxpY2F0aW9uRGVzY3JpcHRpb24gZm9yS2V5OkAiZGVzY3JpcHRp
b24iXTsKICAgICBbYUNvZGVyIGVuY29kZU9iamVjdDpzZWxmLnNjb3BlIGZvcktleTpAInNjb3Bl
Il07CisgICAgW2FDb2RlciBlbmNvZGVJbnRlZ2VyOnN0YXRpY19jYXN0PE5TSW50ZWdlcj4oX2Fw
cGxpY2F0aW9uTWFuaWZlc3QtPmFwcGxpY2F0aW9uTWFuaWZlc3QoKS5kaXNwbGF5KSBmb3JLZXk6
QCJkaXNwbGF5Il07CiAgICAgW2FDb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5zdGFydFVSTCBmb3JL
ZXk6QCJzdGFydF91cmwiXTsKIH0KIApAQCAtMTEzLDYgKzExNiwyMiBAQCAtIChOU1VSTCAqKXN0
YXJ0VVJMCiAgICAgcmV0dXJuIF9hcHBsaWNhdGlvbk1hbmlmZXN0LT5hcHBsaWNhdGlvbk1hbmlm
ZXN0KCkuc3RhcnRVUkw7CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9k
ZSlkaXNwbGF5TW9kZQoreworICAgIHN3aXRjaCAoX2FwcGxpY2F0aW9uTWFuaWZlc3QtPmFwcGxp
Y2F0aW9uTWFuaWZlc3QoKS5kaXNwbGF5KSB7CisgICAgY2FzZSBXZWJDb3JlOjpBcHBsaWNhdGlv
bk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOgorICAgICAgICByZXR1cm4gX1dLQXBwbGljYXRp
b25NYW5pZmVzdERpc3BsYXlNb2RlQnJvd3NlcjsKKyAgICBjYXNlIFdlYkNvcmU6OkFwcGxpY2F0
aW9uTWFuaWZlc3Q6OkRpc3BsYXk6Ok1pbmltYWxVSToKKyAgICAgICAgcmV0dXJuIF9XS0FwcGxp
Y2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSTsKKyAgICBjYXNlIFdlYkNvcmU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU6CisgICAgICAgIHJldHVybiBf
V0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVTdGFuZGFsb25lOworICAgIGNhc2UgV2Vi
Q29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbjoKKyAgICAgICAg
cmV0dXJuIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZUZ1bGxTY3JlZW47CisgICAg
fQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKICNlbHNlIC8vIEVOQUJMRShBUFBM
SUNBVElPTl9NQU5JRkVTVCkKIAogKyAoX1dLQXBwbGljYXRpb25NYW5pZmVzdCAqKWFwcGxpY2F0
aW9uTWFuaWZlc3RGcm9tSlNPTjooTlNTdHJpbmcgKilqc29uIG1hbmlmZXN0VVJMOihOU1VSTCAq
KW1hbmlmZXN0VVJMIGRvY3VtZW50VVJMOihOU1VSTCAqKWRvY3VtZW50VVJMCkBAIC0xNTYsNiAr
MTc1LDExIEBAIC0gKE5TVVJMICopc3RhcnRVUkwKICAgICByZXR1cm4gbmlsOwogfQogCistIChf
V0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGUpZGlzcGxheU1vZGUKK3sKKyAgICByZXR1
cm4gX1dLQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlQnJvd3NlcjsKK30KKwogI2VuZGlm
IC8vIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKIAogQGVuZApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQ0YjhmYjk2OGFiLi45MzY5NDMz
ODhmOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM0IEBACisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2Fk
YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIFN1cHBvcnQgZGlzcGxh
eS1tb2RlIG1lZGlhIGZlYXR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDM3NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgIChBcHBsaWNhdGlvbk1h
bmlmZXN0UGFyc2VyVGVzdDo6dGVzdERpc3BsYXkpOgorICAgICAgICAoVEVTVF9GKToKKyAgICAg
ICAgICAgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgcGFyc2luZyBvZiB0aGUgJ2Rpc3BsYXknIG1h
bmlmZXN0IHByb3BlcnR5LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9BcHBsaWNhdGlvbk1hbmlmZXN0Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1v
ZGUuaHRtbDogQWRkZWQuCisgICAgICAgICAgICBVcGRhdGUgQVBJIHRlc3RzIHRvIGluY2x1ZGUg
X1dLQXBwbGljYXRpb25NYW5pZmVzdC5kaXNwbGF5TW9kZS4KKworICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpwYXJzZVN0cmluZ1Rl
c3RIZWFkZXJWYWx1ZUFzUmVsYXRpdmVQYXRoKToKKyAgICAgICAgKFdUUjo6dXBkYXRlVGVzdE9w
dGlvbnNGcm9tVGVzdEhlYWRlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0
aW9ucy5oOgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2FtZUluaXRpYWxpemF0aW9u
T3B0aW9ucyBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29u
dHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1D
cmVhdGVXZWJWaWV3KToKKyAgICAgICAgICAgIFRlYWNoIFdLVFIgdG8gbG9vayBmb3IgYW5kIGFw
cGx5IGFuIGFwcCBtYW5pZmVzdC4gQSBuZXcgPCEtLXdlYmtpdC10ZXN0LXJ1bm5lci0tPgorICAg
ICAgICAgICAgZGlyZWN0aXZlICdhcHBsaWNhdGlvbk1hbmlmZXN0JyBjYW4gc3BlY2lmeSBhIHBh
dGggKHJlbGF0aXZlIHRvIHRoZSB0ZXN0IGZpbGUgaXRzZWxmKQorICAgICAgICAgICAgdG8gYSBK
U09OIGFwcCBtYW5pZmVzdCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3ZWIgdmlldyBiZWZvcmUgcnVu
bmluZyB0aGUgdGVzdC4KKwogMjAxNy0xMi0wMSAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNh
ZGFAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBBZGQgU1BJIGZvciBm
ZXRjaGluZyB0aGUgbWFuaWZlc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjBiZGUyZDI3
ZDEuLjhkMjM4Y2U5NzYyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjYwLDYgKzI2MCw3
IEBACiAJCTYzNTRGNEQxMUY3QzNBQjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYz
NTRGNEQwMUY3QzNBQjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCAq
LzsgfTsKIAkJNjM1NkZCMjIxRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTZGQjIx
MUVDNEUwQkEwMDQ0QkYxOCAvKiBWaXNpYmxlQ29udGVudFJlY3QubW0gKi87IH07CiAJCTYzNjM1
M0E3MUU5ODY2NUQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3Vs
dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDYzNjM1M0E2MUU5ODYxOTQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3Np
dGlvblJlc3VsdC5odG1sICovOyB9OworCQk2M0E2MUI4QjFGQUQyNTExMDBGMDY4ODUgLyogZGlz
cGxheS1tb2RlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjNBNjFCOEExRkFEMjA0RDAwRjA2ODg1IC8qIGRpc3BsYXktbW9kZS5odG1s
ICovOyB9OwogCQk2M0Y2NjgyMjFGOTdGN0Y5MDAzMkVFNTEgLyogQXBwbGljYXRpb25NYW5pZmVz
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzRjY2
ODIwMUY5N0MzQUEwMDMyRUU1MSAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovOyB9OwogCQk2
QkZEMjk0QzFENUU2QzFEMDA4RUM5NjggLyogSGFzaENvdW50ZWRTZXQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzOEQ3RTUxQzc1MkQ1RjAwNEYx
NTdEIC8qIEhhc2hDb3VudGVkU2V0LmNwcCAqLzsgfTsKIAkJNzUxQjA1RDYxRjhFQUM0MTAwMjhB
MDlFIC8qIERhdGFiYXNlVHJhY2tlclRlc3QubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3NTFCMDVENTFGOEVBQzFBMDAyOEEwOUUgLyogRGF0YWJhc2VU
cmFja2VyVGVzdC5tbSAqLzsgfTsKQEAgLTg3MCw2ICs4NzEsNyBAQAogCQkJCUY0NTEyRTEzMUY2
MEM0NDYwMEJCMzY5RSAvKiBEYXRhVHJhbnNmZXJJdGVtLWdldEFzRW50cnkuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQlDMDdFNkNCMjEzRkQ3MzkzMDAzOEIyMkIgLyogZGV2aWNlUGl4
ZWxSYXRpby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTA3OTlDMzRCMUVCQTMzMDEw
MDNCNzUzMiAvKiBkaXNhYmxlR2V0VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CisJCQkJNjNBNjFCOEIxRkFEMjUxMTAwRjA2ODg1IC8qIGRpc3BsYXktbW9kZS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLAogCQkJCUY0MUFCOUEyMUVGNDY5NkIwMDgzRkEwOCAvKiBkaXYtYW5k
LWxhcmdlLWltYWdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzdFMTA2NEMxNjk3
NjgxODAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzdEQzY3OTExNDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJh
bmdlT2ZTdHJpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE0MDQsNiArMTQwNiw3
IEBACiAJCTYzNTRGNEQwMUY3QzNBQjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFy
c2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MzU2RkIyMTFFQzRFMEJBMDA0NEJGMTgg
LyogVmlzaWJsZUNvbnRlbnRSZWN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVmlzaWJsZUNv
bnRlbnRSZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MzYzNTNBNjFFOTg2
MTk0MDAwOUY4QUYgLyogR2VvbG9jYXRpb25HZXRDdXJyZW50UG9zaXRpb25SZXN1bHQuaHRtbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IEdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9u
UmVzdWx0Lmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTYzQTYxQjhBMUZBRDIw
NEQwMEYwNjg4NSAvKiBkaXNwbGF5LW1vZGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJkaXNwbGF5LW1vZGUu
aHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRjY2ODIwMUY5N0MzQUEwMDMy
RUU1MSAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXBw
bGljYXRpb25NYW5pZmVzdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzUxQjA1
RDUxRjhFQUMxQTAwMjhBMDlFIC8qIERhdGFiYXNlVHJhY2tlclRlc3QubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBEYXRhYmFzZVRyYWNrZXJUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3NTRDRUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvRmlsbEF2YWlsYWJsZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIyODksNiArMjI5Miw3IEBACiAJCQkJRjQ4NkIxQ0YxRjY3OTRG
RjAwRjM0QkREIC8qIERhdGFUcmFuc2Zlci1zZXREcmFnSW1hZ2UuaHRtbCAqLywKIAkJCQlGNDUx
MkUxMjFGNjBDNDM0MDBCQjM2OUUgLyogRGF0YVRyYW5zZmVySXRlbS1nZXRBc0VudHJ5Lmh0bWwg
Ki8sCiAJCQkJMDc5OUMzNEExRUJBMzJGNDAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVkaWEu
aHRtbCAqLywKKwkJCQk2M0E2MUI4QTFGQUQyMDREMDBGMDY4ODUgLyogZGlzcGxheS1tb2RlLmh0
bWwgKi8sCiAJCQkJRjQxQUI5OUUxRUY0NjkyQzAwODNGQTA4IC8qIGRpdi1hbmQtbGFyZ2UtaW1h
Z2UuaHRtbCAqLywKIAkJCQk4MzdBMzVGMDFEOUExRTY0MDA2NjNDNTcgLyogRG93bmxvYWRSZXF1
ZXN0QmxvYlVSTC5odG1sICovLAogCQkJCTU3MTRFQ0I4MUNBOEI1ODgwMDA1MUFDOCAvKiBEb3du
bG9hZFJlcXVlc3RPcmlnaW5hbFVSTC5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIu
Y3BwCmluZGV4IDc0OWIzM2VhYWNhLi4zOWRlODU4YTZhYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0
UGFyc2VyLmNwcApAQCAtMzQsNiArMzQsMjIgQEAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorbmFtZXNwYWNlIFdlYkNvcmUgeworc3RhdGljIGlubGlu
ZSBzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwoc3RkOjpvc3RyZWFtJiBvcywgY29uc3QgQXBwbGlj
YXRpb25NYW5pZmVzdDo6RGlzcGxheSYgZGlzcGxheSkKK3sKKyAgICBzd2l0Y2ggKGRpc3BsYXkp
IHsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXI6CisgICAg
ICAgIHJldHVybiBvcyA8PCAiQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlciI7
CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUk6CisgICAg
ICAgIHJldHVybiBvcyA8PCAiQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJ
IjsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU6Cisg
ICAgICAgIHJldHVybiBvcyA8PCAiQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRh
bG9uZSI7CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVu
OgorICAgICAgICByZXR1cm4gb3MgPDwgIkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkZ1
bGxzY3JlZW4iOworICAgIH0KK30KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwogY2xhc3MgQXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlclRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CiBwdWJs
aWM6CiAgICAgVVJMIG1fbWFuaWZlc3RVUkw7CkBAIC03MSw2ICs4NywxMyBAQCBwdWJsaWM6CiAg
ICAgICAgIEVYUEVDVF9TVFJFUShleHBlY3RlZFZhbHVlLnN0cmluZygpLnV0ZjgoKS5kYXRhKCks
IHZhbHVlLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIH0KIAorICAgIHZvaWQgdGVzdERp
c3BsYXkoY29uc3QgU3RyaW5nJiByYXdKU09OLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5
IGV4cGVjdGVkVmFsdWUpCisgICAgeworICAgICAgICBhdXRvIG1hbmlmZXN0ID0gcGFyc2VUb3BM
ZXZlbFByb3BlcnR5KCJkaXNwbGF5IiwgcmF3SlNPTik7CisgICAgICAgIGF1dG8gdmFsdWUgPSBt
YW5pZmVzdC5kaXNwbGF5OworICAgICAgICBFWFBFQ1RfRVEoZXhwZWN0ZWRWYWx1ZSwgdmFsdWUp
OworICAgIH0KKwogICAgIHZvaWQgdGVzdE5hbWUoY29uc3QgU3RyaW5nJiByYXdKU09OLCBjb25z
dCBTdHJpbmcmIGV4cGVjdGVkVmFsdWUpCiAgICAgewogICAgICAgICBhdXRvIG1hbmlmZXN0ID0g
cGFyc2VUb3BMZXZlbFByb3BlcnR5KCJuYW1lIiwgcmF3SlNPTik7CkBAIC0xNjksNiArMTkyLDI0
IEBAIFRFU1RfRihBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdCwgU3RhcnRVUkwpCiAgICAg
dGVzdFN0YXJ0VVJMKCJcIi4uL3BhZ2UyXCIiLCAiaHR0cHM6Ly9leGFtcGxlLmNvbS9wYWdlMiIp
OwogfQogCitURVNUX0YoQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlclRlc3QsIERpc3BsYXkpCit7
CisgICAgdGVzdERpc3BsYXkoIjEyMyIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJy
b3dzZXIpOworICAgIHRlc3REaXNwbGF5KCJudWxsIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlz
cGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoInRydWUiLCBBcHBsaWNhdGlvbk1hbmlm
ZXN0OjpEaXNwbGF5OjpCcm93c2VyKTsKKyAgICB0ZXN0RGlzcGxheSgieyB9IiwgQXBwbGljYXRp
b25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIlsgXSIsIEFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOworICAgIHRlc3REaXNwbGF5KCJc
IlwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERp
c3BsYXkoIlwiZ2FyYmFnZSBzdHJpbmdcIiIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6
OkJyb3dzZXIpOworCisgICAgdGVzdERpc3BsYXkoIlwiYnJvd3NlclwiIiwgQXBwbGljYXRpb25N
YW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIlwic3RhbmRhbG9u
ZVwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZSk7CisgICAgdGVz
dERpc3BsYXkoIlwibWluaW1hbC11aVwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6
TWluaW1hbFVJKTsKKyAgICB0ZXN0RGlzcGxheSgiXCJmdWxsc2NyZWVuXCIiLCBBcHBsaWNhdGlv
bk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVuKTsKKworICAgIHRlc3REaXNwbGF5KCJbXCJc
XHRNSU5JTUFMLXVpXFx0XCJdIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1h
bFVJKTsKK30KKwogVEVTVF9GKEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXJUZXN0LCBOYW1lKQog
ewogICAgIHRlc3ROYW1lKCIxMjMiLCBTdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0K
aW5kZXggNzEwYTc3YWFhN2MuLjliYzE1NGVlYzkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBsaWNhdGlvbk1hbmlmZXN0Lm1t
CkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJUZXN0LmgiCiAjaW1wb3J0ICJUZXN0TmF2aWdh
dGlvbkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJL
aXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dl
YlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5o
PgogCkBAIC0zOCw3ICszOSw3IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogVEVTVChX
ZWJLaXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RDb2RpbmcpCiB7Ci0gICAgYXV0byBqc29uU3RyaW5n
ID0gQCJ7IFwibmFtZVwiOiBcIlRlc3ROYW1lXCIsIFwic2hvcnRfbmFtZVwiOiBcIlRlc3RTaG9y
dE5hbWVcIiwgXCJkZXNjcmlwdGlvblwiOiBcIlRlc3REZXNjcmlwdGlvblwiLCBcInNjb3BlXCI6
IFwiaHR0cHM6Ly90ZXN0LmNvbS9hcHBcIiwgXCJzdGFydF91cmxcIjogXCJodHRwczovL3Rlc3Qu
Y29tL2FwcC9pbmRleC5odG1sXCIgfSI7CisgICAgYXV0byBqc29uU3RyaW5nID0gQCJ7IFwibmFt
ZVwiOiBcIlRlc3ROYW1lXCIsIFwic2hvcnRfbmFtZVwiOiBcIlRlc3RTaG9ydE5hbWVcIiwgXCJk
ZXNjcmlwdGlvblwiOiBcIlRlc3REZXNjcmlwdGlvblwiLCBcInNjb3BlXCI6IFwiaHR0cHM6Ly90
ZXN0LmNvbS9hcHBcIiwgXCJzdGFydF91cmxcIjogXCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRl
eC5odG1sXCIsIFwiZGlzcGxheVwiOiBcIm1pbmltYWwtdWlcIiB9IjsKICAgICBSZXRhaW5QdHI8
X1dLQXBwbGljYXRpb25NYW5pZmVzdD4gbWFuaWZlc3QgeyBbX1dLQXBwbGljYXRpb25NYW5pZmVz
dCBhcHBsaWNhdGlvbk1hbmlmZXN0RnJvbUpTT046anNvblN0cmluZyBtYW5pZmVzdFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vdGVzdC5jb20vbWFuaWZlc3QuanNvbiJdIGRvY3Vt
ZW50VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly90ZXN0LmNvbS8iXV0gfTsKICAg
ICAKICAgICBtYW5pZmVzdCA9IFtOU0tleWVkVW5hcmNoaXZlciB1bmFyY2hpdmVPYmplY3RXaXRo
RGF0YTpbTlNLZXllZEFyY2hpdmVyIGFyY2hpdmVkRGF0YVdpdGhSb290T2JqZWN0Om1hbmlmZXN0
LmdldCgpXV07CkBAIC00OSw2ICs1MCw3IEBAIFRFU1QoV2ViS2l0LCBBcHBsaWNhdGlvbk1hbmlm
ZXN0Q29kaW5nKQogICAgIEVYUEVDVF9TVFJFUSgiVGVzdERlc2NyaXB0aW9uIiwgbWFuaWZlc3Qu
Z2V0KCkuYXBwbGljYXRpb25EZXNjcmlwdGlvbi5VVEY4U3RyaW5nKTsKICAgICBFWFBFQ1RfU1RS
RVEoImh0dHBzOi8vdGVzdC5jb20vYXBwIiwgbWFuaWZlc3QuZ2V0KCkuc2NvcGUuYWJzb2x1dGVT
dHJpbmcuVVRGOFN0cmluZyk7CiAgICAgRVhQRUNUX1NUUkVRKCJodHRwczovL3Rlc3QuY29tL2Fw
cC9pbmRleC5odG1sIiwgbWFuaWZlc3QuZ2V0KCkuc3RhcnRVUkwuYWJzb2x1dGVTdHJpbmcuVVRG
OFN0cmluZyk7CisgICAgRVhQRUNUX0VRKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9k
ZU1pbmltYWxVSSwgIG1hbmlmZXN0LmdldCgpLmRpc3BsYXlNb2RlKTsKIH0KIAogVEVTVChXZWJL
aXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RCYXNpYykKQEAgLTEwMiw2ICsxMDQsMzggQEAgVEVTVChX
ZWJLaXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RCYXNpYykKICAgICBVdGlsOjpydW4oJmRvbmUpOwog
fQogCitURVNUKFdlYktpdCwgQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlKQoreworICAg
IHN0YXRpYyBib29sIGRvbmU7CisgICAgTlNEaWN0aW9uYXJ5ICpkaXNwbGF5TW9kZXNBbmRFeHBl
Y3RlZENvbnRlbnQgPSBAeworICAgICAgICBAIiI6IEAiKGRpc3BsYXktbW9kZSkgKGRpc3BsYXkt
bW9kZTogYnJvd3NlcikiLAorICAgICAgICBAImJyb3dzZXIiOiBAIihkaXNwbGF5LW1vZGUpIChk
aXNwbGF5LW1vZGU6IGJyb3dzZXIpIiwKKyAgICAgICAgQCJtaW5pbWFsLXVpIjogQCIoZGlzcGxh
eS1tb2RlKSAoZGlzcGxheS1tb2RlOiBtaW5pbWFsLXVpKSIsCisgICAgICAgIEAic3RhbmRhbG9u
ZSI6IEAiKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkiLAorICAgICAg
ICBAImZ1bGxzY3JlZW4iOiBAIihkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6IGZ1bGxzY3Jl
ZW4pIiwKKyAgICB9OworCisgICAgTlNVUkwgKmJhc2VVUkwgPSBbW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBidW5kbGVVUkxdIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIlRlc3RXZWJLaXRB
UEkucmVzb3VyY2VzIl07CisgICAgW2Rpc3BsYXlNb2Rlc0FuZEV4cGVjdGVkQ29udGVudCBlbnVt
ZXJhdGVLZXlzQW5kT2JqZWN0c1VzaW5nQmxvY2s6XihOU1N0cmluZyAqZGlzcGxheU1vZGUsIE5T
U3RyaW5nICpleHBlY3RlZFBhZ2VDb250ZW50LCBCT09MKiBzdG9wKSB7CisgICAgICAgIEBhdXRv
cmVsZWFzZXBvb2wgeworICAgICAgICAgICAgTlNTdHJpbmcgKm0yID0gZGlzcGxheU1vZGUubGVu
Z3RoID8gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ7XCJkaXNwbGF5XCI6IFwiJUBcIn0i
LCBkaXNwbGF5TW9kZV0gOiBAInt9IjsKKyAgICAgICAgICAgIFJldGFpblB0cjxfV0tBcHBsaWNh
dGlvbk1hbmlmZXN0PiBtYW5pZmVzdCA9IFtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGFwcGxpY2F0
aW9uTWFuaWZlc3RGcm9tSlNPTjptMiBtYW5pZmVzdFVSTDpbYmFzZVVSTCBVUkxCeUFwcGVuZGlu
Z1BhdGhDb21wb25lbnQ6QCJtYW5pZmVzdC5qc29uIl0gZG9jdW1lbnRVUkw6YmFzZVVSTF07Cisg
ICAgICAgICAgICBhdXRvIGNvbmZpZyA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CisgICAgICAgICAgICBjb25maWcuZ2V0KCkuX2FwcGxpY2F0aW9uTWFu
aWZlc3QgPSBtYW5pZmVzdC5nZXQoKTsKKyAgICAgICAgICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmln
dXJhdGlvbjpjb25maWcuZ2V0KCldKTsKKyAgICAgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAImRpc3BsYXktbW9kZSJdOworICAgICAgICAgICAgCisgICAg
ICAgICAgICBkb25lID0gZmFsc2U7CisgICAgICAgICAgICBbd2ViVmlldyBfZ2V0Q29udGVudHNB
c1N0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxlcjpeKE5TU3RyaW5nICpjb250ZW50cywgTlNFcnJv
ciAqZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICBFWFBFQ1RfU1RSRVEoZXhwZWN0ZWRQYWdlQ29udGVudC5VVEY4U3RyaW5nLCBjb250ZW50cy5V
VEY4U3RyaW5nKTsKKyAgICAgICAgICAgIH1dOworICAgICAgICAgICAgVXRpbDo6cnVuKCZkb25l
KTsKKyAgICAgICAgICAgIFt3ZWJWaWV3IHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgICAgICB9
CisgICAgfV07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8v
IFdLX0FQSV9FTkFCTEVEICYmIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvZGlzcGxheS1tb2RlLmh0
bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2Rpc3BsYXktbW9kZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44ZDY1MWVjZTc1OQot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
ZGlzcGxheS1tb2RlLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHN0eWxlPgorZGl2IHsgZGlzcGxh
eTogbm9uZTsgfQorQG1lZGlhIChkaXNwbGF5LW1vZGUpIHsKKyAgICAuZGlzcGxheS1tb2RlLW51
bGwgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBicm93c2Vy
KSB7CisgICAgLmRpc3BsYXktbW9kZS1icm93c2VyIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitA
bWVkaWEgKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkgeworICAgIC5kaXNwbGF5LW1vZGUtbWlu
aW1hbC11aSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0
YW5kYWxvbmUpIHsKKyAgICAuZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUgeyBkaXNwbGF5OiBpbmxp
bmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSB7CisgICAgLmRpc3Bs
YXktbW9kZS1mdWxsc2NyZWVuIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3Bs
YXktbW9kZTogaW52YWxpZC12YWx1ZSkgeworICAgIC5kaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1
ZSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9ImRpc3BsYXkt
bW9kZS1udWxsIj4oZGlzcGxheS1tb2RlKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2Rl
LWJyb3dzZXIiPihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNw
bGF5LW1vZGUtbWluaW1hbC11aSI+KGRpc3BsYXktbW9kZTogbWluaW1hbC11aSk8L2Rpdj4KKzxk
aXYgY2xhc3M9ImRpc3BsYXktbW9kZS1zdGFuZGFsb25lIj4oZGlzcGxheS1tb2RlOiBzdGFuZGFs
b25lKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4iPihkaXNwbGF5
LW1vZGU6IGZ1bGxzY3JlZW4pPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtaW52YWxp
ZC12YWx1ZSI+KGRpc3BsYXktbW9kZTogaW52YWxpZC12YWx1ZSk8L2Rpdj4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMjcwMDA0NTMzOWIuLmI5YmViNmEx
MGI2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtOTgy
LDYgKzk4MiwxMyBAQCBzdGF0aWMgYm9vbCBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUoY29u
c3Qgc3RkOjpzdHJpbmcmIHZhbHVlKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIHN0
ZDo6c3RyaW5nIHBhcnNlU3RyaW5nVGVzdEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgoY29uc3Qg
c3RkOjpzdHJpbmcmIHZhbHVlLCBjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMKQoreworICAg
IFdLUmV0YWluUHRyPFdLVVJMUmVmPiBiYXNlVVJMKEFkb3B0V0ssIGNyZWF0ZVRlc3RVUkwocGF0
aE9yVVJMLmNfc3RyKCkpKTsKKyAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gcmVsYXRpdmVVUkwo
QWRvcHRXSywgV0tVUkxDcmVhdGVXaXRoQmFzZVVSTChiYXNlVVJMLmdldCgpLCB2YWx1ZS5jX3N0
cigpKSk7CisgICAgcmV0dXJuIHRvU1REKGFkb3B0V0soV0tVUkxDb3B5UGF0aChyZWxhdGl2ZVVS
TC5nZXQoKSkpKTsKK30KKwogc3RhdGljIHZvaWQgdXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhl
YWRlcihUZXN0T3B0aW9ucyYgdGVzdE9wdGlvbnMsIGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JV
UkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBhYnNvbHV0ZVBhdGgpCiB7CiAgICAgc3RkOjpzdHJpbmcg
ZmlsZW5hbWUgPSBhYnNvbHV0ZVBhdGg7CkBAIC0xMDU4LDYgKzEwNjUsOCBAQCBzdGF0aWMgdm9p
ZCB1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9u
cywgY29uc3Qgc3RkOgogICAgICAgICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlSW5zcGVjdG9yQWRk
aXRpb25zID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgaWYg
KGtleSA9PSAiZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIikKICAgICAgICAgICAgIHRlc3RPcHRp
b25zLmR1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1
ZSh2YWx1ZSk7CisgICAgICAgIGlmIChrZXkgPT0gImFwcGxpY2F0aW9uTWFuaWZlc3QiKQorICAg
ICAgICAgICAgdGVzdE9wdGlvbnMuYXBwbGljYXRpb25NYW5pZmVzdCA9IHBhcnNlU3RyaW5nVGVz
dEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgodmFsdWUsIHBhdGhPclVSTCk7CiAgICAgICAgIHBh
aXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9w
dGlvbnMuaAppbmRleCA5NmJkN2NjYzZlNy4uMDExZjQ5ZDg2YjggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RPcHRpb25zLmgKQEAgLTU3LDYgKzU3LDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsK
IAogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yIHsgMSB9OwogICAgIFZlY3RvcjxTdHJpbmc+
IG92ZXJyaWRlTGFuZ3VhZ2VzOworICAgIHN0ZDo6c3RyaW5nIGFwcGxpY2F0aW9uTWFuaWZlc3Q7
CiAgICAgCiAgICAgVGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVSTCk7CiAK
QEAgLTgwLDcgKzgxLDggQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICAgICAgICAgIHx8IGVu
YWJsZUNyZWRlbnRpYWxNYW5hZ2VtZW50ICE9IG9wdGlvbnMuZW5hYmxlQ3JlZGVudGlhbE1hbmFn
ZW1lbnQKICAgICAgICAgICAgIHx8IGVuYWJsZUlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZSAhPSBv
cHRpb25zLmVuYWJsZUlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZQogICAgICAgICAgICAgfHwgZW5h
YmxlSW5zcGVjdG9yQWRkaXRpb25zICE9IG9wdGlvbnMuZW5hYmxlSW5zcGVjdG9yQWRkaXRpb25z
Ci0gICAgICAgICAgICB8fCBkdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgIT0gb3B0aW9ucy5kdW1w
SlNDb25zb2xlTG9nSW5TdGRFcnIpCisgICAgICAgICAgICB8fCBkdW1wSlNDb25zb2xlTG9nSW5T
dGRFcnIgIT0gb3B0aW9ucy5kdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIKKyAgICAgICAgICAgIHx8
IGFwcGxpY2F0aW9uTWFuaWZlc3QgIT0gb3B0aW9ucy5hcHBsaWNhdGlvbk1hbmlmZXN0KQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCmluZGV4
IGQ4YzZjMDk2NWFmLi44ODE4MmIwZjFhYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtNDUsNiArNDUsNyBAQAogI2lt
cG9ydCA8V2ViS2l0L1dLV2Vic2l0ZURhdGFSZWNvcmRQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJL
aXQvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0
ZURhdGFTdG9yZVJlZi5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0FwcGxpY2F0aW9uTWFuaWZlc3Qu
aD4KICNpbXBvcnQgPFdlYktpdC9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaD4KICNpbXBv
cnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmg+CiAjaW1wb3J0IDxXZWJL
aXQvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaD4KQEAgLTE1Myw2ICsxNTQs
MTIgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNv
bmZpZ3VyYXRpb25SZWYsIGNvbnN0IFRlc3RPcHQKICAgICBpZiAob3B0aW9ucy5lbmFibGVBdHRh
Y2htZW50RWxlbWVudCkKICAgICAgICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldEF0dGFjaG1l
bnRFbGVtZW50RW5hYmxlZDogWUVTXTsKIAorICAgIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uTWFu
aWZlc3QubGVuZ3RoKCkpIHsKKyAgICAgICAgYXV0byBtYW5pZmVzdFBhdGggPSBbTlNTdHJpbmcg
c3RyaW5nV2l0aFVURjhTdHJpbmc6b3B0aW9ucy5hcHBsaWNhdGlvbk1hbmlmZXN0LmNfc3RyKCld
OworICAgICAgICBOU1N0cmluZyAqdGV4dCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNP
ZkZpbGU6bWFuaWZlc3RQYXRoIHVzZWRFbmNvZGluZzpudWxscHRyIGVycm9yOm51bGxwdHJdOwor
ICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBfc2V0QXBwbGljYXRpb25NYW5pZmVzdDpbX1dL
QXBwbGljYXRpb25NYW5pZmVzdCBhcHBsaWNhdGlvbk1hbmlmZXN0RnJvbUpTT046dGV4dCBtYW5p
ZmVzdFVSTDpuaWwgZG9jdW1lbnRVUkw6bmlsXV07CisgICAgfQorCiAgICAgbV9tYWluV2ViVmll
dyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1XZWJWaWV3Pihjb3BpZWRDb25maWd1cmF0aW9u
LmdldCgpLCBvcHRpb25zKTsKICNlbHNlCiAgICAgbV9tYWluV2ViVmlldyA9IHN0ZDo6bWFrZV91
bmlxdWU8UGxhdGZvcm1XZWJWaWV3PihnbG9iYWxXZWJWaWV3Q29uZmlndXJhdGlvbiwgb3B0aW9u
cyk7Ci0tIAoyLjEzLjUgKEFwcGxlIEdpdC05NCkKCg==
</data>
<flag name="review"
          id="347702"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328676</attachid>
            <date>2017-12-06 20:34:17 -0800</date>
            <delta_ts>2017-12-07 08:35:03 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>5pfl.patch</filename>
            <type>text/plain</type>
            <size>43515</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IGZjNTUzOGRiZTgyNjdkNWUwNWI2MTMzMjlhYmMzNDYzOGU0ZWRiYjMKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBXZWQgRGVjIDYg
MjA6MzE6MjUgMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBTdXBwb3J0IGRpc3Bs
YXktbW9kZSBtZWRpYSBmZWF0dXJlCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMzc2CiAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MwogICAgCiAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KICAgIAogICAgU291cmNlL1dlYkNvcmU6CiAgICAKICAg
IFRlc3RzOiBhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCiAg
ICAgICAgICAgYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbAogICAgCiAgICAq
IE1vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg6CiAgICAo
V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlIGNvbnN0KToKICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0OjpkZWNvZGUpOgogICAgKiBNb2R1bGVzL2FwcGxpY2F0aW9u
bWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CiAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VNYW5pZmVzdCk6CiAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VEaXNwbGF5KToKICAgICogTW9kdWxlcy9hcHBs
aWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuaDoKICAgICAgICBBZGQg
YSAnZGlzcGxheScgcHJvcGVydHkgdG8gQXBwbGljYXRpb25NYW5pZmVzdCBhbmQgaGF2ZSBBcHBs
aWNhdGlvbk1hbmlmZXN0UGFyc2VyCiAgICAgICAgcG9wdWxhdGUgaXQgYnkgcGFyc2luZyB0aGUg
J2Rpc3BsYXknIHByb3BlcnR5IGZyb20gdGhlIHJhdyBtYW5pZmVzdC4KICAgIAogICAgKiBjc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbjoKICAgICogY3NzL01lZGlhRmVhdHVyZU5hbWVzLmg6CiAgICAq
IGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoKICAgIChXZWJDb3JlOjpkaXNwbGF5TW9kZUV2
YWx1YXRlKToKICAgICAgICBUbyBldmFsdWF0ZSB3aGV0aGVyIGEgZGlzcGxheS1tb2RlIHF1ZXJ5
IG1hdGNoZXMsIGNvbXBhcmUgdGhlIHBhcmFtZXRlciB0byB0aGUKICAgICAgICBkaXNwbGF5IG1v
ZGUgb2YgdGhlIG1hbmlmZXN0IGFwcGxpZWQgdG8gdGhlIG1haW4gZnJhbWUuIElmIHRoZXJlIGlz
IG5vIG1hbmlmZXN0LAogICAgICAgIHVzZSB0aGUgZmFsbGJhY2sgZGlzcGxheSBtb2RlICdicm93
c2VyJyAtIHRoZSBzcGVjIG1hbmRhdGVzIHRoYXQgZGlzcGxheS1tb2RlCiAgICAgICAgbXVzdCBi
ZSBleHBvc2VkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gYXBwbGllZCBtYW5pZmVzdC4KICAgICogY3Nz
L01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcDoKICAgIChXZWJDb3JlOjpmZWF0dXJlV2l0aFZhbGlk
SWRlbnQpOgogICAgKFdlYkNvcmU6OmlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKToKICAgIAog
ICAgU291cmNlL1dlYktpdDoKICAgIAogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxp
Y2F0aW9uTWFuaWZlc3QuaDoKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lm1tOgogICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBpbml0V2l0aENvZGVy
Ol0pOgogICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBlbmNvZGVXaXRoQ29kZXI6XSk6CiAg
ICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGRpc3BsYXlNb2RlXSk6CiAgICAKICAgIFRvb2xz
OgogICAgCiAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgogICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlci5jcHA6CiAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CiAgICAoQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlclRlc3Q6OnRlc3REaXNwbGF5KToKICAgIChURVNUX0YpOgogICAg
ICAgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgcGFyc2luZyBvZiB0aGUgJ2Rpc3BsYXknIG1hbmlm
ZXN0IHByb3BlcnR5LgogICAgCiAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXBwbGljYXRpb25NYW5pZmVzdC5tbToKICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQu
CiAgICAgICAgVXBkYXRlIEFQSSB0ZXN0cyB0byBpbmNsdWRlIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3QuZGlzcGxheU1vZGUuCiAgICAKICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CiAgICAoV1RSOjpwYXJzZVN0cmluZ1Rlc3RIZWFkZXJWYWx1ZUFzUmVsYXRpdmVQYXRo
KToKICAgIChXVFI6OnVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIpOgogICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CiAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2Ft
ZUluaXRpYWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CiAgICAqIFdlYktpdFRlc3RSdW5uZXIvY29j
b2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbToKICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNyZWF0ZVdlYlZpZXcpOgogICAgICAgIFRlYWNoIFdLVFIgdG8gbG9vayBmb3IgYW5kIGFw
cGx5IGFuIGFwcCBtYW5pZmVzdC4gQSBuZXcgPCEtLXdlYmtpdC10ZXN0LXJ1bm5lci0tPgogICAg
ICAgIGRpcmVjdGl2ZSAnYXBwbGljYXRpb25NYW5pZmVzdCcgY2FuIHNwZWNpZnkgYSBwYXRoIChy
ZWxhdGl2ZSB0byB0aGUgdGVzdCBmaWxlIGl0c2VsZikKICAgICAgICB0byBhIEpTT04gYXBwIG1h
bmlmZXN0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIHdlYiB2aWV3IGJlZm9yZSBydW5uaW5nIHRoZSB0
ZXN0LgogICAgCiAgICBMYXlvdXRUZXN0czoKICAgIAogICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgKiBhcHBsaWNhdGlvbm1hbmlm
ZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgKiBhcHBs
aWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sOiBBZGRlZC4KICAgICog
YXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQuCiAgICAqIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1zdWJmcmFtZS0xLmh0bWw6IEFk
ZGVkLgogICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlm
ZXN0OiBBZGRlZC4KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTg0ZTE2MGI4YjguLmI3YjYzMGZhNjFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMTItMDQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gU3VwcG9ydCBkaXNwbGF5LW1v
ZGUgbWVkaWEgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMzc2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM1ODM3OTkzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBhcHBsaWNhdGlvbm1h
bmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRt
bDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxh
eS1tb2RlLXN1YmZyYW1lLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5p
ZmVzdC9yZXNvdXJjZXMvc3RhbmRhbG9uZS5tYW5pZmVzdDogQWRkZWQuCisKIDIwMTctMTItMDYg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBT
dXBwb3J0IHRoZSBkZWNvZGluZz0ic3luYy9hc3luYyIgc3ludGF4IGZvciBpbWFnZSBhc3luYyBh
dHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlz
cGxheS1tb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3Qv
ZGlzcGxheS1tb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uM2Q2Y2IxYjlmMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hcHBs
aWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAor
KGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLW5vLW1hbmlmZXN0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2Rl
LW5vLW1hbmlmZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uY2M4ZDBkOWY1MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hcHBs
aWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1uby1tYW5pZmVzdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSBAQAorKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogYnJvd3NlcikKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLW5vLW1h
bmlmZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9k
ZS1uby1tYW5pZmVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
Li5mZGYzNTNkY2ViMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9u
bWFuaWZlc3QvZGlzcGxheS1tb2RlLW5vLW1hbmlmZXN0Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAor
PHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorZGl2IHsgZGlzcGxheTogbm9uZTsgfQorQG1lZGlh
IChkaXNwbGF5LW1vZGUpIHsKKyAgICAuZGlzcGxheS1tb2RlLW51bGwgeyBkaXNwbGF5OiBpbmxp
bmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBicm93c2VyKSB7CisgICAgLmRpc3BsYXkt
bW9kZS1icm93c2VyIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9k
ZTogbWluaW1hbC11aSkgeworICAgIC5kaXNwbGF5LW1vZGUtbWluaW1hbC11aSB7IGRpc3BsYXk6
IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHsKKyAgICAu
ZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAo
ZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSB7CisgICAgLmRpc3BsYXktbW9kZS1mdWxsc2NyZWVu
IHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogaW52YWxpZC12
YWx1ZSkgeworICAgIC5kaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSB7IGRpc3BsYXk6IGlubGlu
ZTsgfQorfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1udWxsIj4oZGlzcGxh
eS1tb2RlKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWJyb3dzZXIiPihkaXNwbGF5
LW1vZGU6IGJyb3dzZXIpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbWluaW1hbC11
aSI+KGRpc3BsYXktbW9kZTogbWluaW1hbC11aSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXkt
bW9kZS1zdGFuZGFsb25lIj4oZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKTwvZGl2PgorPGRpdiBj
bGFzcz0iZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4iPihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4p
PC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSI+KGRpc3BsYXkt
bW9kZTogaW52YWxpZC12YWx1ZSk8L2Rpdj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1z
dWJmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rp
c3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLjI4ZTQzYWQwYjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88
IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KKyhkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6
IHN0YW5kYWxvbmUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5p
ZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMC4uNzVlMWJhMjVlNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCkBAIC0wLDAg
KzEsNiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBhcHBsaWNhdGlvbk1hbmlmZXN0PXJl
c291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0IF0gLS0+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorCXRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7Cis8L3Njcmlw
dD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEuaHRtbCI+
PC9pZnJhbWU+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbCBiL0xheW91dFRlc3Rz
L2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRkNmFmNTMwZjE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbApAQCAtMCwwICsx
LDMyIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGFwcGxpY2F0aW9uTWFuaWZlc3Q9cmVz
b3VyY2VzL3N0YW5kYWxvbmUubWFuaWZlc3QgXSAtLT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxzdHls
ZT4KK2RpdiB7IGRpc3BsYXk6IG5vbmU7IH0KK0BtZWRpYSAoZGlzcGxheS1tb2RlKSB7CisgICAg
LmRpc3BsYXktbW9kZS1udWxsIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3Bs
YXktbW9kZTogYnJvd3NlcikgeworICAgIC5kaXNwbGF5LW1vZGUtYnJvd3NlciB7IGRpc3BsYXk6
IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIHsKKyAgICAu
ZGlzcGxheS1tb2RlLW1pbmltYWwtdWkgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAo
ZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKSB7CisgICAgLmRpc3BsYXktbW9kZS1zdGFuZGFsb25l
IHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogZnVsbHNjcmVl
bikgeworICAgIC5kaXNwbGF5LW1vZGUtZnVsbHNjcmVlbiB7IGRpc3BsYXk6IGlubGluZTsgfQor
fQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGludmFsaWQtdmFsdWUpIHsKKyAgICAuZGlzcGxheS1t
b2RlLWludmFsaWQtdmFsdWUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KKzwvc3R5bGU+Cis8ZGl2
IGNsYXNzPSJkaXNwbGF5LW1vZGUtbnVsbCI+KGRpc3BsYXktbW9kZSk8L2Rpdj4KKzxkaXYgY2xh
c3M9ImRpc3BsYXktbW9kZS1icm93c2VyIj4oZGlzcGxheS1tb2RlOiBicm93c2VyKTwvZGl2Pgor
PGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW1pbmltYWwtdWkiPihkaXNwbGF5LW1vZGU6IG1pbmlt
YWwtdWkpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtc3RhbmRhbG9uZSI+KGRpc3Bs
YXktbW9kZTogc3RhbmRhbG9uZSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1mdWxs
c2NyZWVuIj4oZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlz
cGxheS1tb2RlLWludmFsaWQtdmFsdWUiPihkaXNwbGF5LW1vZGU6IGludmFsaWQtdmFsdWUpPC9k
aXY+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEuaHRt
bCBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9k
ZS1zdWJmcmFtZS0xLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LmJiZTM1YjQ3ODQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25t
YW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxheS1tb2RlLXN1YmZyYW1lLTEuaHRtbApAQCAtMCwwICsx
LDI3IEBACis8c3R5bGU+CitkaXYgeyBkaXNwbGF5OiBub25lOyB9CitAbWVkaWEgKGRpc3BsYXkt
bW9kZSkgeworICAgIC5kaXNwbGF5LW1vZGUtbnVsbCB7IGRpc3BsYXk6IGlubGluZTsgfQorfQor
QG1lZGlhIChkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIHsKKyAgICAuZGlzcGxheS1tb2RlLWJyb3dz
ZXIgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBtaW5pbWFs
LXVpKSB7CisgICAgLmRpc3BsYXktbW9kZS1taW5pbWFsLXVpIHsgZGlzcGxheTogaW5saW5lOyB9
Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkgeworICAgIC5kaXNwbGF5LW1v
ZGUtc3RhbmRhbG9uZSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1v
ZGU6IGZ1bGxzY3JlZW4pIHsKKyAgICAuZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4geyBkaXNwbGF5
OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBpbnZhbGlkLXZhbHVlKSB7Cisg
ICAgLmRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIHsgZGlzcGxheTogaW5saW5lOyB9Cit9Cis8
L3N0eWxlPgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW51bGwiPihkaXNwbGF5LW1vZGUpPC9k
aXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtYnJvd3NlciI+KGRpc3BsYXktbW9kZTogYnJv
d3Nlcik8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1taW5pbWFsLXVpIj4oZGlzcGxh
eS1tb2RlOiBtaW5pbWFsLXVpKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLXN0YW5k
YWxvbmUiPihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNw
bGF5LW1vZGUtZnVsbHNjcmVlbiI+KGRpc3BsYXktbW9kZTogZnVsbHNjcmVlbik8L2Rpdj4KKzxk
aXYgY2xhc3M9ImRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIj4oZGlzcGxheS1tb2RlOiBpbnZh
bGlkLXZhbHVlKTwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL3N0YW5kYWxvbmUubWFu
aWZlc3QgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFs
b25lLm1hbmlmZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kZTkw
MmYzZjg4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZl
c3QvcmVzb3VyY2VzL3N0YW5kYWxvbmUubWFuaWZlc3QKQEAgLTAsMCArMSwzIEBACit7CisJImRp
c3BsYXkiOiAic3RhbmRhbG9uZSIKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMjkxMmI2NzE2MzIuLjcwYzZmZmJmZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzYgQEAKKzIwMTctMTItMDYgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNv
bT4KKworICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gU3VwcG9ydCBkaXNwbGF5LW1vZGUgbWVk
aWEgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgwMzc2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM1ODM3OTkzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgVGVzdHM6IGFwcGxpY2F0aW9ubWFu
aWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGFwcGxpY2F0
aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvYXBwbGlj
YXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpB
cHBsaWNhdGlvbk1hbmlmZXN0OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxpY2F0aW9u
bWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJzZU1hbmlmZXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBhcnNlRGlzcGxheSk6CisgICAgICAg
ICogTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIu
aDoKKyAgICAgICAgICAgIEFkZCBhICdkaXNwbGF5JyBwcm9wZXJ0eSB0byBBcHBsaWNhdGlvbk1h
bmlmZXN0IGFuZCBoYXZlIEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIKKyAgICAgICAgICAgIHBv
cHVsYXRlIGl0IGJ5IHBhcnNpbmcgdGhlICdkaXNwbGF5JyBwcm9wZXJ0eSBmcm9tIHRoZSByYXcg
bWFuaWZlc3QuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjoKKyAgICAgICAg
KiBjc3MvTWVkaWFGZWF0dXJlTmFtZXMuaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkaXNwbGF5TW9kZUV2YWx1YXRlKToKKyAgICAg
ICAgICAgIFRvIGV2YWx1YXRlIHdoZXRoZXIgYSBkaXNwbGF5LW1vZGUgcXVlcnkgbWF0Y2hlcywg
Y29tcGFyZSB0aGUgcGFyYW1ldGVyIHRvIHRoZQorICAgICAgICAgICAgZGlzcGxheSBtb2RlIG9m
IHRoZSBtYW5pZmVzdCBhcHBsaWVkIHRvIHRoZSBtYWluIGZyYW1lLiBJZiB0aGVyZSBpcyBubyBt
YW5pZmVzdCwKKyAgICAgICAgICAgIHVzZSB0aGUgZmFsbGJhY2sgZGlzcGxheSBtb2RlICdicm93
c2VyJyAtIHRoZSBzcGVjIG1hbmRhdGVzIHRoYXQgZGlzcGxheS1tb2RlCisgICAgICAgICAgICBt
dXN0IGJlIGV4cG9zZWQgZXZlbiBpZiB0aGVyZSBpcyBubyBhcHBsaWVkIG1hbmlmZXN0LgorICAg
ICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpm
ZWF0dXJlV2l0aFZhbGlkSWRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6aXNGZWF0dXJlVmFsaWRX
aXRob3V0VmFsdWUpOgorCiAyMDE3LTEyLTAyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICBNb2Rlcm5pemUgc29tZSBhc3BlY3RzIG9mIHRleHQgY29kZWNzLCBlbGlt
aW5hdGUgV2ViS2l0IHVzZSBvZiBzdHJjYXNlY21wCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZl
c3QuaAppbmRleCBjNzBlN2U2MGM5MS4uOTk4Yjc4NDYwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0
aW9uTWFuaWZlc3QuaApAQCAtMjgsMTUgKzI4LDI0IEBACiAjaWYgRU5BQkxFKEFQUExJQ0FUSU9O
X01BTklGRVNUKQogCiAjaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMu
aD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dHJ1Y3QgQXBwbGljYXRpb25NYW5pZmVzdCB7CisgICAgZW51bSBjbGFzcyBEaXNwbGF5IHsKKyAg
ICAgICAgQnJvd3NlciwKKyAgICAgICAgTWluaW1hbFVJLAorICAgICAgICBTdGFuZGFsb25lLAor
ICAgICAgICBGdWxsc2NyZWVuLAorICAgIH07CisKICAgICBTdHJpbmcgbmFtZTsKICAgICBTdHJp
bmcgc2hvcnROYW1lOwogICAgIFN0cmluZyBkZXNjcmlwdGlvbjsKICAgICBVUkwgc2NvcGU7Cisg
ICAgRGlzcGxheSBkaXNwbGF5OwogICAgIFVSTCBzdGFydFVSTDsKIAogICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKQEAgLTQ2LDcgKzU1LDcg
QEAgc3RydWN0IEFwcGxpY2F0aW9uTWFuaWZlc3QgewogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4K
IHZvaWQgQXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiB7Ci0gICAgZW5jb2RlciA8PCBuYW1lIDw8IHNob3J0TmFtZSA8PCBkZXNjcmlwdGlvbiA8PCBz
Y29wZSA8PCBzdGFydFVSTDsKKyAgICBlbmNvZGVyIDw8IG5hbWUgPDwgc2hvcnROYW1lIDw8IGRl
c2NyaXB0aW9uIDw8IHNjb3BlIDw8IGRpc3BsYXkgPDwgc3RhcnRVUkw7CiB9CiAKIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+CkBAIC02Miw2ICs3MSw4IEBAIHN0ZDo6b3B0aW9uYWw8QXBwbGljYXRp
b25NYW5pZmVzdD4gQXBwbGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIp
CiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQuc2NvcGUpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIGlmICghZGVj
b2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5kaXNwbGF5KSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zdGFydFVSTCkpCiAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKQEAgLTcwLDUgKzgxLDE5IEBAIHN0ZDo6b3B0aW9uYWw8
QXBwbGljYXRpb25NYW5pZmVzdD4gQXBwbGljYXRpb25NYW5pZmVzdDo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorbmFtZXNwYWNlIFdURiB7CisK
K3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVz
dDo6RGlzcGxheT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdl
YkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXksCisgICAgICAgIFdlYkNvcmU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIsCisgICAgICAgIFdlYkNvcmU6OkFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6Ok1pbmltYWxVSSwKKyAgICAgICAgV2ViQ29yZTo6
QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZSwKKyAgICAgICAgV2ViQ29y
ZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbgorICAgID47Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXVEY7CisKICNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25t
YW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcApp
bmRleCAwOTcwYTUyNzMzYS4uZjIyODQyYjE5MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlci5jcHAKQEAgLTY5LDYgKzY5LDcgQEAgQXBwbGljYXRpb25NYW5p
ZmVzdCBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJzZU1hbmlmZXN0KGNvbnN0IFN0cmlu
ZyYgdGV4dCwKICAgICBBcHBsaWNhdGlvbk1hbmlmZXN0IHBhcnNlZE1hbmlmZXN0OwogCiAgICAg
cGFyc2VkTWFuaWZlc3Quc3RhcnRVUkwgPSBwYXJzZVN0YXJ0VVJMKCptYW5pZmVzdCwgZG9jdW1l
bnRVUkwpOworICAgIHBhcnNlZE1hbmlmZXN0LmRpc3BsYXkgPSBwYXJzZURpc3BsYXkoKm1hbmlm
ZXN0KTsKICAgICBwYXJzZWRNYW5pZmVzdC5uYW1lID0gcGFyc2VOYW1lKCptYW5pZmVzdCk7CiAg
ICAgcGFyc2VkTWFuaWZlc3QuZGVzY3JpcHRpb24gPSBwYXJzZURlc2NyaXB0aW9uKCptYW5pZmVz
dCk7CiAgICAgcGFyc2VkTWFuaWZlc3Quc2hvcnROYW1lID0gcGFyc2VTaG9ydE5hbWUoKm1hbmlm
ZXN0KTsKQEAgLTEyNCw2ICsxMjUsMzMgQEAgVVJMIEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6
OnBhcnNlU3RhcnRVUkwoY29uc3QgSlNPTjo6T2JqZWN0JiBtYW5pZmVzdCwgY29uc3QKICAgICBy
ZXR1cm4gc3RhcnRVUkw7CiB9CiAKK0FwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXkgQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VEaXNwbGF5KGNvbnN0IEpTT046Ok9iamVjdCYgbWFu
aWZlc3QpCit7CisgICAgUmVmUHRyPEpTT046OlZhbHVlPiB2YWx1ZTsKKyAgICBpZiAoIW1hbmlm
ZXN0LmdldFZhbHVlKEFTQ0lJTGl0ZXJhbCgiZGlzcGxheSIpLCB2YWx1ZSkpCisgICAgICAgIHJl
dHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOworCisgICAgU3RyaW5n
IHN0cmluZ1ZhbHVlOworICAgIGlmICghdmFsdWUtPmFzU3RyaW5nKHN0cmluZ1ZhbHVlKSkgewor
ICAgICAgICBsb2dNYW5pZmVzdFByb3BlcnR5Tm90QVN0cmluZyhBU0NJSUxpdGVyYWwoImRpc3Bs
YXkiKSk7CisgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93
c2VyOworICAgIH0KKworICAgIHN0cmluZ1ZhbHVlID0gc3RyaW5nVmFsdWUuc3RyaXBXaGl0ZVNw
YWNlKCkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKKworICAgIGlmIChzdHJpbmdWYWx1ZSA9
PSAiZnVsbHNjcmVlbiIpCisgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNw
bGF5OjpGdWxsc2NyZWVuOworICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAic3RhbmRhbG9uZSIpCisg
ICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpTdGFuZGFsb25lOwor
ICAgIGlmIChzdHJpbmdWYWx1ZSA9PSAibWluaW1hbC11aSIpCisgICAgICAgIHJldHVybiBBcHBs
aWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUk7CisgICAgaWYgKHN0cmluZ1ZhbHVl
ID09ICJicm93c2VyIikKKyAgICAgICAgcmV0dXJuIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3Bs
YXk6OkJyb3dzZXI7CisKKyAgICBsb2dEZXZlbG9wZXJXYXJuaW5nKEFTQ0lJTGl0ZXJhbCgiXCIi
KSArIHN0cmluZ1ZhbHVlICsgQVNDSUlMaXRlcmFsKCJcIiBpcyBub3QgYSB2YWxpZCBkaXNwbGF5
IG1vZGUuIikpOworICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93
c2VyOworfQorCiBTdHJpbmcgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VOYW1lKGNv
bnN0IEpTT046Ok9iamVjdCYgbWFuaWZlc3QpCiB7CiAgICAgcmV0dXJuIHBhcnNlR2VuZXJpY1N0
cmluZyhtYW5pZmVzdCwgQVNDSUlMaXRlcmFsKCJuYW1lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQ
YXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBs
aWNhdGlvbk1hbmlmZXN0UGFyc2VyLmgKaW5kZXggNjlhMTFkYzU5NDUuLjIyNTQwZjcwZDU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmgKQEAgLTQzLDYgKzQz
LDcgQEAgcHJpdmF0ZToKICAgICBBcHBsaWNhdGlvbk1hbmlmZXN0IHBhcnNlTWFuaWZlc3QoY29u
c3QgU3RyaW5nJiwgY29uc3QgVVJMJiwgY29uc3QgVVJMJik7CiAKICAgICBVUkwgcGFyc2VTdGFy
dFVSTChjb25zdCBKU09OOjpPYmplY3QmLCBjb25zdCBVUkwmKTsKKyAgICBBcHBsaWNhdGlvbk1h
bmlmZXN0OjpEaXNwbGF5IHBhcnNlRGlzcGxheShjb25zdCBKU09OOjpPYmplY3QmKTsKICAgICBT
dHJpbmcgcGFyc2VOYW1lKGNvbnN0IEpTT046Ok9iamVjdCYpOwogICAgIFN0cmluZyBwYXJzZURl
c2NyaXB0aW9uKGNvbnN0IEpTT046Ok9iamVjdCYpOwogICAgIFN0cmluZyBwYXJzZVNob3J0TmFt
ZShjb25zdCBKU09OOjpPYmplY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMu
aW4KaW5kZXggNWE0OWZhNjJlZDAuLjdiMjg1MmFhZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWVLZXl3b3Jkcy5pbgpAQCAtMTM0NiwzICsxMzQ2LDEwIEBAIGF1dG8tZml0CiBzd2FwCiBm
YWxsYmFjawogb3B0aW9uYWwKKworI2lmIGRlZmluZWQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAmJiBFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QKK2Z1bGxzY3JlZW4KK3N0YW5kYWxv
bmUKK21pbmltYWwtdWkKK2Jyb3dzZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhRmVhdHVyZU5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0
dXJlTmFtZXMuaAppbmRleCBmZjJiYWI4NDEwMC4uMjFkODc1MDhmZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUZlYXR1cmVOYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYUZlYXR1cmVOYW1lcy5oCkBAIC0yMyw3ICsyMywxMSBAQAogI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgog
Ci0jZGVmaW5lIENTU19NRURJQVFVRVJZX1ZJRVdfTU9ERShtYWNybykKKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisjZGVmaW5lIENTU19NRURJQVFVRVJZX0RJU1BMQVlfTU9ERSht
YWNybykgbWFjcm8oZGlzcGxheU1vZGUsICJkaXNwbGF5LW1vZGUiKQorI2Vsc2UKKyNkZWZpbmUg
Q1NTX01FRElBUVVFUllfRElTUExBWV9NT0RFKG1hY3JvKQorI2VuZGlmCiAKICNkZWZpbmUgQ1NT
X01FRElBUVVFUllfTkFNRVNfRk9SX0VBQ0hfTUVESUFGRUFUVVJFKG1hY3JvKSBcCiAgICAgbWFj
cm8oYW5pbWF0aW9uLCAiLXdlYmtpdC1hbmltYXRpb24iKSBcCkBAIC03Myw3ICs3Nyw3IEBACiAg
ICAgbWFjcm8odHJhbnNpdGlvbiwgIi13ZWJraXQtdHJhbnNpdGlvbiIpIFwKICAgICBtYWNybyh2
aWRlb1BsYXlhYmxlSW5saW5lLCAiLXdlYmtpdC12aWRlby1wbGF5YWJsZS1pbmxpbmUiKSBcCiAg
ICAgbWFjcm8od2lkdGgsICJ3aWR0aCIpIFwKLSAgICBDU1NfTUVESUFRVUVSWV9WSUVXX01PREUo
bWFjcm8pCisgICAgQ1NTX01FRElBUVVFUllfRElTUExBWV9NT0RFKG1hY3JvKSBcCiAKIC8vIGVu
ZCBvZiBtYWNybwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAK
aW5kZXggZTZmZGExODBiNjQuLjZmZDAyNGE0MDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC03MzQsNiArNzM0LDMzIEBAIHN0YXRpYyBib29sIHBy
ZWZlcnNSZWR1Y2VkTW90aW9uRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xl
bmd0aENvbnZlCiAgICAgcmV0dXJuIGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUp
LnZhbHVlSUQoKSA9PSAodXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID8gQ1NTVmFsdWVSZWR1Y2Ug
OiBDU1NWYWx1ZU5vUHJlZmVyZW5jZSk7CiB9CiAKKyNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFO
SUZFU1QpCitzdGF0aWMgYm9vbCBkaXNwbGF5TW9kZUV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwg
Y29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0
dXJlUHJlZml4KQoreworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgYXV0byBrZXl3b3JkID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkudmFs
dWVJRCgpOworCisgICAgYXV0byBtYW5pZmVzdCA9IGZyYW1lLm1haW5GcmFtZSgpLmFwcGxpY2F0
aW9uTWFuaWZlc3QoKTsKKyAgICBpZiAoIW1hbmlmZXN0KQorICAgICAgICByZXR1cm4ga2V5d29y
ZCA9PSBDU1NWYWx1ZUJyb3dzZXI7CisKKyAgICBzd2l0Y2ggKG1hbmlmZXN0LT5kaXNwbGF5KSB7
CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVuOgorICAg
ICAgICByZXR1cm4ga2V5d29yZCA9PSBDU1NWYWx1ZUZ1bGxzY3JlZW47CisgICAgY2FzZSBBcHBs
aWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpTdGFuZGFsb25lOgorICAgICAgICByZXR1cm4ga2V5
d29yZCA9PSBDU1NWYWx1ZVN0YW5kYWxvbmU7CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlmZXN0
OjpEaXNwbGF5OjpNaW5pbWFsVUk6CisgICAgICAgIHJldHVybiBrZXl3b3JkID09IENTU1ZhbHVl
TWluaW1hbFVpOworICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nl
cjoKKyAgICAgICAgcmV0dXJuIGtleXdvcmQgPT0gQ1NTVmFsdWVCcm93c2VyOworICAgIH0KKwor
ICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZF
U1QpCisKIC8vIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgY2FsbGluZyBhZGQgZGlyZWN0
bHkgdG8gYXZvaWQgaW5saW5pbmcuCiBzdGF0aWMgdm9pZCBhZGQoTWVkaWFRdWVyeUZ1bmN0aW9u
TWFwJiBtYXAsIEF0b21pY1N0cmluZ0ltcGwqIGtleSwgTWVkaWFRdWVyeUZ1bmN0aW9uIHZhbHVl
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHByZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lvbi5jcHAKaW5kZXgg
YmE3YmFmYTkxODIuLjQwNzg1MmM1NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV4cHJlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXhwcmVzc2lvbi5jcHAKQEAgLTQ2LDYgKzQ2LDkgQEAgc3RhdGljIGlubGluZSBib29sIGZl
YXR1cmVXaXRoVmFsaWRJZGVudChjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSkKICAg
ICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmhvdmVyCiAgICAgfHwgbWVk
aWFGZWF0dXJlID09IE1lZGlhRmVhdHVyZU5hbWVzOjppbnZlcnRlZENvbG9ycwogICAgIHx8IG1l
ZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6cG9pbnRlcgorI2lmIEVOQUJMRShBUFBM
SUNBVElPTl9NQU5JRkVTVCkKKyAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFt
ZXM6OmRpc3BsYXlNb2RlCisjZW5kaWYKICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0
dXJlTmFtZXM6OnByZWZlcnNSZWR1Y2VkTW90aW9uOwogfQogCkBAIC0xNTMsNiArMTU2LDkgQEAg
c3RhdGljIGlubGluZSBib29sIGlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKGNvbnN0IEF0b21p
Y1N0cmluZyYgbWVkaWFGZWF0dXJlKQogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFG
ZWF0dXJlTmFtZXM6OnByZWZlcnNSZWR1Y2VkTW90aW9uCiAgICAgICAgIHx8IG1lZGlhRmVhdHVy
ZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6ZGV2aWNlUGl4ZWxSYXRpbwogICAgICAgICB8fCBtZWRp
YUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnJlc29sdXRpb24KKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisgICAgICAgIHx8IG1lZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1
cmVOYW1lczo6ZGlzcGxheU1vZGUKKyNlbmRpZgogICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0g
TWVkaWFGZWF0dXJlTmFtZXM6OnZpZGVvUGxheWFibGVJbmxpbmU7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MjAxZGUyMmMzNTcuLmZhODMzZmUxOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3
LTEyLTA2ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+CisKKyAgICAg
ICAgW1dlYiBBcHAgTWFuaWZlc3RdIFN1cHBvcnQgZGlzcGxheS1tb2RlIG1lZGlhIGZlYXR1cmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM3Ngor
ICAgICAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IEdl
b2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNh
dGlvbk1hbmlmZXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNh
dGlvbk1hbmlmZXN0Lm1tOgorICAgICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGluaXRX
aXRoQ29kZXI6XSk6CisgICAgICAgICgtW19XS0FwcGxpY2F0aW9uTWFuaWZlc3QgZW5jb2RlV2l0
aENvZGVyOl0pOgorICAgICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGRpc3BsYXlNb2Rl
XSk6CisKIDIwMTctMTItMDIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIE1vZGVybml6ZSBzb21lIGFzcGVjdHMgb2YgdGV4dCBjb2RlY3MsIGVsaW1pbmF0ZSBXZWJL
aXQgdXNlIG9mIHN0cmNhc2VjbXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oCmluZGV4IDYxYzUwZjJiZTEw
Li5kMzJjZWZjMDEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oCkBAIC0zMyw2ICszMywxMyBAQAog
CiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBf
V0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGUpIHsKKyAgICBfV0tBcHBsaWNhdGlvbk1h
bmlmZXN0RGlzcGxheU1vZGVCcm93c2VyLAorICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNw
bGF5TW9kZU1pbmltYWxVSSwKKyAgICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVT
dGFuZGFsb25lLAorICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZUZ1bGxTY3Jl
ZW4sCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOworCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpCiBAaW50ZXJmYWNlIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3QgOiBOU09iamVjdCA8TlND
b2Rpbmc+CiAKQEAgLTQxLDYgKzQ4LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKmFwcGxpY2F0aW9uRGVzY3JpcHRpb247CiBAcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIG51bGxhYmxlLCBjb3B5KSBOU1VSTCAqc2NvcGU7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TVVJMICpzdGFydFVSTDsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLQXBwbGljYXRpb25NYW5pZmVzdERp
c3BsYXlNb2RlIGRpc3BsYXlNb2RlOwogCiArIChfV0tBcHBsaWNhdGlvbk1hbmlmZXN0ICopYXBw
bGljYXRpb25NYW5pZmVzdEZyb21KU09OOihOU1N0cmluZyAqKWpzb24gbWFuaWZlc3RVUkw6KE5T
VVJMICopbWFuaWZlc3RVUkwgZG9jdW1lbnRVUkw6KG51bGxhYmxlIE5TVVJMICopZG9jdW1lbnRV
Ukw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
cHBsaWNhdGlvbk1hbmlmZXN0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KaW5kZXggNGY1ZTlhMTU5OTYuLjRhOTE3YzQxNTVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbQpAQCAtNDEsNiArNDEsNyBAQCAtIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhDb2RlcjooTlNDb2RlciAqKWFEZWNvZGVyCiAgICAgTlNTdHJpbmcgKnNob3J0
TmFtZSA9IFthRGVjb2RlciBkZWNvZGVPYmplY3RGb3JLZXk6QCJzaG9ydF9uYW1lIl07CiAgICAg
TlNTdHJpbmcgKmRlc2NyaXB0aW9uID0gW2FEZWNvZGVyIGRlY29kZU9iamVjdEZvcktleTpAImRl
c2NyaXB0aW9uIl07CiAgICAgTlNVUkwgKnNjb3BlVVJMID0gW2FEZWNvZGVyIGRlY29kZU9iamVj
dEZvcktleTpAInNjb3BlIl07CisgICAgTlNJbnRlZ2VyIGRpc3BsYXkgPSBbYURlY29kZXIgZGVj
b2RlSW50ZWdlckZvcktleTpAImRpc3BsYXkiXTsKICAgICBOU1VSTCAqc3RhcnRVUkwgPSBbYURl
Y29kZXIgZGVjb2RlT2JqZWN0Rm9yS2V5OkAic3RhcnRfdXJsIl07CiAKICAgICBXZWJDb3JlOjpB
cHBsaWNhdGlvbk1hbmlmZXN0IGNvcmVBcHBsaWNhdGlvbk1hbmlmZXN0IHsKQEAgLTQ4LDYgKzQ5
LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKilhRGVjb2Rlcgog
ICAgICAgICBXVEY6OlN0cmluZyhzaG9ydE5hbWUpLAogICAgICAgICBXVEY6OlN0cmluZyhkZXNj
cmlwdGlvbiksCiAgICAgICAgIFdlYkNvcmU6OlVSTChzY29wZVVSTCksCisgICAgICAgIHN0YXRp
Y19jYXN0PFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk+KGRpc3BsYXkpLAog
ICAgICAgICBXZWJDb3JlOjpVUkwoc3RhcnRVUkwpCiAgICAgfTsKIApAQCAtNjksNiArNzEsNyBA
QCAtICh2b2lkKWVuY29kZVdpdGhDb2RlcjooTlNDb2RlciAqKWFDb2RlcgogICAgIFthQ29kZXIg
ZW5jb2RlT2JqZWN0OnNlbGYuc2hvcnROYW1lIGZvcktleTpAInNob3J0X25hbWUiXTsKICAgICBb
YUNvZGVyIGVuY29kZU9iamVjdDpzZWxmLmFwcGxpY2F0aW9uRGVzY3JpcHRpb24gZm9yS2V5OkAi
ZGVzY3JpcHRpb24iXTsKICAgICBbYUNvZGVyIGVuY29kZU9iamVjdDpzZWxmLnNjb3BlIGZvcktl
eTpAInNjb3BlIl07CisgICAgW2FDb2RlciBlbmNvZGVJbnRlZ2VyOnN0YXRpY19jYXN0PE5TSW50
ZWdlcj4oX2FwcGxpY2F0aW9uTWFuaWZlc3QtPmFwcGxpY2F0aW9uTWFuaWZlc3QoKS5kaXNwbGF5
KSBmb3JLZXk6QCJkaXNwbGF5Il07CiAgICAgW2FDb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5zdGFy
dFVSTCBmb3JLZXk6QCJzdGFydF91cmwiXTsKIH0KIApAQCAtMTEzLDYgKzExNiwyMiBAQCAtIChO
U1VSTCAqKXN0YXJ0VVJMCiAgICAgcmV0dXJuIF9hcHBsaWNhdGlvbk1hbmlmZXN0LT5hcHBsaWNh
dGlvbk1hbmlmZXN0KCkuc3RhcnRVUkw7CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3RE
aXNwbGF5TW9kZSlkaXNwbGF5TW9kZQoreworICAgIHN3aXRjaCAoX2FwcGxpY2F0aW9uTWFuaWZl
c3QtPmFwcGxpY2F0aW9uTWFuaWZlc3QoKS5kaXNwbGF5KSB7CisgICAgY2FzZSBXZWJDb3JlOjpB
cHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyOgorICAgICAgICByZXR1cm4gX1dL
QXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlQnJvd3NlcjsKKyAgICBjYXNlIFdlYkNvcmU6
OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6Ok1pbmltYWxVSToKKyAgICAgICAgcmV0dXJu
IF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSTsKKyAgICBjYXNlIFdl
YkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU6CisgICAgICAg
IHJldHVybiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVTdGFuZGFsb25lOworICAg
IGNhc2UgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbjoK
KyAgICAgICAgcmV0dXJuIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZUZ1bGxTY3Jl
ZW47CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKICNlbHNlIC8vIEVO
QUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKIAogKyAoX1dLQXBwbGljYXRpb25NYW5pZmVzdCAq
KWFwcGxpY2F0aW9uTWFuaWZlc3RGcm9tSlNPTjooTlNTdHJpbmcgKilqc29uIG1hbmlmZXN0VVJM
OihOU1VSTCAqKW1hbmlmZXN0VVJMIGRvY3VtZW50VVJMOihOU1VSTCAqKWRvY3VtZW50VVJMCkBA
IC0xNjAsNiArMTc5LDExIEBAIC0gKE5TVVJMICopc3RhcnRVUkwKICAgICByZXR1cm4gbmlsOwog
fQogCistIChfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGUpZGlzcGxheU1vZGUKK3sK
KyAgICByZXR1cm4gX1dLQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlQnJvd3NlcjsKK30K
KwogI2VuZGlmIC8vIEVOQUJMRShBUFBMSUNBVElPTl9NQU5JRkVTVCkKIAogQGVuZApkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVlZDBmYTgyZTQx
Li4wYmYyMTIzMzhmMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2
aWRfcXVlc2FkYUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIFN1cHBv
cnQgZGlzcGxheS1tb2RlIG1lZGlhIGZlYXR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM3NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zNTgz
Nzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQ
YXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgIChBcHBs
aWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdDo6dGVzdERpc3BsYXkpOgorICAgICAgICAoVEVTVF9G
KToKKyAgICAgICAgICAgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgcGFyc2luZyBvZiB0aGUgJ2Rp
c3BsYXknIG1hbmlmZXN0IHByb3BlcnR5LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9BcHBsaWNhdGlvbk1hbmlmZXN0Lm1tOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9k
aXNwbGF5LW1vZGUuaHRtbDogQWRkZWQuCisgICAgICAgICAgICBVcGRhdGUgQVBJIHRlc3RzIHRv
IGluY2x1ZGUgX1dLQXBwbGljYXRpb25NYW5pZmVzdC5kaXNwbGF5TW9kZS4KKworICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpwYXJz
ZVN0cmluZ1Rlc3RIZWFkZXJWYWx1ZUFzUmVsYXRpdmVQYXRoKToKKyAgICAgICAgKFdUUjo6dXBk
YXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0T3B0aW9ucy5oOgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2FtZUluaXRp
YWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2Nv
YS9UZXN0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1DcmVhdGVXZWJWaWV3KToKKyAgICAgICAgICAgIFRlYWNoIFdLVFIgdG8gbG9vayBm
b3IgYW5kIGFwcGx5IGFuIGFwcCBtYW5pZmVzdC4gQSBuZXcgPCEtLXdlYmtpdC10ZXN0LXJ1bm5l
ci0tPgorICAgICAgICAgICAgZGlyZWN0aXZlICdhcHBsaWNhdGlvbk1hbmlmZXN0JyBjYW4gc3Bl
Y2lmeSBhIHBhdGggKHJlbGF0aXZlIHRvIHRoZSB0ZXN0IGZpbGUgaXRzZWxmKQorICAgICAgICAg
ICAgdG8gYSBKU09OIGFwcCBtYW5pZmVzdCB0byBiZSBhcHBsaWVkIHRvIHRoZSB3ZWIgdmlldyBi
ZWZvcmUgcnVubmluZyB0aGUgdGVzdC4KKwogMjAxNy0xMi0wMiAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgTW9kZXJuaXplIHNvbWUgYXNwZWN0cyBvZiB0ZXh0IGNv
ZGVjcywgZWxpbWluYXRlIFdlYktpdCB1c2Ugb2Ygc3RyY2FzZWNtcApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBlOTE4NzU4NmJkOC4uNjBmMWMyMzMyZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0yNjAsNiArMjYwLDcgQEAKIAkJNjM1NEY0RDExRjdDM0FCNTAwRDg5REYzIC8qIEFw
cGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjM1NEY0RDAxRjdDM0FCNTAwRDg5REYzIC8qIEFwcGxpY2F0aW9u
TWFuaWZlc3RQYXJzZXIuY3BwICovOyB9OwogCQk2MzU2RkIyMjFFQzRFMEJBMDA0NEJGMTggLyog
VmlzaWJsZUNvbnRlbnRSZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjM1NkZCMjExRUM0RTBCQTAwNDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVj
dC5tbSAqLzsgfTsKIAkJNjM2MzUzQTcxRTk4NjY1RDAwMDlGOEFGIC8qIEdlb2xvY2F0aW9uR2V0
Q3VycmVudFBvc2l0aW9uUmVzdWx0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM2MzUzQTYxRTk4NjE5NDAwMDlGOEFGIC8qIEdlb2xv
Y2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uUmVzdWx0Lmh0bWwgKi87IH07CisJCTYzQTYxQjhCMUZB
RDI1MTEwMEYwNjg4NSAvKiBkaXNwbGF5LW1vZGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2M0E2MUI4QTFGQUQyMDREMDBGMDY4ODUg
LyogZGlzcGxheS1tb2RlLmh0bWwgKi87IH07CiAJCTYzRjY2ODIyMUY5N0Y3RjkwMDMyRUU1MSAv
KiBBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjNGNjY4MjAxRjk3QzNBQTAwMzJFRTUxIC8qIEFwcGxpY2F0aW9uTWFu
aWZlc3QubW0gKi87IH07CiAJCTZCRkQyOTRDMUQ1RTZDMUQwMDhFQzk2OCAvKiBIYXNoQ291bnRl
ZFNldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QTM4RDdFNTFDNzUyRDVGMDA0RjE1N0QgLyogSGFzaENvdW50ZWRTZXQuY3BwICovOyB9OwogCQk3
NTFCMDVENjFGOEVBQzQxMDAyOEEwOUUgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1MUIwNUQ1MUY4RUFDMUEw
MDI4QTA5RSAvKiBEYXRhYmFzZVRyYWNrZXJUZXN0Lm1tICovOyB9OwpAQCAtODcxLDYgKzg3Miw3
IEBACiAJCQkJRjQ1MTJFMTMxRjYwQzQ0NjAwQkIzNjlFIC8qIERhdGFUcmFuc2Zlckl0ZW0tZ2V0
QXNFbnRyeS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUMwN0U2Q0IyMTNGRDczOTMw
MDM4QjIyQiAvKiBkZXZpY2VQaXhlbFJhdGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJMDc5OUMzNEIxRUJBMzMwMTAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVkaWEuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKKwkJCQk2M0E2MUI4QjFGQUQyNTExMDBGMDY4ODUgLyogZGlz
cGxheS1tb2RlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJRjQxQUI5QTIxRUY0Njk2
QjAwODNGQTA4IC8qIGRpdi1hbmQtbGFyZ2UtaW1hZ2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQkzN0UxMDY0QzE2OTc2ODE4MDBCNzhCRDAgLyogRE9NSFRNTFRhYmxlQ2VsbEVsZW1l
bnRDZWxsQWJvdmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkzN0RDNjc5MTE0MEQ3
RDc2MDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LApAQCAtMTQwNSw2ICsxNDA3LDcgQEAKIAkJNjM1NEY0RDAxRjdDM0FCNTAwRDg5REYzIC8qIEFw
cGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXBwbGljYXRp
b25NYW5pZmVzdFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzNTZG
QjIxMUVDNEUwQkEwMDQ0QkYxOCAvKiBWaXNpYmxlQ29udGVudFJlY3QubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBWaXNpYmxlQ29udGVudFJlY3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTYzNjM1M0E2MUU5ODYxOTQwMDA5RjhBRiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQ
b3NpdGlvblJlc3VsdC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gR2VvbG9jYXRp
b25HZXRDdXJyZW50UG9zaXRpb25SZXN1bHQuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNjNBNjFCOEExRkFEMjA0RDAwRjA2ODg1IC8qIGRpc3BsYXktbW9kZS5odG1sICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImRpc3BsYXktbW9kZS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjNGNjY4MjAxRjk3QzNBQTAwMzJFRTUxIC8qIEFwcGxpY2F0aW9uTWFuaWZlc3QubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3NTFCMDVENTFGOEVBQzFBMDAyOEEwOUUgLyogRGF0YWJhc2VUcmFja2Vy
VGVzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFiYXNlVHJhY2tlclRlc3QubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1NENFQzgwMUY2NzIyREMwMEQwMDM5QSAvKiBB
dXRvRmlsbEF2YWlsYWJsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF1dG9GaWxsQXZhaWxh
YmxlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjI5MSw2ICsyMjk0LDcgQEAK
IAkJCQlGNDg2QjFDRjFGNjc5NEZGMDBGMzRCREQgLyogRGF0YVRyYW5zZmVyLXNldERyYWdJbWFn
ZS5odG1sICovLAogCQkJCUY0NTEyRTEyMUY2MEM0MzQwMEJCMzY5RSAvKiBEYXRhVHJhbnNmZXJJ
dGVtLWdldEFzRW50cnkuaHRtbCAqLywKIAkJCQkwNzk5QzM0QTFFQkEzMkY0MDAzQjc1MzIgLyog
ZGlzYWJsZUdldFVzZXJNZWRpYS5odG1sICovLAorCQkJCTYzQTYxQjhBMUZBRDIwNEQwMEYwNjg4
NSAvKiBkaXNwbGF5LW1vZGUuaHRtbCAqLywKIAkJCQlGNDFBQjk5RTFFRjQ2OTJDMDA4M0ZBMDgg
LyogZGl2LWFuZC1sYXJnZS1pbWFnZS5odG1sICovLAogCQkJCTgzN0EzNUYwMUQ5QTFFNjQwMDY2
M0M1NyAvKiBEb3dubG9hZFJlcXVlc3RCbG9iVVJMLmh0bWwgKi8sCiAJCQkJNTcxNEVDQjgxQ0E4
QjU4ODAwMDUxQUM4IC8qIERvd25sb2FkUmVxdWVzdE9yaWdpbmFsVVJMLmh0bWwgKi8sCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25NYW5p
ZmVzdFBhcnNlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlci5jcHAKaW5kZXggNzQ5YjMzZWFhY2EuLjM5ZGU4NThhNmFhIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlci5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCkBAIC0zNCw2ICszNCwyMiBAQAogdXNpbmcg
bmFtZXNwYWNlIFdURjsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCituYW1lc3BhY2UgV2Vi
Q29yZSB7CitzdGF0aWMgaW5saW5lIHN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJl
YW0mIG9zLCBjb25zdCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5JiBkaXNwbGF5KQorewor
ICAgIHN3aXRjaCAoZGlzcGxheSkgeworICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlz
cGxheTo6QnJvd3NlcjoKKyAgICAgICAgcmV0dXJuIG9zIDw8ICJBcHBsaWNhdGlvbk1hbmlmZXN0
OjpEaXNwbGF5OjpCcm93c2VyIjsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3Bs
YXk6Ok1pbmltYWxVSToKKyAgICAgICAgcmV0dXJuIG9zIDw8ICJBcHBsaWNhdGlvbk1hbmlmZXN0
OjpEaXNwbGF5OjpNaW5pbWFsVUkiOworICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlz
cGxheTo6U3RhbmRhbG9uZToKKyAgICAgICAgcmV0dXJuIG9zIDw8ICJBcHBsaWNhdGlvbk1hbmlm
ZXN0OjpEaXNwbGF5OjpTdGFuZGFsb25lIjsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFuaWZlc3Q6
OkRpc3BsYXk6OkZ1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBvcyA8PCAiQXBwbGljYXRpb25N
YW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbiI7CisgICAgfQorfQorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCiBjbGFzcyBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdCA6IHB1YmxpYyB0
ZXN0aW5nOjpUZXN0IHsKIHB1YmxpYzoKICAgICBVUkwgbV9tYW5pZmVzdFVSTDsKQEAgLTcxLDYg
Kzg3LDEzIEBAIHB1YmxpYzoKICAgICAgICAgRVhQRUNUX1NUUkVRKGV4cGVjdGVkVmFsdWUuc3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSwgdmFsdWUuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAg
fQogCisgICAgdm9pZCB0ZXN0RGlzcGxheShjb25zdCBTdHJpbmcmIHJhd0pTT04sIEFwcGxpY2F0
aW9uTWFuaWZlc3Q6OkRpc3BsYXkgZXhwZWN0ZWRWYWx1ZSkKKyAgICB7CisgICAgICAgIGF1dG8g
bWFuaWZlc3QgPSBwYXJzZVRvcExldmVsUHJvcGVydHkoImRpc3BsYXkiLCByYXdKU09OKTsKKyAg
ICAgICAgYXV0byB2YWx1ZSA9IG1hbmlmZXN0LmRpc3BsYXk7CisgICAgICAgIEVYUEVDVF9FUShl
eHBlY3RlZFZhbHVlLCB2YWx1ZSk7CisgICAgfQorCiAgICAgdm9pZCB0ZXN0TmFtZShjb25zdCBT
dHJpbmcmIHJhd0pTT04sIGNvbnN0IFN0cmluZyYgZXhwZWN0ZWRWYWx1ZSkKICAgICB7CiAgICAg
ICAgIGF1dG8gbWFuaWZlc3QgPSBwYXJzZVRvcExldmVsUHJvcGVydHkoIm5hbWUiLCByYXdKU09O
KTsKQEAgLTE2OSw2ICsxOTIsMjQgQEAgVEVTVF9GKEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXJU
ZXN0LCBTdGFydFVSTCkKICAgICB0ZXN0U3RhcnRVUkwoIlwiLi4vcGFnZTJcIiIsICJodHRwczov
L2V4YW1wbGUuY29tL3BhZ2UyIik7CiB9CiAKK1RFU1RfRihBcHBsaWNhdGlvbk1hbmlmZXN0UGFy
c2VyVGVzdCwgRGlzcGxheSkKK3sKKyAgICB0ZXN0RGlzcGxheSgiMTIzIiwgQXBwbGljYXRpb25N
YW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIm51bGwiLCBBcHBs
aWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyKTsKKyAgICB0ZXN0RGlzcGxheSgidHJ1
ZSIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOworICAgIHRlc3REaXNw
bGF5KCJ7IH0iLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyKTsKKyAgICB0
ZXN0RGlzcGxheSgiWyBdIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7
CisgICAgdGVzdERpc3BsYXkoIlwiXCIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpC
cm93c2VyKTsKKyAgICB0ZXN0RGlzcGxheSgiXCJnYXJiYWdlIHN0cmluZ1wiIiwgQXBwbGljYXRp
b25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisKKyAgICB0ZXN0RGlzcGxheSgiXCJicm93
c2VyXCIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyKTsKKyAgICB0ZXN0
RGlzcGxheSgiXCJzdGFuZGFsb25lXCIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpT
dGFuZGFsb25lKTsKKyAgICB0ZXN0RGlzcGxheSgiXCJtaW5pbWFsLXVpXCIiLCBBcHBsaWNhdGlv
bk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUkpOworICAgIHRlc3REaXNwbGF5KCJcImZ1bGxz
Y3JlZW5cIiIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkZ1bGxzY3JlZW4pOworCisg
ICAgdGVzdERpc3BsYXkoIltcIlxcdE1JTklNQUwtdWlcXHRcIl0iLCBBcHBsaWNhdGlvbk1hbmlm
ZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUkpOworfQorCiBURVNUX0YoQXBwbGljYXRpb25NYW5pZmVz
dFBhcnNlclRlc3QsIE5hbWUpCiB7CiAgICAgdGVzdE5hbWUoIjEyMyIsIFN0cmluZygpKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXBwbGljYXRp
b25NYW5pZmVzdC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXBw
bGljYXRpb25NYW5pZmVzdC5tbQppbmRleCA3MTBhNzdhYWE3Yy4uOWJjMTU0ZWVjOTEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXBwbGljYXRpb25N
YW5pZmVzdC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Fw
cGxpY2F0aW9uTWFuaWZlc3QubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgIlRlc3QuaCIK
ICNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZp
ZXcuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgog
I2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tB
cHBsaWNhdGlvbk1hbmlmZXN0Lmg+CiAKQEAgLTM4LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgewogCiBURVNUKFdlYktpdCwgQXBwbGljYXRpb25NYW5pZmVzdENvZGluZykKIHsK
LSAgICBhdXRvIGpzb25TdHJpbmcgPSBAInsgXCJuYW1lXCI6IFwiVGVzdE5hbWVcIiwgXCJzaG9y
dF9uYW1lXCI6IFwiVGVzdFNob3J0TmFtZVwiLCBcImRlc2NyaXB0aW9uXCI6IFwiVGVzdERlc2Ny
aXB0aW9uXCIsIFwic2NvcGVcIjogXCJodHRwczovL3Rlc3QuY29tL2FwcFwiLCBcInN0YXJ0X3Vy
bFwiOiBcImh0dHBzOi8vdGVzdC5jb20vYXBwL2luZGV4Lmh0bWxcIiB9IjsKKyAgICBhdXRvIGpz
b25TdHJpbmcgPSBAInsgXCJuYW1lXCI6IFwiVGVzdE5hbWVcIiwgXCJzaG9ydF9uYW1lXCI6IFwi
VGVzdFNob3J0TmFtZVwiLCBcImRlc2NyaXB0aW9uXCI6IFwiVGVzdERlc2NyaXB0aW9uXCIsIFwi
c2NvcGVcIjogXCJodHRwczovL3Rlc3QuY29tL2FwcFwiLCBcInN0YXJ0X3VybFwiOiBcImh0dHBz
Oi8vdGVzdC5jb20vYXBwL2luZGV4Lmh0bWxcIiwgXCJkaXNwbGF5XCI6IFwibWluaW1hbC11aVwi
IH0iOwogICAgIFJldGFpblB0cjxfV0tBcHBsaWNhdGlvbk1hbmlmZXN0PiBtYW5pZmVzdCB7IFtf
V0tBcHBsaWNhdGlvbk1hbmlmZXN0IGFwcGxpY2F0aW9uTWFuaWZlc3RGcm9tSlNPTjpqc29uU3Ry
aW5nIG1hbmlmZXN0VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly90ZXN0LmNvbS9t
YW5pZmVzdC5qc29uIl0gZG9jdW1lbnRVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwczov
L3Rlc3QuY29tLyJdXSB9OwogICAgIAogICAgIG1hbmlmZXN0ID0gW05TS2V5ZWRVbmFyY2hpdmVy
IHVuYXJjaGl2ZU9iamVjdFdpdGhEYXRhOltOU0tleWVkQXJjaGl2ZXIgYXJjaGl2ZWREYXRhV2l0
aFJvb3RPYmplY3Q6bWFuaWZlc3QuZ2V0KCldXTsKQEAgLTQ5LDYgKzUwLDcgQEAgVEVTVChXZWJL
aXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RDb2RpbmcpCiAgICAgRVhQRUNUX1NUUkVRKCJUZXN0RGVz
Y3JpcHRpb24iLCBtYW5pZmVzdC5nZXQoKS5hcHBsaWNhdGlvbkRlc2NyaXB0aW9uLlVURjhTdHJp
bmcpOwogICAgIEVYUEVDVF9TVFJFUSgiaHR0cHM6Ly90ZXN0LmNvbS9hcHAiLCBtYW5pZmVzdC5n
ZXQoKS5zY29wZS5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nKTsKICAgICBFWFBFQ1RfU1RSRVEo
Imh0dHBzOi8vdGVzdC5jb20vYXBwL2luZGV4Lmh0bWwiLCBtYW5pZmVzdC5nZXQoKS5zdGFydFVS
TC5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nKTsKKyAgICBFWFBFQ1RfRVEoX1dLQXBwbGljYXRp
b25NYW5pZmVzdERpc3BsYXlNb2RlTWluaW1hbFVJLCAgbWFuaWZlc3QuZ2V0KCkuZGlzcGxheU1v
ZGUpOwogfQogCiBURVNUKFdlYktpdCwgQXBwbGljYXRpb25NYW5pZmVzdEJhc2ljKQpAQCAtMTAy
LDYgKzEwNCwzOCBAQCBURVNUKFdlYktpdCwgQXBwbGljYXRpb25NYW5pZmVzdEJhc2ljKQogICAg
IFV0aWw6OnJ1bigmZG9uZSk7CiB9CiAKK1RFU1QoV2ViS2l0LCBBcHBsaWNhdGlvbk1hbmlmZXN0
RGlzcGxheU1vZGUpCit7CisgICAgc3RhdGljIGJvb2wgZG9uZTsKKyAgICBOU0RpY3Rpb25hcnkg
KmRpc3BsYXlNb2Rlc0FuZEV4cGVjdGVkQ29udGVudCA9IEB7CisgICAgICAgIEAiIjogQCIoZGlz
cGxheS1tb2RlKSAoZGlzcGxheS1tb2RlOiBicm93c2VyKSIsCisgICAgICAgIEAiYnJvd3NlciI6
IEAiKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogYnJvd3NlcikiLAorICAgICAgICBAIm1p
bmltYWwtdWkiOiBAIihkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIiwK
KyAgICAgICAgQCJzdGFuZGFsb25lIjogQCIoZGlzcGxheS1tb2RlKSAoZGlzcGxheS1tb2RlOiBz
dGFuZGFsb25lKSIsCisgICAgICAgIEAiZnVsbHNjcmVlbiI6IEAiKGRpc3BsYXktbW9kZSkgKGRp
c3BsYXktbW9kZTogZnVsbHNjcmVlbikiLAorICAgIH07CisKKyAgICBOU1VSTCAqYmFzZVVSTCA9
IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZVVSTF0gVVJMQnlBcHBlbmRpbmdQYXRoQ29t
cG9uZW50OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBbZGlzcGxheU1vZGVzQW5k
RXhwZWN0ZWRDb250ZW50IGVudW1lcmF0ZUtleXNBbmRPYmplY3RzVXNpbmdCbG9jazpeKE5TU3Ry
aW5nICpkaXNwbGF5TW9kZSwgTlNTdHJpbmcgKmV4cGVjdGVkUGFnZUNvbnRlbnQsIEJPT0wqIHN0
b3ApIHsKKyAgICAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgICAgICBOU1N0cmluZyAq
bTIgPSBkaXNwbGF5TW9kZS5sZW5ndGggPyBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIntc
ImRpc3BsYXlcIjogXCIlQFwifSIsIGRpc3BsYXlNb2RlXSA6IEAie30iOworICAgICAgICAgICAg
UmV0YWluUHRyPF9XS0FwcGxpY2F0aW9uTWFuaWZlc3Q+IG1hbmlmZXN0ID0gW19XS0FwcGxpY2F0
aW9uTWFuaWZlc3QgYXBwbGljYXRpb25NYW5pZmVzdEZyb21KU09OOm0yIG1hbmlmZXN0VVJMOlti
YXNlVVJMIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIm1hbmlmZXN0Lmpzb24iXSBkb2N1
bWVudFVSTDpiYXNlVVJMXTsKKyAgICAgICAgICAgIGF1dG8gY29uZmlnID0gYWRvcHROUyhbW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIGNvbmZpZy5n
ZXQoKS5fYXBwbGljYXRpb25NYW5pZmVzdCA9IG1hbmlmZXN0LmdldCgpOworICAgICAgICAgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6Q0dSZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZpZy5nZXQoKV0pOworICAgICAgICAgICAg
W3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiZGlzcGxheS1tb2RlIl07
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvbmUgPSBmYWxzZTsKKyAgICAgICAgICAgIFt3
ZWJWaWV3IF9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOl4oTlNTdHJp
bmcgKmNvbnRlbnRzLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICAgICAgICAgIGRvbmUgPSB0
cnVlOworICAgICAgICAgICAgICAgIEVYUEVDVF9TVFJFUShleHBlY3RlZFBhZ2VDb250ZW50LlVU
RjhTdHJpbmcsIGNvbnRlbnRzLlVURjhTdHJpbmcpOworICAgICAgICAgICAgfV07CisgICAgICAg
ICAgICBVdGlsOjpydW4oJmRvbmUpOworICAgICAgICAgICAgW3dlYlZpZXcgcmVtb3ZlRnJvbVN1
cGVydmlld107CisgICAgICAgIH0KKyAgICB9XTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSQogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQgJiYgRU5BQkxFKEFQUExJQ0FUSU9O
X01BTklGRVNUKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9kaXNwbGF5LW1vZGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvZGlzcGxheS1tb2RlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAuLjhkNjUxZWNlNzU5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbApAQCAtMCwwICsxLDI3IEBACis8
c3R5bGU+CitkaXYgeyBkaXNwbGF5OiBub25lOyB9CitAbWVkaWEgKGRpc3BsYXktbW9kZSkgewor
ICAgIC5kaXNwbGF5LW1vZGUtbnVsbCB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChk
aXNwbGF5LW1vZGU6IGJyb3dzZXIpIHsKKyAgICAuZGlzcGxheS1tb2RlLWJyb3dzZXIgeyBkaXNw
bGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBtaW5pbWFsLXVpKSB7Cisg
ICAgLmRpc3BsYXktbW9kZS1taW5pbWFsLXVpIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVk
aWEgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkgeworICAgIC5kaXNwbGF5LW1vZGUtc3RhbmRh
bG9uZSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGZ1bGxz
Y3JlZW4pIHsKKyAgICAuZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4geyBkaXNwbGF5OiBpbmxpbmU7
IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBpbnZhbGlkLXZhbHVlKSB7CisgICAgLmRpc3Bs
YXktbW9kZS1pbnZhbGlkLXZhbHVlIHsgZGlzcGxheTogaW5saW5lOyB9Cit9Cis8L3N0eWxlPgor
PGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW51bGwiPihkaXNwbGF5LW1vZGUpPC9kaXY+Cis8ZGl2
IGNsYXNzPSJkaXNwbGF5LW1vZGUtYnJvd3NlciI+KGRpc3BsYXktbW9kZTogYnJvd3Nlcik8L2Rp
dj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1taW5pbWFsLXVpIj4oZGlzcGxheS1tb2RlOiBt
aW5pbWFsLXVpKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUiPihk
aXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUt
ZnVsbHNjcmVlbiI+KGRpc3BsYXktbW9kZTogZnVsbHNjcmVlbik8L2Rpdj4KKzxkaXYgY2xhc3M9
ImRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIj4oZGlzcGxheS1tb2RlOiBpbnZhbGlkLXZhbHVl
KTwvZGl2PgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAy
NzAwMDQ1MzM5Yi4uYjliZWI2YTEwYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCkBAIC05ODIsNiArOTgyLDEzIEBAIHN0YXRpYyBib29sIHBhcnNlQm9vbGVh
blRlc3RIZWFkZXJWYWx1ZShjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUpCiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCitzdGF0aWMgc3RkOjpzdHJpbmcgcGFyc2VTdHJpbmdUZXN0SGVhZGVyVmFsdWVB
c1JlbGF0aXZlUGF0aChjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUsIGNvbnN0IHN0ZDo6c3RyaW5n
JiBwYXRoT3JVUkwpCit7CisgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IGJhc2VVUkwoQWRvcHRX
SywgY3JlYXRlVGVzdFVSTChwYXRoT3JVUkwuY19zdHIoKSkpOworICAgIFdLUmV0YWluUHRyPFdL
VVJMUmVmPiByZWxhdGl2ZVVSTChBZG9wdFdLLCBXS1VSTENyZWF0ZVdpdGhCYXNlVVJMKGJhc2VV
UkwuZ2V0KCksIHZhbHVlLmNfc3RyKCkpKTsKKyAgICByZXR1cm4gdG9TVEQoYWRvcHRXSyhXS1VS
TENvcHlQYXRoKHJlbGF0aXZlVVJMLmdldCgpKSkpOworfQorCiBzdGF0aWMgdm9pZCB1cGRhdGVU
ZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qg
c3RkOjpzdHJpbmcmIHBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFic29sdXRlUGF0aCkK
IHsKICAgICBzdGQ6OnN0cmluZyBmaWxlbmFtZSA9IGFic29sdXRlUGF0aDsKQEAgLTEwNTgsNiAr
MTA2NSw4IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIoVGVz
dE9wdGlvbnMmIHRlc3RPcHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAgICAgICB0ZXN0T3B0aW9u
cy5lbmFibGVJbnNwZWN0b3JBZGRpdGlvbnMgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUo
dmFsdWUpOwogICAgICAgICBpZiAoa2V5ID09ICJkdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIiKQog
ICAgICAgICAgICAgdGVzdE9wdGlvbnMuZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyID0gcGFyc2VC
b29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKKyAgICAgICAgaWYgKGtleSA9PSAiYXBwbGlj
YXRpb25NYW5pZmVzdCIpCisgICAgICAgICAgICB0ZXN0T3B0aW9ucy5hcHBsaWNhdGlvbk1hbmlm
ZXN0ID0gcGFyc2VTdHJpbmdUZXN0SGVhZGVyVmFsdWVBc1JlbGF0aXZlUGF0aCh2YWx1ZSwgcGF0
aE9yVVJMKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCmluZGV4IDk2YmQ3Y2NjNmU3Li4wMTFmNDlkODZi
OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApAQCAtNTcsNiArNTcsNyBAQCBz
dHJ1Y3QgVGVzdE9wdGlvbnMgewogCiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgeyAxIH07
CiAgICAgVmVjdG9yPFN0cmluZz4gb3ZlcnJpZGVMYW5ndWFnZXM7CisgICAgc3RkOjpzdHJpbmcg
YXBwbGljYXRpb25NYW5pZmVzdDsKICAgICAKICAgICBUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0
cmluZyYgcGF0aE9yVVJMKTsKIApAQCAtODAsNyArODEsOCBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMg
ewogICAgICAgICAgICAgfHwgZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQgIT0gb3B0aW9ucy5l
bmFibGVDcmVkZW50aWFsTWFuYWdlbWVudAogICAgICAgICAgICAgfHwgZW5hYmxlSXNTZWN1cmVD
b250ZXh0QXR0cmlidXRlICE9IG9wdGlvbnMuZW5hYmxlSXNTZWN1cmVDb250ZXh0QXR0cmlidXRl
CiAgICAgICAgICAgICB8fCBlbmFibGVJbnNwZWN0b3JBZGRpdGlvbnMgIT0gb3B0aW9ucy5lbmFi
bGVJbnNwZWN0b3JBZGRpdGlvbnMKLSAgICAgICAgICAgIHx8IGR1bXBKU0NvbnNvbGVMb2dJblN0
ZEVyciAhPSBvcHRpb25zLmR1bXBKU0NvbnNvbGVMb2dJblN0ZEVycikKKyAgICAgICAgICAgIHx8
IGR1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciAhPSBvcHRpb25zLmR1bXBKU0NvbnNvbGVMb2dJblN0
ZEVycgorICAgICAgICAgICAgfHwgYXBwbGljYXRpb25NYW5pZmVzdCAhPSBvcHRpb25zLmFwcGxp
Y2F0aW9uTWFuaWZlc3QpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgcmV0
dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RD
b250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0KaW5kZXggZDhjNmMwOTY1YWYuLjg4MTgyYjBmMWFhIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCkBA
IC00NSw2ICs0NSw3IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVJlY29yZFByaXZh
dGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg+CiAjaW1w
b3J0IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dL
QXBwbGljYXRpb25NYW5pZmVzdC5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0
ZS5oPgpAQCAtMTUzLDYgKzE1NCwxMiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNy
ZWF0ZVdlYlZpZXcoV0tQYWdlQ29uZmlndXJhdGlvblJlZiwgY29uc3QgVGVzdE9wdAogICAgIGlm
IChvcHRpb25zLmVuYWJsZUF0dGFjaG1lbnRFbGVtZW50KQogICAgICAgICBbY29waWVkQ29uZmln
dXJhdGlvbiBfc2V0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkOiBZRVNdOwogCisgICAgaWYgKG9w
dGlvbnMuYXBwbGljYXRpb25NYW5pZmVzdC5sZW5ndGgoKSkgeworICAgICAgICBhdXRvIG1hbmlm
ZXN0UGF0aCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpvcHRpb25zLmFwcGxpY2F0
aW9uTWFuaWZlc3QuY19zdHIoKV07CisgICAgICAgIE5TU3RyaW5nICp0ZXh0ID0gW05TU3RyaW5n
IHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTptYW5pZmVzdFBhdGggdXNlZEVuY29kaW5nOm51bGxw
dHIgZXJyb3I6bnVsbHB0cl07CisgICAgICAgIFtjb3BpZWRDb25maWd1cmF0aW9uIF9zZXRBcHBs
aWNhdGlvbk1hbmlmZXN0OltfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGFwcGxpY2F0aW9uTWFuaWZl
c3RGcm9tSlNPTjp0ZXh0IG1hbmlmZXN0VVJMOm5pbCBkb2N1bWVudFVSTDpuaWxdXTsKKyAgICB9
CisKICAgICBtX21haW5XZWJWaWV3ID0gc3RkOjptYWtlX3VuaXF1ZTxQbGF0Zm9ybVdlYlZpZXc+
KGNvcGllZENvbmZpZ3VyYXRpb24uZ2V0KCksIG9wdGlvbnMpOwogI2Vsc2UKICAgICBtX21haW5X
ZWJWaWV3ID0gc3RkOjptYWtlX3VuaXF1ZTxQbGF0Zm9ybVdlYlZpZXc+KGdsb2JhbFdlYlZpZXdD
b25maWd1cmF0aW9uLCBvcHRpb25zKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328696</attachid>
            <date>2017-12-07 08:35:03 -0800</date>
            <delta_ts>2017-12-07 12:04:41 -0800</delta_ts>
            <desc>Patch for landing (v2)</desc>
            <filename>5pflv2.patch</filename>
            <type>text/plain</type>
            <size>43639</size>
            <attacher name="David Quesada">david_quesada</attacher>
            
              <data encoding="base64">Y29tbWl0IDQ3YTBhNWY2ZDlmODAxZTUwMjhmNjVkNzU0YzAyZjJiMTM5YmNlYjUKQXV0aG9yOiBE
YXZpZCBRdWVzYWRhIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KRGF0ZTogICBXZWQgRGVjIDYg
MjA6MzE6MjUgMjAxNyAtMDgwMAoKICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBTdXBwb3J0IGRpc3Bs
YXktbW9kZSBtZWRpYSBmZWF0dXJlCiAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMzc2CiAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5MwogICAgCiAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KICAgIAogICAgU291cmNlL1dlYkNvcmU6CiAgICAKICAg
IFRlc3RzOiBhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCiAg
ICAgICAgICAgYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbAogICAgCiAgICAq
IE1vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg6CiAgICAo
V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlIGNvbnN0KToKICAgIChXZWJDb3Jl
OjpBcHBsaWNhdGlvbk1hbmlmZXN0OjpkZWNvZGUpOgogICAgKiBNb2R1bGVzL2FwcGxpY2F0aW9u
bWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CiAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VNYW5pZmVzdCk6CiAgICAoV2ViQ29yZTo6QXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VEaXNwbGF5KToKICAgICogTW9kdWxlcy9hcHBs
aWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuaDoKICAgICAgICBBZGQg
YSAnZGlzcGxheScgcHJvcGVydHkgdG8gQXBwbGljYXRpb25NYW5pZmVzdCBhbmQgaGF2ZSBBcHBs
aWNhdGlvbk1hbmlmZXN0UGFyc2VyCiAgICAgICAgcG9wdWxhdGUgaXQgYnkgcGFyc2luZyB0aGUg
J2Rpc3BsYXknIHByb3BlcnR5IGZyb20gdGhlIHJhdyBtYW5pZmVzdC4KICAgIAogICAgKiBjc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbjoKICAgICogY3NzL01lZGlhRmVhdHVyZU5hbWVzLmg6CiAgICAq
IGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoKICAgIChXZWJDb3JlOjpkaXNwbGF5TW9kZUV2
YWx1YXRlKToKICAgICAgICBUbyBldmFsdWF0ZSB3aGV0aGVyIGEgZGlzcGxheS1tb2RlIHF1ZXJ5
IG1hdGNoZXMsIGNvbXBhcmUgdGhlIHBhcmFtZXRlciB0byB0aGUKICAgICAgICBkaXNwbGF5IG1v
ZGUgb2YgdGhlIG1hbmlmZXN0IGFwcGxpZWQgdG8gdGhlIG1haW4gZnJhbWUuIElmIHRoZXJlIGlz
IG5vIG1hbmlmZXN0LAogICAgICAgIHVzZSB0aGUgZmFsbGJhY2sgZGlzcGxheSBtb2RlICdicm93
c2VyJyAtIHRoZSBzcGVjIG1hbmRhdGVzIHRoYXQgZGlzcGxheS1tb2RlCiAgICAgICAgbXVzdCBi
ZSBleHBvc2VkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gYXBwbGllZCBtYW5pZmVzdC4KICAgICogY3Nz
L01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcDoKICAgIChXZWJDb3JlOjpmZWF0dXJlV2l0aFZhbGlk
SWRlbnQpOgogICAgKFdlYkNvcmU6OmlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKToKICAgIAog
ICAgU291cmNlL1dlYktpdDoKICAgIAogICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxp
Y2F0aW9uTWFuaWZlc3QuaDoKICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlv
bk1hbmlmZXN0Lm1tOgogICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBpbml0V2l0aENvZGVy
Ol0pOgogICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBlbmNvZGVXaXRoQ29kZXI6XSk6CiAg
ICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGRpc3BsYXlNb2RlXSk6CiAgICAKICAgIFRvb2xz
OgogICAgCiAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgogICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlci5jcHA6CiAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CiAgICAoQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlclRlc3Q6OnRlc3REaXNwbGF5KToKICAgIChURVNUX0YpOgogICAg
ICAgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgcGFyc2luZyBvZiB0aGUgJ2Rpc3BsYXknIG1hbmlm
ZXN0IHByb3BlcnR5LgogICAgCiAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXBwbGljYXRpb25NYW5pZmVzdC5tbToKICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQu
CiAgICAgICAgVXBkYXRlIEFQSSB0ZXN0cyB0byBpbmNsdWRlIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3QuZGlzcGxheU1vZGUuCiAgICAKICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5jcHA6CiAgICAoV1RSOjpwYXJzZVN0cmluZ1Rlc3RIZWFkZXJWYWx1ZUFzUmVsYXRpdmVQYXRo
KToKICAgIChXVFI6OnVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIpOgogICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CiAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2Ft
ZUluaXRpYWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CiAgICAqIFdlYktpdFRlc3RSdW5uZXIvY29j
b2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbToKICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUNyZWF0ZVdlYlZpZXcpOgogICAgICAgIFRlYWNoIFdLVFIgdG8gbG9vayBmb3IgYW5kIGFw
cGx5IGFuIGFwcCBtYW5pZmVzdC4gQSBuZXcgPCEtLXdlYmtpdC10ZXN0LXJ1bm5lci0tPgogICAg
ICAgIGRpcmVjdGl2ZSAnYXBwbGljYXRpb25NYW5pZmVzdCcgY2FuIHNwZWNpZnkgYSBwYXRoIChy
ZWxhdGl2ZSB0byB0aGUgdGVzdCBmaWxlIGl0c2VsZikKICAgICAgICB0byBhIEpTT04gYXBwIG1h
bmlmZXN0IHRvIGJlIGFwcGxpZWQgdG8gdGhlIHdlYiB2aWV3IGJlZm9yZSBydW5uaW5nIHRoZSB0
ZXN0LgogICAgCiAgICBMYXlvdXRUZXN0czoKICAgIAogICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0
L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgKiBhcHBsaWNhdGlvbm1hbmlm
ZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgKiBhcHBs
aWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sOiBBZGRlZC4KICAgICog
YXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRtbDogQWRkZWQuCiAgICAqIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1zdWJmcmFtZS0xLmh0bWw6IEFk
ZGVkLgogICAgKiBhcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlm
ZXN0OiBBZGRlZC4KCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2RhMmY1ZTkzOWIuLmRiYWRjN2UyYTdkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTctMTItMDQgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViIEFwcCBNYW5pZmVzdF0gU3VwcG9ydCBkaXNwbGF5LW1v
ZGUgbWVkaWEgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgwMzc2CisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM1ODM3OTkzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgKiBhcHBsaWNhdGlvbm1h
bmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFwcGxp
Y2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRt
bDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5pZmVzdC9yZXNvdXJjZXMvZGlzcGxh
eS1tb2RlLXN1YmZyYW1lLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogYXBwbGljYXRpb25tYW5p
ZmVzdC9yZXNvdXJjZXMvc3RhbmRhbG9uZS5tYW5pZmVzdDogQWRkZWQuCisKIDIwMTctMTItMDcg
IE1zMmdlciAgPE1zMmdlckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVwZGF0ZSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvLTQvbWFya2VyLWZvbnQtcHJvcGVy
dGllcy5odG1sIGZyb20gdXBzdHJlYW0uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNh
dGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hcHBs
aWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNkNmNiMWI5ZjBlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKKyhkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9k
ZS1uby1tYW5pZmVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlm
ZXN0L2Rpc3BsYXktbW9kZS1uby1tYW5pZmVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmNjOGQwZDlmNTJhCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtbm8tbWFuaWZlc3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKyhkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6
IGJyb3dzZXIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rp
c3BsYXktbW9kZS1uby1tYW5pZmVzdC5odG1sIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5p
ZmVzdC9kaXNwbGF5LW1vZGUtbm8tbWFuaWZlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uZmRmMzUzZGNlYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1uby1tYW5pZmVzdC5odG1sCkBA
IC0wLDAgKzEsMzEgQEAKKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK2RpdiB7IGRpc3BsYXk6
IG5vbmU7IH0KK0BtZWRpYSAoZGlzcGxheS1tb2RlKSB7CisgICAgLmRpc3BsYXktbW9kZS1udWxs
IHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogYnJvd3Nlcikg
eworICAgIC5kaXNwbGF5LW1vZGUtYnJvd3NlciB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1l
ZGlhIChkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIHsKKyAgICAuZGlzcGxheS1tb2RlLW1pbmlt
YWwtdWkgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBzdGFu
ZGFsb25lKSB7CisgICAgLmRpc3BsYXktbW9kZS1zdGFuZGFsb25lIHsgZGlzcGxheTogaW5saW5l
OyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogZnVsbHNjcmVlbikgeworICAgIC5kaXNwbGF5
LW1vZGUtZnVsbHNjcmVlbiB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5
LW1vZGU6IGludmFsaWQtdmFsdWUpIHsKKyAgICAuZGlzcGxheS1tb2RlLWludmFsaWQtdmFsdWUg
eyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1v
ZGUtbnVsbCI+KGRpc3BsYXktbW9kZSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1i
cm93c2VyIj4oZGlzcGxheS1tb2RlOiBicm93c2VyKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxh
eS1tb2RlLW1pbmltYWwtdWkiPihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpPC9kaXY+Cis8ZGl2
IGNsYXNzPSJkaXNwbGF5LW1vZGUtc3RhbmRhbG9uZSI+KGRpc3BsYXktbW9kZTogc3RhbmRhbG9u
ZSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1mdWxsc2NyZWVuIj4oZGlzcGxheS1t
b2RlOiBmdWxsc2NyZWVuKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWludmFsaWQt
dmFsdWUiPihkaXNwbGF5LW1vZGU6IGludmFsaWQtdmFsdWUpPC9kaXY+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVz
dC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYXBwbGlj
YXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yOGU0M2FkMGI3MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZy
YW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworCistLS0tLS0tLQorRnJhbWU6ICc8
IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0tLS0tLS0tCisoZGlzcGxheS1tb2Rl
KSAoZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYXBw
bGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLXN1YmZyYW1lLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc1ZTFiYTI1ZTUyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9kaXNwbGF5LW1vZGUtc3ViZnJh
bWUuaHRtbApAQCAtMCwwICsxLDYgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgYXBwbGlj
YXRpb25NYW5pZmVzdD1yZXNvdXJjZXMvc3RhbmRhbG9uZS5tYW5pZmVzdCBdIC0tPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKwl0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0Fz
VGV4dCgpOworPC9zY3JpcHQ+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1z
dWJmcmFtZS0xLmh0bWwiPjwvaWZyYW1lPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2RlLmh0
bWwgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi40ZDZhZjUzMGYxNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvZGlzcGxheS1tb2Rl
Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBhcHBsaWNh
dGlvbk1hbmlmZXN0PXJlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0IF0gLS0+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
PC9zY3JpcHQ+Cis8c3R5bGU+CitkaXYgeyBkaXNwbGF5OiBub25lOyB9CitAbWVkaWEgKGRpc3Bs
YXktbW9kZSkgeworICAgIC5kaXNwbGF5LW1vZGUtbnVsbCB7IGRpc3BsYXk6IGlubGluZTsgfQor
fQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIHsKKyAgICAuZGlzcGxheS1tb2RlLWJy
b3dzZXIgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBtaW5p
bWFsLXVpKSB7CisgICAgLmRpc3BsYXktbW9kZS1taW5pbWFsLXVpIHsgZGlzcGxheTogaW5saW5l
OyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkgeworICAgIC5kaXNwbGF5
LW1vZGUtc3RhbmRhbG9uZSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5
LW1vZGU6IGZ1bGxzY3JlZW4pIHsKKyAgICAuZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4geyBkaXNw
bGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBpbnZhbGlkLXZhbHVlKSB7
CisgICAgLmRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIHsgZGlzcGxheTogaW5saW5lOyB9Cit9
Cis8L3N0eWxlPgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLW51bGwiPihkaXNwbGF5LW1vZGUp
PC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtYnJvd3NlciI+KGRpc3BsYXktbW9kZTog
YnJvd3Nlcik8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1taW5pbWFsLXVpIj4oZGlz
cGxheS1tb2RlOiBtaW5pbWFsLXVpKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLXN0
YW5kYWxvbmUiPihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpPC9kaXY+Cis8ZGl2IGNsYXNzPSJk
aXNwbGF5LW1vZGUtZnVsbHNjcmVlbiI+KGRpc3BsYXktbW9kZTogZnVsbHNjcmVlbik8L2Rpdj4K
KzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1pbnZhbGlkLXZhbHVlIj4oZGlzcGxheS1tb2RlOiBp
bnZhbGlkLXZhbHVlKTwvZGl2PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9k
ZS1zdWJmcmFtZS0xLmh0bWwgYi9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291
cmNlcy9kaXNwbGF5LW1vZGUtc3ViZnJhbWUtMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwLi5iYmUzNWI0Nzg0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2FwcGxpY2F0aW9ubWFuaWZlc3QvcmVzb3VyY2VzL2Rpc3BsYXktbW9kZS1zdWJmcmFtZS0x
Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHN0eWxlPgorZGl2IHsgZGlzcGxheTogbm9uZTsgfQor
QG1lZGlhIChkaXNwbGF5LW1vZGUpIHsKKyAgICAuZGlzcGxheS1tb2RlLW51bGwgeyBkaXNwbGF5
OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1tb2RlOiBicm93c2VyKSB7CisgICAgLmRp
c3BsYXktbW9kZS1icm93c2VyIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3Bs
YXktbW9kZTogbWluaW1hbC11aSkgeworICAgIC5kaXNwbGF5LW1vZGUtbWluaW1hbC11aSB7IGRp
c3BsYXk6IGlubGluZTsgfQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHsK
KyAgICAuZGlzcGxheS1tb2RlLXN0YW5kYWxvbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0Bt
ZWRpYSAoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSB7CisgICAgLmRpc3BsYXktbW9kZS1mdWxs
c2NyZWVuIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogaW52
YWxpZC12YWx1ZSkgeworICAgIC5kaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSB7IGRpc3BsYXk6
IGlubGluZTsgfQorfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1udWxsIj4o
ZGlzcGxheS1tb2RlKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWJyb3dzZXIiPihk
aXNwbGF5LW1vZGU6IGJyb3dzZXIpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbWlu
aW1hbC11aSI+KGRpc3BsYXktbW9kZTogbWluaW1hbC11aSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRp
c3BsYXktbW9kZS1zdGFuZGFsb25lIj4oZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKTwvZGl2Pgor
PGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWZ1bGxzY3JlZW4iPihkaXNwbGF5LW1vZGU6IGZ1bGxz
Y3JlZW4pPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSI+KGRp
c3BsYXktbW9kZTogaW52YWxpZC12YWx1ZSk8L2Rpdj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hcHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNl
cy9zdGFuZGFsb25lLm1hbmlmZXN0IGIvTGF5b3V0VGVzdHMvYXBwbGljYXRpb25tYW5pZmVzdC9y
ZXNvdXJjZXMvc3RhbmRhbG9uZS5tYW5pZmVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMC4uZGU5MDJmM2Y4OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9h
cHBsaWNhdGlvbm1hbmlmZXN0L3Jlc291cmNlcy9zdGFuZGFsb25lLm1hbmlmZXN0CkBAIC0wLDAg
KzEsMyBAQAoreworCSJkaXNwbGF5IjogInN0YW5kYWxvbmUiCit9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU0Y2U5ZWU2ZjI1Li41YmE1ZGIxNDg3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTEyLTA2ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRf
cXVlc2FkYUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBcHAgTWFuaWZlc3RdIFN1cHBvcnQg
ZGlzcGxheS1tb2RlIG1lZGlhIGZlYXR1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MDM3NgorICAgICAgICByZGFyOi8vcHJvYmxlbS8zNTgzNzk5
MworCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAgICAgIFRlc3Rz
OiBhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS1zdWJmcmFtZS5odG1sCisgICAgICAg
ICAgICAgICBhcHBsaWNhdGlvbm1hbmlmZXN0L2Rpc3BsYXktbW9kZS5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OmRlY29kZSk6CisgICAgICAgICogTW9k
dWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VNYW5pZmVz
dCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyOjpwYXJzZURp
c3BsYXkpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlv
bk1hbmlmZXN0UGFyc2VyLmg6CisgICAgICAgICAgICBBZGQgYSAnZGlzcGxheScgcHJvcGVydHkg
dG8gQXBwbGljYXRpb25NYW5pZmVzdCBhbmQgaGF2ZSBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2Vy
CisgICAgICAgICAgICBwb3B1bGF0ZSBpdCBieSBwYXJzaW5nIHRoZSAnZGlzcGxheScgcHJvcGVy
dHkgZnJvbSB0aGUgcmF3IG1hbmlmZXN0LgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29y
ZHMuaW46CisgICAgICAgICogY3NzL01lZGlhRmVhdHVyZU5hbWVzLmg6CisgICAgICAgICogY3Nz
L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZGlzcGxheU1vZGVF
dmFsdWF0ZSk6CisgICAgICAgICAgICBUbyBldmFsdWF0ZSB3aGV0aGVyIGEgZGlzcGxheS1tb2Rl
IHF1ZXJ5IG1hdGNoZXMsIGNvbXBhcmUgdGhlIHBhcmFtZXRlciB0byB0aGUKKyAgICAgICAgICAg
IGRpc3BsYXkgbW9kZSBvZiB0aGUgbWFuaWZlc3QgYXBwbGllZCB0byB0aGUgbWFpbiBmcmFtZS4g
SWYgdGhlcmUgaXMgbm8gbWFuaWZlc3QsCisgICAgICAgICAgICB1c2UgdGhlIGZhbGxiYWNrIGRp
c3BsYXkgbW9kZSAnYnJvd3NlcicgLSB0aGUgc3BlYyBtYW5kYXRlcyB0aGF0IGRpc3BsYXktbW9k
ZQorICAgICAgICAgICAgbXVzdCBiZSBleHBvc2VkIGV2ZW4gaWYgdGhlcmUgaXMgbm8gYXBwbGll
ZCBtYW5pZmVzdC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV4cHJlc3Npb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6ZmVhdHVyZVdpdGhWYWxpZElkZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OmlzRmVhdHVyZVZhbGlkV2l0aG91dFZhbHVlKToKKwogMjAxNy0xMi0wNyAgTWljaGFlbCBDYXRh
bnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV1bR1RLXSBGcmVl
emUgV2ViS2l0IHZlcnNpb24gaW4gdXNlciBhZ2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxpY2F0aW9uTWFuaWZlc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlm
ZXN0LmgKaW5kZXggYzcwZTdlNjBjOTEuLjk5OGI3ODQ2MGNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNh
dGlvbk1hbmlmZXN0LmgKQEAgLTI4LDE1ICsyOCwyNCBAQAogI2lmIEVOQUJMRShBUFBMSUNBVElP
Tl9NQU5JRkVTVCkKIAogI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRz
Lmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RydWN0IEFwcGxpY2F0aW9uTWFuaWZlc3QgeworICAgIGVudW0gY2xhc3MgRGlzcGxheSB7Cisg
ICAgICAgIEJyb3dzZXIsCisgICAgICAgIE1pbmltYWxVSSwKKyAgICAgICAgU3RhbmRhbG9uZSwK
KyAgICAgICAgRnVsbHNjcmVlbiwKKyAgICB9OworCiAgICAgU3RyaW5nIG5hbWU7CiAgICAgU3Ry
aW5nIHNob3J0TmFtZTsKICAgICBTdHJpbmcgZGVzY3JpcHRpb247CiAgICAgVVJMIHNjb3BlOwor
ICAgIERpc3BsYXkgZGlzcGxheTsKICAgICBVUkwgc3RhcnRVUkw7CiAKICAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CkBAIC00Niw3ICs1NSw3
IEBAIHN0cnVjdCBBcHBsaWNhdGlvbk1hbmlmZXN0IHsKIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+
CiB2b2lkIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogewotICAgIGVuY29kZXIgPDwgbmFtZSA8PCBzaG9ydE5hbWUgPDwgZGVzY3JpcHRpb24gPDwg
c2NvcGUgPDwgc3RhcnRVUkw7CisgICAgZW5jb2RlciA8PCBuYW1lIDw8IHNob3J0TmFtZSA8PCBk
ZXNjcmlwdGlvbiA8PCBzY29wZSA8PCBkaXNwbGF5IDw8IHN0YXJ0VVJMOwogfQogCiB0ZW1wbGF0
ZTxjbGFzcyBEZWNvZGVyPgpAQCAtNjIsNiArNzEsOCBAQCBzdGQ6Om9wdGlvbmFsPEFwcGxpY2F0
aW9uTWFuaWZlc3Q+IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVy
KQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LnNjb3BlKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlRW51bShyZXN1bHQuZGlzcGxheSkpCisgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc3RhcnRVUkwpKQogICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OwogCkBAIC03MCw1ICs4MSwxOSBAQCBzdGQ6Om9wdGlvbmFs
PEFwcGxpY2F0aW9uTWFuaWZlc3Q+IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK25hbWVzcGFjZSBXVEYgewor
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZl
c3Q6OkRpc3BsYXk+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBX
ZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5LAorICAgICAgICBXZWJDb3JlOjpB
cHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyLAorICAgICAgICBXZWJDb3JlOjpB
cHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUksCisgICAgICAgIFdlYkNvcmU6
OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmUsCisgICAgICAgIFdlYkNv
cmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkZ1bGxzY3JlZW4KKyAgICA+OworfTsK
KworfSAvLyBuYW1lc3BhY2UgV1RGOworCiAjZW5kaWYgLy8gRU5BQkxFKEFQUExJQ0FUSU9OX01B
TklGRVNUKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9u
bWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAK
aW5kZXggMDk3MGE1MjczM2EuLmYyMjg0MmIxOTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0FwcGxp
Y2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCkBAIC02OSw2ICs2OSw3IEBAIEFwcGxpY2F0aW9uTWFu
aWZlc3QgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlcjo6cGFyc2VNYW5pZmVzdChjb25zdCBTdHJp
bmcmIHRleHQsCiAgICAgQXBwbGljYXRpb25NYW5pZmVzdCBwYXJzZWRNYW5pZmVzdDsKIAogICAg
IHBhcnNlZE1hbmlmZXN0LnN0YXJ0VVJMID0gcGFyc2VTdGFydFVSTCgqbWFuaWZlc3QsIGRvY3Vt
ZW50VVJMKTsKKyAgICBwYXJzZWRNYW5pZmVzdC5kaXNwbGF5ID0gcGFyc2VEaXNwbGF5KCptYW5p
ZmVzdCk7CiAgICAgcGFyc2VkTWFuaWZlc3QubmFtZSA9IHBhcnNlTmFtZSgqbWFuaWZlc3QpOwog
ICAgIHBhcnNlZE1hbmlmZXN0LmRlc2NyaXB0aW9uID0gcGFyc2VEZXNjcmlwdGlvbigqbWFuaWZl
c3QpOwogICAgIHBhcnNlZE1hbmlmZXN0LnNob3J0TmFtZSA9IHBhcnNlU2hvcnROYW1lKCptYW5p
ZmVzdCk7CkBAIC0xMjQsNiArMTI1LDMzIEBAIFVSTCBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2Vy
OjpwYXJzZVN0YXJ0VVJMKGNvbnN0IEpTT046Ok9iamVjdCYgbWFuaWZlc3QsIGNvbnN0CiAgICAg
cmV0dXJuIHN0YXJ0VVJMOwogfQogCitBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5IEFwcGxp
Y2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBhcnNlRGlzcGxheShjb25zdCBKU09OOjpPYmplY3QmIG1h
bmlmZXN0KQoreworICAgIFJlZlB0cjxKU09OOjpWYWx1ZT4gdmFsdWU7CisgICAgaWYgKCFtYW5p
ZmVzdC5nZXRWYWx1ZShBU0NJSUxpdGVyYWwoImRpc3BsYXkiKSwgdmFsdWUpKQorICAgICAgICBy
ZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlcjsKKworICAgIFN0cmlu
ZyBzdHJpbmdWYWx1ZTsKKyAgICBpZiAoIXZhbHVlLT5hc1N0cmluZyhzdHJpbmdWYWx1ZSkpIHsK
KyAgICAgICAgbG9nTWFuaWZlc3RQcm9wZXJ0eU5vdEFTdHJpbmcoQVNDSUlMaXRlcmFsKCJkaXNw
bGF5IikpOworICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJv
d3NlcjsKKyAgICB9CisKKyAgICBzdHJpbmdWYWx1ZSA9IHN0cmluZ1ZhbHVlLnN0cmlwV2hpdGVT
cGFjZSgpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CisKKyAgICBpZiAoc3RyaW5nVmFsdWUg
PT0gImZ1bGxzY3JlZW4iKQorICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlz
cGxheTo6RnVsbHNjcmVlbjsKKyAgICBpZiAoc3RyaW5nVmFsdWUgPT0gInN0YW5kYWxvbmUiKQor
ICAgICAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZTsK
KyAgICBpZiAoc3RyaW5nVmFsdWUgPT0gIm1pbmltYWwtdWkiKQorICAgICAgICByZXR1cm4gQXBw
bGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJOworICAgIGlmIChzdHJpbmdWYWx1
ZSA9PSAiYnJvd3NlciIpCisgICAgICAgIHJldHVybiBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNw
bGF5OjpCcm93c2VyOworCisgICAgbG9nRGV2ZWxvcGVyV2FybmluZyhBU0NJSUxpdGVyYWwoIlwi
IikgKyBzdHJpbmdWYWx1ZSArIEFTQ0lJTGl0ZXJhbCgiXCIgaXMgbm90IGEgdmFsaWQgZGlzcGxh
eSBtb2RlLiIpKTsKKyAgICByZXR1cm4gQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJv
d3NlcjsKK30KKwogU3RyaW5nIEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXI6OnBhcnNlTmFtZShj
b25zdCBKU09OOjpPYmplY3QmIG1hbmlmZXN0KQogewogICAgIHJldHVybiBwYXJzZUdlbmVyaWNT
dHJpbmcobWFuaWZlc3QsIEFTQ0lJTGl0ZXJhbCgibmFtZSIpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdC9BcHBsaWNhdGlvbk1hbmlmZXN0
UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZlc3QvQXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlci5oCmluZGV4IDY5YTExZGM1OTQ1Li4yMjU0MGY3MGQ1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsaWNhdGlvbm1hbmlmZXN0L0Fw
cGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxpY2F0aW9ubWFuaWZlc3QvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5oCkBAIC00Myw2ICs0
Myw3IEBAIHByaXZhdGU6CiAgICAgQXBwbGljYXRpb25NYW5pZmVzdCBwYXJzZU1hbmlmZXN0KGNv
bnN0IFN0cmluZyYsIGNvbnN0IFVSTCYsIGNvbnN0IFVSTCYpOwogCiAgICAgVVJMIHBhcnNlU3Rh
cnRVUkwoY29uc3QgSlNPTjo6T2JqZWN0JiwgY29uc3QgVVJMJik7CisgICAgQXBwbGljYXRpb25N
YW5pZmVzdDo6RGlzcGxheSBwYXJzZURpc3BsYXkoY29uc3QgSlNPTjo6T2JqZWN0Jik7CiAgICAg
U3RyaW5nIHBhcnNlTmFtZShjb25zdCBKU09OOjpPYmplY3QmKTsKICAgICBTdHJpbmcgcGFyc2VE
ZXNjcmlwdGlvbihjb25zdCBKU09OOjpPYmplY3QmKTsKICAgICBTdHJpbmcgcGFyc2VTaG9ydE5h
bWUoY29uc3QgSlNPTjo6T2JqZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCmluZGV4IDVhNDlmYTYyZWQwLi43YjI4NTJhYWYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4KQEAgLTEzNDYsMyArMTM0NiwxMCBAQCBhdXRvLWZpdAogc3dhcAog
ZmFsbGJhY2sKIG9wdGlvbmFsCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJiYgRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUCitmdWxsc2NyZWVuCitzdGFuZGFs
b25lCittaW5pbWFsLXVpCiticm93c2VyCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYUZlYXR1cmVOYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhRmVh
dHVyZU5hbWVzLmgKaW5kZXggZmYyYmFiODQxMDAuLjIxZDg3NTA4ZmY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuaApAQCAtMjMsNyArMjMsMTEgQEAKICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4K
IAotI2RlZmluZSBDU1NfTUVESUFRVUVSWV9WSUVXX01PREUobWFjcm8pCisjaWYgRU5BQkxFKEFQ
UExJQ0FUSU9OX01BTklGRVNUKQorI2RlZmluZSBDU1NfTUVESUFRVUVSWV9ESVNQTEFZX01PREUo
bWFjcm8pIG1hY3JvKGRpc3BsYXlNb2RlLCAiZGlzcGxheS1tb2RlIikKKyNlbHNlCisjZGVmaW5l
IENTU19NRURJQVFVRVJZX0RJU1BMQVlfTU9ERShtYWNybykKKyNlbmRpZgogCiAjZGVmaW5lIENT
U19NRURJQVFVRVJZX05BTUVTX0ZPUl9FQUNIX01FRElBRkVBVFVSRShtYWNybykgXAogICAgIG1h
Y3JvKGFuaW1hdGlvbiwgIi13ZWJraXQtYW5pbWF0aW9uIikgXApAQCAtNzMsNyArNzcsNyBAQAog
ICAgIG1hY3JvKHRyYW5zaXRpb24sICItd2Via2l0LXRyYW5zaXRpb24iKSBcCiAgICAgbWFjcm8o
dmlkZW9QbGF5YWJsZUlubGluZSwgIi13ZWJraXQtdmlkZW8tcGxheWFibGUtaW5saW5lIikgXAog
ICAgIG1hY3JvKHdpZHRoLCAid2lkdGgiKSBcCi0gICAgQ1NTX01FRElBUVVFUllfVklFV19NT0RF
KG1hY3JvKQorICAgIENTU19NRURJQVFVRVJZX0RJU1BMQVlfTU9ERShtYWNybykgXAogCiAvLyBl
bmQgb2YgbWFjcm8KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
dmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3Bw
CmluZGV4IGU2ZmRhMTgwYjY0Li42ZmQwMjRhNDA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtNzM0LDYgKzczNCwzMyBAQCBzdGF0aWMgYm9vbCBw
cmVmZXJzUmVkdWNlZE1vdGlvbkV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9M
ZW5ndGhDb252ZQogICAgIHJldHVybiBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVl
KS52YWx1ZUlEKCkgPT0gKHVzZXJQcmVmZXJzUmVkdWNlZE1vdGlvbiA/IENTU1ZhbHVlUmVkdWNl
IDogQ1NTVmFsdWVOb1ByZWZlcmVuY2UpOwogfQogCisjaWYgRU5BQkxFKEFQUExJQ0FUSU9OX01B
TklGRVNUKQorc3RhdGljIGJvb2wgZGlzcGxheU1vZGVFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUs
IGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVh
dHVyZVByZWZpeCkKK3sKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGF1dG8ga2V5d29yZCA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLnZh
bHVlSUQoKTsKKworICAgIGF1dG8gbWFuaWZlc3QgPSBmcmFtZS5tYWluRnJhbWUoKS5hcHBsaWNh
dGlvbk1hbmlmZXN0KCk7CisgICAgaWYgKCFtYW5pZmVzdCkKKyAgICAgICAgcmV0dXJuIGtleXdv
cmQgPT0gQ1NTVmFsdWVCcm93c2VyOworCisgICAgc3dpdGNoIChtYW5pZmVzdC0+ZGlzcGxheSkg
eworICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6RnVsbHNjcmVlbjoKKyAg
ICAgICAgcmV0dXJuIGtleXdvcmQgPT0gQ1NTVmFsdWVGdWxsc2NyZWVuOworICAgIGNhc2UgQXBw
bGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZToKKyAgICAgICAgcmV0dXJuIGtl
eXdvcmQgPT0gQ1NTVmFsdWVTdGFuZGFsb25lOworICAgIGNhc2UgQXBwbGljYXRpb25NYW5pZmVz
dDo6RGlzcGxheTo6TWluaW1hbFVJOgorICAgICAgICByZXR1cm4ga2V5d29yZCA9PSBDU1NWYWx1
ZU1pbmltYWxVaTsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dz
ZXI6CisgICAgICAgIHJldHVybiBrZXl3b3JkID09IENTU1ZhbHVlQnJvd3NlcjsKKyAgICB9CisK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisjZW5kaWYgLy8gRU5BQkxFKEFQUExJQ0FUSU9OX01BTklG
RVNUKQorCiAvLyBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGNhbGxpbmcgYWRkIGRpcmVj
dGx5IHRvIGF2b2lkIGlubGluaW5nLgogc3RhdGljIHZvaWQgYWRkKE1lZGlhUXVlcnlGdW5jdGlv
bk1hcCYgbWFwLCBBdG9taWNTdHJpbmdJbXBsKiBrZXksIE1lZGlhUXVlcnlGdW5jdGlvbiB2YWx1
ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwcmVzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cHJlc3Npb24uY3BwCmluZGV4
IGJhN2JhZmE5MTgyLi40MDc4NTJjNTQ2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cHJlc3Npb24uY3BwCkBAIC00Niw2ICs0Niw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBm
ZWF0dXJlV2l0aFZhbGlkSWRlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1cmUpCiAg
ICAgfHwgbWVkaWFGZWF0dXJlID09IE1lZGlhRmVhdHVyZU5hbWVzOjpob3ZlcgogICAgIHx8IG1l
ZGlhRmVhdHVyZSA9PSBNZWRpYUZlYXR1cmVOYW1lczo6aW52ZXJ0ZWRDb2xvcnMKICAgICB8fCBt
ZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OnBvaW50ZXIKKyNpZiBFTkFCTEUoQVBQ
TElDQVRJT05fTUFOSUZFU1QpCisgICAgfHwgbWVkaWFGZWF0dXJlID09IE1lZGlhRmVhdHVyZU5h
bWVzOjpkaXNwbGF5TW9kZQorI2VuZGlmCiAgICAgfHwgbWVkaWFGZWF0dXJlID09IE1lZGlhRmVh
dHVyZU5hbWVzOjpwcmVmZXJzUmVkdWNlZE1vdGlvbjsKIH0KIApAQCAtMTUzLDYgKzE1Niw5IEBA
IHN0YXRpYyBpbmxpbmUgYm9vbCBpc0ZlYXR1cmVWYWxpZFdpdGhvdXRWYWx1ZShjb25zdCBBdG9t
aWNTdHJpbmcmIG1lZGlhRmVhdHVyZSkKICAgICAgICAgfHwgbWVkaWFGZWF0dXJlID09IE1lZGlh
RmVhdHVyZU5hbWVzOjpwcmVmZXJzUmVkdWNlZE1vdGlvbgogICAgICAgICB8fCBtZWRpYUZlYXR1
cmUgPT0gTWVkaWFGZWF0dXJlTmFtZXM6OmRldmljZVBpeGVsUmF0aW8KICAgICAgICAgfHwgbWVk
aWFGZWF0dXJlID09IE1lZGlhRmVhdHVyZU5hbWVzOjpyZXNvbHV0aW9uCisjaWYgRU5BQkxFKEFQ
UExJQ0FUSU9OX01BTklGRVNUKQorICAgICAgICB8fCBtZWRpYUZlYXR1cmUgPT0gTWVkaWFGZWF0
dXJlTmFtZXM6OmRpc3BsYXlNb2RlCisjZW5kaWYKICAgICAgICAgfHwgbWVkaWFGZWF0dXJlID09
IE1lZGlhRmVhdHVyZU5hbWVzOjp2aWRlb1BsYXlhYmxlSW5saW5lOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDFjMDJhYmM3YzI2Li44ODJlZjdiMTVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Ny0xMi0wNiAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXZWIgQXBwIE1hbmlmZXN0XSBTdXBwb3J0IGRpc3BsYXktbW9kZSBtZWRpYSBmZWF0dXJl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzNzYK
KyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzU4Mzc5OTMKKworICAgICAgICBSZXZpZXdlZCBieSBH
ZW9mZnJleSBHYXJlbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGlj
YXRpb25NYW5pZmVzdC5tbToKKyAgICAgICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBpbml0
V2l0aENvZGVyOl0pOgorICAgICAgICAoLVtfV0tBcHBsaWNhdGlvbk1hbmlmZXN0IGVuY29kZVdp
dGhDb2RlcjpdKToKKyAgICAgICAgKC1bX1dLQXBwbGljYXRpb25NYW5pZmVzdCBkaXNwbGF5TW9k
ZV0pOgorCiAyMDE3LTEyLTA3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggYWZ0ZXIgcjIyNTYyMi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVz
dC5oCmluZGV4IDYxYzUwZjJiZTEwLi41ODdkMGM1MmFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5o
CkBAIC0zMyw2ICszMywxMyBAQAogCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCit0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGUpIHsK
KyAgICBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVCcm93c2VyLAorICAgIF9XS0Fw
cGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSSwKKyAgICBfV0tBcHBsaWNhdGlv
bk1hbmlmZXN0RGlzcGxheU1vZGVTdGFuZGFsb25lLAorICAgIF9XS0FwcGxpY2F0aW9uTWFuaWZl
c3REaXNwbGF5TW9kZUZ1bGxTY3JlZW4sCit9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpCiBAaW50ZXJmYWNlIF9XS0FwcGxpY2F0aW9uTWFu
aWZlc3QgOiBOU09iamVjdCA8TlNDb2Rpbmc+CiAKQEAgLTQxLDggKzQ4LDkgQEAgV0tfQ0xBU1Nf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5LCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKmFwcGxpY2F0
aW9uRGVzY3JpcHRpb247CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIG51bGxhYmxl
LCBjb3B5KSBOU1VSTCAqc2NvcGU7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNv
cHkpIE5TVVJMICpzdGFydFVSTDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dL
QXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlIGRpc3BsYXlNb2RlOwogCi0rIChfV0tBcHBs
aWNhdGlvbk1hbmlmZXN0ICopYXBwbGljYXRpb25NYW5pZmVzdEZyb21KU09OOihOU1N0cmluZyAq
KWpzb24gbWFuaWZlc3RVUkw6KE5TVVJMICopbWFuaWZlc3RVUkwgZG9jdW1lbnRVUkw6KG51bGxh
YmxlIE5TVVJMICopZG9jdW1lbnRVUkw7CisrIChfV0tBcHBsaWNhdGlvbk1hbmlmZXN0ICopYXBw
bGljYXRpb25NYW5pZmVzdEZyb21KU09OOihOU1N0cmluZyAqKWpzb24gbWFuaWZlc3RVUkw6KG51
bGxhYmxlIE5TVVJMICopbWFuaWZlc3RVUkwgZG9jdW1lbnRVUkw6KG51bGxhYmxlIE5TVVJMICop
ZG9jdW1lbnRVUkw7CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5tbQppbmRleCA0ZjVlOWEx
NTk5Ni4uNGE5MTdjNDE1NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tCkBAIC00MSw2ICs0MSw3
IEBAIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aENvZGVyOihOU0NvZGVyICopYURlY29kZXIKICAg
ICBOU1N0cmluZyAqc2hvcnROYW1lID0gW2FEZWNvZGVyIGRlY29kZU9iamVjdEZvcktleTpAInNo
b3J0X25hbWUiXTsKICAgICBOU1N0cmluZyAqZGVzY3JpcHRpb24gPSBbYURlY29kZXIgZGVjb2Rl
T2JqZWN0Rm9yS2V5OkAiZGVzY3JpcHRpb24iXTsKICAgICBOU1VSTCAqc2NvcGVVUkwgPSBbYURl
Y29kZXIgZGVjb2RlT2JqZWN0Rm9yS2V5OkAic2NvcGUiXTsKKyAgICBOU0ludGVnZXIgZGlzcGxh
eSA9IFthRGVjb2RlciBkZWNvZGVJbnRlZ2VyRm9yS2V5OkAiZGlzcGxheSJdOwogICAgIE5TVVJM
ICpzdGFydFVSTCA9IFthRGVjb2RlciBkZWNvZGVPYmplY3RGb3JLZXk6QCJzdGFydF91cmwiXTsK
IAogICAgIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3QgY29yZUFwcGxpY2F0aW9uTWFuaWZl
c3QgewpAQCAtNDgsNiArNDksNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb2RlcjooTlND
b2RlciAqKWFEZWNvZGVyCiAgICAgICAgIFdURjo6U3RyaW5nKHNob3J0TmFtZSksCiAgICAgICAg
IFdURjo6U3RyaW5nKGRlc2NyaXB0aW9uKSwKICAgICAgICAgV2ViQ29yZTo6VVJMKHNjb3BlVVJM
KSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlz
cGxheT4oZGlzcGxheSksCiAgICAgICAgIFdlYkNvcmU6OlVSTChzdGFydFVSTCkKICAgICB9Owog
CkBAIC02OSw2ICs3MSw3IEBAIC0gKHZvaWQpZW5jb2RlV2l0aENvZGVyOihOU0NvZGVyICopYUNv
ZGVyCiAgICAgW2FDb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5zaG9ydE5hbWUgZm9yS2V5OkAic2hv
cnRfbmFtZSJdOwogICAgIFthQ29kZXIgZW5jb2RlT2JqZWN0OnNlbGYuYXBwbGljYXRpb25EZXNj
cmlwdGlvbiBmb3JLZXk6QCJkZXNjcmlwdGlvbiJdOwogICAgIFthQ29kZXIgZW5jb2RlT2JqZWN0
OnNlbGYuc2NvcGUgZm9yS2V5OkAic2NvcGUiXTsKKyAgICBbYUNvZGVyIGVuY29kZUludGVnZXI6
c3RhdGljX2Nhc3Q8TlNJbnRlZ2VyPihfYXBwbGljYXRpb25NYW5pZmVzdC0+YXBwbGljYXRpb25N
YW5pZmVzdCgpLmRpc3BsYXkpIGZvcktleTpAImRpc3BsYXkiXTsKICAgICBbYUNvZGVyIGVuY29k
ZU9iamVjdDpzZWxmLnN0YXJ0VVJMIGZvcktleTpAInN0YXJ0X3VybCJdOwogfQogCkBAIC0xMTMs
NiArMTE2LDIyIEBAIC0gKE5TVVJMICopc3RhcnRVUkwKICAgICByZXR1cm4gX2FwcGxpY2F0aW9u
TWFuaWZlc3QtPmFwcGxpY2F0aW9uTWFuaWZlc3QoKS5zdGFydFVSTDsKIH0KIAorLSAoX1dLQXBw
bGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlKWRpc3BsYXlNb2RlCit7CisgICAgc3dpdGNoIChf
YXBwbGljYXRpb25NYW5pZmVzdC0+YXBwbGljYXRpb25NYW5pZmVzdCgpLmRpc3BsYXkpIHsKKyAg
ICBjYXNlIFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXI6Cisg
ICAgICAgIHJldHVybiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxheU1vZGVCcm93c2VyOwor
ICAgIGNhc2UgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJ
OgorICAgICAgICByZXR1cm4gX1dLQXBwbGljYXRpb25NYW5pZmVzdERpc3BsYXlNb2RlTWluaW1h
bFVJOworICAgIGNhc2UgV2ViQ29yZTo6QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3Rh
bmRhbG9uZToKKyAgICAgICAgcmV0dXJuIF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9k
ZVN0YW5kYWxvbmU7CisgICAgY2FzZSBXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNw
bGF5OjpGdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gX1dLQXBwbGljYXRpb25NYW5pZmVzdERp
c3BsYXlNb2RlRnVsbFNjcmVlbjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKwogI2Vsc2UgLy8gRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogCiArIChfV0tBcHBs
aWNhdGlvbk1hbmlmZXN0ICopYXBwbGljYXRpb25NYW5pZmVzdEZyb21KU09OOihOU1N0cmluZyAq
KWpzb24gbWFuaWZlc3RVUkw6KE5TVVJMICopbWFuaWZlc3RVUkwgZG9jdW1lbnRVUkw6KE5TVVJM
ICopZG9jdW1lbnRVUkwKQEAgLTE2MCw2ICsxNzksMTEgQEAgLSAoTlNVUkwgKilzdGFydFVSTAog
ICAgIHJldHVybiBuaWw7CiB9CiAKKy0gKF9XS0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9k
ZSlkaXNwbGF5TW9kZQoreworICAgIHJldHVybiBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0RGlzcGxh
eU1vZGVCcm93c2VyOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNU
KQogCiBAZW5kCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggZjIxMWMxMjk2YzIuLmNkNGQ4NmNhZGIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTctMTItMDQgIERh
dmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFw
cCBNYW5pZmVzdF0gU3VwcG9ydCBkaXNwbGF5LW1vZGUgbWVkaWEgZmVhdHVyZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzc2CisgICAgICAgIHJk
YXI6Ly9wcm9ibGVtLzM1ODM3OTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2Fy
ZW4uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8
KToKKyAgICAgICAgKEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXJUZXN0Ojp0ZXN0RGlzcGxheSk6
CisgICAgICAgIChURVNUX0YpOgorICAgICAgICAgICAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBw
YXJzaW5nIG9mIHRoZSAnZGlzcGxheScgbWFuaWZlc3QgcHJvcGVydHkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW06Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL2Rpc3BsYXktbW9kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgICAgIFVw
ZGF0ZSBBUEkgdGVzdHMgdG8gaW5jbHVkZSBfV0tBcHBsaWNhdGlvbk1hbmlmZXN0LmRpc3BsYXlN
b2RlLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXVFI6OnBhcnNlU3RyaW5nVGVzdEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgpOgor
ICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CisgICAgICAgIChXVFI6OlRlc3RPcHRp
b25zOjpoYXNTYW1lSW5pdGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcpOgorICAgICAgICAgICAgVGVh
Y2ggV0tUUiB0byBsb29rIGZvciBhbmQgYXBwbHkgYW4gYXBwIG1hbmlmZXN0LiBBIG5ldyA8IS0t
d2Via2l0LXRlc3QtcnVubmVyLS0+CisgICAgICAgICAgICBkaXJlY3RpdmUgJ2FwcGxpY2F0aW9u
TWFuaWZlc3QnIGNhbiBzcGVjaWZ5IGEgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHRlc3QgZmlsZSBp
dHNlbGYpCisgICAgICAgICAgICB0byBhIEpTT04gYXBwIG1hbmlmZXN0IHRvIGJlIGFwcGxpZWQg
dG8gdGhlIHdlYiB2aWV3IGJlZm9yZSBydW5uaW5nIHRoZSB0ZXN0LgorCiAyMDE3LTEyLTA2ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgV2Ugc2hvdWxkIGJlIGFi
bGUgdG8gcmVjb3ZlciBhZnRlciBhIFNlcnZpY2UgV29ya2VyIHByb2Nlc3MgY3Jhc2gKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZTkxODc1ODZiZDguLjYwZjFjMjMzMmQ2IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMjYwLDYgKzI2MCw3IEBACiAJCTYzNTRGNEQxMUY3QzNBQjUwMEQ4
OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTRGNEQwMUY3QzNBQjUwMEQ4OURGMyAvKiBB
cHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCAqLzsgfTsKIAkJNjM1NkZCMjIxRUM0RTBCQTAw
NDRCRjE4IC8qIFZpc2libGVDb250ZW50UmVjdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNTZGQjIxMUVDNEUwQkEwMDQ0QkYxOCAvKiBWaXNpYmxl
Q29udGVudFJlY3QubW0gKi87IH07CiAJCTYzNjM1M0E3MUU5ODY2NUQwMDA5RjhBRiAvKiBHZW9s
b2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzNjM1M0E2MUU5ODYxOTQwMDA5RjhB
RiAvKiBHZW9sb2NhdGlvbkdldEN1cnJlbnRQb3NpdGlvblJlc3VsdC5odG1sICovOyB9OworCQk2
M0E2MUI4QjFGQUQyNTExMDBGMDY4ODUgLyogZGlzcGxheS1tb2RlLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjNBNjFCOEExRkFEMjA0
RDAwRjA2ODg1IC8qIGRpc3BsYXktbW9kZS5odG1sICovOyB9OwogCQk2M0Y2NjgyMjFGOTdGN0Y5
MDAzMkVFNTEgLyogQXBwbGljYXRpb25NYW5pZmVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzRjY2ODIwMUY5N0MzQUEwMDMyRUU1MSAvKiBBcHBs
aWNhdGlvbk1hbmlmZXN0Lm1tICovOyB9OwogCQk2QkZEMjk0QzFENUU2QzFEMDA4RUM5NjggLyog
SGFzaENvdW50ZWRTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0EzOEQ3RTUxQzc1MkQ1RjAwNEYxNTdEIC8qIEhhc2hDb3VudGVkU2V0LmNwcCAq
LzsgfTsKIAkJNzUxQjA1RDYxRjhFQUM0MTAwMjhBMDlFIC8qIERhdGFiYXNlVHJhY2tlclRlc3Qu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTFCMDVE
NTFGOEVBQzFBMDAyOEEwOUUgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5tbSAqLzsgfTsKQEAgLTg3
MSw2ICs4NzIsNyBAQAogCQkJCUY0NTEyRTEzMUY2MEM0NDYwMEJCMzY5RSAvKiBEYXRhVHJhbnNm
ZXJJdGVtLWdldEFzRW50cnkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDMDdFNkNC
MjEzRkQ3MzkzMDAzOEIyMkIgLyogZGV2aWNlUGl4ZWxSYXRpby5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTA3OTlDMzRCMUVCQTMzMDEwMDNCNzUzMiAvKiBkaXNhYmxlR2V0VXNlck1l
ZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJNjNBNjFCOEIxRkFEMjUxMTAwRjA2
ODg1IC8qIGRpc3BsYXktbW9kZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0MUFC
OUEyMUVGNDY5NkIwMDgzRkEwOCAvKiBkaXYtYW5kLWxhcmdlLWltYWdlLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCiAJCQkJMzdFMTA2NEMxNjk3NjgxODAwQjc4QkQwIC8qIERPTUhUTUxUYWJs
ZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzdE
QzY3OTExNDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKQEAgLTE0MDUsNiArMTQwNyw3IEBACiAJCTYzNTRGNEQwMUY3QzNBQjUwMEQ4
OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEFwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2MzU2RkIyMTFFQzRFMEJBMDA0NEJGMTggLyogVmlzaWJsZUNvbnRlbnRSZWN0Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gVmlzaWJsZUNvbnRlbnRSZWN0Lm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2MzYzNTNBNjFFOTg2MTk0MDAwOUY4QUYgLyogR2VvbG9jYXRpb25H
ZXRDdXJyZW50UG9zaXRpb25SZXN1bHQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
IEdlb2xvY2F0aW9uR2V0Q3VycmVudFBvc2l0aW9uUmVzdWx0Lmh0bWw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTYzQTYxQjhBMUZBRDIwNEQwMEYwNjg4NSAvKiBkaXNwbGF5LW1vZGUu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9ICJkaXNwbGF5LW1vZGUuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTYzRjY2ODIwMUY5N0MzQUEwMDMyRUU1MSAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXBwbGljYXRpb25NYW5pZmVzdC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzUxQjA1RDUxRjhFQUMxQTAwMjhBMDlFIC8qIERhdGFi
YXNlVHJhY2tlclRlc3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhYmFzZVRyYWNrZXJU
ZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NTRDRUM4MDFGNjcyMkRDMDBE
MDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRv
RmlsbEF2YWlsYWJsZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyOTEsNiAr
MjI5NCw3IEBACiAJCQkJRjQ4NkIxQ0YxRjY3OTRGRjAwRjM0QkREIC8qIERhdGFUcmFuc2Zlci1z
ZXREcmFnSW1hZ2UuaHRtbCAqLywKIAkJCQlGNDUxMkUxMjFGNjBDNDM0MDBCQjM2OUUgLyogRGF0
YVRyYW5zZmVySXRlbS1nZXRBc0VudHJ5Lmh0bWwgKi8sCiAJCQkJMDc5OUMzNEExRUJBMzJGNDAw
M0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVkaWEuaHRtbCAqLywKKwkJCQk2M0E2MUI4QTFGQUQy
MDREMDBGMDY4ODUgLyogZGlzcGxheS1tb2RlLmh0bWwgKi8sCiAJCQkJRjQxQUI5OUUxRUY0Njky
QzAwODNGQTA4IC8qIGRpdi1hbmQtbGFyZ2UtaW1hZ2UuaHRtbCAqLywKIAkJCQk4MzdBMzVGMDFE
OUExRTY0MDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1sICovLAogCQkJCTU3
MTRFQ0I4MUNBOEI1ODgwMDA1MUFDOCAvKiBEb3dubG9hZFJlcXVlc3RPcmlnaW5hbFVSTC5odG1s
ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0FwcGxp
Y2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCmluZGV4IDc0OWIzM2VhYWNhLi4zOWRl
ODU4YTZhYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Fw
cGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcApAQCAtMzQsNiArMzQsMjIg
QEAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorbmFt
ZXNwYWNlIFdlYkNvcmUgeworc3RhdGljIGlubGluZSBzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwo
c3RkOjpvc3RyZWFtJiBvcywgY29uc3QgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheSYgZGlz
cGxheSkKK3sKKyAgICBzd2l0Y2ggKGRpc3BsYXkpIHsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFu
aWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXI6CisgICAgICAgIHJldHVybiBvcyA8PCAiQXBwbGljYXRp
b25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3NlciI7CisgICAgY2FzZSBBcHBsaWNhdGlvbk1hbmlm
ZXN0OjpEaXNwbGF5OjpNaW5pbWFsVUk6CisgICAgICAgIHJldHVybiBvcyA8PCAiQXBwbGljYXRp
b25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJIjsKKyAgICBjYXNlIEFwcGxpY2F0aW9uTWFu
aWZlc3Q6OkRpc3BsYXk6OlN0YW5kYWxvbmU6CisgICAgICAgIHJldHVybiBvcyA8PCAiQXBwbGlj
YXRpb25NYW5pZmVzdDo6RGlzcGxheTo6U3RhbmRhbG9uZSI7CisgICAgY2FzZSBBcHBsaWNhdGlv
bk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gb3MgPDwgIkFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkZ1bGxzY3JlZW4iOworICAgIH0KK30KK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKwogY2xhc3MgQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlclRlc3Qg
OiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CiBwdWJsaWM6CiAgICAgVVJMIG1fbWFuaWZlc3RVUkw7
CkBAIC03MSw2ICs4NywxMyBAQCBwdWJsaWM6CiAgICAgICAgIEVYUEVDVF9TVFJFUShleHBlY3Rl
ZFZhbHVlLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIHZhbHVlLnN0cmluZygpLnV0ZjgoKS5kYXRh
KCkpOwogICAgIH0KIAorICAgIHZvaWQgdGVzdERpc3BsYXkoY29uc3QgU3RyaW5nJiByYXdKU09O
LCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5IGV4cGVjdGVkVmFsdWUpCisgICAgeworICAg
ICAgICBhdXRvIG1hbmlmZXN0ID0gcGFyc2VUb3BMZXZlbFByb3BlcnR5KCJkaXNwbGF5IiwgcmF3
SlNPTik7CisgICAgICAgIGF1dG8gdmFsdWUgPSBtYW5pZmVzdC5kaXNwbGF5OworICAgICAgICBF
WFBFQ1RfRVEoZXhwZWN0ZWRWYWx1ZSwgdmFsdWUpOworICAgIH0KKwogICAgIHZvaWQgdGVzdE5h
bWUoY29uc3QgU3RyaW5nJiByYXdKU09OLCBjb25zdCBTdHJpbmcmIGV4cGVjdGVkVmFsdWUpCiAg
ICAgewogICAgICAgICBhdXRvIG1hbmlmZXN0ID0gcGFyc2VUb3BMZXZlbFByb3BlcnR5KCJuYW1l
IiwgcmF3SlNPTik7CkBAIC0xNjksNiArMTkyLDI0IEBAIFRFU1RfRihBcHBsaWNhdGlvbk1hbmlm
ZXN0UGFyc2VyVGVzdCwgU3RhcnRVUkwpCiAgICAgdGVzdFN0YXJ0VVJMKCJcIi4uL3BhZ2UyXCIi
LCAiaHR0cHM6Ly9leGFtcGxlLmNvbS9wYWdlMiIpOwogfQogCitURVNUX0YoQXBwbGljYXRpb25N
YW5pZmVzdFBhcnNlclRlc3QsIERpc3BsYXkpCit7CisgICAgdGVzdERpc3BsYXkoIjEyMyIsIEFw
cGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOworICAgIHRlc3REaXNwbGF5KCJu
dWxsIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERp
c3BsYXkoInRydWUiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpCcm93c2VyKTsKKyAg
ICB0ZXN0RGlzcGxheSgieyB9IiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nl
cik7CisgICAgdGVzdERpc3BsYXkoIlsgXSIsIEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6
OkJyb3dzZXIpOworICAgIHRlc3REaXNwbGF5KCJcIlwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6
RGlzcGxheTo6QnJvd3Nlcik7CisgICAgdGVzdERpc3BsYXkoIlwiZ2FyYmFnZSBzdHJpbmdcIiIs
IEFwcGxpY2F0aW9uTWFuaWZlc3Q6OkRpc3BsYXk6OkJyb3dzZXIpOworCisgICAgdGVzdERpc3Bs
YXkoIlwiYnJvd3NlclwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6QnJvd3Nlcik7
CisgICAgdGVzdERpc3BsYXkoIlwic3RhbmRhbG9uZVwiIiwgQXBwbGljYXRpb25NYW5pZmVzdDo6
RGlzcGxheTo6U3RhbmRhbG9uZSk7CisgICAgdGVzdERpc3BsYXkoIlwibWluaW1hbC11aVwiIiwg
QXBwbGljYXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJKTsKKyAgICB0ZXN0RGlzcGxh
eSgiXCJmdWxsc2NyZWVuXCIiLCBBcHBsaWNhdGlvbk1hbmlmZXN0OjpEaXNwbGF5OjpGdWxsc2Ny
ZWVuKTsKKworICAgIHRlc3REaXNwbGF5KCJbXCJcXHRNSU5JTUFMLXVpXFx0XCJdIiwgQXBwbGlj
YXRpb25NYW5pZmVzdDo6RGlzcGxheTo6TWluaW1hbFVJKTsKK30KKwogVEVTVF9GKEFwcGxpY2F0
aW9uTWFuaWZlc3RQYXJzZXJUZXN0LCBOYW1lKQogewogICAgIHRlc3ROYW1lKCIxMjMiLCBTdHJp
bmcoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0FwcGxpY2F0aW9uTWFuaWZlc3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0FwcGxpY2F0aW9uTWFuaWZlc3QubW0KaW5kZXggNzEwYTc3YWFhN2MuLjliYzE1NGVl
YzkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Fw
cGxpY2F0aW9uTWFuaWZlc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9BcHBsaWNhdGlvbk1hbmlmZXN0Lm1tCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0
ICJUZXN0LmgiCiAjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJU
ZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oPgogCkBAIC0zOCw3ICszOSw3IEBAIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogVEVTVChXZWJLaXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RD
b2RpbmcpCiB7Ci0gICAgYXV0byBqc29uU3RyaW5nID0gQCJ7IFwibmFtZVwiOiBcIlRlc3ROYW1l
XCIsIFwic2hvcnRfbmFtZVwiOiBcIlRlc3RTaG9ydE5hbWVcIiwgXCJkZXNjcmlwdGlvblwiOiBc
IlRlc3REZXNjcmlwdGlvblwiLCBcInNjb3BlXCI6IFwiaHR0cHM6Ly90ZXN0LmNvbS9hcHBcIiwg
XCJzdGFydF91cmxcIjogXCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRleC5odG1sXCIgfSI7Cisg
ICAgYXV0byBqc29uU3RyaW5nID0gQCJ7IFwibmFtZVwiOiBcIlRlc3ROYW1lXCIsIFwic2hvcnRf
bmFtZVwiOiBcIlRlc3RTaG9ydE5hbWVcIiwgXCJkZXNjcmlwdGlvblwiOiBcIlRlc3REZXNjcmlw
dGlvblwiLCBcInNjb3BlXCI6IFwiaHR0cHM6Ly90ZXN0LmNvbS9hcHBcIiwgXCJzdGFydF91cmxc
IjogXCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRleC5odG1sXCIsIFwiZGlzcGxheVwiOiBcIm1p
bmltYWwtdWlcIiB9IjsKICAgICBSZXRhaW5QdHI8X1dLQXBwbGljYXRpb25NYW5pZmVzdD4gbWFu
aWZlc3QgeyBbX1dLQXBwbGljYXRpb25NYW5pZmVzdCBhcHBsaWNhdGlvbk1hbmlmZXN0RnJvbUpT
T046anNvblN0cmluZyBtYW5pZmVzdFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8v
dGVzdC5jb20vbWFuaWZlc3QuanNvbiJdIGRvY3VtZW50VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5n
OkAiaHR0cHM6Ly90ZXN0LmNvbS8iXV0gfTsKICAgICAKICAgICBtYW5pZmVzdCA9IFtOU0tleWVk
VW5hcmNoaXZlciB1bmFyY2hpdmVPYmplY3RXaXRoRGF0YTpbTlNLZXllZEFyY2hpdmVyIGFyY2hp
dmVkRGF0YVdpdGhSb290T2JqZWN0Om1hbmlmZXN0LmdldCgpXV07CkBAIC00OSw2ICs1MCw3IEBA
IFRFU1QoV2ViS2l0LCBBcHBsaWNhdGlvbk1hbmlmZXN0Q29kaW5nKQogICAgIEVYUEVDVF9TVFJF
USgiVGVzdERlc2NyaXB0aW9uIiwgbWFuaWZlc3QuZ2V0KCkuYXBwbGljYXRpb25EZXNjcmlwdGlv
bi5VVEY4U3RyaW5nKTsKICAgICBFWFBFQ1RfU1RSRVEoImh0dHBzOi8vdGVzdC5jb20vYXBwIiwg
bWFuaWZlc3QuZ2V0KCkuc2NvcGUuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CiAgICAgRVhQ
RUNUX1NUUkVRKCJodHRwczovL3Rlc3QuY29tL2FwcC9pbmRleC5odG1sIiwgbWFuaWZlc3QuZ2V0
KCkuc3RhcnRVUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CisgICAgRVhQRUNUX0VRKF9X
S0FwcGxpY2F0aW9uTWFuaWZlc3REaXNwbGF5TW9kZU1pbmltYWxVSSwgIG1hbmlmZXN0LmdldCgp
LmRpc3BsYXlNb2RlKTsKIH0KIAogVEVTVChXZWJLaXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RCYXNp
YykKQEAgLTEwMiw2ICsxMDQsMzggQEAgVEVTVChXZWJLaXQsIEFwcGxpY2F0aW9uTWFuaWZlc3RC
YXNpYykKICAgICBVdGlsOjpydW4oJmRvbmUpOwogfQogCitURVNUKFdlYktpdCwgQXBwbGljYXRp
b25NYW5pZmVzdERpc3BsYXlNb2RlKQoreworICAgIHN0YXRpYyBib29sIGRvbmU7CisgICAgTlNE
aWN0aW9uYXJ5ICpkaXNwbGF5TW9kZXNBbmRFeHBlY3RlZENvbnRlbnQgPSBAeworICAgICAgICBA
IiI6IEAiKGRpc3BsYXktbW9kZSkgKGRpc3BsYXktbW9kZTogYnJvd3NlcikiLAorICAgICAgICBA
ImJyb3dzZXIiOiBAIihkaXNwbGF5LW1vZGUpIChkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIiwKKyAg
ICAgICAgQCJtaW5pbWFsLXVpIjogQCIoZGlzcGxheS1tb2RlKSAoZGlzcGxheS1tb2RlOiBtaW5p
bWFsLXVpKSIsCisgICAgICAgIEAic3RhbmRhbG9uZSI6IEAiKGRpc3BsYXktbW9kZSkgKGRpc3Bs
YXktbW9kZTogc3RhbmRhbG9uZSkiLAorICAgICAgICBAImZ1bGxzY3JlZW4iOiBAIihkaXNwbGF5
LW1vZGUpIChkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIiwKKyAgICB9OworCisgICAgTlNVUkwg
KmJhc2VVUkwgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVVUkxdIFVSTEJ5QXBwZW5k
aW5nUGF0aENvbXBvbmVudDpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgW2Rpc3Bs
YXlNb2Rlc0FuZEV4cGVjdGVkQ29udGVudCBlbnVtZXJhdGVLZXlzQW5kT2JqZWN0c1VzaW5nQmxv
Y2s6XihOU1N0cmluZyAqZGlzcGxheU1vZGUsIE5TU3RyaW5nICpleHBlY3RlZFBhZ2VDb250ZW50
LCBCT09MKiBzdG9wKSB7CisgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wgeworICAgICAgICAgICAg
TlNTdHJpbmcgKm0yID0gZGlzcGxheU1vZGUubGVuZ3RoID8gW05TU3RyaW5nIHN0cmluZ1dpdGhG
b3JtYXQ6QCJ7XCJkaXNwbGF5XCI6IFwiJUBcIn0iLCBkaXNwbGF5TW9kZV0gOiBAInt9IjsKKyAg
ICAgICAgICAgIFJldGFpblB0cjxfV0tBcHBsaWNhdGlvbk1hbmlmZXN0PiBtYW5pZmVzdCA9IFtf
V0tBcHBsaWNhdGlvbk1hbmlmZXN0IGFwcGxpY2F0aW9uTWFuaWZlc3RGcm9tSlNPTjptMiBtYW5p
ZmVzdFVSTDpbYmFzZVVSTCBVUkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJtYW5pZmVzdC5q
c29uIl0gZG9jdW1lbnRVUkw6YmFzZVVSTF07CisgICAgICAgICAgICBhdXRvIGNvbmZpZyA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgICAgICAg
ICBjb25maWcuZ2V0KCkuX2FwcGxpY2F0aW9uTWFuaWZlc3QgPSBtYW5pZmVzdC5nZXQoKTsKKyAg
ICAgICAgICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25maWcuZ2V0KCldKTsKKyAg
ICAgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImRpc3Bs
YXktbW9kZSJdOworICAgICAgICAgICAgCisgICAgICAgICAgICBkb25lID0gZmFsc2U7CisgICAg
ICAgICAgICBbd2ViVmlldyBfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhDb21wbGV0aW9uSGFuZGxl
cjpeKE5TU3RyaW5nICpjb250ZW50cywgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgICAgICAg
ICBkb25lID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBFWFBFQ1RfU1RSRVEoZXhwZWN0ZWRQYWdl
Q29udGVudC5VVEY4U3RyaW5nLCBjb250ZW50cy5VVEY4U3RyaW5nKTsKKyAgICAgICAgICAgIH1d
OworICAgICAgICAgICAgVXRpbDo6cnVuKCZkb25lKTsKKyAgICAgICAgICAgIFt3ZWJWaWV3IHJl
bW92ZUZyb21TdXBlcnZpZXddOworICAgICAgICB9CisgICAgfV07Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVEICYmIEVOQUJMRShB
UFBMSUNBVElPTl9NQU5JRkVTVCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvZGlzcGxheS1tb2RlLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL2Rpc3BsYXktbW9kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwLi44ZDY1MWVjZTc1OQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvZGlzcGxheS1tb2RlLmh0bWwKQEAgLTAsMCAr
MSwyNyBAQAorPHN0eWxlPgorZGl2IHsgZGlzcGxheTogbm9uZTsgfQorQG1lZGlhIChkaXNwbGF5
LW1vZGUpIHsKKyAgICAuZGlzcGxheS1tb2RlLW51bGwgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30K
K0BtZWRpYSAoZGlzcGxheS1tb2RlOiBicm93c2VyKSB7CisgICAgLmRpc3BsYXktbW9kZS1icm93
c2VyIHsgZGlzcGxheTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogbWluaW1h
bC11aSkgeworICAgIC5kaXNwbGF5LW1vZGUtbWluaW1hbC11aSB7IGRpc3BsYXk6IGlubGluZTsg
fQorfQorQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHsKKyAgICAuZGlzcGxheS1t
b2RlLXN0YW5kYWxvbmUgeyBkaXNwbGF5OiBpbmxpbmU7IH0KK30KK0BtZWRpYSAoZGlzcGxheS1t
b2RlOiBmdWxsc2NyZWVuKSB7CisgICAgLmRpc3BsYXktbW9kZS1mdWxsc2NyZWVuIHsgZGlzcGxh
eTogaW5saW5lOyB9Cit9CitAbWVkaWEgKGRpc3BsYXktbW9kZTogaW52YWxpZC12YWx1ZSkgewor
ICAgIC5kaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSB7IGRpc3BsYXk6IGlubGluZTsgfQorfQor
PC9zdHlsZT4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1udWxsIj4oZGlzcGxheS1tb2RlKTwv
ZGl2PgorPGRpdiBjbGFzcz0iZGlzcGxheS1tb2RlLWJyb3dzZXIiPihkaXNwbGF5LW1vZGU6IGJy
b3dzZXIpPC9kaXY+Cis8ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtbWluaW1hbC11aSI+KGRpc3Bs
YXktbW9kZTogbWluaW1hbC11aSk8L2Rpdj4KKzxkaXYgY2xhc3M9ImRpc3BsYXktbW9kZS1zdGFu
ZGFsb25lIj4oZGlzcGxheS1tb2RlOiBzdGFuZGFsb25lKTwvZGl2PgorPGRpdiBjbGFzcz0iZGlz
cGxheS1tb2RlLWZ1bGxzY3JlZW4iPihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pPC9kaXY+Cis8
ZGl2IGNsYXNzPSJkaXNwbGF5LW1vZGUtaW52YWxpZC12YWx1ZSI+KGRpc3BsYXktbW9kZTogaW52
YWxpZC12YWx1ZSk8L2Rpdj4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKaW5kZXggMzRiYWUyNjM0MDcuLjM4ZmFiNmY0OTdjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtOTgyLDYgKzk4MiwxMyBAQCBzdGF0aWMgYm9vbCBw
YXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUoY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlKQogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIHN0ZDo6c3RyaW5nIHBhcnNlU3RyaW5nVGVzdEhl
YWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgoY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlLCBjb25zdCBz
dGQ6OnN0cmluZyYgcGF0aE9yVVJMKQoreworICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiBiYXNl
VVJMKEFkb3B0V0ssIGNyZWF0ZVRlc3RVUkwocGF0aE9yVVJMLmNfc3RyKCkpKTsKKyAgICBXS1Jl
dGFpblB0cjxXS1VSTFJlZj4gcmVsYXRpdmVVUkwoQWRvcHRXSywgV0tVUkxDcmVhdGVXaXRoQmFz
ZVVSTChiYXNlVVJMLmdldCgpLCB2YWx1ZS5jX3N0cigpKSk7CisgICAgcmV0dXJuIHRvU1REKGFk
b3B0V0soV0tVUkxDb3B5UGF0aChyZWxhdGl2ZVVSTC5nZXQoKSkpKTsKK30KKwogc3RhdGljIHZv
aWQgdXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihUZXN0T3B0aW9ucyYgdGVzdE9wdGlv
bnMsIGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBhYnNv
bHV0ZVBhdGgpCiB7CiAgICAgc3RkOjpzdHJpbmcgZmlsZW5hbWUgPSBhYnNvbHV0ZVBhdGg7CkBA
IC0xMDU4LDYgKzEwNjUsOCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0
SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qgc3RkOgogICAgICAgICAgICAg
dGVzdE9wdGlvbnMuZW5hYmxlSW5zcGVjdG9yQWRkaXRpb25zID0gcGFyc2VCb29sZWFuVGVzdEhl
YWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgaWYgKGtleSA9PSAiZHVtcEpTQ29uc29sZUxvZ0lu
U3RkRXJyIikKICAgICAgICAgICAgIHRlc3RPcHRpb25zLmR1bXBKU0NvbnNvbGVMb2dJblN0ZEVy
ciA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAgICAgIGlmIChrZXkg
PT0gImFwcGxpY2F0aW9uTWFuaWZlc3QiKQorICAgICAgICAgICAgdGVzdE9wdGlvbnMuYXBwbGlj
YXRpb25NYW5pZmVzdCA9IHBhcnNlU3RyaW5nVGVzdEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBhdGgo
dmFsdWUsIHBhdGhPclVSTCk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAg
IH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAppbmRleCA5NmJkN2NjYzZlNy4u
MDExZjQ5ZDg2YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlv
bnMuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTU3LDYg
KzU3LDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKIAogICAgIGZsb2F0IGRldmljZVNjYWxlRmFj
dG9yIHsgMSB9OwogICAgIFZlY3RvcjxTdHJpbmc+IG92ZXJyaWRlTGFuZ3VhZ2VzOworICAgIHN0
ZDo6c3RyaW5nIGFwcGxpY2F0aW9uTWFuaWZlc3Q7CiAgICAgCiAgICAgVGVzdE9wdGlvbnMoY29u
c3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVSTCk7CiAKQEAgLTgwLDcgKzgxLDggQEAgc3RydWN0IFRl
c3RPcHRpb25zIHsKICAgICAgICAgICAgIHx8IGVuYWJsZUNyZWRlbnRpYWxNYW5hZ2VtZW50ICE9
IG9wdGlvbnMuZW5hYmxlQ3JlZGVudGlhbE1hbmFnZW1lbnQKICAgICAgICAgICAgIHx8IGVuYWJs
ZUlzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZSAhPSBvcHRpb25zLmVuYWJsZUlzU2VjdXJlQ29udGV4
dEF0dHJpYnV0ZQogICAgICAgICAgICAgfHwgZW5hYmxlSW5zcGVjdG9yQWRkaXRpb25zICE9IG9w
dGlvbnMuZW5hYmxlSW5zcGVjdG9yQWRkaXRpb25zCi0gICAgICAgICAgICB8fCBkdW1wSlNDb25z
b2xlTG9nSW5TdGRFcnIgIT0gb3B0aW9ucy5kdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIpCisgICAg
ICAgICAgICB8fCBkdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgIT0gb3B0aW9ucy5kdW1wSlNDb25z
b2xlTG9nSW5TdGRFcnIKKyAgICAgICAgICAgIHx8IGFwcGxpY2F0aW9uTWFuaWZlc3QgIT0gb3B0
aW9ucy5hcHBsaWNhdGlvbk1hbmlmZXN0KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9j
b2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2Nv
YS9UZXN0Q29udHJvbGxlckNvY29hLm1tCmluZGV4IGQ4YzZjMDk2NWFmLi44ODE4MmIwZjFhYSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNv
Y29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJD
b2NvYS5tbQpAQCAtNDUsNiArNDUsNyBAQAogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0ZURhdGFS
ZWNvcmRQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0
ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oPgorI2ltcG9ydCA8
V2ViS2l0L19XS0FwcGxpY2F0aW9uTWFuaWZlc3QuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZVByaXZhdGUuaD4KQEAgLTE1Myw2ICsxNTQsMTIgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1DcmVhdGVXZWJWaWV3KFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYsIGNvbnN0IFRlc3RP
cHQKICAgICBpZiAob3B0aW9ucy5lbmFibGVBdHRhY2htZW50RWxlbWVudCkKICAgICAgICAgW2Nv
cGllZENvbmZpZ3VyYXRpb24gX3NldEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDogWUVTXTsKIAor
ICAgIGlmIChvcHRpb25zLmFwcGxpY2F0aW9uTWFuaWZlc3QubGVuZ3RoKCkpIHsKKyAgICAgICAg
YXV0byBtYW5pZmVzdFBhdGggPSBbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6b3B0aW9u
cy5hcHBsaWNhdGlvbk1hbmlmZXN0LmNfc3RyKCldOworICAgICAgICBOU1N0cmluZyAqdGV4dCA9
IFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6bWFuaWZlc3RQYXRoIHVzZWRFbmNv
ZGluZzpudWxscHRyIGVycm9yOm51bGxwdHJdOworICAgICAgICBbY29waWVkQ29uZmlndXJhdGlv
biBfc2V0QXBwbGljYXRpb25NYW5pZmVzdDpbX1dLQXBwbGljYXRpb25NYW5pZmVzdCBhcHBsaWNh
dGlvbk1hbmlmZXN0RnJvbUpTT046dGV4dCBtYW5pZmVzdFVSTDpuaWwgZG9jdW1lbnRVUkw6bmls
XV07CisgICAgfQorCiAgICAgbV9tYWluV2ViVmlldyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZv
cm1XZWJWaWV3Pihjb3BpZWRDb25maWd1cmF0aW9uLmdldCgpLCBvcHRpb25zKTsKICNlbHNlCiAg
ICAgbV9tYWluV2ViVmlldyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1XZWJWaWV3PihnbG9i
YWxXZWJWaWV3Q29uZmlndXJhdGlvbiwgb3B0aW9ucyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>