<?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>190081</bug_id>
          
          <creation_ts>2018-09-28 10:00:26 -0700</creation_ts>
          <short_desc>Drop support for cross-origin-window-policy header</short_desc>
          <delta_ts>2018-09-28 16:24:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1464418</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-28 10:00:26 -0700</bug_when>
    <thetext>Drop support for cross-origin-window-policy header as this was never enabled and its design has some issues we have not resolved. An alternative is being worked on but will be substantially different so there is not much value in keeping this code around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464423</commentid>
    <comment_count>1</comment_count>
      <attachid>351088</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-28 10:10:04 -0700</bug_when>
    <thetext>Created attachment 351088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464591</commentid>
    <comment_count>2</comment_count>
      <attachid>351088</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-28 16:18:34 -0700</bug_when>
    <thetext>Comment on attachment 351088
Patch

Clearing flags on attachment: 351088

Committed r236623: &lt;https://trac.webkit.org/changeset/236623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464592</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-28 16:18:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464597</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-28 16:19:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/44878327&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351088</attachid>
            <date>2018-09-28 10:10:04 -0700</date>
            <delta_ts>2018-09-28 16:18:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190081-20180928101003.patch</filename>
            <type>text/plain</type>
            <size>96034</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBhZjg3NDFhYTFjZmRj
MTU5MGI4MTczODNiMGI2YTU0N2Q5MTYwYi4uMTViYzIzZDdmOGQ0NjQyOWU3OTgxNzNiNzE4NmQz
MWQzYjFhZjlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE4LTA5LTI4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBj
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeSBoZWFkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kgaGVhZGVyIGFzIHRoaXMgd2FzIG5ldmVyIGVuYWJsZWQgYW5kIGl0cyBkZXNp
Z24gaGFzCisgICAgICAgIHNvbWUgaXNzdWVzIHdlIGhhdmUgbm90IHJlc29sdmVkLiBBbiBhbHRl
cm5hdGl2ZSBpcyBiZWluZyB3b3JrZWQgb24gYnV0IHdpbGwgYmUgc3Vic3RhbnRpYWxseQorICAg
ICAgICBkaWZmZXJlbnQgc28gdGhlcmUgaXMgbm90IG11Y2ggdmFsdWUgaW4ga2VlcGluZyB0aGlz
IGNvZGUgYXJvdW5kLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJp
dHkuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5Lmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6anNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVkQWNjZXNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToK
KyAgICAgICAgKFdlYkNvcmU6OmFkZENyb3NzT3JpZ2luV2luZG93UHJvcGVydHlOYW1lcyk6Cisg
ICAgICAgIChXZWJDb3JlOjphZGRTY29wZWRDaGlsZHJlbkluZGV4ZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6YWRkQ3Jvc3NPcmlnaW5XaW5kb3dPd25Qcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUmVt
b3RlRE9NV2luZG93Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlQXR0cmlidXRlR2V0dGVyQm9keURlZmlu
aXRpb24pOgorICAgICAgICAoR2VuZXJhdGVBdHRyaWJ1dGVTZXR0ZXJCb2R5RGVmaW5pdGlvbik6
CisgICAgICAgIChHZW5lcmF0ZU9wZXJhdGlvbkJvZHlEZWZpbml0aW9uKToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbjoKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNhbk5hdmlnYXRlKToKKyAgICAg
ICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmRpZEJlZ2luRG9jdW1lbnQpOgorICAgICAgICAqIHBhZ2UvQWJzdHJhY3RET01XaW5kb3cu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QWJzdHJhY3RET01XaW5kb3c6OkFic3RyYWN0RE9NV2lu
ZG93KToKKyAgICAgICAgKiBwYWdlL0Fic3RyYWN0RE9NV2luZG93Lmg6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL0hUVFBQYXJzZXJzLmg6CisKIDIwMTgtMDktMjcgIEJhc3VrZSBTdXp1a2kgIDxCYXN1
a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtDdXJsXSBGaXggcHJpb3JpdHkgaXNzdWUg
d2l0aCBtdWx0aXBsZSBjb29raWVzIHdpdGggZGlmZmVyZW50IGxldmVsIG9mIHBhdGguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDBjYzc1NjkzYjE0YTFmNjA4NWJiNWYzN2E4NDdmYzFjYmZiMzhlOTguLjRhZDlkMTNl
NDVhNTFiNDk2MzRhYWExNWYyNDExMzdhMThhNGI3N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTgtMDktMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBEcm9wIHN1cHBvcnQgZm9yIGNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5IGhlYWRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDgxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vi
UHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWYuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OmZyYW1lQmVjYW1lUmVtb3RlKToKKwogMjAxOC0wOS0yOCAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dIGVycm9y
IEMyMDI3OiB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ1dURjo6RW51bVRyYWl0czxFPicgd2hpbGUg
Y29tcGlsaW5nIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKaW5kZXggMWQ1YmRmNmQ5MmM4M2ExYjMzOTY5MDE2NDQ0YzdjZjg5MTdmNzgw
ZC4uYjk1M2Q3YjEyZGY4MzFlOWU3YzM3Yjc1MTlmN2I5NWU1YmNkNWJmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTA5LTI4ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBjcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeSBoZWFkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MDA4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVm
ZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxOC0wOS0yNiAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVc2UgZW51bSBjbGFzcyBpbiBjcmVhdGVNYXJr
dXAgYXJndW1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKaW5kZXggNDUwYzQxZTU2YTU2
ZDA5OGQxMzBiODQ0MmUwOWUyNmU1ZDIwYzg4Yy4uNTNjNTU4MDgwMWY1Njc2ZWZmYWZhNDgwNzVk
NjIyYWYyMzViMjQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE4LTA5LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgRHJvcCBzdXBwb3J0IGZvciBjcm9zcy1vcmlnaW4td2luZG93LXBvbGljeSBoZWFkZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDA4MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAg
ICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0dGluZ3MpOgorICAgICAgICAo
V2ViUHJlZmVyZW5jZXM6OmNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQpOgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWQpOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAxOC0wOS0yNyAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gVHVybiBXZWIgQW5p
bWF0aW9ucyB3aXRoIENTUyBpbnRlZ3JhdGlvbiBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01CaW5kaW5nU2VjdXJpdHkuY3BwCmluZGV4IGYyZDk4YmIzNTJkNjFl
ZmU2NWZjZDNlYjYzMDA4ODk5ZjNjN2I1MjMuLjcwZDc0YjJjMjUzYTdmNGQwZGU2NzYyYWVhYjZm
ZWIwZWY2NTRhNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
QmluZGluZ1NlY3VyaXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmdTZWN1cml0eS5jcHAKQEAgLTEwMCwxOSArMTAwLDQgQEAgYm9vbCBCaW5kaW5nU2Vj
dXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9Ob2RlKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgTm9k
ZSogdGFyZ2UKICAgICByZXR1cm4gIXRhcmdldCB8fCBjYW5BY2Nlc3NEb2N1bWVudCgmc3RhdGUs
ICZ0YXJnZXQtPmRvY3VtZW50KCksIExvZ1NlY3VyaXR5RXJyb3IpOwogfQogCi1ib29sIEJpbmRp
bmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNyb3Nz
T3JpZ2luV2luZG93UG9saWN5KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgRE9NV2luZG93JiB0YXJn
ZXQsIENyb3NzT3JpZ2luV2luZG93UG9saWN5IG1pbmltdW1Dcm9zc09yaWdpbldpbmRvd1BvbGlj
eSwgU2VjdXJpdHlSZXBvcnRpbmdPcHRpb24gcmVwb3J0aW5nT3B0aW9uKQotewotICAgIERPTVdp
bmRvdyYgc291cmNlID0gYWN0aXZlRE9NV2luZG93KCpzdGF0ZSk7Ci0gICAgQVNTRVJUKG1pbmlt
dW1Dcm9zc09yaWdpbldpbmRvd1BvbGljeSA+IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpEZW55
KTsKLQotICAgIHN0YXRpY19hc3NlcnQoQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRlbnkgPCBD
cm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZSAmJiBDcm9zc09yaWdpbldp
bmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZSA8IENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpB
bGxvdywgIk1vcmUgcmVzdHJpY3RpdmUgY3Jvc3Mtb3JpZ2luIG9wdGlvbnMgc2hvdWxkIGhhdmUg
bG93ZXIgdmFsdWVzIik7Ci0KLSAgICAvLyBGYXN0IHBhdGguCi0gICAgYXV0byBlZmZlY3RpdmVD
cm9zc09yaWdpbldpbmRvd1BvbGljeSA9IHN0ZDo6bWluKHNvdXJjZS5jcm9zc09yaWdpbldpbmRv
d1BvbGljeSgpLCB0YXJnZXQuY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSk7Ci0gICAgaWYgKGVm
ZmVjdGl2ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5ID49IG1pbmltdW1Dcm9zc09yaWdpbldpbmRv
d1BvbGljeSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICByZXR1cm4gc2hvdWxkQWxsb3dB
Y2Nlc3NUb0RPTVdpbmRvdyhzdGF0ZSwgdGFyZ2V0LCByZXBvcnRpbmdPcHRpb24pOwotfQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nU2VjdXJpdHkuaAppbmRleCAxNzA0NjJlMGI1NDEyZDIyZTIxMTUxMGU5YTAx
ZTQxZGNjZjZkYzc0Li4yZjMzODc2ODAzYTBlOGFjZmMwZGQ4MjZmZWZhZWExYzk5MDhkNGZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmdTZWN1cml0
eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZ1NlY3VyaXR5
LmgKQEAgLTM2LDggKzM2LDYgQEAgY2xhc3MgRE9NV2luZG93OwogY2xhc3MgRnJhbWU7CiBjbGFz
cyBOb2RlOwogCi1lbnVtIGNsYXNzIENyb3NzT3JpZ2luV2luZG93UG9saWN5OwotCiB2b2lkIHBy
aW50RXJyb3JNZXNzYWdlRm9yRnJhbWUoRnJhbWUqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwog
CiBlbnVtIFNlY3VyaXR5UmVwb3J0aW5nT3B0aW9uIHsgRG9Ob3RSZXBvcnRTZWN1cml0eUVycm9y
LCBMb2dTZWN1cml0eUVycm9yLCBUaHJvd1NlY3VyaXR5RXJyb3IgfTsKQEAgLTU1LDkgKzUzLDcg
QEAgYm9vbCBzaG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoSlNDOjpFeGVjU3RhdGUqLCBGcmFtZSos
IFNlY3VyaXR5UmVwb3J0aW5nT3B0aW9uID0KIGJvb2wgc2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1l
KEpTQzo6RXhlY1N0YXRlJiwgRnJhbWUmLCBTdHJpbmcmIG1lc3NhZ2UpOwogYm9vbCBzaG91bGRB
bGxvd0FjY2Vzc1RvTm9kZShKU0M6OkV4ZWNTdGF0ZSYsIE5vZGUqKTsKIAotYm9vbCBzaG91bGRB
bGxvd0FjY2Vzc1RvRE9NV2luZG93R2l2ZW5NaW5pbXVtQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3ko
SlNDOjpFeGVjU3RhdGUqLCBET01XaW5kb3cmLCBDcm9zc09yaWdpbldpbmRvd1BvbGljeSwgU2Vj
dXJpdHlSZXBvcnRpbmdPcHRpb24gPSBMb2dTZWN1cml0eUVycm9yKTsKLQotfTsKK30KIAogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFQqIEJpbmRpbmdTZWN1cml0eTo6Y2hlY2tTZWN1cml0
eUZvck5vZGUoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBUJiBub2RlKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCmluZGV4IDQ5NmQyZTdk
NmYyNDY4ZmViNmQ4MWEyZDg0ZWQyNmQ4MzdhMzZlY2EuLjViZjkyYmE5MmJkMDJhZmVjODI0NzI1
MjJjMjcwNTkxOWY1M2I1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTU4LDEyICs1OCw2IEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCi1zdGF0aWMgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3kgZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JBY2Nlc3MoRXhlY1N0YXRlJiBz
dGF0ZSwgQWJzdHJhY3RET01XaW5kb3cmIHRhcmdldCkKLXsKLSAgICBzdGF0aWNfYXNzZXJ0KENy
b3NzT3JpZ2luV2luZG93UG9saWN5OjpEZW55IDwgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFs
bG93UG9zdE1lc3NhZ2UgJiYgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3Nh
Z2UgPCBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3csICJNb3JlIHJlc3RyaWN0aXZlIGNy
b3NzLW9yaWdpbiBvcHRpb25zIHNob3VsZCBoYXZlIGxvd2VyIHZhbHVlcyIpOwotICAgIHJldHVy
biBzdGQ6Om1pbihhY3RpdmVET01XaW5kb3coc3RhdGUpLmNyb3NzT3JpZ2luV2luZG93UG9saWN5
KCksIHRhcmdldC5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpKTsKLX0KLQogRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25TaG93TW9kYWxEaWFs
b2coRXhlY1N0YXRlKik7CiAKIHZvaWQgSlNET01XaW5kb3c6OnZpc2l0QWRkaXRpb25hbENoaWxk
cmVuKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTAyLDIxICs5Niw2IEBAIGJvb2wganNET01X
aW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVkQWNjZXNzKEpTRE9NR2xvYmFsT2JqZWN0
KiB0aGlzT2JqZWN0CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIHN3aXRjaCAo
ZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JBY2Nlc3Moc3RhdGUsIHdpbmRvdykp
IHsKLSAgICBjYXNlIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlOgot
ICAgICAgICBpZiAocHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5wb3N0TWVzc2FnZVB1Ymxp
Y05hbWUoKSkgewotICAgICAgICAgICAgc2xvdC5zZXRDdXN0b20odGhpc09iamVjdCwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCB3aW5kb3dUeXBlID09IERPTVdpbmRvd1R5cGU6
OlJlbW90ZSA/IG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRlcjxqc1JlbW90ZURPTVdpbmRv
d0luc3RhbmNlRnVuY3Rpb25Qb3N0TWVzc2FnZSwgMD4gOiBub25DYWNoaW5nU3RhdGljRnVuY3Rp
b25HZXR0ZXI8anNET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uUG9zdE1lc3NhZ2UsIDI+KTsKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIEZBTExUSFJPVUdIOwot
ICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRlbnk6Ci0gICAgICAgIHRocm93U2Vj
dXJpdHlFcnJvcihzdGF0ZSwgc2NvcGUsIGVycm9yTWVzc2FnZSk7Ci0gICAgICAgIHNsb3Quc2V0
VW5kZWZpbmVkKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjYXNlIENyb3NzT3JpZ2lu
V2luZG93UG9saWN5OjpBbGxvdzoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgLy8gVGhl
c2UgYXJlIHRoZSBmdW5jdGlvbnMgd2UgYWxsb3cgYWNjZXNzIHRvIGNyb3NzLW9yaWdpbiAoRG9O
b3RDaGVja1NlY3VyaXR5IGluIElETCkuCiAgICAgLy8gQWx3YXlzIHByb3ZpZGUgdGhlIG9yaWdp
bmFsIGZ1bmN0aW9uLCBvbiBhIGZyZXNoIHVuY2FjaGVkIGZ1bmN0aW9uIG9iamVjdC4KICAgICBp
ZiAocHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5ibHVyUHVibGljTmFtZSgpKSB7CkBAIC0y
NTUsMTggKzIzNCw5IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdEJ5SW5k
ZXgoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBzdGF0ZSwKIAogICAgIC8vICgxKSBGaXJz
dCwgaW5kZXhlZCBwcm9wZXJ0aWVzLgogICAgIC8vIFRoZXNlIGFyZSBhbHNvIGFsbG93ZWQgY3Jv
c3Mtb3JpZ2luLCBzbyBjb21lIGJlZm9yZSB0aGUgYWNjZXNzIGNoZWNrLgotICAgIHN3aXRjaCAo
ZWZmZWN0aXZlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lGb3JBY2Nlc3MoKnN0YXRlLCB3aW5kb3cp
KSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueToKLSAgICBjYXNlIENy
b3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlOgotICAgICAgICBpZiAoaXND
cm9zc09yaWdpbkFjY2VzcygpKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIEZBTExUSFJP
VUdIOwotICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93OgotICAgICAgICBp
ZiAoZnJhbWUgJiYgaW5kZXggPCBmcmFtZS0+dHJlZSgpLnNjb3BlZENoaWxkQ291bnQoKSkgewot
ICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLCB0b0pTKHN0YXRlLCBmcmFtZS0+
dHJlZSgpLnNjb3BlZENoaWxkKGluZGV4KS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCkpKTsKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOworICAgIGlm
IChmcmFtZSAmJiBpbmRleCA8IGZyYW1lLT50cmVlKCkuc2NvcGVkQ2hpbGRDb3VudCgpKSB7Cisg
ICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwgdG9KUyhzdGF0ZSwgZnJhbWUtPnRyZWUo
KS5zY29wZWRDaGlsZChpbmRleCktPmRvY3VtZW50KCktPmRvbVdpbmRvdygpKSk7CisgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIC8vIEhhbmQgb2ZmIGFsbCBjcm9zcy1kb21haW4v
ZnJhbWVsZXNzIGFjY2VzcyB0byBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0
ZWRBY2Nlc3MuCkBAIC0zMzksNyArMzA5LDcgQEAgdm9pZCBKU0RPTVdpbmRvdzo6aGVhcFNuYXBz
aG90KEpTQ2VsbCogY2VsbCwgSGVhcFNuYXBzaG90QnVpbGRlciYgYnVpbGRlcikKIH0KIAogLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY3Jvc3NvcmlnaW5wcm9wZXJ0aWVzLSgtby0p
Ci1zdGF0aWMgdm9pZCBhZGRDcm9zc09yaWdpbldpbmRvd1Byb3BlcnR5TmFtZXMoRXhlY1N0YXRl
JiBzdGF0ZSwgQWJzdHJhY3RET01XaW5kb3cmIHdpbmRvdywgUHJvcGVydHlOYW1lQXJyYXkmIHBy
b3BlcnR5TmFtZXMpCitzdGF0aWMgdm9pZCBhZGRDcm9zc09yaWdpbldpbmRvd1Byb3BlcnR5TmFt
ZXMoRXhlY1N0YXRlJiBzdGF0ZSwgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMpCiB7
CiAgICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwogCkBAIC0zNTksMTcgKzMyOSw4IEBAIHN0YXRp
YyB2b2lkIGFkZENyb3NzT3JpZ2luV2luZG93UHJvcGVydHlOYW1lcyhFeGVjU3RhdGUmIHN0YXRl
LCBBYnN0cmFjdERPTVdpbmRvCiAgICAgICAgICZzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS53aW5kb3dQdWJsaWNOYW1lKCkKICAgICB9
OwogCi0gICAgc3dpdGNoIChlZmZlY3RpdmVDcm9zc09yaWdpbldpbmRvd1BvbGljeUZvckFjY2Vz
cyhzdGF0ZSwgd2luZG93KSkgewotICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFs
bG93OgotICAgICAgICBmb3IgKGF1dG8qIHByb3BlcnR5IDogcHJvcGVydGllcykKLSAgICAgICAg
ICAgIHByb3BlcnR5TmFtZXMuYWRkKCpwcm9wZXJ0eSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93UG9zdE1lc3NhZ2U6Ci0gICAgICAgIHBy
b3BlcnR5TmFtZXMuYWRkKHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0
YSktPmJ1aWx0aW5OYW1lcygpLnBvc3RNZXNzYWdlUHVibGljTmFtZSgpKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6RGVueToKLSAgICAgICAgYnJl
YWs7Ci0gICAgfQorICAgIGZvciAoYXV0byogcHJvcGVydHkgOiBwcm9wZXJ0aWVzKQorICAgICAg
ICBwcm9wZXJ0eU5hbWVzLmFkZCgqcHJvcGVydHkpOwogfQogCiBzdGF0aWMgdm9pZCBhZGRTY29w
ZWRDaGlsZHJlbkluZGV4ZXMoRXhlY1N0YXRlJiBzdGF0ZSwgRE9NV2luZG93JiB3aW5kb3csIFBy
b3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzKQpAQCAtMzgyLDIzICszNDMsMTUgQEAgc3Rh
dGljIHZvaWQgYWRkU2NvcGVkQ2hpbGRyZW5JbmRleGVzKEV4ZWNTdGF0ZSYgc3RhdGUsIERPTVdp
bmRvdyYgd2luZG93LCBQcm9wZXIKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAK
LSAgICBzd2l0Y2ggKGVmZmVjdGl2ZUNyb3NzT3JpZ2luV2luZG93UG9saWN5Rm9yQWNjZXNzKHN0
YXRlLCB3aW5kb3cpKSB7Ci0gICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c6
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRlbnk6
Ci0gICAgY2FzZSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3dQb3N0TWVzc2FnZToKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIHVuc2lnbmVkIHNjb3BlZENoaWxkQ291bnQgPSBm
cmFtZS0+dHJlZSgpLnNjb3BlZENoaWxkQ291bnQoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgc2NvcGVkQ2hpbGRDb3VudDsgKytpKQogICAgICAgICBwcm9wZXJ0eU5hbWVzLmFkZChJ
ZGVudGlmaWVyOjpmcm9tKCZzdGF0ZSwgaSkpOwogfQogCiAvLyBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnLyNjcm9zc29yaWdpbm93bnByb3BlcnR5a2V5cy0oLW8tKQotdm9pZCBhZGRDcm9z
c09yaWdpbldpbmRvd093blByb3BlcnR5TmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgQWJzdHJhY3RE
T01XaW5kb3cmIHdpbmRvdywgUHJvcGVydHlOYW1lQXJyYXkmIHByb3BlcnR5TmFtZXMpCit2b2lk
IGFkZENyb3NzT3JpZ2luV2luZG93T3duUHJvcGVydHlOYW1lcyhFeGVjU3RhdGUmIHN0YXRlLCBQ
cm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcykKIHsKLSAgICBhZGRDcm9zc09yaWdpbldp
bmRvd1Byb3BlcnR5TmFtZXMoc3RhdGUsIHdpbmRvdywgcHJvcGVydHlOYW1lcyk7CisgICAgYWRk
Q3Jvc3NPcmlnaW5XaW5kb3dQcm9wZXJ0eU5hbWVzKHN0YXRlLCBwcm9wZXJ0eU5hbWVzKTsKIAog
ICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKICAgICBwcm9wZXJ0eU5hbWVzLmFkZCh2bS5wcm9w
ZXJ0eU5hbWVzLT50b1N0cmluZ1RhZ1N5bWJvbCk7CkBAIC00MTUsNyArMzY4LDcgQEAgdm9pZCBK
U0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3Rh
dGUqIGV4ZWMsIFByb3BlcnQKIAogICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxv
d0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgRG9Ob3RSZXBv
cnRTZWN1cml0eUVycm9yKSkgewogICAgICAgICBpZiAobW9kZS5pbmNsdWRlRG9udEVudW1Qcm9w
ZXJ0aWVzKCkpCi0gICAgICAgICAgICBhZGRDcm9zc09yaWdpbldpbmRvd093blByb3BlcnR5TmFt
ZXMoKmV4ZWMsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgcHJvcGVydHlOYW1lcyk7CisgICAgICAg
ICAgICBhZGRDcm9zc09yaWdpbldpbmRvd093blByb3BlcnR5TmFtZXMoKmV4ZWMsIHByb3BlcnR5
TmFtZXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIEJhc2U6OmdldE93blByb3BlcnR5
TmFtZXModGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lcywgbW9kZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uaAppbmRleCA5ZmU5NzQyMjE5
NDgwZjcwNWExMzM3M2Q2MmNlYTU2NzJjZjY0ODE4Li41MjI4YzBlOWVmYjA1YTVkNTQ0OTgyZmU2
ZmM3NDhlZGIwM2MyZjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93Q3VzdG9tLmgKQEAgLTQwLDYgKzQwLDYgQEAgZW51bSBjbGFzcyBET01XaW5kb3dUeXBl
IHsgTG9jYWwsIFJlbW90ZSB9OwogdGVtcGxhdGUgPERPTVdpbmRvd1R5cGUgd2luZG93VHlwZT4K
IGJvb2wganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVkQWNjZXNzKEpTRE9N
R2xvYmFsT2JqZWN0KiwgQWJzdHJhY3RET01XaW5kb3cmLCBKU0M6OkV4ZWNTdGF0ZSYsIEpTQzo6
UHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYsIGNvbnN0IFN0cmluZyYpOwogCi12b2lk
IGFkZENyb3NzT3JpZ2luV2luZG93T3duUHJvcGVydHlOYW1lcyhKU0M6OkV4ZWNTdGF0ZSYsIEFi
c3RyYWN0RE9NV2luZG93JiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYpOwordm9pZCBhZGRDcm9z
c09yaWdpbldpbmRvd093blByb3BlcnR5TmFtZXMoSlNDOjpFeGVjU3RhdGUmLCBKU0M6OlByb3Bl
cnR5TmFtZUFycmF5Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUmVtb3RlRE9NV2luZG93Q3VzdG9tLmNwcAppbmRl
eCAwMTA5ODFhNDI3ZGEzZjgzZTg5NzNmZTg5YzYxMWUzODhiZDM5YmYxLi4wZGFkOTAzZGJiMzdj
MzZiMTIxYzQ0YjNiOTE0Nzg1MGNmZDRkODQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1JlbW90ZURPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNSZW1vdGVET01XaW5kb3dDdXN0b20uY3BwCkBAIC05NywxNCArOTcs
MTIgQEAgYm9vbCBKU1JlbW90ZURPTVdpbmRvdzo6ZGVsZXRlUHJvcGVydHlCeUluZGV4KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSogc3RhdGUsIHVuc2lnbmUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZv
aWQgSlNSZW1vdGVET01XaW5kb3c6OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqIG9iamVj
dCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51
bWVyYXRpb25Nb2RlIG1vZGUpCit2b2lkIEpTUmVtb3RlRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0
eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJv
cGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCiB7Ci0gICAgYXV0byogdGhpc09iamVj
dCA9IGpzQ2FzdDxKU1JlbW90ZURPTVdpbmRvdyo+KG9iamVjdCk7Ci0KICAgICAvLyBGSVhNRTog
QWRkIHNjb3BlZCBjaGlsZHJlbiBpbmRleGVzLgogCiAgICAgaWYgKG1vZGUuaW5jbHVkZURvbnRF
bnVtUHJvcGVydGllcygpKQotICAgICAgICBhZGRDcm9zc09yaWdpbldpbmRvd093blByb3BlcnR5
TmFtZXMoKmV4ZWMsIHRoaXNPYmplY3QtPndyYXBwZWQoKSwgcHJvcGVydHlOYW1lcyk7CisgICAg
ICAgIGFkZENyb3NzT3JpZ2luV2luZG93T3duUHJvcGVydHlOYW1lcygqZXhlYywgcHJvcGVydHlO
YW1lcyk7CiB9CiAKIGJvb2wgSlNSZW1vdGVET01XaW5kb3c6OmRlZmluZU93blByb3BlcnR5KEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTQzo6UHJvcGVydHlOYW1lLCBj
b25zdCBKU0M6OlByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDdiMjA1ZjJkMjky
NmZjMGY2ZTRjN2Y1NDE1MzFjMTI1YWZjZjViMDkuLmMwZjA4MjcwODBlMDYyZmJiYjUzOTRmZGE0
YTYzYjZlYzJhNDBiNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC00NzYwLDEzICs0NzYwLDcgQEAgc3ViIEdlbmVyYXRl
QXR0cmlidXRlR2V0dGVyQm9keURlZmluaXRpb24KICAgICAgICAgISRhdHRyaWJ1dGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyfSkgewogICAgICAgICBB
ZGRUb0ltcGxJbmNsdWRlcygiSlNET01CaW5kaW5nU2VjdXJpdHkuaCIsICRjb25kaXRpb25hbCk7
CiAgICAgICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1lIGVxICJET01XaW5kb3ciKSB7Ci0g
ICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVj
a1NlY3VyaXR5SWZ9KSB7Ci0gICAgICAgICAgICAgICAgbXkgJGNyb3NzT3JpZ2luV2luZG93UG9s
aWN5ID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRlbmRlZEF0dHJpYnV0ZVZhbHVlKCRh
dHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1cml0eUlmfSk7Ci0g
ICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUVFBQYXJzZXJzLmgiLCAkY29uZGl0
aW9uYWwpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJp
bmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNy
b3NzT3JpZ2luV2luZG93UG9saWN5KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksICRjcm9z
c09yaWdpbldpbmRvd1BvbGljeSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYg
KCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coJnN0YXRlLCB0
aGlzT2JqZWN0LndyYXBwZWQoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIGlmICghQmluZGluZ1Nl
Y3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCZzdGF0ZSwgdGhpc09iamVjdC53
cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsKICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6
c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCkuZnJh
bWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAgICAgICB9CkBAIC00ODc0LDE1ICs0
ODY4LDYgQEAgc3ViIEdlbmVyYXRlQXR0cmlidXRlR2V0dGVyRGVmaW5pdGlvbgogICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiNlbmRpZlxuXG4iKSBpZiAkY29uZGl0aW9uYWw7CiB9CiAKLXN1YiBH
ZXRDcm9zc09yaWdpbnNPcHRpb25zRnJvbUV4dGVuZGVkQXR0cmlidXRlVmFsdWUKLXsKLSAgICBt
eSAkZXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSA9IHNoaWZ0OwotCi0gICAgcmV0dXJuICJDcm9zc09y
aWdpbldpbmRvd1BvbGljeTo6QWxsb3ciIGlmICRleHRlbmRlZEF0dHJpYnV0ZVZhbHVlIGVxICJD
cm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93IjsKLSAgICByZXR1cm4gIkNyb3NzT3JpZ2luV2lu
ZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlIiBpZiAkZXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSBl
cSAiQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd1Bvc3RNZXNzYWdlIjsKLSAgICBkaWUgIlVu
c3VwcG9ydGVkIENyb3NzT3JpZ2luV2luZG93UG9saWN5OiAiICsgJGV4dGVuZGVkQXR0cmlidXRl
VmFsdWU7Ci19Ci0KIHN1YiBHZW5lcmF0ZUF0dHJpYnV0ZVNldHRlckJvZHlEZWZpbml0aW9uCiB7
CiAgICAgbXkgKCRvdXRwdXRBcnJheSwgJGludGVyZmFjZSwgJGNsYXNzTmFtZSwgJGF0dHJpYnV0
ZSwgJGF0dHJpYnV0ZVNldHRlckJvZHlOYW1lLCAkY29uZGl0aW9uYWwpID0gQF87CkBAIC00OTAy
LDEzICs0ODg3LDcgQEAgc3ViIEdlbmVyYXRlQXR0cmlidXRlU2V0dGVyQm9keURlZmluaXRpb24K
ICAgICBpZiAoJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q2hlY2tTZWN1cml0eX0g
JiYgISRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1cml0eX0g
JiYgISRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90Q2hlY2tTZWN1cml0eU9u
U2V0dGVyfSkgewogICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSlNET01CaW5kaW5nU2VjdXJp
dHkuaCIsICRjb25kaXRpb25hbCk7CiAgICAgICAgIGlmICgkaW50ZXJmYWNlLT50eXBlLT5uYW1l
IGVxICJET01XaW5kb3ciKSB7Ci0gICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5SWZ9KSB7Ci0gICAgICAgICAgICAgICAgbXkg
JGNyb3NzT3JpZ2luV2luZG93UG9saWN5ID0gR2V0Q3Jvc3NPcmlnaW5zT3B0aW9uc0Zyb21FeHRl
bmRlZEF0dHJpYnV0ZVZhbHVlKCRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90
Q2hlY2tTZWN1cml0eUlmfSk7Ci0gICAgICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhU
VFBQYXJzZXJzLmgiLCAkY29uZGl0aW9uYWwpOwotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RP
TVdpbmRvd0dpdmVuTWluaW11bUNyb3NzT3JpZ2luV2luZG93UG9saWN5KCZzdGF0ZSwgdGhpc09i
amVjdC53cmFwcGVkKCksICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSwgVGhyb3dTZWN1cml0eUVy
cm9yKSlcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAk
b3V0cHV0QXJyYXksICIgICAgaWYgKCFCaW5kaW5nU2VjdXJpdHk6OnNob3VsZEFsbG93QWNjZXNz
VG9ET01XaW5kb3coJnN0YXRlLCB0aGlzT2JqZWN0LndyYXBwZWQoKSwgVGhyb3dTZWN1cml0eUVy
cm9yKSlcbiIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93
KCZzdGF0ZSwgdGhpc09iamVjdC53cmFwcGVkKCksIFRocm93U2VjdXJpdHlFcnJvcikpXG4iKTsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBp
ZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKCZzdGF0ZSwgdGhp
c09iamVjdC53cmFwcGVkKCkuZnJhbWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwogICAg
ICAgICB9CkBAIC01MTI2LDEzICs1MTA1LDcgQEAgc3ViIEdlbmVyYXRlT3BlcmF0aW9uQm9keURl
ZmluaXRpb24KICAgICAgICAgICAgIAogICAgICAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpT
RE9NQmluZGluZ1NlY3VyaXR5LmgiLCAkY29uZGl0aW9uYWwpOwogICAgICAgICAgICAgaWYgKCRp
bnRlcmZhY2UtPnR5cGUtPm5hbWUgZXEgIkRPTVdpbmRvdyIpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5SWZ9
KSB7Ci0gICAgICAgICAgICAgICAgICAgIG15ICRjcm9zc09yaWdpbldpbmRvd1BvbGljeSA9IEdl
dENyb3NzT3JpZ2luc09wdGlvbnNGcm9tRXh0ZW5kZWRBdHRyaWJ1dGVWYWx1ZSgkb3BlcmF0aW9u
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPntEb05vdENoZWNrU2VjdXJpdHlJZn0pOwotICAgICAgICAg
ICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygiSFRUUFBhcnNlcnMuaCIsICRjb25kaXRpb25h
bCk7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJp
bmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvd0dpdmVuTWluaW11bUNy
b3NzT3JpZ2luV2luZG93UG9saWN5KHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCksICRjcm9z
c09yaWdpbldpbmRvd1BvbGljeSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwotICAgICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhz
dGF0ZSwgY2FzdGVkVGhpcy0+d3JhcHBlZCgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7Ci0g
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6c2hvdWxkQWxsb3dBY2Nlc3NUb0RPTVdpbmRvdyhzdGF0
ZSwgY2FzdGVkVGhpcy0+d3JhcHBlZCgpLCBUaHJvd1NlY3VyaXR5RXJyb3IpKVxuIik7CiAgICAg
ICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpO1xuIik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIUJpbmRpbmdTZWN1cml0eTo6
c2hvdWxkQWxsb3dBY2Nlc3NUb0ZyYW1lKHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCkuZnJh
bWUoKSwgVGhyb3dTZWN1cml0eUVycm9yKSlcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgppbmRleCA3M2ZlN2EyNWY5Y2QxOWRj
YWM3ZTM1NzQzZmU2ZmY1ZmZmYWUyMWM4Li5iYmY2NzlhZjkxNDgwMGRkMmM0ZTdlMmMwMjFjMjA5
OWFhNDlhODg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMuanNvbgpAQCAtMTY0LDEwICsxNjQsNiBAQAogICAgICAgICAiRG9Ob3RDaGVj
a1NlY3VyaXR5IjogewogICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiYXR0cmlidXRl
IiwgIm9wZXJhdGlvbiJdCiAgICAgICAgIH0sCi0gICAgICAgICJEb05vdENoZWNrU2VjdXJpdHlJ
ZiI6IHsKLSAgICAgICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImF0dHJpYnV0ZSIsICJvcGVy
YXRpb24iXSwKLSAgICAgICAgICAgICJ2YWx1ZXMiOiBbIkNyb3NzT3JpZ2luV2luZG93UG9saWN5
QWxsb3ciLCAiQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd1Bvc3RNZXNzYWdlIl0KLSAgICAg
ICAgfSwKICAgICAgICAgIkRvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyIjogewogICAgICAgICAg
ICAgImNvbnRleHRzQWxsb3dlZCI6IFsiYXR0cmlidXRlIl0KICAgICAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCmluZGV4IDdlOTMwNTMxZDEwYTBmYmRjMmJjZWJiZjBhNGNlNTcyZDk2NTE3
ODUuLjQ2ZGMyYjQ4ZDVkM2U5ZDQ5YjM2Yzg3N2MyZGUyMzVhM2I0YWEyNWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtMzI2MywxNyArMzI2Myw2IEBAIGJvb2wgRG9jdW1lbnQ6OmNhbk5h
dmlnYXRlKEZyYW1lKiB0YXJnZXRGcmFtZSkKICAgICBpZiAoIXRhcmdldEZyYW1lKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChtX2ZyYW1lICE9IHRhcmdldEZyYW1lKSB7Ci0gICAg
ICAgIGF1dG8gc291cmNlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3kgPSBtX2ZyYW1lLT53aW5kb3co
KSA/IG1fZnJhbWUtPndpbmRvdygpLT5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpIDogQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3k6OkFsbG93OwotICAgICAgICBhdXRvIGRlc3RpbmF0aW9uQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3kgPSB0YXJnZXRGcmFtZS0+d2luZG93KCkgPyB0YXJnZXRGcmFtZS0+
d2luZG93KCktPmNyb3NzT3JpZ2luV2luZG93UG9saWN5KCkgOiBDcm9zc09yaWdpbldpbmRvd1Bv
bGljeTo6QWxsb3c7Ci0gICAgICAgIGlmIChzb3VyY2VDcm9zc09yaWdpbldpbmRvd1BvbGljeSAh
PSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3cgfHwgZGVzdGluYXRpb25Dcm9zc09yaWdp
bldpbmRvd1BvbGljeSAhPSBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3cpIHsKLSAgICAg
ICAgICAgIGlmIChtX2ZyYW1lLT5kb2N1bWVudCgpICYmIHRhcmdldEZyYW1lLT5kb2N1bWVudCgp
ICYmICFtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLmNhbkFjY2Vzcyh0YXJn
ZXRGcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKLSAgICAgICAgICAgICAg
ICBwcmludE5hdmlnYXRpb25FcnJvck1lc3NhZ2UodGFyZ2V0RnJhbWUsIHVybCgpLCAiTmF2aWdh
dGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhl
YWRlci4iX3MpOwotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgIH0KLQogICAgIC8vIENhc2VzIChpKSwgKGlpKSBhbmQgKGlpaSkgcGFz
cyB0aGUgdGVzdHMgZnJvbSB0aGUgc3BlY2lmaWNhdGlvbnMgYnV0IG1pZ2h0IG5vdCBwYXNzIHRo
ZSAic2VjdXJpdHkgb3JpZ2luIiB0ZXN0cy4KIAogICAgIC8vIGkuIEEgZnJhbWUgY2FuIG5hdmln
YXRlIGl0cyB0b3AgYW5jZXN0b3Igd2hlbiBpdHMgJ2FsbG93LXRvcC1uYXZpZ2F0aW9uJyBmbGFn
IGlzIHNldCAoc29tZXRpbWVzIGtub3duIGFzICdmcmFtZS1idXN0aW5nJykuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBhOTFmNmJkZTQyY2JkYjU5N2JlNGE1YWQ3MDhj
NWVjMzRjN2Y5MmFmLi5iZGJhZTY1YzgwNDY5ODU2M2JhMWNiY2UxNWUxZmM1OGYyZTMyY2Q4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTc1MywxNCArNzUzLDYgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6ZGlkQmVnaW5Eb2N1bWVudChib29sIGRpc3BhdGNoKQogICAgICAg
ICAgICAgaWYgKCFoZWFkZXJDb250ZW50TGFuZ3VhZ2UuaXNFbXB0eSgpKQogICAgICAgICAgICAg
ICAgIG1fZnJhbWUuZG9jdW1lbnQoKS0+c2V0Q29udGVudExhbmd1YWdlKGhlYWRlckNvbnRlbnRM
YW5ndWFnZSk7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAobV9mcmFtZS5zZXR0aW5ncygpLmNy
b3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoKSkgewotICAgICAgICAgICAgU3Ry
aW5nIGNyb3NzT3JpZ2luV2luZG93UG9saWN5SGVhZGVyID0gbV9kb2N1bWVudExvYWRlci0+cmVz
cG9uc2UoKS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6OkNyb3NzT3JpZ2luV2luZG93
UG9saWN5KTsKLSAgICAgICAgICAgIGlmICghY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lIZWFkZXIu
aXNOdWxsKCkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQobV9mcmFtZS53aW5kb3coKSk7Ci0g
ICAgICAgICAgICAgICAgbV9mcmFtZS53aW5kb3coKS0+c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3kocGFyc2VDcm9zc09yaWdpbldpbmRvd1BvbGljeUhlYWRlcihjcm9zc09yaWdpbldpbmRvd1Bv
bGljeUhlYWRlcikpOwotICAgICAgICAgICAgfQotICAgICAgICB9CiAgICAgfQogCiAgICAgaGlz
dG9yeSgpLnJlc3RvcmVEb2N1bWVudFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJh
Y3RET01XaW5kb3cuY3BwCmluZGV4IDZhYmUwMzE1Nzk1MWYxZjZiNjIyZGMzZjI0NGEyM2YxZjY2
ZjM3YzAuLmUzZDQyZGZhZjA0YjdhMTM4NWYxMDExOTZlNmUwMjhmMjY2YjM3MDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01XaW5kb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RET01XaW5kb3cuY3BwCkBAIC00MCw3ICs0MCw2IEBAIEhh
c2hNYXA8R2xvYmFsV2luZG93SWRlbnRpZmllciwgQWJzdHJhY3RET01XaW5kb3cqPiYgQWJzdHJh
Y3RET01XaW5kb3c6OmFsbFdpbmRvCiAKIEFic3RyYWN0RE9NV2luZG93OjpBYnN0cmFjdERPTVdp
bmRvdyhHbG9iYWxXaW5kb3dJZGVudGlmaWVyJiYgaWRlbnRpZmllcikKICAgICA6IG1faWRlbnRp
ZmllcihXVEZNb3ZlKGlkZW50aWZpZXIpKQotICAgICwgbV9jcm9zc09yaWdpbldpbmRvd1BvbGlj
eShDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3cpCiB7CiAgICAgQVNTRVJUKCFhbGxXaW5k
b3dzKCkuY29udGFpbnMoaWRlbnRpZmllcikpOwogICAgIGFsbFdpbmRvd3MoKS5hZGQoaWRlbnRp
ZmllciwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9N
V2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Fic3RyYWN0RE9NV2luZG93LmgKaW5kZXgg
NDk5MTdjODNhZTYyMGQ5MjNiYTc2OGVkMzlmOTgyYjhhNWIxMjE1Mi4uNWE1ZGViZDUzMmFkOWEy
MmU4ODRiYjY2YmM5ZGZhYjI4ZGRiYmNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9BYnN0cmFjdERPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQWJzdHJhY3RE
T01XaW5kb3cuaApAQCAtMzUsOCArMzUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEFic3RyYWN0RnJhbWU7CiAKLWVudW0gY2xhc3MgQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k7Ci0K
IC8vIEZJWE1FOiBSZW5hbWUgRE9NV2luZG93IHRvIExvY2FsV2luZG93IGFuZCBBYnN0cmFjdERP
TVdpbmRvdyB0byBET01XaW5kb3cuCiBjbGFzcyBBYnN0cmFjdERPTVdpbmRvdyA6IHB1YmxpYyBS
ZWZDb3VudGVkPEFic3RyYWN0RE9NV2luZG93PiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGlu
ZURhdGEgewogcHVibGljOgpAQCAtNTQsOSArNTIsNiBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVm
Q291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCi0gICAgQ3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3kgY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3koKSBjb25zdCB7IHJldHVy
biBtX2Nyb3NzT3JpZ2luV2luZG93UG9saWN5OyB9Ci0gICAgdm9pZCBzZXRDcm9zc09yaWdpbldp
bmRvd1BvbGljeShDcm9zc09yaWdpbldpbmRvd1BvbGljeSB2YWx1ZSkgeyBtX2Nyb3NzT3JpZ2lu
V2luZG93UG9saWN5ID0gdmFsdWU7IH0KLQogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IEFic3Ry
YWN0RE9NV2luZG93KEdsb2JhbFdpbmRvd0lkZW50aWZpZXImJik7CiAKQEAgLTY2LDcgKzYxLDYg
QEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIEdsb2JhbFdpbmRvd0lkZW50aWZpZXIgbV9p
ZGVudGlmaWVyOwotICAgIENyb3NzT3JpZ2luV2luZG93UG9saWN5IG1fY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3k7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggMmI0MTUwZjYzODdkMDU3YzEwN2VlZGVmZjU2MTQ5ZDFhYzczMGZlMC4u
YTU1OTJhOTQ3OWYwZmJhNmQxYTFjY2M1MWQ3NGZkOWQ2OWIzZjQzZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtNTAsMTEgKzUwLDExIEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09N
U3RyaW5nOwogICAgIFByaW1hcnlHbG9iYWwsCiBdIGludGVyZmFjZSBET01XaW5kb3cgOiBFdmVu
dFRhcmdldCB7CiAgICAgLy8gVGhlIGN1cnJlbnQgYnJvd3NpbmcgY29udGV4dC4KLSAgICBbRG9O
b3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvdywgVW5mb3JnZWFi
bGUsIEltcGxlbWVudGVkQXM9c2VsZl0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHdp
bmRvdzsKLSAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2lu
V2luZG93UG9saWN5QWxsb3ddIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSBzZWxmOwor
ICAgIFtEb05vdENoZWNrU2VjdXJpdHksIFVuZm9yZ2VhYmxlLCBJbXBsZW1lbnRlZEFzPXNlbGZd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSB3aW5kb3c7CisgICAgW1JlcGxhY2VhYmxl
LCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1By
b3h5IHNlbGY7CiAgICAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQg
ZG9jdW1lbnQ7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICAgIFtEb05vdENoZWNr
U2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBQdXRGb3J3YXJkcz1ocmVm
LCBVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uPyBsb2NhdGlvbjsgLy8g
RklYTUU6IFNob3VsZCBub3QgYmUgbnVsbGFibGUuCisgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwg
UHV0Rm9yd2FyZHM9aHJlZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2NhdGlv
bj8gbG9jYXRpb247IC8vIEZJWE1FOiBTaG91bGQgbm90IGJlIG51bGxhYmxlLgogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBIaXN0b3J5IGhpc3Rvcnk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9Q3Vz
dG9tRWxlbWVudHMsIEltcGxlbWVudGVkQXM9ZW5zdXJlQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5XSBy
ZWFkb25seSBhdHRyaWJ1dGUgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5IGN1c3RvbUVsZW1lbnRzOwog
ICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgbG9jYXRpb25iYXI7
CkBAIC02NCwxOCArNjQsMTggQEAgdHlwZWRlZiBVU1ZTdHJpbmcgQ1NTT01TdHJpbmc7CiAgICAg
W1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBzdGF0dXNiYXI7CiAgICAg
W1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCB0b29sYmFyOwogICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgc3RhdHVzOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9z
c09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVudCwgRm9y
d2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBjbG9zZSgpOwotICAgIFtEb05vdENoZWNrU2VjdXJp
dHlJZj1Dcm9zc09yaWdpbldpbmRvd1BvbGljeUFsbG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVy
XSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjbG9zZWQ7CisgICAgW0RvTm90Q2hlY2tTZWN1
cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJd
IHZvaWQgY2xvc2UoKTsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUlu
SGVhZGVyXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjbG9zZWQ7CiAgICAgdm9pZCBzdG9w
KCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxs
b3csIENhbGxXaXRoPUluY3VtYmVudFdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9p
ZCBmb2N1cygpOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRvd1Bv
bGljeUFsbG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB2b2lkIGJsdXIoKTsKKyAgICBbRG9O
b3RDaGVja1NlY3VyaXR5LCBDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3csIEZvcndhcmREZWNsYXJl
SW5IZWFkZXJdIHZvaWQgZm9jdXMoKTsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJk
RGVjbGFyZUluSGVhZGVyXSB2b2lkIGJsdXIoKTsKIAogICAgIC8vIE90aGVyIGJyb3dzaW5nIGNv
bnRleHRzLgotICAgIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3VyaXR5SWY9Q3Jvc3NPcmln
aW5XaW5kb3dQb2xpY3lBbGxvdywgSW1wbGVtZW50ZWRBcz1zZWxmXSByZWFkb25seSBhdHRyaWJ1
dGUgV2luZG93UHJveHkgZnJhbWVzOwotICAgIFtSZXBsYWNlYWJsZSwgRG9Ob3RDaGVja1NlY3Vy
aXR5SWY9Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lBbGxvd10gcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOwotICAgIFtEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdp
bldpbmRvd1BvbGljeUFsbG93LCBVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRv
d1Byb3h5PyB0b3A7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93
UG9saWN5QWxsb3csIEN1c3RvbVNldHRlcl0gYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBvcGVuZXI7
Ci0gICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlJZj1Dcm9zc09yaWdpbldpbmRv
d1BvbGljeUFsbG93XSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHBhcmVudDsKKyAg
ICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVyLCBJbXBsZW1lbnRlZEFz
PXNlbGZdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSBmcmFtZXM7CisgICAgW1JlcGxh
Y2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIFtEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlciwgVW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOworICAgIFtEb05v
dENoZWNrU2VjdXJpdHlPbkdldHRlciwgQ3VzdG9tU2V0dGVyXSBhdHRyaWJ1dGUgV2luZG93UHJv
eHk/IG9wZW5lcjsKKyAgICBbUmVwbGFjZWFibGUsIERvTm90Q2hlY2tTZWN1cml0eU9uR2V0dGVy
XSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHBhcmVudDsKICAgICBbQ2hlY2tTZWN1
cml0eUZvck5vZGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBmcmFtZUVsZW1lbnQ7CiAg
ICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvdywgTWF5VGhyb3dFeGNlcHRpb25d
IFdpbmRvd1Byb3h5PyBvcGVuKG9wdGlvbmFsIFVTVlN0cmluZyB1cmwgPSAiYWJvdXQ6Ymxhbmsi
LCBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0ID0gIl9ibGFuayIsIG9wdGlvbmFsIFtUcmVhdE51
bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZlYXR1cmVzID0gIiIpOwogCkBAIC05Myw3ICs5
Myw3IEBAIHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIGxvbmcgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrKTsgLy8g
RklYTUU6IFNob3VsZCByZXR1cm4gYW4gdW5zaWduZWQgbG9uZy4KICAgICB2b2lkIGNhbmNlbEFu
aW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsgLy8gRklYTUU6IGhhbmRsZSBzaG91bGQgYmUgYW4g
dW5zaWduZWQgbG9uZy4KIAotICAgIFtDYWxsV2l0aD1TY3JpcHRTdGF0ZSZJbmN1bWJlbnRXaW5k
b3csIERvTm90Q2hlY2tTZWN1cml0eUlmPUNyb3NzT3JpZ2luV2luZG93UG9saWN5QWxsb3dQb3N0
TWVzc2FnZSwgRm9yd2FyZERlY2xhcmVJbkhlYWRlciwgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQg
cG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIFVTVlN0cmluZyB0YXJnZXRPcmlnaW4sIG9wdGlvbmFs
IHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7CisgICAgW0NhbGxXaXRoPVNjcmlwdFN0
YXRlJkluY3VtYmVudFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUlu
SGVhZGVyLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwg
VVNWU3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2Zl
ciA9IFtdKTsKIAogICAgIC8vIE9ic29sZXRlIG1lbWJlcnMsIHN0aWxsIHBhcnQgb2YgdGhlIEhU
TUwgc3BlY2lmaWNhdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jV2luZG93LXBh
cnRpYWwpLgogICAgIHZvaWQgY2FwdHVyZUV2ZW50cygpOyAvLyBOb3QgaW1wbGVtZW50ZWQuIEFs
c28gbm90IGluIG1vZGVybiBzdGFuZGFyZHMuIEVtcHR5IGZ1bmN0aW9uIG1heSBoZWxwIGNvbXBh
dGliaWxpdHkgd2l0aCBsZWdhY3kgY29udGVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApp
bmRleCBjZTI1ZTg5Njc1MzI5Y2JiMzQxZWIyYWNlMzYzY2JjZDQ1NmQ2OWNmLi42MTVhNzExMmM0
N2U4NjgwZjkxNGRmMDY1NGM0MzAxZTBhODIzYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55
YW1sCkBAIC03NTEsOSArNzUxLDYgQEAgY2xpZW50Q29vcmRpbmF0ZXNSZWxhdGl2ZVRvTGF5b3V0
Vmlld3BvcnQ6CiAgIGluaXRpYWw6IGZhbHNlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0
eWxlSW5BbGxGcmFtZXMKIAotY3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZDoK
LSAgaW5pdGlhbDogZmFsc2UKLQogYWNjZXNzaWJpbGl0eUV2ZW50c0VuYWJsZWQ6CiAgIGluaXRp
YWw6IHRydWUKICAgY29uZGl0aW9uYWw6IEFDQ0VTU0lCSUxJVFlfRVZFTlRTCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwCmluZGV4IGY3OWVhODg4
MGU0MWY1ZmZlYTJjYzUxNDQ2NzQzMzc5N2VlZmVjMDIuLmQ4MTEzZDU1MTdmZmVlODczYmNjNzJk
MmEyZWZmYmFmMDQ5MGViZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvSFRUUFBhcnNlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvSFRUUFBhcnNlcnMuY3BwCkBAIC05MTIsMTkgKzkxMiw0IEBAIENyb3NzT3JpZ2luUmVzb3Vy
Y2VQb2xpY3kgcGFyc2VDcm9zc09yaWdpblJlc291cmNlUG9saWN5SGVhZGVyKFN0cmluZ1ZpZXcg
aGVhZGVyCiAgICAgcmV0dXJuIENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3k6OkludmFsaWQ7CiB9
CiAKLUNyb3NzT3JpZ2luV2luZG93UG9saWN5IHBhcnNlQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lI
ZWFkZXIoU3RyaW5nVmlldyBoZWFkZXIpCi17Ci0gICAgaGVhZGVyID0gc3RyaXBMZWFkaW5nQW5k
VHJhaWxpbmdIVFRQU3BhY2VzKGhlYWRlcik7Ci0gICAgaWYgKGhlYWRlci5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybiBDcm9zc09yaWdpbldpbmRvd1BvbGljeTo6QWxsb3c7Ci0KLSAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaGVhZGVyLCAiZGVueSIpKQotICAgICAgICBy
ZXR1cm4gQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3k6OkRlbnk7Ci0KLSAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoaGVhZGVyLCAiYWxsb3ctcG9zdG1lc3NhZ2UiKSkKLSAgICAg
ICAgcmV0dXJuIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvd1Bvc3RNZXNzYWdlOwotCi0g
ICAgcmV0dXJuIENyb3NzT3JpZ2luV2luZG93UG9saWN5OjpBbGxvdzsKLX0KLQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oCmluZGV4IDVkNTU1NTFi
MTc0YjM5ZDBiOWQxYTQ5Yzg0NzQxMGUzMjljY2Y4ZTYuLmE2NTkyZjJhN2JjOTQyZGY4NjAwYWI0
YjViMDZlNDJiODE2NTlmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvSFRUUFBhcnNlcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0hUVFBQYXJzZXJzLmgKQEAgLTcxLDEzICs3MSw2IEBAIGVudW0gY2xhc3MgQ3Jvc3NPcmlnaW5S
ZXNvdXJjZVBvbGljeSB7CiAgICAgSW52YWxpZAogfTsKIAotLy8gU2hvdWxkIGJlIHNvcnRlZCBm
cm9tIG1vc3QgcmVzdHJpY3RpdmUgdG8gbW9zdCBwZXJtaXNzaXZlLgotZW51bSBjbGFzcyBDcm9z
c09yaWdpbldpbmRvd1BvbGljeSB7Ci0gICAgRGVueSwKLSAgICBBbGxvd1Bvc3RNZXNzYWdlLAot
ICAgIEFsbG93LAotfTsKLQogYm9vbCBpc1ZhbGlkUmVhc29uUGhyYXNlKGNvbnN0IFN0cmluZyYp
OwogYm9vbCBpc1ZhbGlkSFRUUEhlYWRlclZhbHVlKGNvbnN0IFN0cmluZyYpOwogYm9vbCBpc1Zh
bGlkQWNjZXB0SGVhZGVyVmFsdWUoY29uc3QgU3RyaW5nJik7CkBAIC0xMTgsNyArMTExLDYgQEAg
Ym9vbCBpc0Nyb3NzT3JpZ2luU2FmZVJlcXVlc3RIZWFkZXIoSFRUUEhlYWRlck5hbWUsIGNvbnN0
IFN0cmluZyYpOwogU3RyaW5nIG5vcm1hbGl6ZUhUVFBNZXRob2QoY29uc3QgU3RyaW5nJik7CiAK
IFdFQkNPUkVfRVhQT1JUIENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3kgcGFyc2VDcm9zc09yaWdp
blJlc291cmNlUG9saWN5SGVhZGVyKFN0cmluZ1ZpZXcpOwotQ3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3kgcGFyc2VDcm9zc09yaWdpbldpbmRvd1BvbGljeUhlYWRlcihTdHJpbmdWaWV3KTsKIAogaW5s
aW5lIGJvb2wgaXNIVFRQU3BhY2UoVUNoYXIgY2hhcmFjdGVyKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZTI1MTdhMWVkZTY4YjNlMWYzNzE5NGE2NGRl
YjBlYWY3NGI0NDQ1Mi4uZWU4MDI5YjYyNzY3YjVhMjkxNDdiOGIyYmUwNGY1NjQ1ZDU1YzkzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMDcwLDEwICsx
MDcwLDYgQEAgQ29uc3RhbnRQcm9wZXJ0aWVzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZh
dWx0VmFsdWU6IHRydWUKIAotQ3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZDoK
LSAgdHlwZTogYm9vbAotICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0KIFN1YnJlc291cmNlSW50ZWdy
aXR5RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggOGJmNjM1
MDU3ZTFlMjNlN2YyYjE3ODQxNjIxZGMwZDQ3ZWE5OTI1My4uZWU2MTc3ZDMzMzA2MTA4YWJiMzAy
ZmNkMTY3OGYxZmRkNTYxZWQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTIwNDAsMTYgKzIwNDAsNiBAQCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRDcm9zc09yaWdpblJlc291cmNlUG9saWN5RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuYwogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5jcm9zc09yaWdp
blJlc291cmNlUG9saWN5RW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRDcm9z
c09yaWdpbldpbmRvd1BvbGljeUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKQotewotICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldENyb3Nz
T3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoZW5hYmxlZCk7Ci19Ci0KLWJvb2wgV0tQ
cmVmZXJlbmNlc0dldENyb3NzT3JpZ2luV2luZG93UG9saWN5RW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmIHByZWZlcmVuY2VzUmVmKQotewotICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5jcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKCk7Ci19Ci0KIHZvaWQgV0tQ
cmVmZXJlbmNlc1NldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3MoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNldFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3MoZmxhZyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmLmgKaW5kZXggNWEwODhkYjNj
OTEwMWI3MjhlODQ3MDc4YjIzZmU3N2ViODlkMDZjNC4uMTMzY2NkZTU3NTE1ZGJlMzJhNzZkMjQ1
Y2QyZWE3N2M4OWU0MDM2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWYuaApAQCAtMzI0LDEwICszMjQsNiBAQCBXS19FWFBPUlQgdm9pZCBX
S1ByZWZlcmVuY2VzU2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyhXS1ByZWZlcmVuY2Vz
UmVmIHByZQogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldENyb3NzT3JpZ2luUmVzb3Vy
Y2VQb2xpY3lFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQ
T1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldENyb3NzT3JpZ2luUmVzb3VyY2VQb2xpY3lFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgYWxsb3cpOwogCi0vLyBEZWZh
dWx0cyB0byBmYWxzZS4KLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRDcm9zc09yaWdp
bldpbmRvd1BvbGljeUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7Ci1X
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7Ci0KIC8v
IERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFByb2Nl
c3NTd2FwT25OYXZpZ2F0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRQcm9jZXNzU3dhcE9uTmF2aWdhdGlv
bkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMGM5
NjZlOTRiMGUxNmE4YWZiYzEwMTg4ZWNjZWJjMTI5NWRjMzBjNS4uNTFmMDAyMGUwOTFjYTg2MmNm
N2ExN2I2YzVmMjczNmJjNzAwYTdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTYwMzMsNyArNjAzMyw2IEBAIHZvaWQgV2ViUGFnZTo6ZnJh
bWVCZWNhbWVSZW1vdGUodWludDY0X3QgZnJhbWVJRCwgR2xvYmFsRnJhbWVJZGVudGlmaWVyJiYg
cmVtb3RlCiAKICAgICBhdXRvIHJlbW90ZUZyYW1lID0gUmVtb3RlRnJhbWU6OmNyZWF0ZShXVEZN
b3ZlKHJlbW90ZUZyYW1lSWRlbnRpZmllcikpOwogICAgIGF1dG8gcmVtb3RlV2luZG93ID0gUmVt
b3RlRE9NV2luZG93OjpjcmVhdGUocmVtb3RlRnJhbWUuY29weVJlZigpLCBXVEZNb3ZlKHJlbW90
ZVdpbmRvd0lkZW50aWZpZXIpKTsKLSAgICByZW1vdGVXaW5kb3ctPnNldENyb3NzT3JpZ2luV2lu
ZG93UG9saWN5KHByZXZpb3VzV2luZG93LT5jcm9zc09yaWdpbldpbmRvd1BvbGljeSgpKTsKIAog
ICAgIHJlbW90ZUZyYW1lLT5zZXRPcGVuZXIoZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5v
cGVuZXIoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDJmZjZmNmU3OGM1ZmNkN2YxYTVi
ZDIwZjI2NGI0MjY0MDk5MmYwMmUuLjc2YmQ0MTJlYzRmMjJlMGYwOTI5YTA2NjI1M2E1Yzc5NjA3
ZTA4MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTc0LDcgKzE3NCw2IEBACiAjZGVmaW5l
IFdlYktpdERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXREYXRh
VHJhbnNmZXJJdGVtc0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEN1c3RvbVBhc3RlYm9hcmREYXRh
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQi
CiAjZGVmaW5lIFdlYktpdENhY2hlQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDYWNo
ZUFQSUVuYWJsZWQiCi0jZGVmaW5lIFdlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBw
b3J0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdEZldGNoQVBJRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V3JpdGFibGVTdHJlYW1BUElF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdyaXRhYmxlU3RyZWFtQVBJRW5hYmxlZCIKICNk
ZWZpbmUgV2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYzkwOTJlMGYyOWJjYTNi
MDE5ZDRmMzdlZjBhMGFhOGE2ODA3MWYwYS4uMjY3MGY0ZjcyMWY0NGRjMzNmNGExZjgwYTUyMDRj
NjRmYjcxNjBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tCkBAIC02MzQsNyArNjM0LDYgQEAgKyAodm9pZClpbml0aWFsaXplCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdFdlYkdQVUVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogI2VuZGlmCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpO
T10sIFdlYktpdENhY2hlQVBJRW5hYmxlZFByZWZlcmVuY2VLZXksCi0gICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
WUVTXSwgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKIAogI2lmIEVOQUJMRShT
VFJFQU1TX0FQSSkKQEAgLTMwMTQsMTYgKzMwMTMsNiBAQCAtICh2b2lkKXNldENhY2hlQVBJRW5h
YmxlZDooQk9PTClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJL
aXRDYWNoZUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTCljcm9zc09yaWdp
bldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkCi17Ci0gICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZl
cmVuY2VLZXldOwotfQotCi0tICh2b2lkKXNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWQ6KEJPT0wpZmxhZwotewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JL
ZXk6V2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VL
ZXldOwotfQotCiAtIChCT09MKWZldGNoQVBJRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBf
Ym9vbFZhbHVlRm9yS2V5OldlYktpdEZldGNoQVBJRW5hYmxlZFByZWZlcmVuY2VLZXldOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKaW5kZXggZjI4OGZlMjljOTIyZDAwNDAxZGQ2NTUyMDFiZjA2NzlhMjk3YjQ3MS4u
OTRlNzljNzk4Njg4NDExNzRjYWRiZTFlODBmMGQyMTk0ZGQwYjg5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CkBAIC01NDAsOSArNTQwLDYgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hl
TW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lUX0RFUFIKIC0gKEJPT0wpY2Fj
aGVBUElFbmFibGVkOwogLSAodm9pZClzZXRDYWNoZUFQSUVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsK
IAotLSAoQk9PTCljcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkOwotLSAodm9p
ZClzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkOihCT09MKWVuYWJsZWQ7
Ci0KIC0gKHZvaWQpc2V0RmV0Y2hBUElFbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKWZldGNo
QVBJRW5hYmxlZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IDBlNGE2NzViYjhkZTNlYjFiZDljYmI1ZTYzZTM4MTQ3NmI3Yzc1YmEuLjE0ZmIwZDk2
OTEzMDhlNjUyNjNmMGU2Y2JiZmQxMmQxMmZmYzhjMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMwNjcsNyArMzA2Nyw2IEBAIC0gKHZvaWQpX3By
ZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogCiAgICAgc2V0
dGluZ3Muc2V0Vmlld3BvcnRGaXRFbmFibGVkKFtwcmVmZXJlbmNlcyB2aWV3cG9ydEZpdEVuYWJs
ZWRdKTsKICAgICBzZXR0aW5ncy5zZXRDb25zdGFudFByb3BlcnRpZXNFbmFibGVkKFtwcmVmZXJl
bmNlcyBjb25zdGFudFByb3BlcnRpZXNFbmFibGVkXSk7Ci0gICAgc2V0dGluZ3Muc2V0Q3Jvc3NP
cmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbcHJlZmVyZW5jZXMgY3Jvc3NPcmlnaW5X
aW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZF0pOwogCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRHYW1lcGFkc0VuYWJs
ZWQoW3ByZWZlcmVuY2VzIGdhbWVwYWRzRW5hYmxlZF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCAyZmZlNDljYThiOTU2
NTc5MTRmZWNjOWY5YjU4ZGNmZWZiZWNiMzc5Li45NDBkNWNmNTVkMTNiZTU3ODdhNjhkMWI0MzA2
ZWRjMDhjZmU5MjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTgwLDggKzE4MCw2IEBACiAKICNkZWZpbmUgV2ViS2l0
TWVudUl0ZW1FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1lbnVJdGVtRWxlbWVu
dEVuYWJsZWQiCiAKLSNkZWZpbmUgV2ViS2l0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0
RW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9y
dEVuYWJsZWQiCi0KICNkZWZpbmUgV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIKIAogI2RlZmluZSBX
ZWJLaXRXZWJBbmltYXRpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdFdlYkFuaW1hdGlv
bnNFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmlu
ZGV4IDRlNDY2YWE3N2UxNDMwZTQwYWE2NjFjN2ZmZTJkYWM5NjNlNDYwYmQuLmQ4N2Y2MDVkNDdk
MDI0ZWEyNjc4ZGFlNWYzYTljYTk5NDY4YjUyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTI0OCw3ICsyNDgsNiBAQCB2b2lkIFdlYlByZWZlcmVu
Y2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1
ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0U2hvdWxkRGlzcGxheVN1YnRpdGxlc1ByZWZlcmVuY2VL
ZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRz
LCBDRlNUUihXZWJLaXRTaG91bGREaXNwbGF5Q2FwdGlvbnNQcmVmZXJlbmNlS2V5KSwga0NGQm9v
bGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0U2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnNQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVh
bkZhbHNlKTsKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZC
b29sZWFuRmFsc2UpOwogCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBsaW5rQmVoYXZpb3JT
dHJpbmdSZWYgPSBhZG9wdENGKENGU3RyaW5nQ3JlYXRlV2l0aEZvcm1hdCgwLCAwLCBDRlNUUigi
JWQiKSwgV2ViS2l0RWRpdGFibGVMaW5rRGVmYXVsdEJlaGF2aW9yKSk7CiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEVkaXRhYmxlTGlua0JlaGF2aW9yUHJl
ZmVyZW5jZUtleSksIGxpbmtCZWhhdmlvclN0cmluZ1JlZi5nZXQoKSk7CkBAIC0yMDM5LDEzICsy
MDM4LDEyIEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OmNyb3NzT3JpZ2luV2luZG93UG9saWN5
U3VwcG9ydEVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlCiB7CiAgICAgaWYgKCFlbmFibGVkKQog
ICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5
KFdlYktpdENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWRQcmVmZXJlbmNlS2V5
KTsKKyAgICAqZW5hYmxlZCA9IGZhbHNlOwogICAgIHJldHVybiBTX09LOwogfQogCi1IUkVTVUxU
IFdlYlByZWZlcmVuY2VzOjpzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVk
KEJPT0wgZW5hYmxlZCkKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENyb3NzT3JpZ2luV2lu
ZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoQk9PTCkKIHsKLSAgICBzZXRCb29sVmFsdWUoV2ViS2l0
Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJs
ZWQpOwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3Bw
CmluZGV4IDBkOWZjYWJlMTkxZjc4ZWVkNWE4OGViNGVkNzJkMzQwNTQ2NDY2MDMuLjVmNTM2NjU0
ODFjODE1ZWRmOGNmNTYyYWIzM2Y4OWUzNzY0NjgxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCkBAIC01Mjc5LDExICs1Mjc5LDYgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQ
cmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAg
ICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3Muc2V0VmlzdWFsVmlld3BvcnRBUElFbmFibGVkKCEh
ZW5hYmxlZCk7CiAKLSAgICBociA9IHByZWZzUHJpdmF0ZS0+Y3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lTdXBwb3J0RW5hYmxlZCgmZW5hYmxlZCk7Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAg
IHJldHVybiBocjsKLSAgICBzZXR0aW5ncy5zZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBv
cnRFbmFibGVkKCEhZW5hYmxlZCk7Ci0KICAgICBociA9IHByZWZzUHJpdmF0ZS0+Q1NTT01WaWV3
U2Nyb2xsaW5nQVBJRW5hYmxlZCgmZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAg
ICAgIHJldHVybiBocjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA5MTUxMjM5MTQxNjJhZmViZjAxYzNmMWIyMjVlNGRmY2FiMzMxYTc0Li4wZWY3
NTNjMDNkODlhMTkyYmEzODUzNzI0M2I4NTE5MjEwOTkwZWRmIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDkt
MjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBv
cnQgZm9yIGNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5IGhlYWRlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMDgxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgMTkwMDgxX0Ryb3BDcm9zc09yaWdpbldp
bmRvd1BvbGljeQorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChlbmFibGVFeHBl
cmltZW50YWxGZWF0dXJlcyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2Vz
VG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAxOC0wOS0yOCAgS29ieSBCb3lhbmdvICA8a29ieS5i
QG1jZS5zeXN0ZW1zPgogCiAgICAgICAgIFtXVEZdIEFkZCBFeHRlcm5hbFN0cmluZ0ltcGwsIGEg
U3RyaW5nSW1wbCBmb3IgdXNlciBjb250cm9sbGVkIGJ1ZmZlcnMKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCAyN2QwMWFjNWI0NmMwODJhYTc3YWFiOGJl
NmM1NGI0YzE0N2EzY2EyLi4xNTBiZjQyOGRkOThkMzEwZjliYmMzMjM0Y2RjZWQ2M2E4ZjFmZmQ4
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0K
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NjUs
NyArODY1LDYgQEAgc3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJl
ZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNlcyBzZXRBcmlhUmVmbGVjdGlv
bkVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0VmlzdWFsVmlld3BvcnRBUElFbmFi
bGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldENvbG9yRmlsdGVyRW5hYmxlZDpZRVNdOwot
ICAgIFtwcmVmZXJlbmNlcyBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVk
OllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFNlcnZlclRpbWluZ0VuYWJsZWQ6WUVTXTsKICAg
ICBbcHJlZmVyZW5jZXMgc2V0SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOllFU107CiAgICAg
cHJlZmVyZW5jZXMuc291cmNlQnVmZmVyQ2hhbmdlVHlwZUVuYWJsZWQgPSBZRVM7CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA1MmY3ODhiNDcxZDIw
NjJjYzZhM2QyYTViNGU0NWQyNTg2OGUxYzE2Li5iODUyNmJmMjRjYmU3ZjljNDYyZDdlZjlmODlk
ODkzNDU4ZWRjMGQzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAKQEAgLTc5MCw3ICs3OTAsNiBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxG
ZWF0dXJlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIHByZWZzUHJpdmF0ZS0+
c2V0U2VydmVyVGltaW5nRW5hYmxlZChUUlVFKTsKICAgICAvLyBGSVhNRTogV2ViR0wyCiAgICAg
Ly8gRklYTUU6IFdlYlJUQwotICAgIHByZWZzUHJpdmF0ZS0+c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQ
b2xpY3lTdXBwb3J0RW5hYmxlZChUUlVFKTsKIH0KIAogc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVm
ZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBlZWI5NTlhMDc0
OWY4OTQ3NGNhN2M3YzUzYzQ0ZTA4NzcyNjdkOGU0Li42NzdjN2ExOWE0ODk0Njk2OWMyYmVmNzVj
ZGM2NzI0Y2Q2MDBmNzQ4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtODAxLDcgKzgwMSw2IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0UHJlZmVy
ZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvCiAgICAgV0tQ
cmVmZXJlbmNlc1NldENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQocHJlZmVyZW5jZXMsIHRy
dWUpOwogICAgIFdLUHJlZmVyZW5jZXNTZXRNZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQocHJlZmVy
ZW5jZXMsIHRydWUpOwogCi0gICAgV0tQcmVmZXJlbmNlc1NldENyb3NzT3JpZ2luV2luZG93UG9s
aWN5RW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldFJlc3Ry
aWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3MocHJlZmVyZW5jZXMsIHRydWUpOwogCiAgICAgV0tQcmVm
ZXJlbmNlc1NldFNlcnZlclRpbWluZ0VuYWJsZWQocHJlZmVyZW5jZXMsIHRydWUpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDJjMGMyMjliY2FhZTk3OWFiZGFiY2E0YmY4MzYzZDlkYThkYzViNWIuLjdhYzIwOGNjZDY3ZmMy
YzczYmRmYWRlZWYyZGFjYTE5NThjOTJiNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxOC0w
OS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3Vw
cG9ydCBmb3IgY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kgaGVhZGVyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAwODEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0
bWVzc2FnZS1mcm9tLWRlbnktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVu
eS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sLmhlYWRlcnM6IFJlbW92ZWQu
CisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9z
dG1lc3NhZ2UuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9zcy1vcmlnaW4t
d2luZG93LXBvbGljeS9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXItZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5odG1sOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJv
bS1vcGVuZXItdmlhLW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tb3Bl
bmVyLXZpYS1vcGVuLXRhcmdldC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvd3B0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5j
aG9yLXRhcmdldC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNo
b3ItdGFyZ2V0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93
LXBvc3RtZXNzYWdlLXBvbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3dwdC9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRlcnM6IFJlbW92ZWQuCisgICAgICAg
ICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Rlc3RpbmF0
aW9uLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw6IFJlbW92
ZWQuCisgICAgICAgICogaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weTogUmVtb3ZlZC4KKyAgICAgICAg
KiBodHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvc2VydmUtY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5OiBSZW1vdmVkLgorICAgICAgICAqIGh0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy91dGlscy5qczogUmVt
b3ZlZC4KKwogMjAxOC0wOS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04gKHIyMzY1NzMpOiBbaU9TXSBMYXlvdXQgdGVzdCBlZGl0aW5nL3Bh
c3RlYm9hcmQvZW1hY3MtY3RybC1hLWsteS5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3Rt
ZXNzYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTNjNmJlN2ZjYWIxMDk5YmQ4MmE1YTA4NTgzMzNmYWVjNmRmZDgz
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2Fn
ZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLQotCi1QQVNTIHBv
c3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAotUEFTUyBwb3N0TWVz
c2FnZSgpIG9uIENyb3NzLW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVz
c2FnZS1mcm9tLWRlbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55LWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDEyYzk2OGE2OTc3YjljMTMzYTQ5
MDdlMDczZmMxZmYwM2IxMTMxYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnktZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNSArMCwwIEBACi0KLQotUEFTUyBwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBp
ZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdl
JyBidXQgY3VycmVudCB3aW5kb3cgaGFzICdkZW55JyBvcHRpb24gCi1QQVNTIHBvc3RNZXNzYWdl
KCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OiBhbGxvdy1wb3N0bWVzc2FnZScgYnV0IGN1cnJlbnQgd2luZG93IGhhcyAnZGVueScgb3B0aW9u
IAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnkuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20t
ZGVueS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjVmYjRiNTIwNTYwYzc1
Mzg0MzZiYjBkYWRjODgwYmMwYTFhNTE4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLWZyb20tZGVueS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzEgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hh
cnNldD0idXRmLTgiPgotPHRpdGxlPlRlc3RzIGNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBvbiBhIHdp
bmRvdyB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2Un
IGZyb20gYSB3aW5kb3cgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknPC90
aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIv
Y29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotCi1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJjcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVl
IC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgYXNzZXJ0X3Rocm93
cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBmLmNvbnRlbnRXaW5kb3cubGVuZ3RoIH0s
ICJsZW5ndGggcHJvcGVydHkgYWNjZXNzIik7Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3Vy
aXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgZi5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCJQSU5H
IiwgIioiKTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBzaG91bGQgdGhyb3ciKTsKLSAgICB9
KTsKLX0sICJwb3N0TWVzc2FnZSgpIG9uIENyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBidXQgY3VycmVudCB3aW5k
b3cgaGFzICdkZW55JyBvcHRpb24iKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICByZXR1cm4gd2l0aFBvcHVwKCJjcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1w
b3N0bWVzc2FnZS1wb25nLmh0bWwiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJl
c3VsdCkgPT4gewotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rp
b24oKSB7IHJlc3VsdC53aW5kb3cubGVuZ3RoIH0sICJsZW5ndGggcHJvcGVydHkgYWNjZXNzIik7
Ci0gICAgICAgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgcmVz
dWx0LndpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7IH0sICJDYWxsaW5nIHBvc3RNZXNz
YWdlKCkgc2hvdWxkIHRocm93Iik7Ci0gICAgfSk7Ci19LCAicG9zdE1lc3NhZ2UoKSBvbiBDcm9z
cy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBv
c3RtZXNzYWdlJyBidXQgY3VycmVudCB3aW5kb3cgaGFzICdkZW55JyBvcHRpb24iKTsKLQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVzc2FnZS1mcm9tLWRlbnku
aHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1w
b2xpY3kvYWxsb3ctcG9zdG1lc3NhZ2UtZnJvbS1kZW55Lmh0bWwuaGVhZGVycwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNmEyZDI1NmUyNmJhYWUxZjBkZTA5ZWFiZjQyMDJmNTdhZTJh
NTA3My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxvdy1wb3N0bWVz
c2FnZS1mcm9tLWRlbnkuaHRtbC5oZWFkZXJzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9hbGxv
dy1wb3N0bWVzc2FnZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzVhNTY4
NzZiMGFlNGVmNzQyN2UwNzM2NDZkNTNhN2JhODEyNWIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L2FsbG93LXBvc3RtZXNzYWdlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Ci08dGl0bGU+VGVzdHMgdGhhdCBwb3N0TWVzc2FnZSgpIHdvcmtzIHdoZW4g
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFk
ZXIgaXMgc2VydmVkPC90aXRsZT4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08c2NyaXB0PgotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3
aXRoSWZyYW1lKCJjcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1w
b25nLmh0bWwiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cu
b25tZXNzYWdlID0gKG1zZykgPT4gewotICAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2Ug
PSBudWxsOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLmRhdGEsICJQT05HIik7
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNlLCBmLmNvbnRlbnRXaW5k
b3cpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAg
ICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGYuY29udGVu
dFdpbmRvdy5sZW5ndGggfSwgImxlbmd0aCBwcm9wZXJ0eSBhY2Nlc3MiKTsKLSAgICAgICAgICAg
IGYuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7Ci0gICAgICAgIH0pOwot
ICAgIH0pOwotfSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVy
Iik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1
cCgiY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1s
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25t
ZXNzYWdlID0gKG1zZykgPT4gewotICAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBu
dWxsOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMobXNnLmRhdGEsICJQT05HIik7Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhtc2cuc291cmNlLCByZXN1bHQud2luZG93KTsK
LSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAg
YXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyByZXN1bHQud2luZG93
Lmxlbmd0aCB9LCAibGVuZ3RoIHByb3BlcnR5IGFjY2VzcyIpOwotICAgICAgICAgICAgcmVzdWx0
LndpbmRvdy5wb3N0TWVzc2FnZSgiUElORyIsICIqIik7Ci0gICAgICAgIH0pOwotICAgIH0pOwot
fSwgInBvc3RNZXNzYWdlKCkgb24gQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdp
bi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKLQotPC9z
Y3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1o
ZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTRhOGQxMWQzNzU0ODkzZjZjZGNlMGFk
ODIxNmJjMWFjZTY5MTg3MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjIgKzAsMCBAQAotICAKLQotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jv
c3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ct
cG9zdG1lc3NhZ2UnIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGgg
J0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbExvVy1wb3N0TWVzc0FnRScgSFRUUCBoZWFk
ZXIgKG1peGVkIGNhc2UpIAotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9y
aWdpbi1XaW5kb3ctUG9saWN5OiBkZW55LGFsbG93JyBIVFRQIGhlYWRlciAobXVsdGlwbGUgdmFs
dWVzIGlzIGludmFsaWQpIAotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9y
aWdpbi1XaW5kb3ctUG9saWN5OicgSFRUUCBoZWFkZXIgKGVtcHR5IHZhbHVlKSAKLVBBU1MgQ3Jv
c3Mtb3JpZ2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cn
IEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdp
bi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4g
aWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRl
ciAKLVBBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIGlm
cmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVhZGVy
IAotUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xp
Y3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIAotUEFTUyBDcm9z
cy1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBv
c3RtZXNzYWdlJyBIVFRQIGhlYWRlciAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIHBvcHVwIHdpdGggJ0Ny
b3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgSFRUUCBoZWFkZXIgCi1QQVNTIENyb3Nz
LW9yaWdpbiBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52YWxpZCcg
SFRUUCBoZWFkZXIgCi1QQVNTIFNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gcG9wdXAg
d2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93LXBvc3RtZXNzYWdlJyBIVFRQ
IGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3k6IGFsbG93JyBIVFRQIGhlYWRlciAKLVBBU1MgU2FtZS1vcmlnaW4gcG9wdXAgd2l0
aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIAotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9s
aWN5LWhlYWRlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmI3YTM3ZjM5
NmQ1NDJkYjM5MWQ2OWE5MTA3NmY4NjY1OGRjMDA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTk4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5CYXNpYyB0ZXN0aW5nIGZvciBDcm9z
cy1PcmlnaW4tV2luZG93LVBvbGljeSBIVFRQIGhlYWRlcjwvdGl0bGU+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1v
bi91dGlscy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWxzLmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNjcmlwdD4KLQotLy8gVGVzdCBmcmFtZSBoYXMgYSBz
dWJmcmFtZSBzbyB3ZSBleHBlY3QgYW4gaW5kZXhlZCBwcm9wZXJ0eSB3aXRoIGluZGV4IDAuCi1j
cm9zc09yaWdpblByb3BlcnR5TmFtZXMucHVzaCgnMCcpOwotCi1mdW5jdGlvbiBjaGVja0lmcmFt
ZVByb3BlcnR5VmFsdWVzKHcpCi17Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnBhcmVudCwgd2luZG93
LCAiJ3BhcmVudCcgcHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcudG9wLCB3
aW5kb3csICIndG9wJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVhbHMody5vcGVu
ZXIsIG51bGwsICInb3BlbmVyJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9lcXVhbHMo
dy5sZW5ndGgsIDEsICInbGVuZ3RoJyBwcm9wZXJ0eSB2YWx1ZSIpOwotICAgIGFzc2VydF9ub3Rf
dGhyb3dpbmcoZnVuY3Rpb24oKSB7IHdbMF07IH0sICJTdWJmcmFtZSBhY2Nlc3MgdmlhIGluZGV4
Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3WydzdWJmcmFtZSddLCB3WzBdLCAiU3ViZnJhbWUgYWNj
ZXNzIGJ5IG5hbWUiKTsKLX0KLQotZnVuY3Rpb24gY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcp
Ci17Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnBhcmVudCwgdywgIidwYXJlbnQnIHByb3BlcnR5IHZh
bHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnRvcCwgdywgIid0b3AnIHByb3BlcnR5IHZhbHVl
Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3Lm9wZW5lciwgd2luZG93LCAiJ29wZW5lcicgcHJvcGVy
dHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcubGVuZ3RoLCAxLCAiJ2xlbmd0aCcgcHJv
cGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3WzBd
OyB9LCAiU3ViZnJhbWUgYWNjZXNzIHZpYSBpbmRleCIpOwotICAgIGFzc2VydF9lcXVhbHMod1sn
c3ViZnJhbWUnXSwgd1swXSwgIlN1YmZyYW1lIGFjY2VzcyBieSBuYW1lIik7Ci19Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNy
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1kZW55IiwgdHJ1ZSAvKiBp
c0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9w
dGlvbihmLmNvbnRlbnRXaW5kb3csICJkZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsK
LSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBkZW55JyBIVFRQIGhlYWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UiLCB0cnVlIC8qIGlzQ3Jv
c3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9u
KGYuY29udGVudFdpbmRvdywgImFsbG93LXBvc3RtZXNzYWdlIiwgdHJ1ZSAvKiBpc0Nyb3NzT3Jp
Z2luICovKTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Nyb3NzLU9y
aWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKLQot
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2Vy
dmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsTG9XLXBvc3RN
ZXNzQWdFIiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChmKSA9PiB7Ci0gICAgICAg
IHRlc3RDcm9zc09yaWdpbk9wdGlvbihmLmNvbnRlbnRXaW5kb3csICJhbGxvdy1wb3N0bWVzc2Fn
ZSIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2lu
IGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxMb1ctcG9zdE1lc3NB
Z0UnIEhUVFAgaGVhZGVyIChtaXhlZCBjYXNlKSIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSxhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdp
biAqLykudGhlbigoZikgPT4gewotICAgICAgICBjb25zdCB3ID0gZi5jb250ZW50V2luZG93Owot
ICAgICAgICAvLyBJbnZhbGlkIGlucHV0OiBzaG91bGQgYmUgdHJlYXRlZCBhcyAiYWxsb3ciLgot
ICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93IiwgdHJ1ZSAvKiBpc0Nyb3Nz
T3JpZ2luICovKTsKLQotICAgICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAg
IH0pOwotfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3k6IGRlbnksYWxsb3cnIEhUVFAgaGVhZGVyIChtdWx0aXBsZSB2YWx1ZXMgaXMgaW52YWxp
ZCkiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElm
cmFtZSgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAgICAgICBjb25zdCB3
ID0gZi5jb250ZW50V2luZG93OwotICAgICAgICAvLyBFbXB0eSB2YWx1ZTogc2hvdWxkIGJlIHRy
ZWF0ZWQgYXMgImFsbG93Ii4KLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxv
dyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9w
ZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Ny
b3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OicgSFRUUCBoZWFkZXIgKGVtcHR5IHZhbHVlKSIpOwot
Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRoSWZyYW1lKCJz
ZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ciLCB0
cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9
IGYuY29udGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxv
dyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9w
ZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHdpdGggJ0Ny
b3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aElmcmFtZSgic2VydmUtY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWludmFsaWQiLCB0cnVlIC8q
IGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgY29uc3QgdyA9IGYuY29u
dGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJhbGxvdyIsIHRy
dWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgICAgIAotICAgICAgICBjaGVja0lmcmFtZVBy
b3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgd2l0aCAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQnIEhUVFAgaGVhZGVyIik7Ci0KLXBy
b21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZl
LWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1kZW55IiwgZmFsc2Ug
LyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAgICAgICAgY29uc3QgdyA9IGYu
Y29udGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHcsICJkZW55Iiwg
ZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hlY2tJZnJhbWVQcm9wZXJ0
eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBpZnJhbWUgd2l0aCAnQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVz
dChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9y
aWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIsIGZh
bHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsKLSAgICAgICAgIGNvbnN0IHcg
PSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3LCAiYWxs
b3ctcG9zdG1lc3NhZ2UiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLQotICAgICAgICBj
aGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUtb3JpZ2luIGlm
cmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2Un
IEhUVFAgaGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0
dXJuIHdpdGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5w
eT92YWx1ZT1hbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKGYpID0+IHsK
LSAgICAgICAgIGNvbnN0IHcgPSBmLmNvbnRlbnRXaW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09y
aWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsKLQotICAg
ICAgICBjaGVja0lmcmFtZVByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUtb3Jp
Z2luIGlmcmFtZSB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAg
aGVhZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdp
dGhJZnJhbWUoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1
ZT1pbnZhbGlkIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigoZikgPT4gewotICAg
ICAgICAgY29uc3QgdyA9IGYuY29udGVudFdpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2lu
T3B0aW9uKHcsICJhbGxvdyIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAg
IGNoZWNrSWZyYW1lUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2FtZS1vcmlnaW4g
aWZyYW1lIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBpbnZhbGlkJyBIVFRQIGhl
YWRlciIpOwotCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odGVzdCkgewotICAgIHJldHVybiB3aXRo
UG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1k
ZW55IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAg
ICAgdGVzdENyb3NzT3JpZ2luT3B0aW9uKHJlc3VsdC53aW5kb3csICJkZW55IiwgdHJ1ZSAvKiBp
c0Nyb3NzT3JpZ2luICovKTsKLSAgICB9KTsKLX0sICJDcm9zcy1vcmlnaW4gcG9wdXAgd2l0aCAn
Q3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIEhUVFAgaGVhZGVyIik7Ci0KLXByb21p
c2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdl
IiwgdHJ1ZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAg
dGVzdENyb3NzT3JpZ2luT3B0aW9uKHJlc3VsdC53aW5kb3csICJhbGxvdy1wb3N0bWVzc2FnZSIs
IHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0gICAgfSk7Ci19LCAiQ3Jvc3Mtb3JpZ2luIHBv
cHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScg
SFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1
cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/
dmFsdWU9YWxsb3ciLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4g
ewotICAgICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3Jp
Z2luT3B0aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAg
ICAgY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdp
biBwb3B1cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIEhUVFAgaGVh
ZGVyIik7Ci0KLXByb21pc2VfdGVzdChmdW5jdGlvbih0ZXN0KSB7Ci0gICAgcmV0dXJuIHdpdGhQ
b3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWlu
dmFsaWQiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAg
ICAgICBjb25zdCB3ID0gcmVzdWx0LndpbmRvdzsKLSAgICAgICAgdGVzdENyb3NzT3JpZ2luT3B0
aW9uKHcsICJhbGxvdyIsIHRydWUgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0KLSAgICAgICAgY2hl
Y2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIkNyb3NzLW9yaWdpbiBwb3B1
cCB3aXRoICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogaW52YWxpZCcgSFRUUCBoZWFkZXIi
KTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVw
KCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueSIs
IGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICAg
Y29uc3QgdyA9IHJlc3VsdC53aW5kb3c7Ci0gICAgICAgIHRlc3RDcm9zc09yaWdpbk9wdGlvbih3
LCAiZGVueSIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pOwotCi0gICAgICAgIGNoZWNrUG9w
dXBQcm9wZXJ0eVZhbHVlcyh3KTsKLSAgICB9KTsKLX0sICJTYW1lLW9yaWdpbiBwb3B1cCB3aXRo
ICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgSFRUUCBoZWFkZXIiKTsKLQotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3Nh
Z2UiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAg
ICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OwotICAgICAgICB0ZXN0Q3Jvc3NPcmlnaW5PcHRp
b24odywgImFsbG93LXBvc3RtZXNzYWdlIiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAqLyk7Ci0K
LSAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwgIlNhbWUt
b3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0
bWVzc2FnZScgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsK
LSAgICByZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1o
ZWFkZXIucHk/dmFsdWU9YWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVuKChy
ZXN1bHQpID0+IHsKLSAgICAgICAgIGNvbnN0IHcgPSByZXN1bHQud2luZG93OwotICAgICAgICB0
ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgImFsbG93IiwgZmFsc2UgLyogaXNDcm9zc09yaWdpbiAq
Lyk7Ci0KLSAgICAgICAgY2hlY2tQb3B1cFByb3BlcnR5VmFsdWVzKHcpOwotICAgIH0pOwotfSwg
IlNhbWUtb3JpZ2luIHBvcHVwIHdpdGggJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxv
dycgSFRUUCBoZWFkZXIiKTsKLQotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICBy
ZXR1cm4gd2l0aFBvcHVwKCJzZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIu
cHk/dmFsdWU9aW52YWxpZCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3Vs
dCkgPT4gewotICAgICAgICAgY29uc3QgdyA9IHJlc3VsdC53aW5kb3c7Ci0gICAgICAgIHRlc3RD
cm9zc09yaWdpbk9wdGlvbih3LCAiYWxsb3ciLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKTsK
LQotICAgICAgICBjaGVja1BvcHVwUHJvcGVydHlWYWx1ZXModyk7Ci0gICAgfSk7Ci19LCAiU2Ft
ZS1vcmlnaW4gcG9wdXAgd2l0aCAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGludmFsaWQn
IEhUVFAgaGVhZGVyIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdh
dGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9w
ZW5lci12aWEtb3Blbi10YXJnZXQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwZTljODRmOThhZThlMzBhM2RkMDMzNjM2YTEyZmUzZjBjM2RmOTU0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVuZXItdmlh
LW9wZW4tdGFyZ2V0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGlu
aXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9ZGVueScgZnJvbSBmcmFtZSB3
aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9uYXZpZ2F0aW9uLWZyb20tb3BlbmVyLXZpYS1vcGVuLXRhcmdldC5odG1sJy4gTmF2
aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
IGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ0OiBVbnNhZmUgSmF2YVNjcmlwdCBh
dHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8v
MTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNl
cy9zZXJ2ZS1jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1oZWFkZXIucHk/dmFsdWU9YWxsb3ct
cG9zdG1lc3NhZ2UnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9X
ZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12
aWEtb3Blbi10YXJnZXQuaHRtbCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCi0KLQotUEFTUyAnQ3Jvc3MtT3JpZ2lu
LVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlh
IG9wZW4oKSB0YXJnZXQgCi1QQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ct
cG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0
YXJnZXQgCi1QQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90
IHByZXZlbnQgbmF2aWdhdGlvbiBmcm9tIG9wZW5lciB2aWEgb3BlbigpIHRhcmdldCAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
bmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJnZXQuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1vcGVu
ZXItdmlhLW9wZW4tdGFyZ2V0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJh
NzkxOGI2OTg2ODVmZTJjODUyOWJiYzhmZGUyNTMzOGY2ZDlmYTAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1mcm9tLW9wZW5lci12aWEtb3Blbi10YXJn
ZXQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTx0aXRsZT5UZXN0cyB0aGF0
ICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueSAvIGFsbG93LXBvc3RtZXNzYWdlJyBw
cmV2ZW50cyBhIGNyb3NzLW9yaWdpbiBvcGVuZXIgZnJvbSBuYXZpZ2F0aW5nIHVzPC90aXRsZT4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dXRpbHMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotCi1wcm9taXNl
X3Rlc3QodCA9PiB7Ci0gICAgcmV0dXJuIHdpdGhQb3B1cCgic2VydmUtY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3ktaGVhZGVyLnB5P3ZhbHVlPWRlbnkiLCB0cnVlIC8qIGlzQ3Jvc3NPcmlnaW4g
Ki8sICJmb28xIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IChtc2cpID0+
IHsKLSAgICAgICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhtc2cuc291cmNlLCByZXN1bHQu
d2luZG93LCAiRXhpc3Rpbmcgd2luZG93IHNob3VsZCBub3QgbmF2aWdhdGUiKTsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgICAgbGV0IGRlc3RpbmF0aW9uVVJMID0gZ2V0X2hvc3RfaW5mbygp
LkhUVFBfT1JJR0lOICsgIi9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL2Rlc3RpbmF0aW9uLmh0bWwiOwotICAgICAgICAgICAgdyA9IG9wZW4oZGVzdGluYXRpb25V
UkwsICJmb28xIik7Ci0gICAgICAgICAgICAvLyBJZiBhIHdpbmRvdyB3aXRoIHRoZSBnaXZlbiBu
YW1lIGlzIGZvdW5kIGJ1dCBjYW5ub3QgYmUgbmF2aWdhdGVkLCBhIG5ldyBvbmUgaXMgY3JlYXRl
ZCwgYXMgaWYgd2UgY291bGQKLSAgICAgICAgICAgIC8vIG5vdCBmaW5kIHRoZSBnaXZlbiB3aW5k
b3cuCi0gICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyh3LCByZXN1bHQud2luZG93LCAib3Bl
bigpIHNob3VsZCBhIG5ldyB3aW5kb3ciKTsKLQotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQo
KCkgPT4gewotICAgICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAg
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAg
ICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGRlbnknIHByZXZlbnRzIG5h
dmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJnZXQiKTsKLQotcHJvbWlzZV90ZXN0
KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZlLWNyb3NzLW9yaWdpbi13aW5kb3ct
cG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSIsIHRydWUgLyogaXNDcm9z
c09yaWdpbiAqLywgImZvbzIiKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0g
KG1zZykgPT4gewotICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKG1zZy5zb3VyY2Us
IHJlc3VsdC53aW5kb3csICJFeGlzdGluZyB3aW5kb3cgc2hvdWxkIG5vdCBuYXZpZ2F0ZSIpOwot
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBsZXQgZGVzdGluYXRpb25VUkwgPSBnZXRfaG9z
dF9pbmZvKCkuSFRUUF9PUklHSU4gKyAiL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvZGVzdGluYXRpb24uaHRtbCI7Ci0gICAgICAgICAgICB3ID0gb3BlbihkZXN0
aW5hdGlvblVSTCwgImZvbzIiKTsKLSAgICAgICAgICAgIC8vIElmIGEgd2luZG93IHdpdGggdGhl
IGdpdmVuIG5hbWUgaXMgZm91bmQgYnV0IGNhbm5vdCBiZSBuYXZpZ2F0ZWQsIGEgbmV3IG9uZSBp
cyBjcmVhdGVkLCBhcyBpZiB3ZSBjb3VsZAotICAgICAgICAgICAgLy8gbm90IGZpbmQgdGhlIGdp
dmVuIHdpbmRvdy4KLSAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHcsIHJlc3VsdC53aW5k
b3csICJvcGVuKCkgc2hvdWxkIGEgbmV3IHdpbmRvdyIpOwotCi0gICAgICAgICAgICB0LnN0ZXBf
dGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsK
LSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAg
IH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9z
dG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBvcGVuZXIgdmlhIG9wZW4oKSB0YXJn
ZXQiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoInNlcnZl
LWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weT92YWx1ZT1hbGxvdyIsIHRydWUg
LyogaXNDcm9zc09yaWdpbiAqLywgImZvbzMiKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cub25t
ZXNzYWdlID0gKCkgPT4gewotICAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxs
OwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAg
ICAgbGV0IGRlc3RpbmF0aW9uVVJMID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOICsgIi9X
ZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0
bWwiOwotICAgICAgICAgICAgdyA9IG9wZW4oZGVzdGluYXRpb25VUkwsICJmb28zIik7Ci0gICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHcsIHJlc3VsdC53aW5kb3csICJvcGVuKCkgc2hvdWxkIHJl
dHVybiB0aGUgc2FtZSB3aW5kb3ciKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdycgZG9lcyBub3QgcHJldmVudCBuYXZpZ2F0aW9u
IGZyb20gb3BlbmVyIHZpYSBvcGVuKCkgdGFyZ2V0Iik7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtdmlhLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjk5Mjc4ZTAxZDVlMTBhMjI3M2UwYmJh
NDQxOGY3ZWRhMGE1ZjZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L25h
dmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdldC1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVu
c2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUg
d2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1kZW55JnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4x
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0
ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3YXMgbm90
IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KLQotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRp
YXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAv
V2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZy
b20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9X3RvcCcgZnJvbSBmcmFtZSB3
aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93
LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9
X3RvcCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeSBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEph
dmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVS
TCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93
LXBvc3RtZXNzYWdlJnRhcmdldD1fdG9wJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3
LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9u
YXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fdG9wJy4gTmF2aWdhdGlvbiB3
YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4K
LQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRv
IGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0
Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0
aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0
PV90b3AnIGZyb20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQv
Y3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEt
YW5jaG9yLmh0bWw/dGFyZ2V0PV90b3AnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUg
dG8gQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTQ6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlv
biBmb3IgZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mt
b3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1m
cmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50JyBmcm9tIGZyYW1lIHdpdGggVVJMICdo
dHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jl
c291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1fcGFyZW50Jy4g
TmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5IGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlw
dCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9
X3BhcmVudCcgZnJvbSBmcmFtZSB3aXRoIFVSTCAnaHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktp
dC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZp
YS1hbmNob3IuaHRtbD90YXJnZXQ9X3BhcmVudCcuIE5hdmlnYXRpb24gd2FzIG5vdCBhbGxvd2Vk
IGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeSBoZWFkZXIuCi0KLUNPTlNPTEUgTUVT
U0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZp
Z2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDovL2xvY2FsaG9zdDo4ODAwL1dlYktpdC9j
cm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZy
YW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50JyBmcm9t
IGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1s
P3RhcmdldD1fcGFyZW50Jy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQgZHVlIHRvIENyb3Nz
LU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KLQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0
OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24gZm9yIGZy
YW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13
aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/
dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PV9wYXJlbnQnIGZyb20gZnJhbWUgd2l0aCBV
UkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xp
Y3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/dGFyZ2V0PV9wYXJl
bnQnLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3MtT3JpZ2luLVdpbmRv
dy1Qb2xpY3kgaGVhZGVyLgotCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFVuc2FmZSBKYXZh
U2NyaXB0IGF0dGVtcHQgdG8gaW5pdGlhdGUgbmF2aWdhdGlvbiBmb3IgZnJhbWUgd2l0aCBVUkwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9XZWJLaXQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
cmVzb3VyY2VzL25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRh
cmdldD1mb28xJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQt
dmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28xJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFsbG93ZWQg
ZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KLQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmln
YXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2ViS2l0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJh
bWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJnZXQ9Zm9vMScgZnJvbSBmcmFtZSB3aXRoIFVSTCAn
aHR0cDovLzEyNy4wLjAuMTo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9y
ZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNob3IuaHRtbD90YXJnZXQ9Zm9vMScuIE5h
dmlnYXRpb24gd2FzIG5vdCBhbGxvd2VkIGR1ZSB0byBDcm9zcy1PcmlnaW4tV2luZG93LVBvbGlj
eSBoZWFkZXIuCi0KLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxNDogVW5zYWZlIEphdmFTY3JpcHQg
YXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9uIGZvciBmcmFtZSB3aXRoIFVSTCAnaHR0cDov
L2xvY2FsaG9zdDo4ODAwL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJj
ZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3ZhbHVlPWFsbG93LXBvc3RtZXNz
YWdlJnRhcmdldD1mb28yJyBmcm9tIGZyYW1lIHdpdGggVVJMICdodHRwOi8vMTI3LjAuMC4xOjg4
MDAvV2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0ZS1w
YXJlbnQtdmlhLWFuY2hvci5odG1sP3RhcmdldD1mb28yJy4gTmF2aWdhdGlvbiB3YXMgbm90IGFs
bG93ZWQgZHVlIHRvIENyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5IGhlYWRlci4KLQotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE0OiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRl
IG5hdmlnYXRpb24gZm9yIGZyYW1lIHdpdGggVVJMICdodHRwOi8vbG9jYWxob3N0Ojg4MDAvV2Vi
S2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20t
c3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzInIGZy
b20gZnJhbWUgd2l0aCBVUkwgJ2h0dHA6Ly8xMjcuMC4wLjE6ODgwMC9XZWJLaXQvY3Jvc3Mtb3Jp
Z2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0
bWw/dGFyZ2V0PWZvbzInLiBOYXZpZ2F0aW9uIHdhcyBub3QgYWxsb3dlZCBkdWUgdG8gQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3kgaGVhZGVyLgotCi0KLVBBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1
Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PV90b3A+KSAKLVBBU1MgJ0Nyb3NzLU9yaWdpbi1XaW5k
b3ctUG9saWN5OiBhbGxvdy1wb3N0bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNy
b3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCi1QQVNTICdDcm9z
cy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdhdGlv
biBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikgCi1Q
QVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2aWdhdGlv
biBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50Pikg
Ci1QQVNTICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHBy
ZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0
YXJnZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93
JyBkb2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1l
ICh1c2luZyA8YSB0YXJnZXQ9X3BhcmVudD4pIAotUEFTUyAnQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Q
b2xpY3k6IGRlbnknIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZy
YW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCi1QQVNTICdDcm9zcy1PcmlnaW4tV2lu
ZG93LVBvbGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBj
cm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkgCi1QQVNT
ICdDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2
aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD13aW5k
b3dOYW1lPikgCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdp
bi13aW5kb3ctcG9saWN5L25hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS12aWEtYW5jaG9yLXRhcmdl
dC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kv
bmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjOWYwMWE4Y2JiMDlhMzgwZDJmYzYxODkxYzI3MDQ1ZGE5
Nzk3YzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvbmF2aWdhdGlvbi1m
cm9tLXN1YmZyYW1lLXZpYS1hbmNob3ItdGFyZ2V0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwx
MTkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgotPHRpdGxlPlRlc3RzIHRoYXQgJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5
OiBkZW55IC8gYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIGEgY3Jvc3Mtb3JpZ2luIGlmcmFt
ZSBmcm9tIG5hdmlnYXRpbmcgdXM8L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlscy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsKLSAgICByZXR1cm4gd2l0
aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/dmFsdWU9ZGVueSZ0YXJn
ZXQ9X3RvcCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewot
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdp
bmRvdy5vbm1lc3NhZ2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdh
dGVkIik7Ci0gICAgICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAg
ICB3aW5kb3cub25tZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAg
ICAgICAgICAgIH0sIDIwMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1Pcmln
aW4tV2luZG93LVBvbGljeTogZGVueScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9y
aWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPikiKTsKLQotcHJvbWlzZV90ZXN0
KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1m
cmFtZS5weT92YWx1ZT1hbGxvdy1wb3N0bWVzc2FnZSZ0YXJnZXQ9X3RvcCIsIGZhbHNlIC8qIGlz
Q3Jvc3NPcmlnaW4gKi8pLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0LnVu
cmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAgICAgICAgICB0
LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0g
bnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0sIDIwMCk7Ci0g
ICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxs
b3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3Vi
LWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9X3RvcD4pIik7Ci0KLXByb21pc2VfdGVzdCh0ID0+IHsK
LSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHk/
dmFsdWU9YWxsb3cmdGFyZ2V0PV90b3AiLCBmYWxzZSAvKiBpc0Nyb3NzT3JpZ2luICovKS50aGVu
KChyZXN1bHQpID0+IHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
Ci0gICAgICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKCkgPT4gewotICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdh
dGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fdG9wPiki
KTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRp
b24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1fcGFyZW50IiwgZmFs
c2UgLyogaXNDcm9zc09yaWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVy
biBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2Fn
ZSA9IHQudW5yZWFjaGVkX2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKLSAgICAg
ICAgICAgIHQuc3RlcF90aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRvdy5vbm1l
c3NhZ2UgPSBudWxsOwotICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSwg
MjAwKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9s
aWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2luIHN1Yi1mcmFt
ZSAodXNpbmcgPGEgdGFyZ2V0PV9wYXJlbnQ+KSIpOwotCi1wcm9taXNlX3Rlc3QodCA9PiB7Ci0g
ICAgcmV0dXJuIHdpdGhQb3B1cCgibmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5P3Zh
bHVlPWFsbG93LXBvc3RtZXNzYWdlJnRhcmdldD1fcGFyZW50IiwgZmFsc2UgLyogaXNDcm9zc09y
aWdpbiAqLykudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgo
cmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9IHQudW5yZWFjaGVk
X2Z1bmMoIlNob3VsZCBub3QgaGF2ZSBuYXZpZ2F0ZWQiKTsKLSAgICAgICAgICAgIHQuc3RlcF90
aW1lb3V0KCgpID0+IHsKLSAgICAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBudWxsOwot
ICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSwgMjAwKTsKLSAgICAgICAg
fSk7Ci0gICAgfSk7Ci19LCAiJ0Nyb3NzLU9yaWdpbi1XaW5kb3ctUG9saWN5OiBhbGxvdy1wb3N0
bWVzc2FnZScgcHJldmVudHMgbmF2aWdhdGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUg
KHVzaW5nIDxhIHRhcmdldD1fcGFyZW50PikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAg
IHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1
ZT1hbGxvdyZ0YXJnZXQ9X3BhcmVudCIsIGZhbHNlIC8qIGlzQ3Jvc3NPcmlnaW4gKi8pLnRoZW4o
KHJlc3VsdCkgPT4gewotICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsK
LSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoKSA9PiB7Ci0gICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOwotICAgICAgICAgICAgfTsgCi0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidD
cm9zcy1PcmlnaW4tV2luZG93LVBvbGljeTogYWxsb3cnIGRvZXMgbm90IHByZXZlbnQgbmF2aWdh
dGlvbiBmcm9tIGNyb3NzLW9yaWdpbiBzdWItZnJhbWUgKHVzaW5nIDxhIHRhcmdldD1fcGFyZW50
PikiKTsKLQotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmln
YXRpb24tZnJvbS1zdWJmcmFtZS1mcmFtZS5weT92YWx1ZT1kZW55JnRhcmdldD1mb28xIiwgZmFs
c2UgLyogaXNDcm9zc09yaWdpbiAqLywgImZvbzEiKS50aGVuKChyZXN1bHQpID0+IHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cu
b25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiU2hvdWxkIG5vdCBoYXZlIG5hdmlnYXRlZCIp
OwotICAgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICAgd2lu
ZG93Lm9ubWVzc2FnZSA9IG51bGw7Ci0gICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAg
ICAgICB9LCAyMDApOwotICAgICAgICB9KTsKLSAgICB9KTsgCi19LCAiJ0Nyb3NzLU9yaWdpbi1X
aW5kb3ctUG9saWN5OiBkZW55JyBwcmV2ZW50cyBuYXZpZ2F0aW9uIGZyb20gY3Jvc3Mtb3JpZ2lu
IHN1Yi1mcmFtZSAodXNpbmcgPGEgdGFyZ2V0PXdpbmRvd05hbWUpIik7Ci0KLXByb21pc2VfdGVz
dCh0ID0+IHsKLSAgICByZXR1cm4gd2l0aFBvcHVwKCJuYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUt
ZnJhbWUucHk/dmFsdWU9YWxsb3ctcG9zdG1lc3NhZ2UmdGFyZ2V0PWZvbzIiLCBmYWxzZSAvKiBp
c0Nyb3NzT3JpZ2luICovLCAiZm9vMiIpLnRoZW4oKHJlc3VsdCkgPT4gewotICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vbm1lc3Nh
Z2UgPSB0LnVucmVhY2hlZF9mdW5jKCJTaG91bGQgbm90IGhhdmUgbmF2aWdhdGVkIik7Ci0gICAg
ICAgICAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAgICAgICB3aW5kb3cub25t
ZXNzYWdlID0gbnVsbDsKLSAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0s
IDIwMCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIidDcm9zcy1PcmlnaW4tV2luZG93LVBv
bGljeTogYWxsb3ctcG9zdG1lc3NhZ2UnIHByZXZlbnRzIG5hdmlnYXRpb24gZnJvbSBjcm9zcy1v
cmlnaW4gc3ViLWZyYW1lICh1c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZSkiKTsKLQotcHJvbWlz
ZV90ZXN0KHQgPT4gewotICAgIHJldHVybiB3aXRoUG9wdXAoIm5hdmlnYXRpb24tZnJvbS1zdWJm
cmFtZS1mcmFtZS5weT92YWx1ZT1hbGxvdyZ0YXJnZXQ9Zm9vMyIsIGZhbHNlIC8qIGlzQ3Jvc3NP
cmlnaW4gKi8sICJmb28zIikudGhlbigocmVzdWx0KSA9PiB7Ci0gICAgICAgIHJldHVybiBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICAgICAgd2luZG93Lm9ubWVzc2FnZSA9ICgp
ID0+IHsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9OwotICAgICAg
ICB9KTsKLSAgICB9KTsKLX0sICInQ3Jvc3MtT3JpZ2luLVdpbmRvdy1Qb2xpY3k6IGFsbG93JyBk
b2VzIG5vdCBwcmV2ZW50IG5hdmlnYXRpb24gZnJvbSBjcm9zcy1vcmlnaW4gc3ViLWZyYW1lICh1
c2luZyA8YSB0YXJnZXQ9d2luZG93TmFtZT4pIik7Ci0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRv
dy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93LXBvc3Rt
ZXNzYWdlLXBvbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS1hbGxvdy1wb3N0
bWVzc2FnZS1wb25nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNjdkZDdm
NjBjMTRkNjJmY2QxNWE2Y2FjZWE2ODdiNGQwZjU4MzYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2lu
LXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWFsbG93
LXBvc3RtZXNzYWdlLXBvbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLTwh
RE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLTxzY3JpcHQ+Ci1hZGRFdmVudExpc3RlbmVy
KCdtZXNzYWdlJywgKG1zZykgPT4gewotICAgIGlmIChldmVudC5kYXRhID09PSAiUElORyIpCi0g
ICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgiUE9ORyIsICIqIik7Ci0gICAgfSk7Ci0g
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7Ci0gICAgICAgIGNvbnN0
IG93bmVyV2luZG93ID0gd2luZG93Lm9wZW5lciA/IHdpbmRvdy5vcGVuZXIgOiB3aW5kb3cudG9w
OwotICAgICAgICB0cnkgewotICAgICAgICAgICAgb3duZXJXaW5kb3cucG9zdE1lc3NhZ2UoIlJF
QURZIiwgIioiKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgeyB9Ci0gICAgfSk7Ci08L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3Nz
LW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4td2luZG93LXBvbGlj
eS1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVycyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS1hbGxvdy1wb3N0bWVzc2FnZS1wb25nLmh0bWwuaGVhZGVycwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjVlNjhiMmI5MTZmYjAxNTc0MzdhMmJiZjc1MzQwZTY5ZDA5
MDBlNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3ktYWxsb3ctcG9zdG1lc3NhZ2UtcG9uZy5odG1sLmhlYWRl
cnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1Dcm9zcy1PcmlnaW4tV2luZG93LVBvbGlj
eTogYWxsb3ctcG9zdG1lc3NhZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Ny
b3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9kZXN0aW5hdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Rl
c3RpbmF0aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1MTY4NzdiNDQ5
YWVjYWJlNWY4MGYxYzRiYmI2ODYwMmJiYTMxZTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdp
bmRvdy1wb2xpY3kvcmVzb3VyY2VzL2Rlc3RpbmF0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw3ICswLDAgQEAKLTxib2R5PgotREVTVElOQVRJT04KLTxzY3JpcHQ+Ci1pZiAod2luZG93Lm9w
ZW5lcikKLSAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCJuYXZpZ2F0ZWQiLCAiKiIpOwot
PC9zY3JpcHQ+Ci08L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtcGFyZW50LXZpYS1hbmNo
b3IuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5
L3Jlc291cmNlcy9uYXZpZ2F0ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2OGJhMGE3MzJlYTFlMDkwNzc1NjE1ODQ4ZmY3Y2ZjMTViZjYxMTFm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0
ZS1wYXJlbnQtdmlhLWFuY2hvci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAot
PCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08YSBpZD0idGVz
dEFuY2hvciI+Q2xpY2sgbWU8L2E+Ci08c2NyaXB0PgotY29uc3QgUkVTT1VSQ0VTX0RJUiA9ICIv
V2ViS2l0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy8iOwotb25sb2FkID0g
KCkgPT4gewotICAgIGxldCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNl
YXJjaCk7Ci0gICAgdGVzdEFuY2hvci50YXJnZXQ9IHBhcmFtcy5nZXQoJ3RhcmdldCcpCi0gICAg
dGVzdEFuY2hvci5ocmVmID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfT1JJR0lOICsgUkVTT1VSQ0VT
X0RJUiArICJkZXN0aW5hdGlvbi5odG1sIjsKLSAgICB0ZXN0QW5jaG9yLmNsaWNrKCk7Ci19Ci08
L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9uYXZpZ2F0aW9uLWZyb20t
c3ViZnJhbWUtZnJhbWUucHkgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9zcy1vcmlnaW4td2lu
ZG93LXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGlvbi1mcm9tLXN1YmZyYW1lLWZyYW1lLnB5CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTIxMGUwNmY0YjA2NzEzMDhhMWQwNzg2Zjg1
YTJjNWYxM2JiM2ExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291
cmNlcy9uYXZpZ2F0aW9uLWZyb20tc3ViZnJhbWUtZnJhbWUucHkKKysrIC9kZXYvbnVsbApAQCAt
MSwxNyArMCwwIEBACi1kZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgaGVhZGVycyA9
IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L2h0bWwiKSwKLSAgICAgICAgICAgICAgICgiQ3Jvc3Mt
T3JpZ2luLVdpbmRvdy1Qb2xpY3kiLCByZXF1ZXN0LkdFVFsndmFsdWUnXSksXQotICAgIHJldHVy
biAyMDAsIGhlYWRlcnMsICIiIjwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLWNvbnN0IFJFU09VUkNFU19ESVIgPSAiL1dlYktpdC9jcm9zcy1v
cmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvIjsKLWxldCBmID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaWZyYW1lIik7Ci1mLnNyYyA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9P
UklHSU4gKyBSRVNPVVJDRVNfRElSICsgIm5hdmlnYXRlLXBhcmVudC12aWEtYW5jaG9yLmh0bWw/
dGFyZ2V0PSVzIjsKLWRvY3VtZW50LmJvZHkucHJlcGVuZChmKTsKLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPiIiIiAlIHJlcXVlc3QuR0VUWyd0YXJnZXQnXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL3NlcnZl
LWNyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5LWhlYWRlci5weSBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L2Nyb3NzLW9yaWdpbi13aW5kb3ctcG9saWN5L3Jlc291cmNlcy9zZXJ2ZS1jcm9zcy1vcmln
aW4td2luZG93LXBvbGljeS1oZWFkZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGZmZTcwMTdiYTI5NWVlN2FiZDg0ZDc4MjI3YjBjMDcyMDhkMGE3MmMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jv
c3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3VyY2VzL3NlcnZlLWNyb3NzLW9yaWdpbi13aW5k
b3ctcG9saWN5LWhlYWRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLWRlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC1UeXBlIiwg
InRleHQvaHRtbCIpLAotICAgICAgICAgICAgICAgKCJDcm9zcy1PcmlnaW4tV2luZG93LVBvbGlj
eSIsIHJlcXVlc3QuR0VUWyd2YWx1ZSddKSxdCi0gICAgcmV0dXJuIDIwMCwgaGVhZGVycywgIiIi
VEVTVAotICAgICAgICA8aWZyYW1lIG5hbWU9InN1YmZyYW1lIj48L2lmcmFtZT4KLSAgICAgICAg
PHNjcmlwdD4KLSAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkg
PT4gewotICAgICAgICAgICAgICAgIGNvbnN0IG93bmVyV2luZG93ID0gd2luZG93Lm9wZW5lciA/
IHdpbmRvdy5vcGVuZXIgOiB3aW5kb3cudG9wOwotICAgICAgICAgICAgICAgIHRyeSB7Ci0gICAg
ICAgICAgICAgICAgICAgIG93bmVyV2luZG93LnBvc3RNZXNzYWdlKCJSRUFEWSIsICIqIik7Ci0g
ICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgeyB9Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
PC9zY3JpcHQ+Ci0gICAgIiIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jcm9z
cy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMvdXRpbHMuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyYmQ3YmU4MjVjYzBjNDgxZjEzNmU0Zjk0Mjk1
Y2UzNzRmYWFmZWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXdpbmRvdy1wb2xpY3kvcmVzb3Vy
Y2VzL3V0aWxzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUwICswLDAgQEAKLWNvbnN0IFJFU09V
UkNFU19ESVIgPSAiL1dlYktpdC9jcm9zcy1vcmlnaW4td2luZG93LXBvbGljeS9yZXNvdXJjZXMv
IjsKLQotZnVuY3Rpb24gaXNDcm9zc09yaWdpbldpbmRvdyh3KQotewotICAgIHRyeSB7Ci0gICAg
ICAgIHcubmFtZTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAg
IH0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JDcm9zc09y
aWdpbkxvYWQodykKLXsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKLSAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobXNnKSA9PiB7Ci0gICAg
ICAgICAgICBpZiAobXNnLnNvdXJjZSAhPSB3IHx8IG1zZy5kYXRhICE9ICJSRUFEWSIpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsK
LQotICAgICAgICBsZXQgaGFuZGxlID0gc2V0SW50ZXJ2YWwoKCkgPT4gewotICAgICAgICAgICAg
aWYgKGlzQ3Jvc3NPcmlnaW5XaW5kb3codykpIHsKLSAgICAgICAgICAgICAgICBjbGVhckludGVy
dmFsKGhhbmRsZSk7Ci0gICAgICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgICAgICAg
dy5wb3N0TWVzc2FnZTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIC8vIE5vIHBvaW50IGluIHdhaXRpbmcgZm9yICJSRUFEWSIgbWVzc2FnZSBmcm9t
IHdpbmRvdyBzaW5jZSBwb3N0TWVzc2FnZSBpcwotICAgICAgICAgICAgICAgICAgICAvLyBub3Qg
YXZhaWxhYmxlLgotICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9LCA1KTsKLSAgICB9KTsKLX0KLQotYXN5bmMg
ZnVuY3Rpb24gd2l0aElmcmFtZShyZXNvdXJjZUZpbGUsIGNyb3NzT3JpZ2luKQotewotICAgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICBsZXQgcmVzb3VyY2VVUkwg
PSBjcm9zc09yaWdpbiA/IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gOiBnZXRf
aG9zdF9pbmZvKCkuSFRUUF9PUklHSU47Ci0gICAgICAgIHJlc291cmNlVVJMICs9IFJFU09VUkNF
U19ESVI7Ci0gICAgICAgIHJlc291cmNlVVJMICs9IHJlc291cmNlRmlsZTsKLSAgICAgICAgbGV0
IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Ci0gICAgICAgIGZyYW1l
LnNyYyA9IHJlc291cmNlVVJMOwotICAgICAgICBpZiAoY3Jvc3NPcmlnaW4pIHsKLSAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgICAgICAgICAgd2FpdEZv
ckNyb3NzT3JpZ2luTG9hZChmcmFtZS5jb250ZW50V2luZG93KS50aGVuKCgpID0+IHsKLSAgICAg
ICAgICAgICAgICByZXNvbHZlKGZyYW1lKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7IHJlc29sdmUoZnJh
bWUpOyB9OwotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7Ci0g
ICAgICAgIH0KLSAgICB9KTsKLX0KLQotYXN5bmMgZnVuY3Rpb24gd2l0aFBvcHVwKHJlc291cmNl
RmlsZSwgY3Jvc3NPcmlnaW4sIHdpbmRvd05hbWUpCi17Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNl
KChyZXNvbHZlKSA9PiB7IAotICAgICAgICBsZXQgcmVzb3VyY2VVUkwgPSBjcm9zc09yaWdpbiA/
IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gOiBnZXRfaG9zdF9pbmZvKCkuSFRU
UF9PUklHSU47Ci0gICAgICAgIHJlc291cmNlVVJMICs9IFJFU09VUkNFU19ESVI7Ci0gICAgICAg
IHJlc291cmNlVVJMICs9IHJlc291cmNlRmlsZTsKLQotICAgICAgICBsZXQgdyA9IG9wZW4ocmVz
b3VyY2VVUkwsIHdpbmRvd05hbWUpOwotICAgICAgICBpZiAoY3Jvc3NPcmlnaW4pIHsKLSAgICAg
ICAgICAgIHdhaXRGb3JDcm9zc09yaWdpbkxvYWQodykudGhlbigoKSA9PiB7Ci0gICAgICAgICAg
ICAgICAgcmVzb2x2ZSh7ICd3aW5kb3cnOiB3IH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICB3Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKHsg
J3dpbmRvdyc6IHcgfSk7IH07Ci0gICAgICAgIH0KLSAgIH0pOwotfQotCi1jb25zdCBjcm9zc09y
aWdpblByb3BlcnR5TmFtZXMgPSBbICdibHVyJywgJ2Nsb3NlJywgJ2Nsb3NlZCcsICdmb2N1cycs
ICdmcmFtZXMnLCAnbGVuZ3RoJywgJ2xvY2F0aW9uJywgJ29wZW5lcicsICdwYXJlbnQnLCAncG9z
dE1lc3NhZ2UnLCAnc2VsZicsICd0b3AnLCAnd2luZG93JyBdOwotY29uc3QgZm9yYmlkZGVuUHJv
cGVydGllc0Nyb3NzT3JpZ2luID0gWyJuYW1lIiwgImRvY3VtZW50IiwgImhpc3RvcnkiLCAibG9j
YXRpb25iYXIiLCAic3RhdHVzIiwgImZyYW1lRWxlbWVudCIsICJuYXZpZ2F0b3IiLCAiYWxlcnQi
LCAibG9jYWxTdG9yYWdlIiwgInNlc3Npb25TdG9yYWdlIiwgImV2ZW50IiwgImZvbyIsICJiYXIi
XTsKLQotZnVuY3Rpb24gYXNzZXJ0X25vdF90aHJvd2luZyhmLCBtZXNzYWdlKQotewotICAgIHRy
eSB7Ci0gICAgICAgIGYoKTsKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGFzc2VydF91bnJl
YWNoZWQobWVzc2FnZSk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBjaGVja0Nyb3NzT3JpZ2luUHJv
cGVydGllc0FjY2Vzcyh3KQotewotICAgIGZvciAobGV0IGNyb3NzT3JpZ2luUHJvcGVydHlOYW1l
IG9mIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lcykKLSAgICAgICBhc3NlcnRfbm90X3Rocm93aW5n
KGZ1bmN0aW9uKCkgeyB3W2Nyb3NzT3JpZ2luUHJvcGVydHlOYW1lXTsgfSwgIkFjY2Vzc2luZyBw
cm9wZXJ0eSAnIiArIGNyb3NzT3JpZ2luUHJvcGVydHlOYW1lICsiJyBvbiBXaW5kb3cgc2hvdWxk
IG5vdCB0aHJvdyIpOwotICAgCi0gICAgYXNzZXJ0X2ZhbHNlKHcuY2xvc2VkLCAiJ2Nsb3NlZCcg
cHJvcGVydHkgdmFsdWUiKTsgCi0gICAgYXNzZXJ0X2VxdWFscyh3LmZyYW1lcywgdywgIidmcmFt
ZXMnIHByb3BlcnR5IHZhbHVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LnNlbGYsIHcsICInc2Vs
ZicgcHJvcGVydHkgdmFsdWUiKTsKLSAgICBhc3NlcnRfZXF1YWxzKHcud2luZG93LCB3LCAiJ3dp
bmRvdycgcHJvcGVydHkgdmFsdWUiKTsKLQotICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rp
b24oKSB7IHcuYmx1cigpOyB9LCAiQ2FsbGluZyBibHVyKCkgb24gV2luZG93IHNob3VsZCBzaG91
bGQgdGhyb3ciKTsKLSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LmZvY3Vz
KCk7IH0sICJDYWxsaW5nIGZvY3VzKCkgb24gV2luZG93IHNob3VsZCBzaG91bGQgdGhyb3ciKTsK
LSAgICBhc3NlcnRfbm90X3Rocm93aW5nKGZ1bmN0aW9uKCkgeyB3LnBvc3RNZXNzYWdlKCd0ZXN0
JywgJyonKTsgfSwgIkNhbGxpbmcgcG9zdE1lc3NhZ2UoKSBvbiBXaW5kb3cgc2hvdWxkIHNob3Vs
ZCB0aHJvdyIpOwotfQotCi1mdW5jdGlvbiB0ZXN0Q3Jvc3NPcmlnaW5PcHRpb24odywgaGVhZGVy
VmFsdWUsIGlzQ3Jvc3NPcmlnaW4pCi17Ci0gICAgaWYgKCFpc0Nyb3NzT3JpZ2luKSB7Ci0gICAg
ICAgIGNoZWNrQ3Jvc3NPcmlnaW5Qcm9wZXJ0aWVzQWNjZXNzKHcpOwotICAgICAgICBmb3IgKGxl
dCBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luIG9mIGZvcmJpZGRlblByb3BlcnRpZXNDcm9z
c09yaWdpbikKLSAgICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24oKSB7IGV2
YWwoIncuIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jvc3NPcmlnaW4pOyB9LCAiQWNjZXNzaW5nIHBy
b3BlcnR5ICciICsgZm9yYmlkZGVuUHJvcGVydHlDcm9zc09yaWdpbiArICInIG9uIFdpbmRvdyBz
aG91bGQgbm90IHRocm93Iik7Ci0gICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmcoZnVuY3Rpb24o
KSB7IHcuZm9vID0gMTsgfSwgIlNldHRpbmcgZXhwYW5kbyBwcm9wZXJ0eSBzaG91bGQgbm90IHRo
cm93Iik7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMody5mb28sIDEsICJleHBhbmRvIHByb3BlcnR5
IHZhbHVlIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBDcm9zcy1vcmlnaW4g
Y2FzZS4KLSAgICBmb3IgKGxldCBmb3JiaWRkZW5Qcm9wZXJ0eUNyb3NzT3JpZ2luIG9mIGZvcmJp
ZGRlblByb3BlcnRpZXNDcm9zc09yaWdpbikgewotICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGV2YWwoIncuIiArIGZvcmJpZGRlblByb3BlcnR5Q3Jv
c3NPcmlnaW4pOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgZm9yYmlkZGVuUHJvcGVydHlD
cm9zc09yaWdpbiArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3ciKTsKLSAgICAgICAgbGV0IGRl
c2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgZm9yYmlkZGVuUHJv
cGVydHlDcm9zc09yaWdpbik7Ci0gICAgICAgIGlmIChkZXNjICYmIGRlc2MudmFsdWUpCi0gICAg
ICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlc2Mu
dmFsdWUuY2FsbCh3KTsgfSwgIkNhbGxpbmcgZnVuY3Rpb24gJyIgKyBmb3JiaWRkZW5Qcm9wZXJ0
eUNyb3NzT3JpZ2luICsgIicgb24gV2luZG93IHNob3VsZCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZy
b20gb3RoZXIgd2luZG93KSIpOwotICAgICAgICBlbHNlIGlmIChkZXNjICYmIGRlc2MuZ2V0KQot
ICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9uKCkgeyBk
ZXNjLmdldC5jYWxsKHcpOyB9LCAiQWNjZXNzaW5nIHByb3BlcnR5ICciICsgZm9yYmlkZGVuUHJv
cGVydHlDcm9zc09yaWdpbiArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3cgKHVzaW5nIGdldHRl
ciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICB9Ci0gICAgYXNzZXJ0X3Rocm93cygiU2VjdXJp
dHlFcnJvciIsIGZ1bmN0aW9uKCkgeyB3LmZvbyA9IDE7IH0sICJTZXR0aW5nIGFuIGV4cGFuZG8g
cHJvcGVydHkgc2hvdWxkIHRocm93Iik7Ci0KLSAgICBpZiAoaGVhZGVyVmFsdWUgPT0gImRlbnki
IHx8IGhlYWRlclZhbHVlID09ICJhbGxvdy1wb3N0bWVzc2FnZSIpIHsKLSAgICAgICAgZm9yIChs
ZXQgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWUgb2YgY3Jvc3NPcmlnaW5Qcm9wZXJ0eU5hbWVzKSB7
Ci0gICAgICAgICAgICBpZiAoaGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNzYWdlIiAmJiBj
cm9zc09yaWdpblByb3BlcnR5TmFtZSA9PSAicG9zdE1lc3NhZ2UiKSB7Ci0gICAgICAgICAgICAg
ICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgd1tjcm9zc09yaWdpblByb3BlcnR5
TmFtZV07IH0sICJBY2Nlc3NpbmcgcHJvcGVydHkgJyIgKyBjcm9zc09yaWdpblByb3BlcnR5TmFt
ZSArIicgb24gV2luZG93IHNob3VsZCBub3QgdGhyb3ciKTsKLSAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGZ1bmN0aW9u
KCkgeyB3W2Nyb3NzT3JpZ2luUHJvcGVydHlOYW1lXTsgfSwgIkFjY2Vzc2luZyAnIiArIGNyb3Nz
T3JpZ2luUHJvcGVydHlOYW1lICsgIicgcHJvcGVydHkiKTsKLQotICAgICAgICAgICAgICAgIGxl
dCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csIGNyb3NzT3Jp
Z2luUHJvcGVydHlOYW1lKTsKLSAgICAgICAgICAgICAgICBpZiAoZGVzYyAmJiBkZXNjLnZhbHVl
KQotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwgZnVu
Y3Rpb24oKSB7IGRlc2MudmFsdWUuY2FsbCh3KTsgfSwgIkNhbGxpbmcgZnVuY3Rpb24gJyIgKyBj
cm9zc09yaWdpblByb3BlcnR5TmFtZSArICInIG9uIFdpbmRvdyBzaG91bGQgdGhyb3cgKHVzaW5n
IGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChk
ZXNjICYmIGRlc2MuZ2V0KQotICAgICAgICAgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IGRlc2MuZ2V0LmNhbGwodyk7IH0sICJBY2Nlc3Npbmcg
cHJvcGVydHkgJyIgKyBjcm9zc09yaWdpblByb3BlcnR5TmFtZSArICInIG9uIFdpbmRvdyBzaG91
bGQgdGhyb3cgKHVzaW5nIGdldHRlciBmcm9tIG90aGVyIHdpbmRvdykiKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgICAgICBpZiAoaGVhZGVyVmFsdWUgPT0gImFsbG93LXBvc3RtZXNz
YWdlIikgewotICAgICAgICAgICAgYXNzZXJ0X25vdF90aHJvd2luZyhmdW5jdGlvbigpIHsgdy5w
b3N0TWVzc2FnZSgndGVzdCcsICcqJyk7IH0sICJDYWxsaW5nIHBvc3RNZXNzYWdlKCkgb24gV2lu
ZG93IHNob3VsZCBub3QgdGhyb3ciKTsKLSAgICAgICAgICAgIGFzc2VydF9ub3RfdGhyb3dpbmco
ZnVuY3Rpb24oKSB7IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAncG9z
dE1lc3NhZ2UnKS52YWx1ZS5jYWxsKHcsICd0ZXN0JywgJyonKTsgfSwgIkNhbGxpbmcgcG9zdE1l
c3NhZ2UoKSBvbiBXaW5kb3cgc2hvdWxkIG5vdCB0aHJvdyAodXNpbmcgZ2V0dGVyIGZyb20gb3Ro
ZXIgd2luZG93KSIpOwotICAgICAgICB9Ci0KLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhP
YmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3KS5zb3J0KCksIGhlYWRlclZhbHVlID09ICJhbGxv
dy1wb3N0bWVzc2FnZSIgPyBbJ3Bvc3RNZXNzYWdlJ10gOiBbXSwgIk9iamVjdC5nZXRPd25Qcm9w
ZXJ0eU5hbWVzKCkiKTsKLQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3KS5zb3J0KCksIGNyb3NzT3Jp
Z2luUHJvcGVydHlOYW1lcy5zb3J0KCksICJPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIik7
Ci0gICAgY2hlY2tDcm9zc09yaWdpblByb3BlcnRpZXNBY2Nlc3Modyk7Ci19Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>