<?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>192035</bug_id>
          
          <creation_ts>2018-11-27 14:13:50 -0800</creation_ts>
          <short_desc>Resync service-workers web platform tests from upstream</short_desc>
          <delta_ts>2018-11-27 17:16:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</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>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1482117</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-27 14:13:50 -0800</bug_when>
    <thetext>Resync service-workers web platform tests from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482122</commentid>
    <comment_count>1</comment_count>
      <attachid>355779</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-27 14:16:28 -0800</bug_when>
    <thetext>Created attachment 355779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482127</commentid>
    <comment_count>2</comment_count>
      <attachid>355779</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-27 14:26:11 -0800</bug_when>
    <thetext>Comment on attachment 355779
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=355779&amp;action=review

&gt; LayoutTests/imported/w3c/ChangeLog:459
&gt; +        * web-platform-tests/service-workers/w3c-import.log:

When resyncing, I usually just write a shorter log, something like:
web-platform-tests/service-workers: Refreshed


&gt; LayoutTests/imported/w3c/resources/import-expectations.json:308
&gt;      &quot;web-platform-tests/service-workers/tools&quot;: &quot;import&quot;, 

We can remove these 3 lines if we import all service-workers folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482130</commentid>
    <comment_count>3</comment_count>
      <attachid>355783</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-27 14:31:43 -0800</bug_when>
    <thetext>Created attachment 355783
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482269</commentid>
    <comment_count>4</comment_count>
      <attachid>355783</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 17:15:05 -0800</bug_when>
    <thetext>Comment on attachment 355783
Patch

Clearing flags on attachment: 355783

Committed r238592: &lt;https://trac.webkit.org/changeset/238592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482270</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 17:15:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482272</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-27 17:16:36 -0800</bug_when>
    <thetext>&lt;rdar://problem/46295069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355779</attachid>
            <date>2018-11-27 14:16:28 -0800</date>
            <delta_ts>2018-11-27 14:31:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192035-20181127141627.patch</filename>
            <type>text/plain</type>
            <size>965441</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTY1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTk3NDkxYzc1ZjIzZjZiZTEzODQx
NmYzMWQ3MzBkMjk2OTZjOWQ5ZS4uNTc2ZjA1OTJmNmYxMjY2NjU2NTg5ZmYxMWYxZWFhNzYwYjQw
Yjk5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTExLTI3ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHNlcnZpY2Utd29ya2VycyB3ZWIgcGxh
dGZvcm0gdGVzdHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMDM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHRlc3RzLW9w
dGlvbnMuanNvbjoKKwogMjAxOC0xMS0xNiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIERpc2FsbG93IGxvYWRpbmcgd2ViYXJjaGl2ZXMgYXMgaWZyYW1lcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNTIwNTk1OTU5NzQ1MTNkNGQzMTA3Njhh
MTU2NzA3ZTYzODg1MmY5Ni4uYTBiMTgxZTNmZTA4MDdkOTRmM2FlZTkwNTQzN2VjZmEyMGQ5MWI1
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYzIEBACisyMDE4
LTExLTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5j
IHNlcnZpY2Utd29ya2VycyB3ZWIgcGxhdGZvcm0gdGVzdHMgZnJvbSB1cHN0cmVhbQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMDM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVzeW5jIHNlcnZpY2Ut
d29ya2VycyB3ZWIgcGxhdGZvcm0gdGVzdHMgZnJvbSB1cHN0cmVhbSA3MzUwN2E3OWZjLgorCisg
ICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zZXJ2aWNlLXdvcmtlcnMuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL01FVEEueW1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL09XTkVS
UzogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2UvTUVUQS55bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9PV05FUlM6IFJlbW92ZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jl
c291cmNlcy9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9yLXNlcnZpY2Utd29ya2VyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGV2ZW50LnBhcmFtcy5oYXMpOgorICAgICAgICAoZXZlbnQuZXZlbnQucmVz
cG9uZFdpdGguUHJvbWlzZS5yZXNvbHZlLnRoZW4uYXN5bmMpOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvdmFyeS5w
eTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS9zY3JpcHQtdGVzdHMvY2FjaGUtYWJvcnQuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QubWV0
aG9kc1RvVGVzdC5wdXQuYXN5bmMpOgorICAgICAgICAoY29uc3QubWV0aG9kLmluLm1ldGhvZHNU
b1Rlc3QuY2FjaGVfdGVzdC5hc3luYyk6CisgICAgICAgIChjb25zdC5tZXRob2QuaW4ubWV0aG9k
c1RvVGVzdC5yZXR1cm4ucHJvbWlzZV9yZWplY3RzKToKKyAgICAgICAgKGNvbnN0Lm1ldGhvZC5p
bi5tZXRob2RzVG9UZXN0LnJldHVybi5mZXRjaCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1hZGQu
anM6CisgICAgICAgIChjYWNoZV90ZXN0LmFzeW5jKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWtl
eXMuanM6CisgICAgICAgIChyZXR1cm4uY2FjaGUua2V5cy50aGVuKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3Rz
L2NhY2hlLW1hdGNoLmpzOgorICAgICAgICAoY2FjaGVfdGVzdC5hc3luYyk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10
ZXN0cy9jYWNoZS1zdG9yYWdlLW1hdGNoLmpzOgorICAgICAgICAocHJvbWlzZV90ZXN0KToKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
c2NyaXB0LXRlc3RzL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWFib3J0
Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQu
aHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9yLXNlcnZp
Y2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2Fj
aGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vydmlj
ZXdvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIv
dzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWJvcnQu
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWFib3J0Lmh0dHBzLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLW1hdGNoLmh0dHBz
Lmh0bWwuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hYm9ydC5odHRwcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUta2V5cy5o
dHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3dvcmtlci93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2VyLUFsbG93ZWQt
aGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNlLVdvcmtlci1BbGxv
d2VkLWhlYWRlci5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS9yZXNvdXJjZXMvdW5yZWdpc3Rlci1jb250cm9sbGluZy13b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlL3czYy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmst
cmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1l
bnQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2YXRpb24tYWZ0ZXItcmVnaXN0cmF0aW9uLmh0dHBzLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9hY3RpdmF0aW9uLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmUuaHR0cHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvYWN0aXZlLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hcHBjYWNoZS1vcmRlcmluZy1tYWluLmh0
dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9jbGFpbS13b3JrZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xhaW0td29ya2VyLWZldGNoLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtaWQuaHR0cHMuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQuaHR0cHMuaHRtbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVu
dHMtbWF0Y2hhbGwtZXhhY3QtY29udHJvbGxlci5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGll
bnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0
Y2hhbGwtaW5jbHVkZS11bmNvbnRyb2xsZWQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hh
bGwtb3JkZXIuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwuaHR0cHMuaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NvbnRyb2xsZXItb24tZGlzY29ubmVjdC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1s
b2FkLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jb250cm9sbGVyLXdpdGgtbm8tZmV0Y2gtZXZlbnQtaGFuZGxl
ci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci13aXRoLW5vLWZldGNo
LWV2ZW50LWhhbmRsZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZWRpY2F0ZWQtd29ya2VyLXNl
cnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZGVkaWNhdGVkLXdvcmtlci1zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9kZXRhY2hlZC1jb250ZXh0Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9lbWJlZC1hbmQtb2Jq
ZWN0LWFyZS1ub3QtaW50ZXJjZXB0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Vt
YmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZC5odHRwcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2V4dGVuZGFibGUtZXZlbnQtYXN5bmMtd2FpdHVudGlsLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2V4dGVuZGFibGUtZXZlbnQtYXN5bmMtd2FpdHVudGlsLmh0dHBzLmh0bWw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRh
YmxlLWV2ZW50LXdhaXR1bnRpbC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtYXVkaW8tdGFpbnRpbmcu
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWF1ZGlvLXRhaW50aW5nLmh0dHBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWNhY2hlLmh0dHBzLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1jYWNoZS5odHRwcy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJsZS13cml0ZS5odHRw
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJsZS13
cml0ZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1pbWFnZS1j
YWNoZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5n
LWltYWdlLWNhY2hlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5n
LWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRp
bmctaW1hZ2UuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlk
ZW8tY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWlu
dGluZy12aWRlby1jYWNoZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWlu
dGluZy12aWRlby13aXRoLXJhbmdlLXJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby13aXRoLXJhbmdlLXJlcXVlc3QuaHR0cHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8uaHR0cHMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby5odHRwcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy5odHRwcy1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0cHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1jb3JzLXhoci5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9y
eS1iYWNrd2FyZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWV2ZW50LWlzLWhpc3RvcnktZm9yd2FyZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWV2ZW50LWlzLXJlbG9hZC1pZnJhbWUtbmF2aWdhdGlvbi1tYW51YWwu
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LWlzLXJlbG9hZC1pZnJh
bWUtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1p
cy1yZWxvYWQtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1l
dmVudC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZWRpcmVj
dC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVmZXJyZXItcG9saWN5Lmh0dHBzLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3Bv
bnNlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRh
YmxlLXN0cmVhbS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdp
dGgtcmVhZGFibGUtc3RyZWFtLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZnJhbWUtcmVz
b3VyY2UuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWhlYWRlci12aXNpYmlsaXR5Lmh0dHBzLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1iYXNlLXVybC5odHRwcy5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVx
dWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2suaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2suaHR0cHMu
aHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLmh0
dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtaW1hZ2VzLmh0dHBzLmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1u
by1mcmVzaG5lc3MtaGVhZGVycy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0
LW5vLWZyZXNobmVzcy1oZWFkZXJzLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXJlc291
cmNlcy5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHItc3luYy1vbi13b3JrZXIuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29y
a2VyLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHItc3luYy5odHRwcy5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXhoci5odHRw
cy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtd2FpdHMtZm9yLWFjdGl2YXRlLmh0dHBzLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRy
ZWdpc3RyYXRpb24uaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMtcmVkaXJlY3QtYW5kLXJl
Z2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMtcmVkaXJlY3QtYW5k
LXJlZ2lzdGVyLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtbW9kdWxlLXNjcmlwdHMuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMuaHR0cHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWcuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1w
b3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbnN0YWxsaW5nLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2luc3RhbGxpbmcuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludGVyZmFjZXMt
c3cuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW50ZXJmYWNlcy13aW5kb3cuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW50ZXJmYWNlcy13aW5kb3cuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtYmxv
YnR5cGUuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtaGVhZGVyLmh0dHBzLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pc28t
bGF0aW4xLWhlYWRlci5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxl
ci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJv
bGxlci5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvY3VycmVudC93M2MtaW1w
b3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvaW5jdW1iZW50L3czYy1pbXBvcnQubG9nOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
bXVsdGktZ2xvYmFscy9yZWxldmFudC93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMv
dzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBhcnQtaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL211bHRpcGFydC1pbWFnZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRl
LXdpbmRvdy5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL2Jyb2tlbi1jaHVua2Vk
LWVuY29kaW5nLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvbmF2aWdhdGlvblBy
ZWxvYWQuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2Ut
dGltaW5nLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2Jyb2tl
bi1jaHVua2VkLWVuY29kaW5nLXdvcmtlci5qczoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNv
dXJjZXMvY2h1bmtlZC1lbmNvZGluZy1zY29wZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2
aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy9lbXB0eS1wcmVsb2FkLXJlc3BvbnNlLWJvZHktc2Nv
cGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL3Jlc291cmNl
LXRpbWluZy13b3JrZXIuanM6CisgICAgICAgIChhc3luYy53YWl0X2Zvcl9wZXJmb3JtYW5jZV9l
bnRyaWVzKToKKyAgICAgICAgKGV2ZW50LmVuY29kZWRCb2R5U2l6ZS5oZWFkZXJzKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25h
dmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9u
LXByZWxvYWQvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXJlZGlyZWN0Lmh0dHBzLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9uYXZpZ2F0aW9uLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
bmF2aWdhdGlvbi10aW1pbmcuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9vbmFjdGl2YXRlLXNjcmlw
dC1lcnJvci5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJvbS13YWl0aW5nLXNlcnZpY2V3
b3JrZXIuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC1tZXNzYWdlLXF1ZXVl
Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS10by1jbGllbnQtbWVz
c2FnZS1xdWV1ZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC5o
dHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1l
c3NhZ2UuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJlci5odHRw
cy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5LWhlYWRlci5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZWZlcnJlci1wb2xpY3ktaGVhZGVyLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tZXZl
bnRzLmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24taWZyYW1lLmh0dHBzLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWdpc3RyYXRpb24tbWltZS10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRp
b24tc2NvcGUuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC11cmwu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNlY3VyaXR5LWVycm9yLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zZXJ2aWNlLXdvcmtlci1hdHRyaWJ1dGVz
Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tdXBkYXRldmlhY2FjaGUuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXVwZGF0ZXZpYWNhY2hlLmh0dHBzLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZS10aW1pbmctY3Jvc3Mtb3JpZ2luLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZS10aW1pbmctY3Jvc3Mtb3JpZ2luLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2UtdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlLXRpbWluZy5odHRw
cy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LWJsYW5rLWR5bmFt
aWMtbmVzdGVkLWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJl
cGxhY2VtZW50LWJsYW5rLW5lc3RlZC1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9h
Ym91dC1ibGFuay1yZXBsYWNlbWVudC1waW5nLWZyYW1lLnB5OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0
LWJsYW5rLXJlcGxhY2VtZW50LXBvcHVwLWZyYW1lLnB5OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJs
YW5rLXJlcGxhY2VtZW50LXNyY2RvYy1uZXN0ZWQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvY2xhaW0tbmVzdGVkLXdvcmtlci1mZXRjaC1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvY2xhaW0tbmVzdGVkLXdvcmtlci1mZXRjaC1wYXJlbnQtd29ya2VyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKHRyeS5zZWxmLm9ubWVzc2FnZSk6CisgICAgICAgICh0cnkud29ya2VyLm9u
bWVzc2FnZSk6CisgICAgICAgIChjYXRjaCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xhc3NpYy13b3JrZXIu
anM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanM6CisgICAg
ICAgIChpbXBvcnRTY3JpcHRzLnN0cmluZ19hcHBlYXJlZF9oZXJlLmltcG9ydFNjcmlwdHMuc3Ry
aW5nX2FwcGVhcmVkX2hlcmUuc2VsZi5vbmZldGNoKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdl
dC1jcm9zcy1vcmlnaW4tZnJhbWUuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1yZXN1
bHRpbmdDbGllbnRJZC13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMuZ2V0VGVzdGlu
Z1BhZ2UpOgorICAgICAgICAoYXN5bmMuZGVzdHJveVJlc3VsdGluZ0NsaWVudCk6CisgICAgICAg
IChhc3luYyk6CisgICAgICAgIChlLmUud2FpdFVudGlsLmFzeW5jKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9j
bGllbnRzLWdldC13b3JrZXIuanM6CisgICAgICAgIChzZWxmLm9uZmV0Y2gpOgorICAgICAgICAo
c2VsZi5vbm1lc3NhZ2UpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NvcnMtYXBwcm92ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9jb3JzLWFwcHJvdmVkLnR4dC5oZWFkZXJzOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9jb3JzLWRlbmllZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13
b3JrZXItaW50ZXJjZXB0b3IuanM6CisgICAgICAgIChzZWxmLm9uZmV0Y2gpOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJjZXB0b3IuanMuaGVhZGVyczogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZC13b3JrZXIuanM6
IEFkZGVkLgorICAgICAgICAoZS5lLnJlcXVlc3QudXJsLmluZGV4T2YpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2VtYmVkLWltYWdlLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZW1iZWQtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2VtYmVkZGVkLWNvbnRlbnQtZnJvbS1zZXJ2aWNlLXdvcmtlci5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9lbmFibGUtY2xpZW50LW1lc3NhZ2UtcXVldWUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk6CisgICAgICAgIChtYWluKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLXdvcmtlci5q
czogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWlmcmFtZS5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qczogQWRkZWQuCisg
ICAgICAgIChjYW52YXNfdGFpbnRfdGVzdCk6CisgICAgICAgIChkb19jYW52YXNfdGFpbnRpbmdf
dGVzdHMuKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLXdv
cmtlci5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtbmV0d29yay1mYWxsYmFj
ay13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0
aC1jdXN0b20tcmVzcG9uc2Utd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKGV2ZW50LmVsc2Up
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0t
aWZyYW1lLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13
aXRoLXJlYWRhYmxlLXN0cmVhbS13b3JrZXIuanM6CisgICAgICAgIChldmVudC51cmwuc2VhcmNo
UGFyYW1zLmhhcyk6CisgICAgICAgIChldmVudC5jb25zdC5zdHJlYW0ubmV3LlJlYWRhYmxlU3Ry
ZWFtLnN0YXJ0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qczoKKyAg
ICAgICAgKGhhbmRsZVJlc3VsdGluZ0NsaWVudElkKToKKyAgICAgICAgKGhhbmRsZUlzUmVsb2Fk
TmF2aWdhdGlvbik6CisgICAgICAgIChoYW5kbGVJc0hpc3RvcnlOYXZpZ2F0aW9uKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay1pZnJhbWUu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1j
aGVjay13b3JrZXIuanM6IFJlbW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3Mt
Y3Jvc3Mtb3JpZ2luLXJlYWQtY29udGVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLXdvcmtlci5qczogQWRkZWQuCisgICAgICAgIChh
ZGRfcGlwZV9oZWFkZXIpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNz
LWhlYWRlcnMtaWZyYW1lLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1uby1mcmVz
aG5lc3MtaGVhZGVycy1zY3JpcHQucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtcmVxdWVzdC1yZWRpcmVjdC1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1yZXF1ZXN0LXhoci1pZnJhbWUuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1y
ZXF1ZXN0LXhoci1zeW5jLW9uLXdvcmtlci13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAoc2Vs
Zi5vbmZldGNoKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci13b3JrZXIuanM6Cisg
ICAgICAgIChldmVudC5yZXNwb25kV2l0aC5uZXcuUHJvbWlzZSk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtcmV3cml0ZS13b3JrZXIuanM6CisgICAgICAgIChldmVudC5yZXNwb25kV2l0aC5uZXcuUHJv
bWlzZS4pOgorICAgICAgICAoZXZlbnQucmVzcG9uZFdpdGgubmV3LlByb21pc2UpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2h0dHAtdG8taHR0cHMtcmVkaXJlY3QtYW5kLXJlZ2lzdGVyLWlmcmFtZS5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2lmcmFtZS13aXRoLWltYWdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMtd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKGlt
cG9ydFNjcmlwdHNXaXRoTWltZVR5cGUpOgorICAgICAgICAoY29uc3QubWltZVR5cGUub2YuYmFk
TWltZVR5cGVzLnRlc3QpOgorICAgICAgICAoY29uc3QubWltZVR5cGUub2YudmFsaWRNaW1lVHlw
ZXMudGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLXdvcmtl
ci5qczoKKyAgICAgICAgKHRlc3RfaW1wb3J0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnRlZC1jbGFz
c2ljLXNjcmlwdC5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtbW9kdWxlLXNjcmlw
dC5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW5zdGFsbC13b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxzLmpzOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lu
dGVyZmFjZXMtd29ya2VyLnN1Yi5qczoKKyAgICAgICAgKHByb21pc2VfdGVzdC5hc3luYyk6Cisg
ICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVy
LWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2xvY2FsLXVybC1pbmhlcml0LWNvbnRy
b2xsZXItd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKGV2dC5ldnQucmVxdWVzdC51cmwuaW5j
bHVkZXMpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL21hbGZvcm1lZC1odHRwLXJlc3BvbnNlLmFzaXM6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL21lc3NhZ2UtdnMtbWljcm90YXNrLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL21vZHVsZS13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL211bHRpcGFydC1p
bWFnZS1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdv
cmtlci5qczogQWRkZWQuCisgICAgICAgIChldmVudC51cmwuaW5kZXhPZik6CisgICAgICAgIChl
dmVudC5lbHNlLnVybC5pbmRleE9mKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UucHk6
IEFkZGVkLgorICAgICAgICAoY3JlYXRlX3BhcnQpOgorICAgICAgICAobWFpbik6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1vdGhlci1vcmlnaW4uaHRtbDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW91dC1zY29wZS5weToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0
aW9uLXJlZGlyZWN0LXNjb3BlMS5weToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0
LXNjb3BlMi5weToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXRpbWluZy13b3JrZXIuanM6IEFk
ZGVkLgorICAgICAgICAoZXZlbnQudXJsLmluZGV4T2YpOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25lc3RlZC1p
ZnJhbWUtcGFyZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25lc3RlZF9sb2FkX3dvcmtl
ci5qczogQWRkZWQuCisgICAgICAgIChzZWxmLm9ubWVzc2FnZSk6CisgICAgICAgICh3b3JrZXIu
b25tZXNzYWdlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vYmplY3QtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVk
LWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vYmplY3QtaXMtbm90LWludGVyY2Vw
dGVkLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLXRocm91Z2gtd29ya2Vy
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
cGVyZm9ybWFuY2UtdGltZWxpbmUtd29ya2VyLmpzOgorICAgICAgICAocHJvbWlzZV90ZXN0Lik6
CisgICAgICAgIChwcm9taXNlX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bvc3RtZXNzYWdlLWRpY3Rp
b25hcnktdHJhbnNmZXJhYmxlcy13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAobWVzc2FnZUhh
bmRsZXIpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3JhbmdlLXJlcXVlc3QtdG8tZGlmZmVyZW50LW9yaWdpbnMt
d29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKGlzX2luaXRpYWxfcmVxdWVzdCk6CisgICAgICAg
IChlLnVybC5zZWFyY2guaW5kZXhPZik6CisgICAgICAgIChlLmlzX2luaXRpYWxfcmVxdWVzdCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvcmFuZ2UtcmVxdWVzdC13aXRoLWRpZmZlcmVudC1jb3JzLW1vZGVzLXdv
cmtlci5qczogQWRkZWQuCisgICAgICAgIChpc19pbml0aWFsX3JlcXVlc3QpOgorICAgICAgICAo
ZS51cmwuc2VhcmNoLmluZGV4T2YpOgorICAgICAgICAoZS5pc19pbml0aWFsX3JlcXVlc3QpOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXdvcmtlci5qczoKKyAgICAgICAgKGFzeW5jLmdldFJlcXVl
c3RJbmZvcyk6CisgICAgICAgIChhc3luYy5nZXRDbGllbnRzKToKKyAgICAgICAgKGFzeW5jKToK
KyAgICAgICAgKHdhaXRVbnRpbFByb21pc2UuY2FjaGVzLm9wZW4uY2FjaGVOYW1lLnRoZW4pOgor
ICAgICAgICAoZXZlbnQucmVzcG9uZFdpdGgud2FpdFVudGlsUHJvbWlzZS50aGVuLmFzeW5jKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24tdGVzdHMtbWltZS10eXBlcy5qczoKKyAgICAgICAg
KHJlZ2lzdHJhdGlvbl90ZXN0c19taW1lX3R5cGVzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRp
b24tdGVzdHMtc2NvcGUuanM6CisgICAgICAgIChyZWdpc3RyYXRpb25fdGVzdHNfc2NvcGUpOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3JlZ2lzdHJhdGlvbi10ZXN0cy1zY3JpcHQtdXJsLmpzOgorICAgICAgICAo
cmVnaXN0cmF0aW9uX3Rlc3RzX3NjcmlwdF91cmwpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJhdGlv
bi10ZXN0cy1zZWN1cml0eS1lcnJvci5qczoKKyAgICAgICAgKHJlZ2lzdHJhdGlvbl90ZXN0c19z
ZWN1cml0eV9lcnJvcik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWlmcmFtZS5zdWIu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctd29ya2VyLmpzOgorICAgICAgICAo
ZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZik6CisgICAgICAgIChlbHNlLmV2ZW50LnJlcXVlc3Qu
dXJsLmluZGV4T2YpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQt
aWZyYW1lLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC1p
ZnJhbWUucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVk
LWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanM6CisgICAgICAgIChldmVudC53YWl0VW50aWwu
c2VsZi5jbGllbnRzLm1hdGNoQWxsLnRoZW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS9yZWRpcmVj
dC5weTogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUxL3czYy1pbXBvcnQubG9nOiBDb3BpZWQg
ZnJvbSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlL3czYy1pbXBvcnQubG9nLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS93M2MtaW1wb3J0LmxvZy4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
Y29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWhlYWRlci5weTogQWRkZWQuCisgICAgICAgICht
YWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tZHluYW1pYy1p
bXBvcnQtd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRl
cmNlcHRpb24tbmV0d29yay13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NlcnZpY2Ut
d29ya2VyLWludGVyY2VwdGlvbi1zZXJ2aWNlLXdvcmtlci5qczogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUtaW50ZXJjZXB0LXdvcmtlci5qcy5oZWFkZXJzOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9za2lwLXdhaXRpbmctaW5zdGFsbGVkLXdvcmtlci5qczoKKyAg
ICAgICAgKGV2ZW50LndhaXRVbnRpbC5zZWxmLnNraXBXYWl0aW5nLnRoZW4pOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NxdWFyZS5wbmcuc3ViLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N0YWxsaW5n
LXNlcnZpY2Utd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzeW5jLnBvc3RfbWVzc2FnZV90
b19jbGllbnQpOgorICAgICAgICAoYXN5bmMucG9zdF9tZXNzYWdlX3RvX2NoaWxkKToKKyAgICAg
ICAgKHBpbmdfbWVzc2FnZSk6CisgICAgICAgIChhc3luYy5wb3N0X21lc3NhZ2VfdG9fcGFyZW50
KToKKyAgICAgICAgKGZldGNoX21lc3NhZ2UpOgorICAgICAgICAocmVwb3J0X2ZldGNoX3JlcXVl
c3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM6CisgICAgICAgICh3YWl0X2Zv
cl9zdGF0ZSk6CisgICAgICAgIChhc3luYy53YWl0X2Zvcl9hY3RpdmF0aW9uX29uX2R1bW15X3Nj
b3BlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtZHVyaW5nLWluc3RhbGxhdGlvbi13b3JrZXIuanM6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1taXNzaW5nLWltcG9ydC1zY3JpcHRzLWltcG9y
dGVkLXdvcmtlci5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRh
dGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy1tYWluLXdvcmtlci5weTogQWRkZWQuCisgICAgICAg
IChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5weTog
QWRkZWQuCisgICAgICAgIChjbGFzc2ljX3NjcmlwdCk6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlL3cz
Yy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZV9zaGVsbC5weTogQWRkZWQuCisgICAg
ICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy92dHQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvdzNjLWltcG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWNsaWVudC1pZC13b3Jr
ZXIuanM6IEFkZGVkLgorICAgICAgICAoZXZ0LmV2dC5yZXF1ZXN0LnVybC5pbmNsdWRlcyk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvd29ya2VyLWZldGNoaW5nLWNyb3NzLW9yaWdpbi5qczogQWRkZWQuCisgICAg
ICAgIChldmVudC5ldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3Jr
ZXItaW50ZXJjZXB0aW9uLWlmcmFtZS5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1p
bnRlcmNlcHRpb24tcmVkaXJlY3Qtc2VydmljZXdvcmtlci5qczogQWRkZWQuCisgICAgICAgIChl
dnQuZXZ0LnJlcXVlc3QudXJsLmluZGV4T2YpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1pbnRlcmNl
cHRpb24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKHNlbGYub25jb25u
ZWN0LmFzeW5jKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItdGVzdGhhcm5lc3MuanM6CisgICAgICAg
IChjcmVhdGVfdGVtcG9yYXJ5X2NhY2hlKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXJfaW50ZXJjZXB0
aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Nh
bmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2Vy
LWhlYWRlci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItaGVh
ZGVyLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVjdC1zY3JpcHR1cmwu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0
cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvc2tpcC13YWl0aW5nLXdpdGhvdXQtdXNpbmctcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3N5bmNlZC1zdGF0ZS5odHRwcy5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvdW5jb250cm9sbGVkLXBhZ2UuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1uZXctc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1y
ZWdpc3Rlci1uZXctc2NyaXB0Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0
ZXIuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0
dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1yZWRpcmVjdC5odHRwcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tcmVkaXJlY3QuaHR0
cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMuaHR0
cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbm90LWFsbG93ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3VwZGF0ZS1ub3QtYWxsb3dlZC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1yZWNvdmVyeS5odHRwcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5
cGUuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWdpc3RyYXRpb24td2l0
aC10eXBlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlc3VsdC5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlc3VsdC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3cz
Yy1pbXBvcnQubG9nOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93YWl0aW5n
Lmh0dHBzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci93ZWJzb2NrZXQuaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnZ0dC1jcm9zcy1v
cmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnZ0dC1jcm9zcy1vcmlnaW4u
aHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci93aW5kb3djbGllbnQtbmF2aWdhdGUuaHR0cHMuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1jbGllbnQtaWQuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlm
cmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbi1zYW5kYm94ZWQtaWZyYW1lLWJ5LWNzcC1mZXRjaC1ldmVudC5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24uaHR0cHMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3Rvb2xzL2JsaW5rLWltcG9ydC5weToKKyAgICAgICAgKG1haW4pOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvdzNjLWlt
cG9ydC5sb2c6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy93
M2MtaW1wb3J0LmxvZzoKKwogMjAxOC0xMS0yNyAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5k
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIGFsaWduLXNlbGYgY2VudGVyIGFu
ZCBwb3NpdGlvbiBzdGlja3kgZG9uJ3Qgd29yayB0b2dldGhlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggNTNiNzg4MzIyNGM0Y2IwZTk1NzE4OWM0MTMzNmNiMmMxOGRiNDQxOS4uMjIxNjJjOTE5YWQy
MDc5MWNkNmViODM4YjEyOTk4MjY1Yzk0M2FjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNzgs
NiArMTc4LDI4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VjdXJlLWNvbnRl
eHRzL3NoYXJlZC13b3JrZXItc2VjdXJlLWZpcnN0Lmh0dHBzCiAjIFBlciBzcGVjaWZpY2F0aW9u
LCBpZiB0aGUgc2NyaXB0cyBhcmUgaWRlbnRpY2FsLCB3ZSBkbyBub3QgaW5zdGFsbCB0aGUgbmV3
IHNjcmlwdCBhbmQgcmV0dXJuIHRoZSBleGlzdGluZyByZWdpc3RyYXRpb24uCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBv
cnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy5odG1sIFsgU2tpcCBdCiAKKyMgTmV3bHkgaW1wb3J0
ZWQgc2VydmljZSB3b3JrZXIgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dC4KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vydmlj
ZXdvcmtlci9jYWNoZS1hYm9ydC5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1hYm9ydC5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hYm9ydC5odHRw
cy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJjZXB0
ZWQuaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWltYWdl
LWNhY2hlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12
aWRlby1jYWNoZS5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRp
bmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0Lmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWNhbnZhcy10YWludGluZy12aWRlby5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1taXhlZC1jb250ZW50LXRvLWluc2NvcGUuaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVs
dGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNs
aWVudC1tZXNzYWdlLXF1ZXVlLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGlu
Zy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0
aW5nLXdpdGhvdXQtdXNpbmctcmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3VwZGF0ZS1ub3QtYWxsb3dlZC5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4t
c2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCBbIFNraXAgXQor
CisjIE5ld2x5IGltcG9ydGVkIHNlcnZpY2Ugd29ya2VyIHRlc3RzIHRoYXQgYXJlIGZsYWt5Lgor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvbmF2aWdhdGlvbi1yZWRpcmVjdC10by1odHRwLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKwogIyBU
aGlzIHRlc3QgaXMgdGltaW5nIG91dCBiZWNhdXNlIGl0IHJlbGllcyBvbiBodHRwOi8vd3d3MS5s
b2NhbGhvc3Q6ODgwMCBob3N0IGZvciBjcm9zcyBvcmlnaW4gY2hlY2tzLgogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3JlbW90ZS1vcmlnaW4uaHRtIFsgU2tpcCBdCiAKQEAg
LTIzNyw4ICsyNTksNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9yZWRpcmVjdC9yZWRpcmVjdC1tb2RlLXdvcmtlci5odG1sIFsgRAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVkaXJlY3QvcmVkaXJlY3QtdG8tZGF0YXVybC5o
dG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIAogd2Via2l0Lm9yZy9iLzE4MTkwMSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1jb3JzLXhoci5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJy
IF0KLXdlYmtpdC5vcmcvYi8xODE4OTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLmh0dHBz
Lmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQotd2Via2l0Lm9yZy9iLzE4MTkwMCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNv
bGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXNwb25zZS10YWludC5odHRwcy5odG1sIFsg
RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdGVyLWNsb3NlZC13aW5kb3cu
aHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRp
b24tc2VjdXJpdHktZXJyb3IuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0ZEVyciBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGVjNDBiNTVhOTM3YTkwMWFmZjQwMzViZDMyYjkx
ODI1YzBkZDVlMDguLmZlMTkzYTYyM2MzYjM2NzRlMmQyMTUwM2FhNGQ2MTQ0ODAxNjBmYjkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0zMDIsNiArMzAyLDcgQEAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL3NlbGVjdG9ycyI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9z
ZWxlY3RvcnMtYXBpIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZlci10
aW1pbmciOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlciI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy90b29scyI6ICJpbXBvcnQiLCAKQEAgLTM1NSw0ICszNTYs
NCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMiOiAic2tpcCIsIAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMveC1mcmFtZS1vcHRpb25zIjogInNraXAiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3hociI6ICJpbXBvcnQiCi19Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3NlcnZpY2Utd29ya2Vycy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2VydmljZS13b3JrZXJzLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mYjJlMDMzYTdhYTA2YjIxOTFlYjkzMzU0Y2Y3ZjRlNTZhNTRjY2YzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3NlcnZpY2Utd29ya2Vycy5pZGwKQEAgLTAsMCArMSwyMTIgQEAKKy8vIEdF
TkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2Fs
bHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0
aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFNlcnZpY2UgV29ya2Vy
cyAxIChodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci92MS8pCisKK1tTZWN1cmVD
b250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFjZSBTZXJ2aWNlV29ya2Vy
IDogRXZlbnRUYXJnZXQgeworICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjcmlwdFVS
TDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJTdGF0ZSBzdGF0ZTsKKyAgdm9p
ZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFu
c2ZlciA9IFtdKTsKKworICAvLyBldmVudAorICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc3Rh
dGVjaGFuZ2U7Cit9OworU2VydmljZVdvcmtlciBpbmNsdWRlcyBBYnN0cmFjdFdvcmtlcjsKKwor
ZW51bSBTZXJ2aWNlV29ya2VyU3RhdGUgeworICAiaW5zdGFsbGluZyIsCisgICJpbnN0YWxsZWQi
LAorICAiYWN0aXZhdGluZyIsCisgICJhY3RpdmF0ZWQiLAorICAicmVkdW5kYW50IgorfTsKKwor
W1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQoraW50ZXJmYWNlIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gOiBFdmVudFRhcmdldCB7CisgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTZXJ2aWNlV29ya2VyPyBpbnN0YWxsaW5nOworICByZWFkb25seSBhdHRyaWJ1dGUgU2Vydmlj
ZVdvcmtlcj8gd2FpdGluZzsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXI/IGFj
dGl2ZTsKKworICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjb3BlOworICByZWFkb25s
eSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlOwor
CisgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gdXBkYXRlKCk7CisgIFtOZXdPYmplY3RdIFBy
b21pc2U8Ym9vbGVhbj4gdW5yZWdpc3RlcigpOworCisgIC8vIGV2ZW50CisgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb251cGRhdGVmb3VuZDsKK307CisKK2VudW0gU2VydmljZVdvcmtlclVwZGF0
ZVZpYUNhY2hlIHsKKyAgImltcG9ydHMiLAorICAiYWxsIiwKKyAgIm5vbmUiCit9OworCitwYXJ0
aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0g
cmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJDb250YWluZXIgc2VydmljZVdvcmtlcjsK
K307CisKK3BhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvciB7CisgIFtTZWN1cmVDb250
ZXh0LCBTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlckNvbnRhaW5l
ciBzZXJ2aWNlV29ya2VyOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpXQoraW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJDb250YWluZXIgOiBFdmVudFRhcmdldCB7
CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyPyBjb250cm9sbGVyOworICByZWFk
b25seSBhdHRyaWJ1dGUgUHJvbWlzZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiByZWFkeTsK
KworICBbTmV3T2JqZWN0XSBQcm9taXNlPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lz
dGVyKFVTVlN0cmluZyBzY3JpcHRVUkwsIG9wdGlvbmFsIFJlZ2lzdHJhdGlvbk9wdGlvbnMgb3B0
aW9ucyk7CisKKyAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IGdldFJlZ2lzdHJhdGlvbihvcHRp
b25hbCBVU1ZTdHJpbmcgY2xpZW50VVJMID0gIiIpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPEZy
b3plbkFycmF5PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+PiBnZXRSZWdpc3RyYXRpb25zKCk7
CisKKyAgdm9pZCBzdGFydE1lc3NhZ2VzKCk7CisKKyAgLy8gZXZlbnRzCisgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25jb250cm9sbGVyY2hhbmdlOworICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9ubWVzc2FnZTsgLy8gZXZlbnQuc291cmNlIG9mIG1lc3NhZ2UgZXZlbnRzIGlzIFNlcnZpY2VX
b3JrZXIgb2JqZWN0CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlZXJyb3I7Cit9
OworCitkaWN0aW9uYXJ5IFJlZ2lzdHJhdGlvbk9wdGlvbnMgeworICBVU1ZTdHJpbmcgc2NvcGU7
CisgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFzc2ljIjsKKyAgU2VydmljZVdvcmtlclVwZGF0ZVZp
YUNhY2hlIHVwZGF0ZVZpYUNhY2hlID0gImltcG9ydHMiOworfTsKKworW0dsb2JhbD0oV29ya2Vy
LFNlcnZpY2VXb3JrZXIpLCBFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCitpbnRlcmZhY2UgU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlIDogV29ya2VyR2xvYmFsU2NvcGUgeworICBbU2FtZU9iamVjdF0g
cmVhZG9ubHkgYXR0cmlidXRlIENsaWVudHMgY2xpZW50czsKKyAgW1NhbWVPYmplY3RdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIHJlZ2lzdHJhdGlvbjsKKwor
ICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHNraXBXYWl0aW5nKCk7CisKKyAgYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbmluc3RhbGw7CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25hY3Rp
dmF0ZTsKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZldGNoOworCisgIC8vIGV2ZW50Cisg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlOyAvLyBldmVudC5zb3VyY2Ugb2YgdGhl
IG1lc3NhZ2UgZXZlbnRzIGlzIENsaWVudCBvYmplY3QKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbm1lc3NhZ2VlcnJvcjsKK307CisKK1tFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCitpbnRlcmZh
Y2UgQ2xpZW50IHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB1cmw7CisgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBGcmFtZVR5cGUgZnJhbWVUeXBlOworICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGlkOworICByZWFkb25seSBhdHRyaWJ1dGUgQ2xpZW50VHlwZSB0eXBlOworICB2
b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRy
YW5zZmVyID0gW10pOworfTsKKworW0V4cG9zZWQ9U2VydmljZVdvcmtlcl0KK2ludGVyZmFjZSBX
aW5kb3dDbGllbnQgOiBDbGllbnQgeworICByZWFkb25seSBhdHRyaWJ1dGUgVmlzaWJpbGl0eVN0
YXRlIHZpc2liaWxpdHlTdGF0ZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZm9jdXNl
ZDsKKyAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxVU1ZTdHJp
bmc+IGFuY2VzdG9yT3JpZ2luczsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxXaW5kb3dDbGllbnQ+
IGZvY3VzKCk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8V2luZG93Q2xpZW50Pz4gbmF2aWdhdGUo
VVNWU3RyaW5nIHVybCk7Cit9OworCitlbnVtIEZyYW1lVHlwZSB7CisgICJhdXhpbGlhcnkiLAor
ICAidG9wLWxldmVsIiwKKyAgIm5lc3RlZCIsCisgICJub25lIgorfTsKKworW0V4cG9zZWQ9U2Vy
dmljZVdvcmtlcl0KK2ludGVyZmFjZSBDbGllbnRzIHsKKyAgLy8gVGhlIG9iamVjdHMgcmV0dXJu
ZWQgd2lsbCBiZSBuZXcgaW5zdGFuY2VzIGV2ZXJ5IHRpbWUKKyAgW05ld09iamVjdF0gUHJvbWlz
ZTxhbnk+IGdldChET01TdHJpbmcgaWQpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPEZyb3plbkFy
cmF5PENsaWVudD4+IG1hdGNoQWxsKG9wdGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBvcHRpb25z
KTsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxXaW5kb3dDbGllbnQ/PiBvcGVuV2luZG93KFVTVlN0
cmluZyB1cmwpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGNsYWltKCk7Cit9OworCitk
aWN0aW9uYXJ5IENsaWVudFF1ZXJ5T3B0aW9ucyB7CisgIGJvb2xlYW4gaW5jbHVkZVVuY29udHJv
bGxlZCA9IGZhbHNlOworICBDbGllbnRUeXBlIHR5cGUgPSAid2luZG93IjsKK307CisKK2VudW0g
Q2xpZW50VHlwZSB7CisgICJ3aW5kb3ciLAorICAid29ya2VyIiwKKyAgInNoYXJlZHdvcmtlciIs
CisgICJhbGwiCit9OworCitbQ29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEV4
dGVuZGFibGVFdmVudEluaXQgZXZlbnRJbml0RGljdCksIEV4cG9zZWQ9U2VydmljZVdvcmtlcl0K
K2ludGVyZmFjZSBFeHRlbmRhYmxlRXZlbnQgOiBFdmVudCB7CisgIHZvaWQgd2FpdFVudGlsKFBy
b21pc2U8YW55PiBmKTsKK307CisKK2RpY3Rpb25hcnkgRXh0ZW5kYWJsZUV2ZW50SW5pdCA6IEV2
ZW50SW5pdCB7CisgIC8vIERlZmluZWQgZm9yIHRoZSBmb3J3YXJkIGNvbXBhdGliaWxpdHkgYWNy
b3NzIHRoZSBkZXJpdmVkIGV2ZW50cworfTsKKworW0NvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBl
LCBGZXRjaEV2ZW50SW5pdCBldmVudEluaXREaWN0KSwgRXhwb3NlZD1TZXJ2aWNlV29ya2VyXQor
aW50ZXJmYWNlIEZldGNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICBbU2FtZU9iamVjdF0g
cmVhZG9ubHkgYXR0cmlidXRlIFJlcXVlc3QgcmVxdWVzdDsKKyAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBjbGllbnRJZDsKKworICB2b2lkIHJlc3BvbmRXaXRoKFByb21pc2U8UmVzcG9u
c2U+IHIpOworfTsKKworZGljdGlvbmFyeSBGZXRjaEV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVu
dEluaXQgeworICByZXF1aXJlZCBSZXF1ZXN0IHJlcXVlc3Q7CisgIERPTVN0cmluZyBjbGllbnRJ
ZCA9ICIiOworfTsKKworW0NvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBFeHRl
bmRhYmxlTWVzc2FnZUV2ZW50SW5pdCBldmVudEluaXREaWN0KSwgRXhwb3NlZD1TZXJ2aWNlV29y
a2VyXQoraW50ZXJmYWNlIEV4dGVuZGFibGVNZXNzYWdlRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQg
eworICByZWFkb25seSBhdHRyaWJ1dGUgYW55IGRhdGE7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgb3JpZ2luOworICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhc3RFdmVu
dElkOworICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIChDbGllbnQgb3IgU2Vydmlj
ZVdvcmtlciBvciBNZXNzYWdlUG9ydCk/IHNvdXJjZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIEZy
b3plbkFycmF5PE1lc3NhZ2VQb3J0PiBwb3J0czsKK307CisKK2RpY3Rpb25hcnkgRXh0ZW5kYWJs
ZU1lc3NhZ2VFdmVudEluaXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKKyAgYW55IGRhdGEgPSBu
dWxsOworICBVU1ZTdHJpbmcgb3JpZ2luID0gIiI7CisgIERPTVN0cmluZyBsYXN0RXZlbnRJZCA9
ICIiOworICAoQ2xpZW50IG9yIFNlcnZpY2VXb3JrZXIgb3IgTWVzc2FnZVBvcnQpPyBzb3VyY2Ug
PSBudWxsOworICBzZXF1ZW5jZTxNZXNzYWdlUG9ydD4gcG9ydHMgPSBbXTsKK307CisKK3BhcnRp
YWwgaW50ZXJmYWNlIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUgeworICBbU2VjdXJlQ29udGV4
dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENhY2hlU3RvcmFnZSBjYWNoZXM7Cit9
OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCitpbnRlcmZhY2Ug
Q2FjaGUgeworICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVx
dWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgIFtOZXdPYmplY3Rd
IFByb21pc2U8RnJvemVuQXJyYXk8UmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBSZXF1ZXN0
SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKKyAgW05l
d09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGQoUmVxdWVzdEluZm8gcmVxdWVzdCk7CisgIFtOZXdP
YmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVlbmNlPFJlcXVlc3RJbmZvPiByZXF1ZXN0
cyk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gcHV0KFJlcXVlc3RJbmZvIHJlcXVlc3Qs
IFJlc3BvbnNlIHJlc3BvbnNlKTsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxib29sZWFuPiBkZWxl
dGUoUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9u
cyk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8RnJvemVuQXJyYXk8UmVxdWVzdD4+IGtleXMob3B0
aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0
aW9ucyk7Cit9OworCitkaWN0aW9uYXJ5IENhY2hlUXVlcnlPcHRpb25zIHsKKyAgYm9vbGVhbiBp
Z25vcmVTZWFyY2ggPSBmYWxzZTsKKyAgYm9vbGVhbiBpZ25vcmVNZXRob2QgPSBmYWxzZTsKKyAg
Ym9vbGVhbiBpZ25vcmVWYXJ5ID0gZmFsc2U7Cit9OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcildCitpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKKyAgW05ld09iamVj
dF0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFsIE11bHRp
Q2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8Ym9vbGVh
bj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPENhY2hl
PiBvcGVuKERPTVN0cmluZyBjYWNoZU5hbWUpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPGJvb2xl
YW4+IGRlbGV0ZShET01TdHJpbmcgY2FjaGVOYW1lKTsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxz
ZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7Cit9OworCitkaWN0aW9uYXJ5IE11bHRpQ2FjaGVR
dWVyeU9wdGlvbnMgOiBDYWNoZVF1ZXJ5T3B0aW9ucyB7CisgIERPTVN0cmluZyBjYWNoZU5hbWU7
Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9NRVRBLnltbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
M2EwZGQwZmUxNmU1NTUwZThmMzQ5YzFkZDhmZTM2MWNmMjA3MmJjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvTUVUQS55bWwKQEAgLTAsMCArMSw2IEBACitzcGVjOiBodHRwczovL3czYy5naXRodWIu
aW8vU2VydmljZVdvcmtlci8KK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gYXN1dGhlcmxhbmQK
KyAgLSBta3J1aXNzZWxicmluaworICAtIG1hdHR0bworICAtIHdhbmRlcnZpZXcKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL09XTkVSUyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL09XTkVSUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjQyOTM2NDJjNGJiMWE3YjE1MTg0ZjA3OGNkM2FlYjZkOTM2YjAzOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9PV05FUlMKKysrIC9kZXYvbnVsbApA
QCAtMSwzICswLDAgQEAKLUBlaHNhbgotQG1rcnVpc3NlbGJyaW5rCi1AbWF0dHRvCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9NRVRBLnlt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iZjM0NDc0Zjc0YWFlN2QzNDFkZmYzOGM1NTM3MDViYjJiNGI2ODI2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9NRVRBLnltbApAQCAtMCwwICsxLDMg
QEAKK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gaW5leG9yYWJsZXRhc2gKKyAgLSB3YW5kZXJ2
aWV3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL09XTkVSUyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2UvT1dORVJTCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTYzZGQyMjAzZTFmZTI0
M2IxZDQzNzUxOTliNjE3M2ZiYzc1ZWRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvT1dORVJTCisrKyAvZGV2L251bGwKQEAg
LTEsMiArMCwwIEBACi1AaW5leG9yYWJsZXRhc2gKLUB3YW5kZXJ2aWV3CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9yLXNlcnZp
Y2Utd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvY2FjaGUta2V5cy1hdHRy
aWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTU3NGQyY2I3N2E3Njc5
MzcwOWYyNWI2N2FjMTdmNWY1OWE3MTIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9yZXNvdXJjZXMvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5q
cwpAQCAtMCwwICsxLDIyIEBACitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgKGV2ZW50
KSA9PiB7CisgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTChldmVudC5yZXF1ZXN0LnVybCkuc2Vh
cmNoUGFyYW1zOworICAgIGlmIChwYXJhbXMuaGFzKCdpZ25vcmUnKSkgeworICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBpZiAoIXBhcmFtcy5oYXMoJ25hbWUnKSkgeworICAgICAgZXZlbnQucmVz
cG9uZFdpdGgoUHJvbWlzZS5yZWplY3QoVHlwZUVycm9yKCdObyBuYW1lIGlzIHByb3ZpZGVkLicp
KSk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgZXZlbnQucmVzcG9uZFdpdGgoUHJvbWlz
ZS5yZXNvbHZlKCkudGhlbihhc3luYyAoKSA9PiB7CisgICAgICAgIGNvbnN0IG5hbWUgPSBwYXJh
bXMuZ2V0KCduYW1lJyk7CisgICAgICAgIGF3YWl0IGNhY2hlcy5kZWxldGUoJ2ZvbycpOworICAg
ICAgICBjb25zdCBjYWNoZSA9IGF3YWl0IGNhY2hlcy5vcGVuKCdmb28nKTsKKyAgICAgICAgYXdh
aXQgY2FjaGUucHV0KGV2ZW50LnJlcXVlc3QsIG5ldyBSZXNwb25zZSgnaGVsbG8nKSk7CisgICAg
ICAgIGNvbnN0IGtleXMgPSBhd2FpdCBjYWNoZS5rZXlzKCk7CisKKyAgICAgICAgY29uc3Qgb3Jp
Z2luYWwgPSBldmVudC5yZXF1ZXN0W25hbWVdOworICAgICAgICBjb25zdCBzdG9yZWQgPSBrZXlz
WzBdW25hbWVdOworICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKGBvcmlnaW5hbDogJHtvcmln
aW5hbH0sIHN0b3JlZDogJHtzdG9yZWR9YCk7CisgICAgICB9KSk7CisgIH0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvdmFyeS5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
cmVzb3VyY2VzL3ZhcnkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTllMzliYzJhZTczMGE0Y2QzZTEzNzZkZDAw
M2M5ZmZhZGE0ZWQ0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3Vy
Y2VzL3ZhcnkucHkKQEAgLTAsMCArMSwyNSBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgorICBpZiAiY2xlYXItdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWUiIGluIHJlcXVlc3QuR0VU
OgorICAgIHJlc3BvbnNlLnVuc2V0X2Nvb2tpZSgidmFyeS12YWx1ZS1vdmVycmlkZSIpCisgICAg
cmV0dXJuICJ2YXJ5IGNvb2tpZSBjbGVhcmVkIgorCisgIHNldF9jb29raWVfdmFyeSA9IHJlcXVl
c3QuR0VULmZpcnN0KCJzZXQtdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWUiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PSIiKQorICBpZiBzZXRfY29va2ll
X3Zhcnk6CisgICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZSgidmFyeS12YWx1ZS1vdmVycmlkZSIsIHNl
dF9jb29raWVfdmFyeSkKKyAgICByZXR1cm4gInZhcnkgY29va2llIHNldCIKKworICAjIElmIHRo
ZXJlIGlzIGEgdmFyeS12YWx1ZS1vdmVycmlkZSBjb29raWUgc2V0LCB0aGVuIHVzZSBpdHMgdmFs
dWUKKyAgIyBmb3IgdGhlIFZBUlkgaGVhZGVyIG5vIG1hdHRlciB3aGF0IHRoZSBxdWVyeSBzdHJp
bmcgaXMgc2V0IHRvLiAgVGhpcworICAjIG92ZXJyaWRlIGlzIG5lY2Vzc2FyeSB0byB0ZXN0IHRo
ZSBjYXNlIHdoZW4gdHdvIFVSTHMgYXJlIGlkZW50aWNhbAorICAjIChpbmNsdWRpbmcgcXVlcnkp
LCBidXQgZGlmZmVyIGJ5IFZBUlkgaGVhZGVyLgorICBjb29raWVfdmFyeSA9IHJlcXVlc3QuY29v
a2llcy5nZXQoInZhcnktdmFsdWUtb3ZlcnJpZGUiKTsKKyAgaWYgY29va2llX3Zhcnk6CisgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoInZhcnkiLCBjb29raWVfdmFyeSkKKyAgZWxzZToKKyAgICAj
IElmIHRoZXJlIGlzIG5vIGNvb2tpZSwgdGhlbiB1c2UgdGhlIHF1ZXJ5IHN0cmluZyB2YWx1ZSwg
aWYgcHJlc2VudC4KKyAgICBxdWVyeV92YXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInZhcnkiLCBk
ZWZhdWx0PSIiKQorICAgIGlmIHF1ZXJ5X3Zhcnk6CisgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dCgidmFyeSIsIHF1ZXJ5X3ZhcnkpCisKKyAgcmV0dXJuICJ2YXJ5IHJlc3BvbnNlIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCBkNDZiZGY1NTRkYWRmN2M4
NWNlYzBjMTlhMzZmNjIyY2U4MjNlNTlkLi4zOTcxNDk3MzRhOTgwNTBkNWRlOGNhODgyNjk0MjMx
YjBiMjFmZTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpA
QCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVk
IGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJl
Y3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQ
VCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlo
dHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAogCkBA
IC0xNSw2ICsxNSw3IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy9ibGFuay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9y
ZXNvdXJjZXMvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5qcwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL2NvbW1vbi13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3Jlc291cmNlcy9jcmVkZW50aWFscy1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
cmVzb3VyY2VzL2NyZWRlbnRpYWxzLXdvcmtlci5qcwpAQCAtMjIsMyArMjMsNCBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL2lmcmFtZS5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9yZXNvdXJjZXMvc2ltcGxlLnR4dAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3Vy
Y2VzL3Rlc3QtaGVscGVycy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL3ZhcnkucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFib3J0Lmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtYWJvcnQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWM0MTMwZmRlZDI5ZTAwNzA4MjgwOTJjMjU0NmRjNDY0NTZkOGZkYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFib3J0LmpzCkBAIC0w
LDAgKzEsODEgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpIHsKKyAgaW1wb3J0U2NyaXB0cygn
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcycpOworICBpbXBvcnRTY3JpcHRzKCcuLi9yZXNvdXJj
ZXMvdGVzdC1oZWxwZXJzLmpzJyk7CisgIGltcG9ydFNjcmlwdHMoJy9jb21tb24vdXRpbHMuanMn
KTsKK30KKworLy8gV2UgcGVyZm9ybSB0aGUgc2FtZSB0ZXN0cyBvbiBwdXQsIGFkZCwgYWRkQWxs
LiBQYXJhbWV0ZXJpc2UgdGhlIHRlc3RzIHRvCisvLyByZWR1Y2UgcmVwZXRpdGlvbi4KK2NvbnN0
IG1ldGhvZHNUb1Rlc3QgPSB7CisgIHB1dDogYXN5bmMgKGNhY2hlLCByZXF1ZXN0KSA9PiB7Cisg
ICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChyZXF1ZXN0KTsKKyAgICByZXR1cm4gY2Fj
aGUucHV0KHJlcXVlc3QsIHJlc3BvbnNlKTsKKyAgfSwKKyAgYWRkOiBhc3luYyAoY2FjaGUsIHJl
cXVlc3QpID0+IGNhY2hlLmFkZChyZXF1ZXN0KSwKKyAgYWRkQWxsOiBhc3luYyAoY2FjaGUsIHJl
cXVlc3QpID0+IGNhY2hlLmFkZEFsbChbcmVxdWVzdF0pLAorfTsKKworZm9yIChjb25zdCBtZXRo
b2QgaW4gbWV0aG9kc1RvVGVzdCkgeworICBjb25zdCBwZXJmb3JtID0gbWV0aG9kc1RvVGVzdFtt
ZXRob2RdOworCisgIGNhY2hlX3Rlc3QoYXN5bmMgKGNhY2hlLCB0ZXN0KSA9PiB7CisgICAgY29u
c3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgICBjb25zdCBzaWduYWwg
PSBjb250cm9sbGVyLnNpZ25hbDsKKyAgICBjb250cm9sbGVyLmFib3J0KCk7CisgICAgY29uc3Qg
cmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCcuLi9yZXNvdXJjZXMvc2ltcGxlLnR4dCcsIHsgc2lnbmFs
IH0pOworICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVzdCwgJ0Fib3J0RXJyb3InLCBwZXJm
b3JtKGNhY2hlLCByZXF1ZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bWV0aG9k
fSBzaG91bGQgcmVqZWN0YCk7CisgIH0sIGAke21ldGhvZH0oKSBvbiBhbiBhbHJlYWR5LWFib3J0
ZWQgcmVxdWVzdCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvcmApOworCisgIGNhY2hlX3Rl
c3QoYXN5bmMgKGNhY2hlLCB0ZXN0KSA9PiB7CisgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBB
Ym9ydENvbnRyb2xsZXIoKTsKKyAgICBjb25zdCBzaWduYWwgPSBjb250cm9sbGVyLnNpZ25hbDsK
KyAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJy4uL3Jlc291cmNlcy9zaW1wbGUudHh0
JywgeyBzaWduYWwgfSk7CisgICAgY29uc3QgcHJvbWlzZSA9IHBlcmZvcm0oY2FjaGUsIHJlcXVl
c3QpOworICAgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAgICByZXR1cm4gcHJvbWlzZV9yZWplY3Rz
KHRlc3QsICdBYm9ydEVycm9yJywgcHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
YCR7bWV0aG9kfSBzaG91bGQgcmVqZWN0YCk7CisgIH0sIGAke21ldGhvZH0oKSBzeW5jaHJvbm91
c2x5IGZvbGxvd2VkIGJ5IGFib3J0IHNob3VsZCByZWplY3Qgd2l0aCBgICsKKyAgICAgYEFib3J0
RXJyb3JgKTsKKworICBjYWNoZV90ZXN0KGFzeW5jIChjYWNoZSwgdGVzdCkgPT4geworICAgIGNv
bnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgICAgY29uc3Qgc2lnbmFs
ID0gY29udHJvbGxlci5zaWduYWw7CisgICAgY29uc3Qgc3RhdGVLZXkgPSB0b2tlbigpOworICAg
IGNvbnN0IGFib3J0S2V5ID0gdG9rZW4oKTsKKyAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFJlcXVl
c3QoCisgICAgICAgIGAuLi8uLi8uLi9mZXRjaC9hcGkvcmVzb3VyY2VzL2luZmluaXRlLXNsb3ct
cmVzcG9uc2UucHk/c3RhdGVLZXk9JHtzdGF0ZUtleX0mYWJvcnRLZXk9JHthYm9ydEtleX1gLAor
ICAgICAgICB7IHNpZ25hbCB9KTsKKworICAgIGNvbnN0IHByb21pc2UgPSBwZXJmb3JtKGNhY2hl
LCByZXF1ZXN0KTsKKworICAgIC8vIFdhaXQgZm9yIHRoZSBzZXJ2ZXIgdG8gc3RhcnQgc2VuZGlu
ZyB0aGUgcmVzcG9uc2UgYm9keS4KKyAgICBsZXQgb3BlbmVkID0gZmFsc2U7CisgICAgZG8gewor
ICAgICAgLy8gTm9ybWFsbHkgb25seSBvbmUgZmV0Y2ggdG8gJ3N0YXNoLXRha2UnIGlzIG5lZWRl
ZCwgYnV0IHRoZSBmZXRjaGVzCisgICAgICAvLyB3aWxsIGJlIHNlcnZlZCBpbiByZXZlcnNlIG9y
ZGVyIHNvbWV0aW1lcworICAgICAgLy8gKGkuZS4sICdzdGFzaC10YWtlJyBnZXRzIHNlcnZlZCBi
ZWZvcmUgJ2luZmluaXRlLXNsb3ctcmVzcG9uc2UnKS4KKworICAgICAgY29uc3QgcmVzcG9uc2Ug
PQorICAgICAgICAgICAgYXdhaXQgZmV0Y2goYC4uLy4uLy4uL2ZldGNoL2FwaS9yZXNvdXJjZXMv
c3Rhc2gtdGFrZS5weT9rZXk9JHtzdGF0ZUtleX1gKTsKKyAgICAgIGNvbnN0IGJvZHkgPSBhd2Fp
dCByZXNwb25zZS5qc29uKCk7CisgICAgICBpZiAoYm9keSA9PT0gJ29wZW4nKSBvcGVuZWQgPSB0
cnVlOworICAgIH0gd2hpbGUgKCFvcGVuZWQpOworCisgICAgLy8gU2FkbHkgdGhlIGFib3ZlIGxv
b3AgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoZSBicm93c2VyIGhhcyBzdGFydGVkCisgICAgLy8g
cHJvY2Vzc2luZyB0aGUgcmVzcG9uc2UgYm9keS4gVGhpcyBkZWxheSBpcyBuZWVkZWQgdG8gbWFr
ZSB0aGUgdGVzdAorICAgIC8vIGZhaWx1cmVzIG5vbi1mbGFreSBpbiBDaHJvbWUgdmVyc2lvbiA2
Ni4gTXkgZGVlcGVzdCBhcG9sb2dpZXMuCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpOworCisgICAgY29udHJvbGxlci5hYm9ydCgpOwor
CisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHRlc3QsICdBYm9ydEVycm9yJywgcHJvbWlzZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bWV0aG9kfSBzaG91bGQgcmVqZWN0YCk7CisK
KyAgICAvLyBpbmZpbml0ZS1zbG93LXJlc3BvbnNlLnB5IGRvZXNuJ3Qga25vdyB3aGVuIHRvIHN0
b3AuCisgICAgcmV0dXJuIGZldGNoKGAuLi8uLi8uLi9mZXRjaC9hcGkvcmVzb3VyY2VzL3N0YXNo
LXB1dC5weT9rZXk9JHthYm9ydEtleX1gKTsKKyAgfSwgYCR7bWV0aG9kfSgpIGZvbGxvd2VkIGJ5
IGFib3J0IGFmdGVyIGhlYWRlcnMgcmVjZWl2ZWQgc2hvdWxkIHJlamVjdCBgICsKKyAgICAgYHdp
dGggQWJvcnRFcnJvcmApOworfQorCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1hZGQuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10
ZXN0cy9jYWNoZS1hZGQuanMKaW5kZXggYzAzZmFlYjBlODM3MjNlYWI2NGU2NDhlNjAwYmEwNjEy
ODczZDQwNC4uYTQ4MmM0MmVhZWIyYTkwMmEzNmIxZDZhZWNkMzA2ZThlZDRiNGViZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtYWRkLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFkZC5qcwpAQCAtMjY3LDQgKzI2Nyw4
NCBAQCBjYWNoZV90ZXN0KGZ1bmN0aW9uKGNhY2hlLCB0ZXN0KSB7CiAgICAgICAndHdpY2UuJyk7
CiAgIH0sICdDYWNoZS5hZGRBbGwgY2FsbGVkIHdpdGggdGhlIHNhbWUgUmVxdWVzdCBvYmplY3Qg
c3BlY2lmaWVkIHR3aWNlJyk7CiAKK2NhY2hlX3Rlc3QoYXN5bmMgZnVuY3Rpb24oY2FjaGUsIHRl
c3QpIHsKKyAgICBjb25zdCB1cmwgPSAnLi4vcmVzb3VyY2VzL3ZhcnkucHk/dmFyeT14LXNoYXBl
JzsKKyAgICBsZXQgcmVxdWVzdHMgPSBbCisgICAgICBuZXcgUmVxdWVzdCh1cmwsIHsgaGVhZGVy
czogeyAneC1zaGFwZSc6ICdjaXJjbGUnIH19KSwKKyAgICAgIG5ldyBSZXF1ZXN0KHVybCwgeyBo
ZWFkZXJzOiB7ICd4LXNoYXBlJzogJ3NxdWFyZScgfX0pLAorICAgIF07CisgICAgbGV0IHJlc3Vs
dCA9IGF3YWl0IGNhY2hlLmFkZEFsbChyZXF1ZXN0cyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1
bHQsIHVuZGVmaW5lZCwgJ0NhY2hlLmFkZEFsbCgpIHNob3VsZCBzdWNjZWVkJyk7CisgIH0sICdD
YWNoZS5hZGRBbGwgc2hvdWxkIHN1Y2NlZWQgd2hlbiBlbnRyaWVzIGRpZmZlciBieSB2YXJ5IGhl
YWRlcicpOworCitjYWNoZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKGNhY2hlLCB0ZXN0KSB7CisgICAg
Y29uc3QgdXJsID0gJy4uL3Jlc291cmNlcy92YXJ5LnB5P3Zhcnk9eC1zaGFwZSc7CisgICAgbGV0
IHJlcXVlc3RzID0gWworICAgICAgbmV3IFJlcXVlc3QodXJsLCB7IGhlYWRlcnM6IHsgJ3gtc2hh
cGUnOiAnY2lyY2xlJyB9fSksCisgICAgICBuZXcgUmVxdWVzdCh1cmwsIHsgaGVhZGVyczogeyAn
eC1zaGFwZSc6ICdjaXJjbGUnIH19KSwKKyAgICBdOworICAgIGF3YWl0IHByb21pc2VfcmVqZWN0
cygKKyAgICAgIHRlc3QsCisgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAgY2FjaGUu
YWRkQWxsKHJlcXVlc3RzKSwKKyAgICAgICdDYWNoZS5hZGRBbGwoKSBzaG91bGQgcmVqZWN0IHdo
ZW4gZW50cmllcyBhcmUgZHVwbGljYXRlIGJ5IHZhcnkgaGVhZGVyJyk7CisgIH0sICdDYWNoZS5h
ZGRBbGwgc2hvdWxkIHJlamVjdCB3aGVuIGVudHJpZXMgYXJlIGR1cGxpY2F0ZSBieSB2YXJ5IGhl
YWRlcicpOworCisvLyBWQVJZIGhlYWRlciBtYXRjaGluZyBpcyBhc3ltbWV0cmljLiAgRGV0ZXJt
aW5pbmcgaWYgdHdvIGVudHJpZXMgYXJlIGR1cGxpY2F0ZQorLy8gZGVwZW5kcyBvbiB3aGljaCBl
bnRyeSdzIHJlc3BvbnNlIGlzIHVzZWQgaW4gdGhlIGNvbXBhcmlzb24uICBUaGUgdGFyZ2V0Cisv
LyByZXNwb25zZSdzIFZBUlkgaGVhZGVyIGRldGVybWluZXMgd2hhdCByZXF1ZXN0IGhlYWRlcnMg
YXJlIGV4YW1pbmVkLiAgVGhpcworLy8gdGVzdCB2ZXJpZmllcyB0aGF0IENhY2hlLmFkZEFsbCgp
IGR1cGxpY2F0ZSBjaGVja2luZyBoYW5kbGVzIHRoaXMgYXN5bW1ldHJpYworLy8gYmVoYXZpb3Ig
Y29ycmVjdGx5LgorY2FjaGVfdGVzdChhc3luYyBmdW5jdGlvbihjYWNoZSwgdGVzdCkgeworICAg
IGNvbnN0IGJhc2VfdXJsID0gJy4uL3Jlc291cmNlcy92YXJ5LnB5JzsKKworICAgIC8vIERlZmlu
ZSBhIHJlcXVlc3QgVVJMIHRoYXQgc2V0cyBhIFZBUlkgaGVhZGVyIGluIHRoZQorICAgIC8vIHF1
ZXJ5IHN0cmluZyB0byBiZSBlY2hvZWQgYmFjayBieSB0aGUgc2VydmVyLgorICAgIGNvbnN0IHVy
bCA9IGJhc2VfdXJsICsgJz92YXJ5PXgtc2l6ZSc7CisKKyAgICAvLyBTZXQgYSBjb29raWUgdG8g
b3ZlcnJpZGUgdGhlIFZBUlkgaGVhZGVyIG9mIHRoZSByZXNwb25zZQorICAgIC8vIHdoZW4gdGhl
IHJlcXVlc3QgaXMgbWFkZSB3aXRoIGNyZWRlbnRpYWxzLiAgVGhpcyB3aWxsCisgICAgLy8gdGFr
ZSBwcmVjZWRlbmNlIG92ZXIgdGhlIHF1ZXJ5IHN0cmluZyB2YXJ5IHBhcmFtLiAgVGhpcworICAg
IC8vIGlzIGEgYml0IGNvbmZ1c2luZywgYnV0IGl0J3MgbmVjZXNzYXJ5IHRvIGNvbnN0cnVjdCBh
IHRlc3QKKyAgICAvLyB3aGVyZSB0aGUgVVJMIGlzIHRoZSBzYW1lLCBidXQgdGhlIFZBUlkgaGVh
ZGVycyBkaWZmZXIuCisgICAgLy8KKyAgICAvLyBOb3RlLCB0aGUgdGVzdCBjb3VsZCBhbHNvIHBh
c3MgdGhpcyBpbmZvcm1hdGlvbiBpbiBhZGRpdGlvbmFsCisgICAgLy8gcmVxdWVzdCBoZWFkZXJz
LiAgSWYgdGhlIGNvb2tpZSBhcHByb2FjaCBiZWNvbWVzIHRvbyB1bndpZWxkeQorICAgIC8vIHRo
aXMgdGVzdCBjb3VsZCBiZSByZXdyaXR0ZW4gdG8gdXNlIHRoYXQgdGVjaG5pcXVlLgorICAgIGF3
YWl0IGZldGNoKGJhc2VfdXJsICsgJz9zZXQtdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWU9eC1z
aGFwZScpOworICAgIHRlc3QuYWRkX2NsZWFudXAoXyA9PiBmZXRjaChiYXNlX3VybCArICc/Y2xl
YXItdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWUnKSk7CisKKyAgICBsZXQgcmVxdWVzdHMgPSBb
CisgICAgICAvLyBUaGlzIHJlcXVlc3Qgd2lsbCByZXN1bHQgaW4gYSBSZXNwb25zZSB3aXRoIGEg
IlZhcnk6IHgtc2hhcGUiCisgICAgICAvLyBoZWFkZXIuICBUaGlzICp3aWxsIG5vdCogcmVzdWx0
IGluIGEgZHVwbGljYXRlIG1hdGNoIHdpdGggdGhlCisgICAgICAvLyBvdGhlciBlbnRyeS4KKyAg
ICAgIG5ldyBSZXF1ZXN0KHVybCwgeyBoZWFkZXJzOiB7ICd4LXNoYXBlJzogJ2NpcmNsZScsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneC1zaXplJzogJ2JpZycgfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyB9KSwKKwor
ICAgICAgLy8gVGhpcyByZXF1ZXN0IHdpbGwgcmVzdWx0IGluIGEgUmVzcG9uc2Ugd2l0aCBhICJW
YXJ5OiB4LXNpemUiCisgICAgICAvLyBoZWFkZXIuICBUaGlzICp3aWxsKiByZXN1bHQgaW4gYSBk
dXBsaWNhdGUgbWF0Y2ggd2l0aCB0aGUgb3RoZXIKKyAgICAgIC8vIGVudHJ5LgorICAgICAgbmV3
IFJlcXVlc3QodXJsLCB7IGhlYWRlcnM6IHsgJ3gtc2hhcGUnOiAnc3F1YXJlJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4LXNpemUnOiAnYmlnJyB9LAorICAgICAgICAg
ICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnb21pdCcgfSksCisgICAgXTsKKyAgICBhd2Fp
dCBwcm9taXNlX3JlamVjdHMoCisgICAgICB0ZXN0LAorICAgICAgJ0ludmFsaWRTdGF0ZUVycm9y
JywKKyAgICAgIGNhY2hlLmFkZEFsbChyZXF1ZXN0cyksCisgICAgICAnQ2FjaGUuYWRkQWxsKCkg
c2hvdWxkIHJlamVjdCB3aGVuIG9uZSBlbnRyeSBoYXMgYSB2YXJ5IGhlYWRlciAnICsKKyAgICAg
ICdtYXRjaGluZyBhbiBlYXJsaWVyIGVudHJ5LicpOworCisgICAgLy8gVGVzdCB0aGUgcmV2ZXJz
ZSBvcmRlciBub3cuCisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKAorICAgICAgdGVzdCwKKyAg
ICAgICdJbnZhbGlkU3RhdGVFcnJvcicsCisgICAgICBjYWNoZS5hZGRBbGwocmVxdWVzdHMucmV2
ZXJzZSgpKSwKKyAgICAgICdDYWNoZS5hZGRBbGwoKSBzaG91bGQgcmVqZWN0IHdoZW4gb25lIGVu
dHJ5IGhhcyBhIHZhcnkgaGVhZGVyICcgKworICAgICAgJ21hdGNoaW5nIGEgbGF0ZXIgZW50cnku
Jyk7CisKKyAgfSwgJ0NhY2hlLmFkZEFsbCBzaG91bGQgcmVqZWN0IHdoZW4gb25lIGVudHJ5IGhh
cyBhIHZhcnkgaGVhZGVyICcgKworICAgICAnbWF0Y2hpbmcgYW5vdGhlciBlbnRyeScpOworCiBk
b25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1r
ZXlzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUta2V5cy5qcwppbmRl
eCA5NmJkNDNiNjczYTRmNzhhZjQ3YWNhMzA3ZGEzY2VkODM3M2Q2MTY4Li5hOTRjMThmODczYzhi
NzVjNmZhYWEzYTEwZDU0YWM1OGNmN2M3YzAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3NjcmlwdC10ZXN0cy9jYWNoZS1rZXlzLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0
LXRlc3RzL2NhY2hlLWtleXMuanMKQEAgLTE3OSw2ICsxNzksMjAgQEAgcHJlcG9wdWxhdGVkX2Nh
Y2hlX3Rlc3Qoc2ltcGxlX2VudHJpZXMsIGZ1bmN0aW9uKGNhY2hlLCBlbnRyaWVzKSB7CiAgICAg
ICAgIH0pOwogICB9LCAnQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMnKTsKIAorcHJlcG9w
dWxhdGVkX2NhY2hlX3Rlc3QodmFyeV9lbnRyaWVzLCBmdW5jdGlvbihjYWNoZSwgZW50cmllcykg
eworICAgIHJldHVybiBjYWNoZS5rZXlzKCkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3VsdCkg
eworICAgICAgICAgIGFzc2VydF9yZXF1ZXN0X2FycmF5X2VxdWFscygKKyAgICAgICAgICAgIHJl
c3VsdCwKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgZW50cmllcy52YXJ5X2Nvb2tpZV9p
c19jb29raWUucmVxdWVzdCwKKyAgICAgICAgICAgICAgZW50cmllcy52YXJ5X2Nvb2tpZV9pc19n
b29kLnJlcXVlc3QsCisgICAgICAgICAgICAgIGVudHJpZXMudmFyeV9jb29raWVfYWJzZW50LnJl
cXVlc3QsCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ0NhY2hlLmtleXMgd2l0aG91dCBw
YXJhbWV0ZXJzIHNob3VsZCBtYXRjaCBhbGwgZW50cmllcy4nKTsKKyAgICAgICAgfSk7CisgIH0s
ICdDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBhbmQgVkFSWSBlbnRyaWVzJyk7CisKIHBy
ZXBvcHVsYXRlZF9jYWNoZV90ZXN0KHNpbXBsZV9lbnRyaWVzLCBmdW5jdGlvbihjYWNoZSwgZW50
cmllcykgewogICAgIHJldHVybiBjYWNoZS5rZXlzKG5ldyBSZXF1ZXN0KGVudHJpZXMuY2F0LnJl
cXVlc3QudXJsLCB7bWV0aG9kOiAnSEVBRCd9KSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtbWF0
Y2guanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1tYXRjaC5qcwppbmRl
eCAzZDAwZjBmMDRhZjNhMTZjY2I3Y2M3MzJlNGRmOGNjZmEwZWY0MDFjLi5iYTM1OWZlZDE0MmNi
NGEzZmYyODFhNDRlOGEyYjllYzhhN2E2NTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3NjcmlwdC10ZXN0cy9jYWNoZS1tYXRjaC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Njcmlw
dC10ZXN0cy9jYWNoZS1tYXRjaC5qcwpAQCAtMSw2ICsxLDcgQEAKIGlmIChzZWxmLmltcG9ydFNj
cmlwdHMpIHsKICAgICBpbXBvcnRTY3JpcHRzKCcvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJyk7
CiAgICAgaW1wb3J0U2NyaXB0cygnLi4vcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5qcycpOworICAg
IGltcG9ydFNjcmlwdHMoJy9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMnKTsKIH0KIAogcHJl
cG9wdWxhdGVkX2NhY2hlX3Rlc3Qoc2ltcGxlX2VudHJpZXMsIGZ1bmN0aW9uKGNhY2hlLCBlbnRy
aWVzKSB7CkBAIC0zMTgsNCArMzE5LDIyIEBAIGNhY2hlX3Rlc3QoZnVuY3Rpb24oY2FjaGUpIHsK
ICAgICAgICAgfSk7CiAgIH0sICdDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBj
YW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4nKTsKIAorY2FjaGVfdGVzdChhc3luYyAo
Y2FjaGUpID0+IHsKKyAgICBjb25zdCB1cmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUFNfUkVNT1RF
X09SSUdJTiArCisgICAgICAnL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNl
cy9zaW1wbGUudHh0P3BpcGU9JyArCisgICAgICAnaGVhZGVyKGFjY2Vzcy1jb250cm9sLWFsbG93
LW9yaWdpbiwqKXwnICsKKyAgICAgICdoZWFkZXIoYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRl
cnMsKil8JyArCisgICAgICAnaGVhZGVyKGZvbyxiYXIpfCcgKworICAgICAgJ2hlYWRlcihzZXQt
Y29va2llLFgpJzsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTsKKyAg
ICBhd2FpdCBjYWNoZS5wdXQobmV3IFJlcXVlc3QodXJsKSwgcmVzcG9uc2UpOworICAgIGNvbnN0
IGNhY2hlZF9yZXNwb25zZSA9IGF3YWl0IGNhY2hlLm1hdGNoKHVybCk7CisKKyAgICBjb25zdCBo
ZWFkZXJzID0gY2FjaGVkX3Jlc3BvbnNlLmhlYWRlcnM7CisgICAgYXNzZXJ0X2VxdWFscyhoZWFk
ZXJzLmdldCgnYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMnKSwgJyonKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGhlYWRlcnMuZ2V0KCdmb28nKSwgJ2JhcicpOworICAgIGFzc2VydF9lcXVhbHMo
aGVhZGVycy5nZXQoJ3NldC1jb29raWUnKSwgbnVsbCk7CisgIH0sICdjb3JzLWV4cG9zZWQgaGVh
ZGVyIHNob3VsZCBiZSBzdG9yZWQgY29ycmVjdGx5LicpOworCiBkb25lKCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1zdG9yYWdlLW1hdGNoLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtc3RvcmFnZS1tYXRjaC5qcwppbmRl
eCAzNTQ2NTIwNDg2NDI1ZThkZTI3ZGE3YjdmYzI3MGNlNzVhZDYxYTdiLi41NGJlN2U3YjVkNzhi
MzUzMTRiOWZhZmVjZDExNjYyMDNlZWM5YjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3NjcmlwdC10ZXN0cy9jYWNoZS1zdG9yYWdlLW1hdGNoLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvc2NyaXB0LXRlc3RzL2NhY2hlLXN0b3JhZ2UtbWF0Y2guanMKQEAgLTExNyw3ICsxMTcsMTAg
QEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKIAogcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHRlc3QpIHsKICAgICB2YXIgdHJhbnNhY3Rpb24gPSBjcmVhdGVfdW5pcXVlX3RyYW5zYWN0aW9u
KCk7Ci0gICAgcmV0dXJuIHNlbGYuY2FjaGVzLmhhcygnZm9vJykKKyAgICByZXR1cm4gc2VsZi5j
YWNoZXMuZGVsZXRlKCdmb28nKQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAg
cmV0dXJuIHNlbGYuY2FjaGVzLmhhcygnZm9vJyk7CisgICAgICAgIH0pCiAgICAgICAudGhlbihm
dW5jdGlvbihoYXNfZm9vKSB7CiAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGhhc19mb28sICJUaGUg
Y2FjaGUgc2hvdWxkIG5vdCBleGlzdC4iKTsKICAgICAgICAgICByZXR1cm4gc2VsZi5jYWNoZXMu
bWF0Y2godHJhbnNhY3Rpb24ucmVxdWVzdCwge2NhY2hlTmFtZTogJ2Zvbyd9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggNmQ1NzgxYTI1OWU0
NTBhZDdmYmZhNzE5Y2JjZDJlN2EzYzVlYTgzZC4uOGU5ODk1ZmQxZmQ2ZTcyZTEzNDY2MDcwYTRi
ZWIzYzc1OGZhMjQyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvdzNjLWlt
cG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKIApAQCAtMTQsNiArMTQsNyBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9j
YWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1hYm9ydC5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFkZC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRl
c3RzL2NhY2hlLWRlbGV0ZS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hl
LWtleXMuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNo
ZS1hYm9ydC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3Jr
ZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiZGNjNDY3Mjg3
MDgzM2EzNTkxNjNjNzgwOTJhMGFiMTdiYmNiZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTQgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKK1BBU1MgQ2FjaGUgU3RvcmFnZTogQWJvcnQgCitGQUlMIHB1dCgpIG9uIGFuIGFscmVhZHkt
YWJvcnRlZCByZXF1ZXN0IHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIGFzc2VydF91bnJl
YWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBwdXQgc2hvdWxkIHJlamVjdCBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK0ZBSUwgcHV0KCkgc3luY2hyb25vdXNseSBmb2xsb3dlZCBieSBhYm9y
dCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQg
aGF2ZSByZWplY3RlZDogcHV0IHNob3VsZCByZWplY3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitUSU1FT1VUIHB1dCgpIGZvbGxvd2VkIGJ5IGFib3J0IGFmdGVyIGhlYWRlcnMgcmVjZWl2ZWQg
c2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBhZGQo
KSBvbiBhbiBhbHJlYWR5LWFib3J0ZWQgcmVxdWVzdCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRF
cnJvciAKK05PVFJVTiBhZGQoKSBzeW5jaHJvbm91c2x5IGZvbGxvd2VkIGJ5IGFib3J0IHNob3Vs
ZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZCgpIGZvbGxvd2VkIGJ5IGFib3J0
IGFmdGVyIGhlYWRlcnMgcmVjZWl2ZWQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitO
T1RSVU4gYWRkQWxsKCkgb24gYW4gYWxyZWFkeS1hYm9ydGVkIHJlcXVlc3Qgc2hvdWxkIHJlamVj
dCB3aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRkQWxsKCkgc3luY2hyb25vdXNseSBmb2xsb3dl
ZCBieSBhYm9ydCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAKK05PVFJVTiBhZGRBbGwo
KSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJlY2VpdmVkIHNob3VsZCByZWplY3Qg
d2l0aCBBYm9ydEVycm9yIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3
b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdv
cmtlci9jYWNoZS1hYm9ydC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhOGI1MzliZTgxZWYwZTRi
NDNmMTE5M2Q0YmI2Mjk3Mjk2ODQ0MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DYWNoZSBTdG9yYWdlOiBBYm9ydDwvdGl0bGU+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNyZXF1
ZXN0LXNpZ25hbCI+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0Pgorc2VydmljZV93b3JrZXJfdGVzdCgnLi4vc2NyaXB0LXRlc3RzL2Nh
Y2hlLWFib3J0LmpzJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
c2VydmljZXdvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMDVm
ZDk1YjcyNzE2Y2JjYzAxM2Y3ZmY3NDFiZTE2MzM4ZDZkZGM3Yy4uOThlNTc5NWY5Mjk4YjczMzg1
MTg2MWEwNWUzZDI5MzFjZmEyYjhjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2
aWNld29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTE4LDQg
KzE4LDcgQEAgUEFTUyBDYWNoZS5hZGRBbGwgd2l0aCBzdHJpbmcgVVJMIGFyZ3VtZW50cwogUEFT
UyBDYWNoZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyAKIFBBU1MgQ2FjaGUuYWRkQWxs
IHdpdGggYSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyAKIFBBU1MgQ2Fj
aGUuYWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0
d2ljZSAKK1BBU1MgQ2FjaGUuYWRkQWxsIHNob3VsZCBzdWNjZWVkIHdoZW4gZW50cmllcyBkaWZm
ZXIgYnkgdmFyeSBoZWFkZXIgCitQQVNTIENhY2hlLmFkZEFsbCBzaG91bGQgcmVqZWN0IHdoZW4g
ZW50cmllcyBhcmUgZHVwbGljYXRlIGJ5IHZhcnkgaGVhZGVyIAorUEFTUyBDYWNoZS5hZGRBbGwg
c2hvdWxkIHJlamVjdCB3aGVuIG9uZSBlbnRyeSBoYXMgYSB2YXJ5IGhlYWRlciBtYXRjaGluZyBh
bm90aGVyIGVudHJ5IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3Jr
ZXIvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUta2V5cy1hdHRyaWJ1
dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTkz
MWVhYWNkNTUyYTA0ZGExYTZlNWU4OTUyN2I0MDE4MTdkYmMzYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9y
LXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJ
TCBSZXF1ZXN0LklzUmVsb2FkTmF2aWdhdGlvbiBzaG91bGQgcGVyc2lzdC4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIm9yaWdpbmFsOiBmYWxzZSwgc3RvcmVkOiBmYWxzZSIgYnV0IGdvdCAib3Jp
Z2luYWw6IHVuZGVmaW5lZCwgc3RvcmVkOiB1bmRlZmluZWQiCitGQUlMIFJlcXVlc3QuSXNIaXN0
b3J5TmF2aWdhdGlvbiBzaG91bGQgcGVyc2lzdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm9y
aWdpbmFsOiBmYWxzZSwgc3RvcmVkOiBmYWxzZSIgYnV0IGdvdCAib3JpZ2luYWw6IHVuZGVmaW5l
ZCwgc3RvcmVkOiB1bmRlZmluZWQiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vy
dmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9yLXNlcnZpY2Utd29ya2VyLmh0dHBz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUta2V5cy1hdHRyaWJ1
dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2MDQ0YzU4MWI4
M2VlYjlmZDlkM2JmYjJmOTM2NzEyYjkwZDAxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNl
LXdvcmtlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPkNhY2hlLmtleXMgKGNoZWNraW5nIHJlcXVlc3QgYXR0cmlidXRlcyB0aGF0IGNhbiBiZSBz
ZXQgb25seSBvbiBzZXJ2aWNlIHdvcmtlcnMpPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI2NhY2hlLWtleXMiPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB3b3JrZXIgPSAnLi4vcmVzb3VyY2VzL2NhY2hlLWtl
eXMtYXR0cmlidXRlcy1mb3Itc2VydmljZS13b3JrZXIuanMnOworCitmdW5jdGlvbiB3YWl0KG1z
KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHN0ZXBfdGltZW91dChyZXNvbHZl
LCBtcykpOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBzY29w
ZSA9ICcuLi9yZXNvdXJjZXMvYmxhbmsuaHRtbD9uYW1lPWlzUmVsb2FkTmF2aWdhdGlvbic7Cisg
ICAgbGV0IGZyYW1lOworICAgIGxldCByZWc7CisKKyAgICB0cnkgeworICAgICAgcmVnID0gYXdh
aXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29w
ZSk7CisgICAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2
YXRlZCcpOworICAgICAgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7CisgICAgICBh
c3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAg
ICAgICAgICAgICAgICAgICAnb3JpZ2luYWw6IGZhbHNlLCBzdG9yZWQ6IGZhbHNlJyk7CisgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBmcmFtZS5vbmxvYWQg
PSByZXNvbHZlOworICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJlbG9hZCgp
OworICAgICAgfSk7CisgICAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5i
b2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgICAnb3JpZ2luYWw6IHRydWUsIHN0
b3JlZDogdHJ1ZScpOworICAgIH0gZmluYWxseSB7CisgICAgICBpZiAoZnJhbWUpIHsKKyAgICAg
ICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgICBpZiAocmVnKSB7CisgICAgICAgIGF3
YWl0IHJlZy51bnJlZ2lzdGVyKCk7CisgICAgICB9CisgICAgfQorfSwgJ1JlcXVlc3QuSXNSZWxv
YWROYXZpZ2F0aW9uIHNob3VsZCBwZXJzaXN0LicpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQp
ID0+IHsKKyAgICBjb25zdCBzY29wZSA9ICcuLi9yZXNvdXJjZXMvYmxhbmsuaHRtbD9uYW1lPWlz
SGlzdG9yeU5hdmlnYXRpb24nOworICAgIGxldCBmcmFtZTsKKyAgICBsZXQgcmVnOworCisgICAg
dHJ5IHsKKyAgICAgIHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpOworICAgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwg
cmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICAgIGZyYW1lID0gYXdhaXQgd2l0aF9p
ZnJhbWUoc2NvcGUpOworICAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQu
Ym9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICAgJ29yaWdpbmFsOiBmYWxzZSwg
c3RvcmVkOiBmYWxzZScpOworICAgICAgLy8gVXNlIHN0ZXBfdGltZW91dCgwKSB0byBlbnN1cmUg
dGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBmb3IgQmxpbmsKKyAgICAgIC8vIGFuZCBXZWJL
aXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjEuCisg
ICAgICBhd2FpdCB3YWl0KDApOworICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKyAgICAgICAgZnJhbWUub25sb2FkID0gcmVzb2x2ZTsKKyAgICAgICAgZnJhbWUuc3JjID0g
Jy4uL3Jlc291cmNlcy9ibGFuay5odG1sP2lnbm9yZSc7CisgICAgICB9KTsKKyAgICAgIGF3YWl0
IHdhaXQoMCk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAg
ICBmcmFtZS5vbmxvYWQgPSByZXNvbHZlOworICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lmhp
c3RvcnkuZ28oLTEpOworICAgICAgfSk7CisgICAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgICAnb3JpZ2lu
YWw6IHRydWUsIHN0b3JlZDogdHJ1ZScpOworICAgIH0gZmluYWxseSB7CisgICAgICBpZiAoZnJh
bWUpIHsKKyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgICBpZiAocmVnKSB7
CisgICAgICAgIGF3YWl0IHJlZy51bnJlZ2lzdGVyKCk7CisgICAgICB9CisgICAgfQorfSwgJ1Jl
cXVlc3QuSXNIaXN0b3J5TmF2aWdhdGlvbiBzaG91bGQgcGVyc2lzdC4nKTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWtleXMuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWtl
eXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZiOTNiODkyZTRhMGExM2JkMjM1NGUzYTYxNjI3
YmFkOTA0NGY3ZWQuLmM3ZDE5MTYxM2NjZGU3ZDczNmMwYzhiNzFjMzE0M2FkNjU2MGNkMjYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUt
a2V5cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEyLDUgKzEyLDYgQEAgUEFTUyBDYWNoZS5rZXlz
IHN1cHBvcnRzIGlnbm9yZVZhcnkKIFBBU1MgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250YWluaW5n
IGZyYWdtZW50IAogUEFTUyBDYWNoZS5rZXlzIHdpdGggc3RyaW5nIGZyYWdtZW50ICJodHRwIiBh
cyBxdWVyeSAKIFBBU1MgQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMgCitQQVNTIENhY2hl
LmtleXMgd2l0aG91dCBwYXJhbWV0ZXJzIGFuZCBWQVJZIGVudHJpZXMgCiBQQVNTIENhY2hlLmtl
eXMgd2l0aCBhIEhFQUQgUmVxdWVzdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9z
ZXJ2aWNld29ya2VyL2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
NzE5NWQ3YmRiODhkYTU1ZGNjNDM4ZjUwYTFmMjc2MDZlZTI3NTk2MC4uNTNhNGExZTY0MjVjZTAw
OGFlMzNkOGFmYWVmYzkyMmM2M2M4ZGFiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9z
ZXJ2aWNld29ya2VyL2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0yMCw0ICsyMCw1IEBAIFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QKIFBBU1Mg
Q2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgCiBQQVNTIENhY2hlLm1hdGNoIHdp
dGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIAogUEFTUyBDYWNoZSBwcm9kdWNlcyBsYXJnZSBS
ZXNwb25zZXMgdGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gCitGQUlMIGNv
cnMtZXhwb3NlZCBoZWFkZXIgc2hvdWxkIGJlIHN0b3JlZCBjb3JyZWN0bHkuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXIiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvdzNjLWltcG9ydC5sb2cKaW5kZXggMTc0NzAz
ZWQyNDZmM2Q2NzU3OTU3NzU3YjkyOTQyYzEwOGFjYzE1Ny4uMTcwZmI5MmRiODc3MGUxZjYyNWI3
MjM0ZjBmYzdjMDM3NWQ2ZDg5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNl
d29ya2VyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtl
ci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAogCkBAIC0xNCw4ICsxNCwxMCBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxl
czoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1hZGQuaHR0cHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9y
LXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3Jr
ZXIvY2FjaGUta2V5cy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2Vy
L2NhY2hlLW1hdGNoLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIv
Y2FjaGUtbWF0Y2hBbGwuaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvdzNjLWltcG9ydC5sb2cKaW5kZXggMDgy
NDA2MWUzYWExOTVjNjVjMzlkOWI5MWUxMGQyZTdkMTA2ZTE3Mi4uYTUzZTkyOTIyMzU3OThlZDZj
NGU5Y2VkNzQ5YzMyZjQxNzc5NWIxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE0LDUg
KzE0LDUgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25l
CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9PV05F
UlMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9jb21tb24u
aHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWJv
cnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWJv
cnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlM2YyZGVkOWFkMGYzZTk2ZWViM2Mx
YmI3NzBhZmU4OTgxMmFiMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1hYm9ydC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorCitI
YXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworRkFJTCBwdXQoKSBvbiBh
biBhbHJlYWR5LWFib3J0ZWQgcmVxdWVzdCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogcHV0IHNob3VsZCByZWplY3Qg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIHB1dCgpIHN5bmNocm9ub3VzbHkgZm9sbG93
ZWQgYnkgYWJvcnQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHB1dCBzaG91bGQgcmVqZWN0IFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQorVElNRU9VVCBwdXQoKSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJz
IHJlY2VpdmVkIHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIFRlc3QgdGltZWQgb3V0CitO
T1RSVU4gYWRkKCkgb24gYW4gYWxyZWFkeS1hYm9ydGVkIHJlcXVlc3Qgc2hvdWxkIHJlamVjdCB3
aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRkKCkgc3luY2hyb25vdXNseSBmb2xsb3dlZCBieSBh
Ym9ydCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAKK05PVFJVTiBhZGQoKSBmb2xsb3dl
ZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJlY2VpdmVkIHNob3VsZCByZWplY3Qgd2l0aCBBYm9y
dEVycm9yIAorTk9UUlVOIGFkZEFsbCgpIG9uIGFuIGFscmVhZHktYWJvcnRlZCByZXF1ZXN0IHNo
b3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZEFsbCgpIHN5bmNocm9ub3Vz
bHkgZm9sbG93ZWQgYnkgYWJvcnQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RS
VU4gYWRkQWxsKCkgZm9sbG93ZWQgYnkgYWJvcnQgYWZ0ZXIgaGVhZGVycyByZWNlaXZlZCBzaG91
bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93aW5kb3cvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLWFib3J0Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA1ZDM0ZDY2NWMyN2NlZTkzYTAz
ZjcwMTNmMDg3Y2ZjMGE2MWFmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLWFib3J0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0aXRsZT5DYWNoZSBTdG9yYWdlOiBBYm9ydDwvdGl0bGU+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNyZXF1ZXN0LXNpZ25hbCI+
Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvdGVzdC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9zY3JpcHQtdGVzdHMvY2FjaGUtYWJvcnQu
anMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUt
YWRkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWFk
ZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggY2Y3NGNmYWQ2ZGRmMmVlNGQxMmY3ZjZhNTc3NDVl
ZmU2MzliOTk0MS4uNjM2YzgyZmE1YjliN2ZmZTNkOTk0MGZmZjI0MDU2NTQ0ZGUxYTcwMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xNyw0ICsxNyw3IEBAIFBBU1MgQ2FjaGUuYWRkQWxsIHdpdGggc3RyaW5nIFVS
TCBhcmd1bWVudHMKIFBBU1MgQ2FjaGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVudHMgCiBQ
QVNTIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxpbmcgcmVx
dWVzdHMgCiBQQVNTIENhY2hlLmFkZEFsbCBjYWxsZWQgd2l0aCB0aGUgc2FtZSBSZXF1ZXN0IG9i
amVjdCBzcGVjaWZpZWQgdHdpY2UgCitQQVNTIENhY2hlLmFkZEFsbCBzaG91bGQgc3VjY2VlZCB3
aGVuIGVudHJpZXMgZGlmZmVyIGJ5IHZhcnkgaGVhZGVyIAorUEFTUyBDYWNoZS5hZGRBbGwgc2hv
dWxkIHJlamVjdCB3aGVuIGVudHJpZXMgYXJlIGR1cGxpY2F0ZSBieSB2YXJ5IGhlYWRlciAKK1BB
U1MgQ2FjaGUuYWRkQWxsIHNob3VsZCByZWplY3Qgd2hlbiBvbmUgZW50cnkgaGFzIGEgdmFyeSBo
ZWFkZXIgbWF0Y2hpbmcgYW5vdGhlciBlbnRyeSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93aW5kb3cvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwYjQxNjRiOTM3
YmJiOGM1NTA4ODVmMDc1NTU3OWQ4NTg3MDVkMWFkLi40OWE4MDkwNWZjOTM2NTg1YzIwYTE2MGY3
OTc1ZGQ3ZWJmMjVhMWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNo
ZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9j
YWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTEsNSArMTEsNiBAQCBQQVNTIENhY2hl
LmtleXMgc3VwcG9ydHMgaWdub3JlVmFyeQogUEFTUyBDYWNoZS5rZXlzIHdpdGggVVJMIGNvbnRh
aW5pbmcgZnJhZ21lbnQgCiBQQVNTIENhY2hlLmtleXMgd2l0aCBzdHJpbmcgZnJhZ21lbnQgImh0
dHAiIGFzIHF1ZXJ5IAogUEFTUyBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyAKK1BBU1Mg
Q2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMgYW5kIFZBUlkgZW50cmllcyAKIFBBU1MgQ2Fj
aGUua2V5cyB3aXRoIGEgSEVBRCBSZXF1ZXN0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNGY1MmU1MDBj
ODI1NzM0NWRkNDg1OTJiNzliM2IxNzUzODExOGU1YS4uZGZmOTlmYTgyNGQ0MDAxNjYwY2NmZWIw
ODM5ZTI3YTVjMzU4MDk3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2Fj
aGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTksNCArMTksNSBAQCBQQVNTIENh
Y2hlLm1hdGNoIHdpdGggUE9TVCBSZXF1ZXN0CiBQQVNTIENhY2hlLm1hdGNoIHdpdGggYSBub24t
Mnh4IFJlc3BvbnNlIAogUEFTUyBDYWNoZS5tYXRjaCB3aXRoIGEgbmV0d29yayBlcnJvciBSZXNw
b25zZSAKIFBBU1MgQ2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2FuIGJlIGNs
b25lZCBhbmQgcmVhZCBjb3JyZWN0bHkuIAorRkFJTCBjb3JzLWV4cG9zZWQgaGVhZGVyIHNob3Vs
ZCBiZSBzdG9yZWQgY29ycmVjdGx5LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAi
YmFyIiBidXQgZ290IChvYmplY3QpIG51bGwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93
L2NhY2hlLW1hdGNoLmh0dHBzLmh0bWwKaW5kZXggZmZjNjQ5ODRlYTFiMDllNGMxYmVmNDU5Yzg4
NDgxY2I0OWNmNzJjZS4uZjI4ZWZhZDBiNzZiMzQxMTcxYWQyMzBlMThkMjQzZTIyOTE1MzY4NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy5odG1sCkBA
IC00LDUgKzQsNiBAQAogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4v
c2NyaXB0LXRlc3RzL2NhY2hlLW1hdGNoLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvdzNjLWltcG9ydC5sb2cKaW5kZXggYTkxZWM2YmE4YjE1ODc5ZDVjNzcyMjA1MTE2YjJmMjUy
MzExMDRhYS4uMDNhOGJmODUyNjQ4MmNlMDdmZTE4NTVlZjQ4OWU3ZDg5ODM3YzMxZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTQsNiArMTQsNyBAQCBQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hYm9ydC5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWtleXMuaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVlM2YyZGVkOWFkMGYzZTk2ZWViM2MxYmI3NzBhZmU4OTgxMmFiMmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hYm9ydC5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworRkFJTCBwdXQoKSBvbiBhbiBhbHJlYWR5LWFib3J0ZWQgcmVxdWVzdCBz
aG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2
ZSByZWplY3RlZDogcHV0IHNob3VsZCByZWplY3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitG
QUlMIHB1dCgpIHN5bmNocm9ub3VzbHkgZm9sbG93ZWQgYnkgYWJvcnQgc2hvdWxkIHJlamVjdCB3
aXRoIEFib3J0RXJyb3IgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHB1
dCBzaG91bGQgcmVqZWN0IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorVElNRU9VVCBwdXQoKSBm
b2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJlY2VpdmVkIHNob3VsZCByZWplY3Qgd2l0
aCBBYm9ydEVycm9yIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gYWRkKCkgb24gYW4gYWxyZWFkeS1h
Ym9ydGVkIHJlcXVlc3Qgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRk
KCkgc3luY2hyb25vdXNseSBmb2xsb3dlZCBieSBhYm9ydCBzaG91bGQgcmVqZWN0IHdpdGggQWJv
cnRFcnJvciAKK05PVFJVTiBhZGQoKSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJl
Y2VpdmVkIHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZEFsbCgpIG9u
IGFuIGFscmVhZHktYWJvcnRlZCByZXF1ZXN0IHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9y
IAorTk9UUlVOIGFkZEFsbCgpIHN5bmNocm9ub3VzbHkgZm9sbG93ZWQgYnkgYWJvcnQgc2hvdWxk
IHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRkQWxsKCkgZm9sbG93ZWQgYnkgYWJv
cnQgYWZ0ZXIgaGVhZGVycyByZWNlaXZlZCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFib3J0Lmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjhiYmFkZTA3ZDM4NjJjODgzYmYwZjk1YjAyYTVjYjYxODFkOGU3OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFib3J0Lmh0dHBzLmh0
bWwKQEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4+Q2FjaGUgU3RvcmFn
ZTogQWJvcnQ8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2ZldGNoLnNw
ZWMud2hhdHdnLm9yZy8jcmVxdWVzdC1zaWduYWwiPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29u
dGVudD0ibG9uZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIobmV3IFdvcmtlcignLi4v
c2NyaXB0LXRlc3RzL2NhY2hlLWFib3J0LmpzJykpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
Y2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBj
Zjc0Y2ZhZDZkZGYyZWU0ZDEyZjdmNmE1Nzc0NWVmZTYzOWI5OTQxLi42MzZjODJmYTViOWI3ZmZl
M2Q5OTQwZmZmMjQwNTY1NDRkZTFhNzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTE3LDQgKzE3LDcgQEAgUEFT
UyBDYWNoZS5hZGRBbGwgd2l0aCBzdHJpbmcgVVJMIGFyZ3VtZW50cwogUEFTUyBDYWNoZS5hZGRB
bGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyAKIFBBU1MgQ2FjaGUuYWRkQWxsIHdpdGggYSBtaXgg
b2Ygc3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyAKIFBBU1MgQ2FjaGUuYWRkQWxsIGNh
bGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2ljZSAKK1BBU1Mg
Q2FjaGUuYWRkQWxsIHNob3VsZCBzdWNjZWVkIHdoZW4gZW50cmllcyBkaWZmZXIgYnkgdmFyeSBo
ZWFkZXIgCitQQVNTIENhY2hlLmFkZEFsbCBzaG91bGQgcmVqZWN0IHdoZW4gZW50cmllcyBhcmUg
ZHVwbGljYXRlIGJ5IHZhcnkgaGVhZGVyIAorUEFTUyBDYWNoZS5hZGRBbGwgc2hvdWxkIHJlamVj
dCB3aGVuIG9uZSBlbnRyeSBoYXMgYSB2YXJ5IGhlYWRlciBtYXRjaGluZyBhbm90aGVyIGVudHJ5
IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMt
ZXhwZWN0ZWQudHh0CmluZGV4IDBiNDE2NGI5MzdiYmI4YzU1MDg4NWYwNzU1NTc5ZDg1ODcwNWQx
YWQuLjQ5YTgwOTA1ZmM5MzY1ODVjMjBhMTYwZjc5NzVkZDdlYmYyNWExZDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xMSw1ICsxMSw2IEBAIFBBU1MgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVWYXJ5CiBQ
QVNTIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCAKIFBBU1MgQ2FjaGUu
a2V5cyB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIgYXMgcXVlcnkgCiBQQVNTIENhY2hlLmtl
eXMgd2l0aG91dCBwYXJhbWV0ZXJzIAorUEFTUyBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVy
cyBhbmQgVkFSWSBlbnRyaWVzIAogUEFTUyBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJlcXVlc3Qg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNoLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCA0ZjUyZTUwMGM4MjU3MzQ1ZGQ0ODU5MmI3OWIzYjE3NTM4MTE4
ZTVhLi5kZmY5OWZhODI0ZDQwMDE2NjBjY2ZlYjA4MzllMjdhNWMzNTgwOTczIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xOSw0ICsxOSw1IEBAIFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QK
IFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgCiBQQVNTIENhY2hlLm1h
dGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIAogUEFTUyBDYWNoZSBwcm9kdWNlcyBs
YXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gCitG
QUlMIGNvcnMtZXhwb3NlZCBoZWFkZXIgc2hvdWxkIGJlIHN0b3JlZCBjb3JyZWN0bHkuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXIiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvd29ya2VyL3czYy1pbXBvcnQubG9nCmluZGV4IGNiNTVmZmQ2YjViYmQw
OTA1NzIzZmQ2YTY0NWQwZGU4NzA3ZTdiOTQuLmJjZDYzZTMxYTgzNGRhOTgzZmI1NDM2NzU4ODg2
NzJlNzRiNWJlMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL3czYy1pbXBvcnQubG9nCkBAIC0x
LDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE0
LDYgKzE0LDcgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBO
b25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93
b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2Nh
Y2hlLWFkZC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtZGVsZXRl
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0dHBzLmh0
bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2VyLUFsbG93ZWQt
aGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29y
a2VyLUFsbG93ZWQtaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTc1OWUw
ODNkMzE1NTE1YmUwNzFjMWIxODQyM2IwYjIwMGVhOWE0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvU2VydmljZS1Xb3JrZXItQWxsb3dlZC1oZWFkZXIuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworUEFTUyBSZWdpc3RlcmluZyB3aXRoaW4gU2Vydmlj
ZS1Xb3JrZXItQWxsb3dlZCBwYXRoIAorUEFTUyBSZWdpc3RlcmluZyB3aXRoaW4gU2VydmljZS1X
b3JrZXItQWxsb3dlZCBwYXRoIChhYnNvbHV0ZSBVUkwpIAorUEFTUyBSZWdpc3RlcmluZyB3aXRo
aW4gU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdpdGggcGFyZW50IHJlZmVyZW5jZSAKK1BB
U1MgUmVnaXN0ZXJpbmcgb3V0c2lkZSBTZXJ2aWNlLVdvcmtlci1BbGxvd2VkIHBhdGggCitQQVNT
IFJlZ2lzdGVyaW5nIG91dHNpZGUgU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdpdGggcGFy
ZW50IHJlZmVyZW5jZSAKK1BBU1MgU2VydmljZS1Xb3JrZXItQWxsb3dlZCBpcyBjcm9zcy1vcmln
aW4gdG8gc2NyaXB0LCByZWdpc3RlcmluZyBvbiBhIG5vcm1hbGx5IGFsbG93ZWQgc2NvcGUgCitQ
QVNTIFNlcnZpY2UtV29ya2VyLUFsbG93ZWQgaXMgY3Jvc3Mtb3JpZ2luIHRvIHNjcmlwdCwgcmVn
aXN0ZXJpbmcgb24gYSBub3JtYWxseSBkaXNhbGxvd2VkIHNjb3BlIAorUEFTUyBTZXJ2aWNlLVdv
cmtlci1BbGxvd2VkIGlzIGNyb3NzLW9yaWdpbiB0byBwYWdlLCBzYW1lLW9yaWdpbiB0byBzY3Jp
cHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2VyLUFsbG93
ZWQtaGVhZGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNlLVdvcmtlci1B
bGxvd2VkLWhlYWRlci5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxNjA2N2NjMDY2Nzk1NzA4NjZj
ZDFjY2Y2N2YyNzNjY2U1N2ExNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9TZXJ2aWNlLVdvcmtlci1BbGxvd2VkLWhlYWRlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTA0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogU2VydmljZS1Xb3Jr
ZXItQWxsb3dlZCBoZWFkZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5z
dWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2lu
Zm8oKTsKKworLy8gUmV0dXJucyBhIFVSTCBmb3IgYSBzZXJ2aWNlIHdvcmtlciBzY3JpcHQgd2hv
c2UgU2VydmljZS1Xb3JrZXItQWxsb3dlZAorLy8gaGVhZGVyIHZhbHVlIGlzIHNldCB0byB8YWxs
b3dlZF9wYXRofC4gSWYgfG9yaWdpbnwgaXMgc3BlY2lmaWVkLCB0aGF0IG9yaWdpbgorLy8gaXMg
dXNlZC4KK2Z1bmN0aW9uIGJ1aWxkX3NjcmlwdF91cmwoYWxsb3dlZF9wYXRoLCBvcmlnaW4pIHsK
KyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOworICBjb25zdCB1
cmwgPSBvcmlnaW4gPyBgJHtvcmlnaW59JHtiYXNlX3BhdGgoKX0ke3NjcmlwdH1gIDogc2NyaXB0
OworICByZXR1cm4gYCR7dXJsfT9waXBlPWhlYWRlcihTZXJ2aWNlLVdvcmtlci1BbGxvd2VkLCR7
YWxsb3dlZF9wYXRofSlgOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0
IHNjcmlwdCA9IGJ1aWxkX3NjcmlwdF91cmwoJy9hbGxvd2VkLXBhdGgnKTsKKyAgY29uc3Qgc2Nv
cGUgPSAnL2FsbG93ZWQtcGF0aCc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgICAgdCwgc2NyaXB0LCBzY29w
ZSk7CisgIGFzc2VydF90cnVlKHJlZ2lzdHJhdGlvbiBpbnN0YW5jZW9mIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24sICdyZWdpc3RlcmVkJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9u
LnNjb3BlLCBub3JtYWxpemVVUkwoc2NvcGUpKTsKKyAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJl
Z2lzdGVyKCk7Cit9LCAnUmVnaXN0ZXJpbmcgd2l0aGluIFNlcnZpY2UtV29ya2VyLUFsbG93ZWQg
cGF0aCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHNjcmlwdCA9IGJ1
aWxkX3NjcmlwdF91cmwobmV3IFVSTCgnL2FsbG93ZWQtcGF0aCcsIGRvY3VtZW50LmxvY2F0aW9u
KSk7CisgIGNvbnN0IHNjb3BlID0gJy9hbGxvd2VkLXBhdGgnOworICBjb25zdCByZWdpc3RyYXRp
b24gPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAg
IHQsIHNjcmlwdCwgc2NvcGUpOworICBhc3NlcnRfdHJ1ZShyZWdpc3RyYXRpb24gaW5zdGFuY2Vv
ZiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLCAncmVnaXN0ZXJlZCcpOworICBhc3NlcnRfZXF1
YWxzKHJlZ2lzdHJhdGlvbi5zY29wZSwgbm9ybWFsaXplVVJMKHNjb3BlKSk7CisgIHJldHVybiBy
ZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworfSwgJ1JlZ2lzdGVyaW5nIHdpdGhpbiBTZXJ2aWNl
LVdvcmtlci1BbGxvd2VkIHBhdGggKGFic29sdXRlIFVSTCknKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSBidWlsZF9zY3JpcHRfdXJsKCcuLi9hbGxvd2Vk
LXBhdGgtd2l0aC1wYXJlbnQnKTsKKyAgY29uc3Qgc2NvcGUgPSAnYWxsb3dlZC1wYXRoLXdpdGgt
cGFyZW50JzsKKyAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCisgICAgICB0LCBzY3JpcHQsIHNjb3BlKTsKKyAgYXNzZXJ0
X3RydWUocmVnaXN0cmF0aW9uIGluc3RhbmNlb2YgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiwg
J3JlZ2lzdGVyZWQnKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24uc2NvcGUsIG5vcm1h
bGl6ZVVSTChzY29wZSkpOworICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKK30s
ICdSZWdpc3RlcmluZyB3aXRoaW4gU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdpdGggcGFy
ZW50IHJlZmVyZW5jZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHNj
cmlwdCA9IGJ1aWxkX3NjcmlwdF91cmwoJy4uL2FsbG93ZWQtcGF0aCcpOworICBjb25zdCBzY29w
ZSA9ICcvZGlzYWxsb3dlZC1wYXRoJzsKKyAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cih0LCBzY29wZSk7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwKKyAgICAgICdTZWN1cml0
eUVycm9yJywKKyAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwg
e3Njb3BlOiBzY29wZX0pLAorICAgICAgJ3JlZ2lzdGVyIHNob3VsZCBmYWlsJyk7Cit9LCAnUmVn
aXN0ZXJpbmcgb3V0c2lkZSBTZXJ2aWNlLVdvcmtlci1BbGxvd2VkIHBhdGgnKTsKKworcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSBidWlsZF9zY3JpcHRfdXJsKCcu
Li9hbGxvd2VkLXBhdGgtd2l0aC1wYXJlbnQnKTsKKyAgY29uc3Qgc2NvcGUgPSAnL2FsbG93ZWQt
cGF0aC13aXRoLXBhcmVudCc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwg
c2NvcGUpOworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsCisgICAgICAnU2VjdXJpdHlFcnJv
cicsCisgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHtzY29w
ZTogc2NvcGV9KSwKKyAgICAgICdyZWdpc3RlciBzaG91bGQgZmFpbCcpOworfSwgJ1JlZ2lzdGVy
aW5nIG91dHNpZGUgU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdpdGggcGFyZW50IHJlZmVy
ZW5jZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHNjcmlwdCA9IGJ1
aWxkX3NjcmlwdF91cmwoCisgICAgICBob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJTiArICcv
Jyk7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy90aGlzLXNjb3BlLWlzLW5vcm1hbGx5LWFs
bG93ZWQnCisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgICAgdCwgc2NyaXB0LCBzY29wZSk7CisgIGFzc2VydF90
cnVlKHJlZ2lzdHJhdGlvbiBpbnN0YW5jZW9mIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24sICdy
ZWdpc3RlcmVkJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLnNjb3BlLCBub3JtYWxp
emVVUkwoc2NvcGUpKTsKKyAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Cit9LCAn
U2VydmljZS1Xb3JrZXItQWxsb3dlZCBpcyBjcm9zcy1vcmlnaW4gdG8gc2NyaXB0LCByZWdpc3Rl
cmluZyBvbiBhIG5vcm1hbGx5IGFsbG93ZWQgc2NvcGUnKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCBzY3JpcHQgPSBidWlsZF9zY3JpcHRfdXJsKAorICAgICAgaG9zdF9p
bmZvLkhUVFBTX1JFTU9URV9PUklHSU4gKyAnLycpOworICBjb25zdCBzY29wZSA9ICcvdGhpcy1z
Y29wZS1pcy1ub3JtYWxseS1kaXNhbGxvd2VkJworICBjb25zdCByZWdpc3RyYXRpb24gPSBhd2Fp
dCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAgIHQsIHNjcmlw
dCwgc2NvcGUpOworICBhc3NlcnRfdHJ1ZShyZWdpc3RyYXRpb24gaW5zdGFuY2VvZiBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLCAncmVnaXN0ZXJlZCcpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lz
dHJhdGlvbi5zY29wZSwgbm9ybWFsaXplVVJMKHNjb3BlKSk7CisgIHJldHVybiByZWdpc3RyYXRp
b24udW5yZWdpc3RlcigpOworfSwgJ1NlcnZpY2UtV29ya2VyLUFsbG93ZWQgaXMgY3Jvc3Mtb3Jp
Z2luIHRvIHNjcmlwdCwgcmVnaXN0ZXJpbmcgb24gYSBub3JtYWxseSBkaXNhbGxvd2VkIHNjb3Bl
Jyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gYnVpbGRf
c2NyaXB0X3VybCgKKyAgICAgIGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgJy9jcm9z
cy1vcmlnaW4vJywKKyAgICAgIGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOKTsKKyAgY29u
c3Qgc2NvcGUgPSAnL2Nyb3NzLW9yaWdpbi8nOworICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyKHQsIHNjb3BlKTsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAorICAgICAgJ1Nl
Y3VyaXR5RXJyb3InLAorICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2Ny
aXB0LCB7c2NvcGU6IHNjb3BlfSksCisgICAgICAncmVnaXN0ZXIgc2hvdWxkIGZhaWwnKTsKK30s
ICdTZXJ2aWNlLVdvcmtlci1BbGxvd2VkIGlzIGNyb3NzLW9yaWdpbiB0byBwYWdlLCBzYW1lLW9y
aWdpbiB0byBzY3JpcHQnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvcmVzb3VyY2VzL3VucmVnaXN0ZXItY29udHJv
bGxpbmctd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUvcmVzb3VyY2VzL3VucmVnaXN0ZXItY29udHJvbGxpbmctd29ya2VyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggZTg1MWNhYWI1MGE3ZTI2ZGU0N2M5MGE3
YmRkMDlhNjBiYjJmNzg2OS4uYzNlOGU2ZGU4YjBmZTYzMWIzNzVjOWE5MWJjN2NhMjFmOTU0Mzkw
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBA
QAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS93M2MtaW1wb3J0Lmxv
ZwppbmRleCAzOWNkYzQzMWVlZWMzNzZhNmM4ZDIzOWIxNmViOWRiN2NmMTY0MjYyLi4yNzcwOTBm
MTE5ODAzMTRjOGU3OTY4NmRkNjNkYmQ1MTk5NmJiNTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAg
LTE3LDYgKzE3LDggQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUvY2xvc2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS9leHRlbmRhYmxlLW1lc3NhZ2UtZXZlbnQtY29uc3RydWN0
b3IuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS9leHRlbmRhYmxlLW1lc3NhZ2UtZXZlbnQuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9pc1NlY3VyZUNvbnRleHQuaHR0cHMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9pc1NlY3VyZUNvbnRleHQu
c2VydmljZXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS9wb3N0bWVzc2FnZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlL3JlZ2lzdHJhdGlvbi1hdHRyaWJ1dGUuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9zZXJ2aWNlLXdvcmtlci1lcnJv
ci1ldmVudC5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1i
bGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9h
Ym91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDI3NzBiNDIy
MTdhY2U2ZGE3MTYzNzkyOWQxYzY0MmI4NTNlMTM5OS4uYzUwZmNlNGFkYTYwN2Q1OWMzNjQ3NTMw
Y2EwZDllNjdjZjhkOGYzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxh
bmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDEx
IEBACitmcmFtZSAiPCEtLWZyYW1lNS0tPiIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVyKHMpCiAK
IAogRkFJTCBJbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQgdG8gY2xp
ZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFzc2VydF9mYWxzZTog
cmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUKIEZBSUwgSW5pdGlhbCBhYm91dDpibGFuayBtb2RpZmllZCBieSBw
YXJlbnQgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCksIGFuZCBt
YXRjaGVzIGZpbmFsIENsaWVudC4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6IGNvdWxk
IG5vdCBmaW5kIGFib3V0OmJsYW5rIGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogRkFJ
TCBQb3B1cCBpbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQgdG8gY2xp
ZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFzc2VydF9mYWxzZTog
cmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhwZWN0
ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgSW5pdGlhbCBhYm91dDpibGFuayBpcyBjb250cm9sbGVk
LCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIGZpbmFsIENsaWVudCBpcyBub3Qg
Y29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiAKK0ZBSUwgU2ltcGxlIGFib3V0OmJsYW5r
IGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgpLiBhc3Nl
cnRfZmFsc2U6IHJlc3VsdDogZmFpbHVyZTogY291bGQgbm90IGZpbmQgYWJvdXQ6YmxhbmsgY2xp
ZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIE5lc3RlZCBhYm91dDpzcmNkb2MgaXMg
Y29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9m
YWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpzcmNkb2MgY2xpZW50
IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIER5bmFtaWMgYWJvdXQ6YmxhbmsgaXMgY29u
dHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFzc2VydF9mYWxz
ZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQgZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJv
dXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0
LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLmh0bWwKaW5kZXggM2FjZmUxYjE2NmE2OGM4NzUwODQ0
ZDM3YzgyZWM5OGIyMmFiZTE3My4uZTFmZWZhZjI5MGZlNTIxNTkwYTQ2MDk0MmQ0YzNmNmMwMDIy
Yzc1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1l
bnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNl
bWVudC5odHRwcy5odG1sCkBAIC01OCw3ICs1OCw3IEBAIGZ1bmN0aW9uIGdldENsaWVudElkQnlV
Ukwod29ya2VyLCB1cmwpIHsKICAgfSk7CiB9CiAKLWFzeW5jIGZ1bmN0aW9uIGRvQXN5bmNUZXN0
KHQsIHNjb3BlLCBleHRyYVNlYXJjaFBhcmFtcykgeworYXN5bmMgZnVuY3Rpb24gZG9Bc3luY1Rl
c3QodCwgc2NvcGUpIHsKICAgbGV0IHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpOwogICBhd2FpdCB3YWl0X2Zvcl9zdGF0
ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogCkBAIC03MCwyMCArNzAsMzAgQEAg
YXN5bmMgZnVuY3Rpb24gZG9Bc3luY1Rlc3QodCwgc2NvcGUsIGV4dHJhU2VhcmNoUGFyYW1zKSB7
CiAgIGxldCBpbml0aWFsUmVzdWx0ID0gZnJhbWUuY29udGVudFdpbmRvdy5uZXN0ZWQoKS5kb2N1
bWVudC5ib2R5LnRleHRDb250ZW50OwogICBhc3NlcnRfZmFsc2UoaW5pdGlhbFJlc3VsdC5zdGFy
dHNXaXRoKCdmYWlsdXJlOicpLCBgcmVzdWx0OiAke2luaXRpYWxSZXN1bHR9YCk7CiAKKyAgYXNz
ZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNv
bnRyb2xsZXIuc2NyaXB0VVJMLAorICAgICAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cu
bmVzdGVkKCkubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5zY3JpcHRVUkwsCisg
ICAgICAgICAgICAgICAgJ25lc3RlZCBhYm91dDpibGFuayBzaG91bGQgaGF2ZSBzYW1lIGNvbnRy
b2xsaW5nIHNlcnZpY2Ugd29ya2VyJyk7CisKICAgLy8gTmV4dCwgYXNrIHRoZSBzZXJ2aWNlIHdv
cmtlciB0byBmaW5kIHRoZSBmaW5hbCBjbGllbnQgSUQgZm9yIHRoZSBmdWxseQogICAvLyBsb2Fk
ZWQgbmVzdGVkIGZyYW1lLgotICBsZXQgbmVzdGVkVVJMID0gbmV3IFVSTChzY29wZSwgd2luZG93
LmxvY2F0aW9uKTsKLSAgbmVzdGVkVVJMLnNlYXJjaFBhcmFtcy5zZXQoJ25lc3RlZCcsIHRydWUp
OwotICBleHRyYVNlYXJjaFBhcmFtcyA9IGV4dHJhU2VhcmNoUGFyYW1zIHx8IHt9OwotICBmb3Ig
KGxldCBwIGluIGV4dHJhU2VhcmNoUGFyYW1zKSB7Ci0gICAgbmVzdGVkVVJMLnNlYXJjaFBhcmFt
cy5zZXQocCwgZXh0cmFTZWFyY2hQYXJhbXNbcF0pOwotICB9CisgIGxldCBuZXN0ZWRVUkwgPSBu
ZXcgVVJMKGZyYW1lLmNvbnRlbnRXaW5kb3cubmVzdGVkKCkubG9jYXRpb24pOwogICBsZXQgZmlu
YWxSZXN1bHQgPSBhd2FpdCBnZXRDbGllbnRJZEJ5VVJMKHJlZy5hY3RpdmUsIG5lc3RlZFVSTCk7
CiAgIGFzc2VydF9mYWxzZShmaW5hbFJlc3VsdC5zdGFydHNXaXRoKCdmYWlsdXJlOicpLCBgcmVz
dWx0OiAke2ZpbmFsUmVzdWx0fWApOwogCi0gIC8vIFRoZSBpbml0aWFsIGFib3V0OmJsYW5rIGNs
aWVudCBhbmQgdGhlIGZpbmFsIGxvYWRlZCBjbGllbnQgc2hvdWxkIGhhdmUKLSAgLy8gdGhlIHNh
bWUgSUQgdmFsdWUuCi0gIGFzc2VydF9lcXVhbHMoaW5pdGlhbFJlc3VsdCwgZmluYWxSZXN1bHQs
ICdjbGllbnQgSUQgdmFsdWVzIHNob3VsZCBtYXRjaCcpOworICAvLyBJZiB0aGUgbmVzdGVkIGZy
YW1lIGRvZXNuJ3QgaGF2ZSBhIFVSTCB0byBsb2FkLCB0aGVuIHRoZXJlIGlzIG5vIGZldGNoCisg
IC8vIGV2ZW50IGFuZCB0aGUgYm9keSBzaG91bGQgYmUgZW1wdHkuICBXZSBjYW4ndCB2ZXJpZnkg
dGhlIGZpbmFsIGNsaWVudCBJRAorICAvLyBhZ2FpbnN0IGFueXRoaW5nLgorICBpZiAobmVzdGVk
VVJMLmhyZWYgPT09ICdhYm91dDpibGFuaycgfHwKKyAgICAgIG5lc3RlZFVSTC5ocmVmID09PSAn
YWJvdXQ6c3JjZG9jJykgeworICAgIGFzc2VydF9lcXVhbHMoJycsIGluaXRpYWxSZXN1bHQsICdh
Ym91dDpibGFuayB0ZXh0IGNvbnRlbnQgc2hvdWxkIGJlIGJsYW5rJyk7CisgIH0KKworICAvLyBJ
ZiB0aGUgbmVzdGVkIFVSTCBpcyBub3QgYWJvdXQ6YmxhbmssIHRob3VnaCwgdGhlbiB0aGUgZmV0
Y2ggZXZlbnQgaGFuZGxlcgorICAvLyBzaG91bGQgaGF2ZSBwb3B1bGF0ZWQgdGhlIGJvZHkgd2l0
aCB0aGUgY2xpZW50IGlkIG9mIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rLgorICAvLyBWZXJpZnkg
dGhlIGZpbmFsIGNsaWVudCBpZCBtYXRjaGVzLgorICBlbHNlIHsKKyAgICBhc3NlcnRfZXF1YWxz
KGluaXRpYWxSZXN1bHQsIGZpbmFsUmVzdWx0LCAnY2xpZW50IElEIHZhbHVlcyBzaG91bGQgbWF0
Y2gnKTsKKyAgfQogCiAgIGZyYW1lLnJlbW92ZSgpOwogICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKQEAgLTEwMSw4ICsxMTEsNyBAQCBwcm9taXNl
X3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgewogICAvLyB3b3JrZXIgY2FuIHBpbmcgdGhlIGNsaWVu
dCB0byB2ZXJpZnkgaXRzIGV4aXN0ZW5jZS4gIFRoaXMgcGluZy1wb25nCiAgIC8vIGNoZWNrIGlz
IHBlcmZvcm1lZCBkdXJpbmcgdGhlIGluaXRpYWwgbG9hZCBhbmQgd2hlbiB2ZXJpZnlpbmcgdGhl
CiAgIC8vIGZpbmFsIGxvYWRlZCBjbGllbnQuCi0gIGF3YWl0IGRvQXN5bmNUZXN0KHQsICdyZXNv
dXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtcGluZy1mcmFtZS5weScsCi0gICAgICAgICAg
ICAgICAgICAgIHsgJ3BpbmcnOiB0cnVlIH0pOworICBhd2FpdCBkb0FzeW5jVGVzdCh0LCAncmVz
b3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHknKTsKIH0sICdJbml0
aWFsIGFib3V0OmJsYW5rIG1vZGlmaWVkIGJ5IHBhcmVudCBpcyBjb250cm9sbGVkLCBleHBvc2Vk
IHRvICcgKwogICAgJ2NsaWVudHMubWF0Y2hBbGwoKSwgYW5kIG1hdGNoZXMgZmluYWwgQ2xpZW50
LicpOwogCkBAIC0xNDIsNSArMTUxLDI3IEBAIHByb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0
KSB7CiB9LCAnSW5pdGlhbCBhYm91dDpibGFuayBpcyBjb250cm9sbGVkLCBleHBvc2VkIHRvIGNs
aWVudHMubWF0Y2hBbGwoKSwgYW5kICcgKwogICAgJ2ZpbmFsIENsaWVudCBpcyBub3QgY29udHJv
bGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLicpOwogCitwcm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rp
b24odCkgeworICAvLyBFeGVjdXRlIGEgdGVzdCB3aGVyZSB0aGUgbmVzdGVkIGZyYW1lIGlzIGFu
IGlmcmFtZSB3aXRob3V0IGEgc3JjCisgIC8vIGF0dHJpYnV0ZS4gIFRoaXMgc2ltcGxlIG5lc3Rl
ZCBhYm91dDpibGFuayBzaG91bGQgc3RpbGwgaW5oZXJpdCB0aGUKKyAgLy8gY29udHJvbGxlciBh
bmQgYmUgdmlzaWJsZSB0byBjbGllbnRzLm1hdGNoQWxsKCkuCisgIGF3YWl0IGRvQXN5bmNUZXN0
KHQsICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmstbmVzdGVkLWZyYW1l
Lmh0bWwnKTsKK30sICdTaW1wbGUgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhw
b3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5j
dGlvbih0KSB7CisgIC8vIEV4ZWN1dGUgYSB0ZXN0IHdoZXJlIHRoZSBuZXN0ZWQgZnJhbWUgaXMg
YW4gaWZyYW1lIHVzaW5nIGEgbm9uLWVtcHR5CisgIC8vIHNyY2RvYyBjb250YWluaW5nIG9ubHkg
YSB0YWcgcGFpciBzbyBpdHMgdGV4dENvbnRlbnQgaXMgc3RpbGwgZW1wdHkuCisgIC8vIFRoaXMg
bmVzdGVkIGlmcmFtZSBzaG91bGQgc3RpbGwgaW5oZXJpdCB0aGUgY29udHJvbGxlciBhbmQgYmUg
dmlzaWJsZQorICAvLyB0byBjbGllbnRzLm1hdGNoQWxsKCkuCisgIGF3YWl0IGRvQXN5bmNUZXN0
KHQsICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtc3JjZG9jLW5lc3RlZC1mcmFt
ZS5odG1sJyk7Cit9LCAnTmVzdGVkIGFib3V0OnNyY2RvYyBpcyBjb250cm9sbGVkIGFuZCBpcyBl
eHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1
bmN0aW9uKHQpIHsKKyAgLy8gRXhlY3V0ZSBhIHRlc3Qgd2hlcmUgdGhlIG5lc3RlZCBmcmFtZSBp
cyBkeW5hbWljYWxseSBhZGRlZCB3aXRob3V0IGEgc3JjCisgIC8vIGF0dHJpYnV0ZS4gIFRoaXMg
c2ltcGxlIG5lc3RlZCBhYm91dDpibGFuayBzaG91bGQgc3RpbGwgaW5oZXJpdCB0aGUKKyAgLy8g
Y29udHJvbGxlciBhbmQgYmUgdmlzaWJsZSB0byBjbGllbnRzLm1hdGNoQWxsKCkuCisgIGF3YWl0
IGRvQXN5bmNUZXN0KHQsICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmst
ZHluYW1pYy1uZXN0ZWQtZnJhbWUuaHRtbCcpOworfSwgJ0R5bmFtaWMgYWJvdXQ6YmxhbmsgaXMg
Y29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuJyk7CisKIDwv
c2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGlv
bi1hZnRlci1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2
YXRpb24tYWZ0ZXItcmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwKaW5kZXggZmYwOTkwZGY2YmE5OWJl
NzliMDY5YzJjYzcwYWQ3MGM5MjBiYTRlMC4uMjlmOTdlM2UzZjRjMGNkYTIzMjE3NzZjYmY0OGZl
ZDkyZDFjOTBhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGlvbi1hZnRl
ci1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmF0
aW9uLWFmdGVyLXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sCkBAIC01LDI1ICs1LDI0IEBACiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+
CiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCdhY3RpdmF0aW9uIG9jY3VycyBhZnRlciBy
ZWdpc3RyYXRpb24nKTsKLXQuc3RlcChmdW5jdGlvbigpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9ibGFuay5odG1sJzsKICAgICB2YXIg
cmVnaXN0cmF0aW9uOwogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0
ZXIoCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAog
ICAgICAgICB0LCAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcycsIHNjb3BlKQogICAgICAgLnRo
ZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsK
KyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKAogICAgICAgICAgICAgICByLmluc3RhbGxpbmcuc3RhdGUsCiAgICAg
ICAgICAgICAgICdpbnN0YWxsaW5nJywKICAgICAgICAgICAgICAgJ3dvcmtlciBzaG91bGQgYmUg
aW4gdGhlICJpbnN0YWxsaW5nIiBzdGF0ZSB1cG9uIHJlZ2lzdHJhdGlvbicpOwogICAgICAgICAg
IHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAg
ICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNh
dGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotfSk7CisgICAgICAgIH0pOworfSwgJ2FjdGl2
YXRpb24gb2NjdXJzIGFmdGVyIHJlZ2lzdHJhdGlvbicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmF0aW9uLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9hY3RpdmF0aW9uLmh0dHBzLmh0bWwKaW5kZXggMTVkMzg2ZWUxZjIzNmZh
ZTk5OTFlY2MzZTJkYjFiOGFiMDJmNWJlMy4uNTc1NTc1OGU1NzE2ZGJjNjA4ZTdlNzczYmY5Yjgz
YWIzZjJmN2U5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGlvbi5odHRw
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2YXRpb24uaHR0cHMuaHRtbApAQCAt
MSwyOSArMSwxMSBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiA8
dGl0bGU+c2VydmljZSB3b3JrZXI6IGFjdGl2YXRpb248L3RpdGxlPgotPGJvZHk+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+CiA8c2NyaXB0
PgotLy8gUmVnaXN0ZXJzLCB3YWl0cyBmb3IgYWN0aXZhdGlvbiwgdGhlbiB1bnJlZ2lzdGVycyBv
biBhIGR1bW15IHNjb3BlLgotLy8KLS8vIFRoaXMgaGVscGVyIGNhbiBiZSB1c2VkIGluIHRlc3Rz
IHRoYXQgYXNzZXJ0IHRoYXQgYWN0aXZhdGlvbiBkb2Vzbid0IGhhcHBlbi4KLS8vIEl0IHdvdWxk
IG5vdCBiZSBzdWZmaWNpZW50IHRvIGNoZWNrIHRoZSAud2FpdGluZy8uYWN0aXZlIHByb3BlcnRp
ZXMgb25jZSwKLS8vIHNpbmNlIGFjdGl2YXRpb24gY291bGQgYmUgc2NoZWR1bGVkIGFuZCBqdXN0
IGhhc24ndCBoYXBwZW5lZCB5ZXQuIFNpbmNlIHRoaXMKLS8vIGhlbHBlciBzaG93cyB0aGF0IGFj
dGl2YXRpb24gb2YgYW5vdGhlciByZWdpc3RyYXRpb24gY29tcGxldGVkLCB3ZSBjYW4gYmUKLS8v
IHN1cmUgdGhhdCBhY3RpdmF0aW9uIHJlYWxseSB3aWxsIG5vdCBoYXBwZW4uCi1mdW5jdGlvbiB3
YWl0X2Zvcl9hY3RpdmF0aW9uX29uX2R1bW15X3Njb3BlKHQpIHsKLSAgdmFyIGR1bW15X3Njb3Bl
ID0gJ3Jlc291cmNlcy90aGVyZS9pcy9uby90aGVyZS90aGVyZSc7Ci0gIHZhciByZWdpc3RyYXRp
b247Ci0gIHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigncmVzb3VyY2Vz
L2VtcHR5LXdvcmtlci5qcycsCi0gICAgICB7IHNjb3BlOiBkdW1teV9zY29wZSB9KQotICAgIC50
aGVuKHIgPT4gewotICAgICAgICByZWdpc3RyYXRpb24gPSByOwotICAgICAgICByZXR1cm4gd2Fp
dF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAg
ICAgIH0pCi0gICAgLnRoZW4oKCkgPT4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKSk7Ci19CiAv
LyBSZXR1cm5zIHtyZWdpc3RyYXRpb24sIGlmcmFtZX0sIHdoZXJlIHxyZWdpc3RyYXRpb258IGhh
cyBhbiBhY3RpdmUgYW5kCiAvLyB3YWl0aW5nIHdvcmtlci4gVGhlIGFjdGl2ZSB3b3JrZXIgY29u
dHJvbHMgfGlmcmFtZXwgYW5kIGhhcyBhbiBpbmZsaWdodAogLy8gbWVzc2FnZSBldmVudCB0aGF0
IGNhbiBiZSBmaW5pc2hlZCBieSBjYWxsaW5nCkBAIC02Nyw3ICs0OSw3IEBAIGZ1bmN0aW9uIHNl
dHVwX2FjdGl2YXRpb25fdGVzdCh0LCBzY29wZSwgd29ya2VyX3VybCkgewogICAgICAgICByZXR1
cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdpbnN0YWxsZWQn
KTsKICAgICAgIH0pCiAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gd2FpdF9mb3Jf
YWN0aXZhdGlvbl9vbl9kdW1teV9zY29wZSh0KTsKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2Fj
dGl2YXRpb25fb25fZHVtbXlfc2NvcGUodCwgc2VsZik7CiAgICAgICB9KQogICAgIC50aGVuKCgp
ID0+IHsKICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRpbmcsIG51
bGwpOwpAQCAtODcsNyArNjksNyBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAgICAgICAgaWZy
YW1lID0gcmVzdWx0LmlmcmFtZTsKICAgICAgICAgICAvLyBGaW5pc2ggdGhlIGluLWZsaWdodCBy
ZXF1ZXN0LgogICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hY3RpdmUucG9zdE1lc3NhZ2UoJ2dvJyk7
Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2NvcGUodCk7
CisgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2NvcGUodCwg
c2VsZik7CiAgICAgICAgIH0pCiAgICAgICAudGhlbigoKSA9PiB7CiAgICAgICAgICAgLy8gVGhl
IG5ldyB3b3JrZXIgaXMgc3RpbGwgd2FpdGluZy4gUmVtb3ZlIHRoZSBmcmFtZSBhbmQgaXQgc2hv
dWxkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmUuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAz
OWZlZGNhNDE3ODBlYjQ0MmY1Yjg4ZGY3ZjRlZTdjMjMzNjA0ZjA2Li40NDc5NzIyMjhjNGJmYTU1
Y2VjOWIwYzQ5ZmY0NjE2MmY3ZDMwNDc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9h
Y3RpdmUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2ZS5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgYWN0aXZlIGlzIHNldCAK
K1BBU1MgVGhlIFNlcnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIGFjdGl2ZSBhdHRy
aWJ1dGUgZ2V0dGVyIHRoYXQgcmVwcmVzZW50IHRoZSBzYW1lIHNlcnZpY2Ugd29ya2VyIGFyZSB0
aGUgc2FtZSBvYmplY3RzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmUu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2ZS5odHRwcy5odG1sCmluZGV4IGRl
ZWU2YTUwZWEwMDllZjU0MWMxMTU0MzUzMjg4MjQyZTNjM2FlYWUuLjM1MGEzNGI4MDJmNzBkNmI2
Yzc4ZTZmZGJhOWIyYWNhYmU3ZDE0M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fj
dGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2ZS5odHRwcy5odG1s
CkBAIC01LDUxICs1LDQ2IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5z
dWIuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0PgorCitjb25zdCBTQ1JJUFQgPSAncmVz
b3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Citjb25zdCBTQ09QRSA9ICdyZXNvdXJjZXMvYmxhbmsu
aHRtbCc7CisKIC8vICJhY3RpdmUiIGlzIHNldAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0g
ICAgdmFyIHN0ZXAgPSB0LnN0ZXBfZnVuYy5iaW5kKHQpOwotICAgIHZhciB1cmwgPSAncmVzb3Vy
Y2VzL2VtcHR5LXdvcmtlci5qcyc7Ci0gICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9ibGFuay5o
dG1sJzsKLSAgICB2YXIgZnJhbWU7Ci0gICAgdmFyIHJlZ2lzdHJhdGlvbjsKK3Byb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKworICB0LmFkZF9jbGVhbnVwKGFzeW5jKCkgPT4geworICAgIGlmIChm
cmFtZSkKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgIGlmIChyZWdpc3RyYXRpb24pCisgICAg
ICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICB9KTsKKworICBhd2FpdCBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3
aXRoX2lmcmFtZShTQ09QRSk7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9CisgICAgICBhd2FpdCBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihTQ1JJUFQsIHtzY29wZTogU0NPUEV9KTsK
KyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3Rp
dmF0aW5nJyk7CisgIGNvbnN0IGNvbnRhaW5lciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXI7CisgIGFzc2VydF9lcXVhbHMoY29udGFpbmVyLmNvbnRyb2xsZXIs
IG51bGwsICdjb250cm9sbGVyJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLmFjdGl2
ZS5zdGF0ZSwgJ2FjdGl2YXRpbmcnLAorICAgICAgICAgICAgICAgICdyZWdpc3RyYXRpb24uYWN0
aXZlJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRpbmcsIG51bGwsICdyZWdp
c3RyYXRpb24ud2FpdGluZycpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxs
aW5nLCBudWxsLCAncmVnaXN0cmF0aW9uLmluc3RhbGxpbmcnKTsKIAotICAgIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpCi0gICAgICAudGhlbihzdGVwKGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KSkKLSAgICAgIC50aGVuKHN0ZXAoZnVuY3Rpb24o
ZikgewotICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIucmVnaXN0ZXIodXJsLCB7c2NvcGU6IHNjb3BlfSk7Ci0gICAgICAgIH0pKQot
ICAgICAgLnRoZW4oc3RlcChmdW5jdGlvbihyKSB7Ci0gICAgICAgICAgcmVnaXN0cmF0aW9uID0g
cjsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgci5pbnN0YWxsaW5nLCAnYWN0
aXZhdGluZycpOwotICAgICAgICB9KSkKLSAgICAgIC50aGVuKHN0ZXAoZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXI7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgIGNvbnRh
aW5lci5jb250cm9sbGVyLAotICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgICdPbiBhY3Rp
dmF0aW5nIHN0YXRlIGEgZG9jdW1lbnQgc2hvdWxkIG5vdCBoYXZlIGEgY29udHJvbGxlcicpOwot
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICByZWdpc3RyYXRpb24uYWN0aXZl
LnNjcmlwdFVSTCwKLSAgICAgICAgICAgIG5vcm1hbGl6ZVVSTCh1cmwpLAotICAgICAgICAgICAg
J09uIGFjdGl2YXRpbmcgc3RhdGUgYSBkb2N1bWVudCBzaG91bGQgaGF2ZSBhbiBhY3RpdmUgd29y
a2VyICcpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICByZWdpc3RyYXRp
b24ud2FpdGluZywKLSAgICAgICAgICAgIG51bGwsCi0gICAgICAgICAgICAnT24gYWN0aXZhdGlu
ZyBzdGF0ZSBhIGRvY3VtZW50IHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2VyJyk7Ci0g
ICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi5pbnN0YWxs
aW5nLAotICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgICdPbiBhY3RpdmF0aW5nIHN0YXRl
IGEgZG9jdW1lbnQgc2hvdWxkIG5vdCBoYXZlIGFuIGluc3RhbGxpbmcgJyArCi0gICAgICAgICAg
ICAgICAgJ3dvcmtlcicpOworICAvLyBGSVhNRTogQWRkIGEgdGVzdCBmb3IgYSBmcmFtZSBjcmVh
dGVkIGFmdGVyIGluc3RhbGxhdGlvbi4KKyAgLy8gU2hvdWxkIHRoZSBleGlzdGluZyBmcmFtZSAo
ImZyYW1lIikgYmxvY2sgYWN0aXZhdGlvbj8KK30sICdhY3RpdmUgaXMgc2V0Jyk7CiAKLSAgICAg
ICAgICAvLyBGSVhNRTogQWRkIGEgdGVzdCBmb3IgYSBmcmFtZSBjcmVhdGVkIGFmdGVyIGluc3Rh
bGxhdGlvbi4KLSAgICAgICAgICAvLyBTaG91bGQgdGhlIGV4aXN0aW5nIGZyYW1lICgiZnJhbWUi
KSBibG9jayBhY3RpdmF0aW9uPwotICAgICAgICB9KSkKLSAgICAgIC50aGVuKHN0ZXAoZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KSkKLSAg
ICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKLSAgfSwgJ2FjdGl2ZSBpcyBzZXQn
KTsKKy8vIFRlc3RzIHRoYXQgdGhlIFNlcnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9t
IGFjdGl2ZSBhdHRyaWJ1dGUgZ2V0dGVyCisvLyB0aGF0IHJlcHJlc2VudCB0aGUgc2FtZSBzZXJ2
aWNlIHdvcmtlciBhcmUgdGhlIHNhbWUgb2JqZWN0cy4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgY29uc3QgcmVnaXN0cmF0aW9uMSA9CisgICAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKTsKKyAgY29uc3QgcmVnaXN0
cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihT
Q09QRSk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uMS5hY3RpdmUsIHJlZ2lzdHJhdGlv
bjIuYWN0aXZlLAorICAgICAgICAgICAgICAgICdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmFj
dGl2ZSBzaG91bGQgcmV0dXJuIHRoZSBzYW1lICcgKworICAgICAgICAgICAgICAgICdvYmplY3Qn
KTsKKyAgYXdhaXQgcmVnaXN0cmF0aW9uMS51bnJlZ2lzdGVyKCk7Cit9LCAnVGhlIFNlcnZpY2VX
b3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIGFjdGl2ZSBhdHRyaWJ1dGUgZ2V0dGVyIHRoYXQg
JyArCisgICAncmVwcmVzZW50IHRoZSBzYW1lIHNlcnZpY2Ugd29ya2VyIGFyZSB0aGUgc2FtZSBv
YmplY3RzJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FwcGNh
Y2hlLW9yZGVyaW5nLW1haW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FwcGNhY2hl
LW9yZGVyaW5nLW1haW4uaHR0cHMuaHRtbAppbmRleCA2MDlkNjdlNDUwNGM5NDg4NzgwMzY5YzE1
ZTFiOTZmYzBiZDIwMzk0Li45MjFkYWUwMTVjYjU1Y2Y4MDVhZDk2MGU5MDJiYmIyMjg5MGY4MGJj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hcHBjYWNoZS1vcmRlcmluZy1tYWluLmh0
dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYXBwY2FjaGUtb3JkZXJpbmctbWFpbi5o
dHRwcy5odG1sCkBAIC02MCw4ICs2MCw4IEBAIGZ1bmN0aW9uIGlzX2FwcGNhY2hlZCgpIHsKICAg
fSk7CiB9CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXIodCwgU0VSVklDRV9XT1JLRVJfU0NPUEUpCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNFUlZJQ0VfV09S
S0VSX1NDT1BFKQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgcmV0dXJuIGlu
c3RhbGxfYXBwY2FjaGUoKTsKICAgICAgICAgfSkKQEAgLTc0LDYgKzc0LDEwIEBAIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICB0LCBTRVJWSUNFX1dPUktFUl9TQ1JJUFQs
IFNFUlZJQ0VfV09SS0VSX1NDT1BFKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KHIpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBTRVJWSUNFX1dPUktFUl9TQ09Q
RSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0
LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgewpAQCAtODIsOSArODYsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAg
ICAgIC50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICAgIGFzc2VydF9mYWxzZShyZXN1
bHQsICdidXQgc2VydmljZXdvcmtlcnMgc2hvdWxkIHRha2UgcHJpb3JpdHknKTsKICAgICAgICAg
ICBmcmFtZXMuZm9yRWFjaChmdW5jdGlvbihmKSB7IGYucmVtb3ZlKCk7IH0pOwotICAgICAgICAg
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0VSVklDRV9XT1JLRVJfU0NP
UEUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgICB9KTsKICAgfSwgJ3NlcnZpY2V3b3JrZXJzIHRha2UgcHJpb3JpdHkgb3ZlciBhcHBj
YWNoZXMnKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFp
bS13b3JrZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xh
aW0td29ya2VyLWZldGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBjMWJkZGYzMWViZjc3ODU3
OWRkYzc3YjQ0OTM0NGYyZmQzNmVkNDkzLi43YzI1ZGEwZWIwNTA3MzNkYjk0YTA4YzMyZTNhM2I4
NjJkNTlhMzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13b3JrZXItZmV0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdvcmtl
ci1mZXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgZmV0Y2go
KSBpbiBXb3JrZXIgc2hvdWxkIGJlIGludGVyY2VwdGVkIGFmdGVyIHRoZSBjbGllbnQgaXMgY2xh
aW1lZC4gCitGQUlMIGZldGNoKCkgaW4gbmVzdGVkIFdvcmtlciBzaG91bGQgYmUgaW50ZXJjZXB0
ZWQgYWZ0ZXIgdGhlIGNsaWVudCBpcyBjbGFpbWVkLiBhc3NlcnRfZXF1YWxzOiBmZXRjaCgpIHNo
b3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQuIGV4cGVjdGVkICJhIHNpbXBsZSB0ZXh0IGZpbGVcbiIg
YnV0IGdvdCAiRmFpbDogdW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9jbGFpbS13b3JrZXItZmV0Y2guaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWlt
LXdvcmtlci1mZXRjaC5odHRwcy5odG1sCmluZGV4IDJiYzY1MzY4ZThmNjYyZGU5NzQ5MjA0ZmNj
MTNhYWFjZWMwYWNkZDEuLjRiNDlhODE1MmE0MmM5ZTQ1MTA0MTM5YjQ2YjlmYTU2NzYyZGU2YmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdvcmtlci1mZXRjaC5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdvcmtlci1mZXRjaC5odHRwcy5odG1s
CkBAIC04LDE3ICs4LDI5IEBACiA8c2NyaXB0PgogCiBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewotICB2YXIgZnJhbWU7CisgIHJldHVybiBydW5UZXN0KHQsICdyZXNvdXJjZXMvY2xhaW0td29y
a2VyLWZldGNoLWlmcmFtZS5odG1sJyk7Cit9LCAnZmV0Y2goKSBpbiBXb3JrZXIgc2hvdWxkIGJl
IGludGVyY2VwdGVkIGFmdGVyIHRoZSBjbGllbnQgaXMgY2xhaW1lZC4nKTsKKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIHJ1blRlc3QodCwgJ3Jlc291cmNlcy9jbGFpbS1u
ZXN0ZWQtd29ya2VyLWZldGNoLWlmcmFtZS5odG1sJyk7Cit9LCAnZmV0Y2goKSBpbiBuZXN0ZWQg
V29ya2VyIHNob3VsZCBiZSBpbnRlcmNlcHRlZCBhZnRlciB0aGUgY2xpZW50IGlzIGNsYWltZWQu
Jyk7CisKK2Z1bmN0aW9uIHJ1blRlc3QodCwgaWZyYW1lX3VybCkgewogICB2YXIgcmVzb3VyY2Ug
PSAnc2ltcGxlLnR4dCc7CiAKKyAgdmFyIGZyYW1lOworICB2YXIgcmVnaXN0cmF0aW9uOwogICB2
YXIgd29ya2VyOwogICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzLyc7CiAgIHZhciBzY3JpcHQgPSAn
cmVzb3VyY2VzL2NsYWltLXdvcmtlci5qcyc7CiAKICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgp
CiAgICAgLy8gQ3JlYXRlIHRoZSB0ZXN0IGlmcmFtZSB3aXRoIGEgZGVkaWNhdGVkIHdvcmtlci4K
LSAgICAudGhlbigoKSA9PiB3aXRoX2lmcmFtZSgncmVzb3VyY2VzL2NsYWltLXdvcmtlci1mZXRj
aC1pZnJhbWUuaHRtbCcpKQotICAgIC50aGVuKGYgPT4gZnJhbWUgPSBmKQorICAgIC50aGVuKCgp
ID0+IHdpdGhfaWZyYW1lKGlmcmFtZV91cmwpKQorICAgIC50aGVuKGYgPT4geworICAgICAgdC5h
ZGRfY2xlYW51cCgoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIGZyYW1lID0gZjsKKyAgICB9KQog
CiAgICAgLy8gQ2hlY2sgdGhlIGNvbnRyb2xsZXIgYW5kIHRlc3Qgd2l0aCBmZXRjaCBpbiB0aGUg
d29ya2VyLgogICAgIC50aGVuKCgpID0+IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRv
dy5uYXZpZ2F0b3IuY29udHJvbGxlciwKQEAgLTMwLDcgKzQyLDEwIEBAIHByb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdm
ZXRjaCgpIHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQuJykpCiAgICAgLy8gUmVnaXN0ZXIgYSBz
ZXJ2aWNlIHdvcmtlci4KICAgICAudGhlbigoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQsIHNjb3BlKSkKLSAgICAudGhlbihyID0+IHdvcmtlciA9
IHIuaW5zdGFsbGluZykKKyAgICAudGhlbihyID0+IHsKKyAgICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4gci51bnJlZ2lzdGVyKCkpOworICAgICAgd29ya2VyID0gci5pbnN0YWxsaW5nOworICAgIH0p
CiAgICAgLnRoZW4oKCkgPT4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAnYWN0aXZhdGVkJykp
CiAKICAgICAvLyBMZXQgdGhlIHNlcnZpY2Ugd29ya2VyIGNsYWltIHRoZSBpZnJhbWUgYW5kIHRo
ZSB3b3JrZXIuCkBAIC00OSwyMCArNjQsMTcgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
IAogICAgIC8vIENoZWNrIHRoZSBjb250cm9sbGVyIGFuZCB0ZXN0IHdpdGggZmV0Y2ggaW4gdGhl
IHdvcmtlci4KICAgICAudGhlbigoKSA9PiBmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihzY29wZSkpCi0gICAgLnRoZW4ociA9PiBhc3Nl
cnRfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29u
dHJvbGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci5hY3RpdmUsCisgICAgLnRo
ZW4ociA9PiByZWdpc3RyYXRpb24gPSByKQorICAgIC50aGVuKCgpID0+IGFzc2VydF9lcXVhbHMo
ZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24uYWN0aXZlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnVGVzdCBpZnJhbWUgc2hvdWxkIGJlIGNsYWltZWQuJykp
CiAgICAgLy8gVE9ETyhob3JvKTogQ2hlY2sgdGhlIHdvcmtlcidzIG5hdmlnYXRvci5zZXZpY2VX
b3JrZXIuY29udHJvbGxlci4KICAgICAudGhlbigoKSA9PiBmcmFtZS5jb250ZW50V2luZG93LmZl
dGNoX2luX3dvcmtlcihyZXNvdXJjZSkpCiAgICAgLnRoZW4ocmVzcG9uc2VfdGV4dCA9PgogICAg
ICAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2VfdGV4dCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICdJbnRlcmNlcHRlZCEnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ2ZldGNoKCkgaW4g
dGhlIHdvcmtlciBzaG91bGQgYmUgaW50ZXJjZXB0ZWQuJykpCi0KLSAgICAvLyBDbGVhbnVwIHRo
aXMgdGVzdGNhc2UuCi0gICAgLnRoZW4oKCkgPT4gZnJhbWUucmVtb3ZlKCkpCi0gICAgLnRoZW4o
KCkgPT4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSkpOwotfSwg
J2ZldGNoKCkgaW4gV29ya2VyIHNob3VsZCBiZSBpbnRlcmNlcHRlZCBhZnRlciB0aGUgY2xpZW50
IGlzIGNsYWltZWQuJykKKyAgICAgICAgICAgICAgICAgICAgICAgICdmZXRjaCgpIGluIHRoZSB3
b3JrZXIgc2hvdWxkIGJlIGludGVyY2VwdGVkLicpKTsKK30KIAogPC9zY3JpcHQ+CiA8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtaWQuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudC1pZC5odHRwcy5odG1sCmluZGV4IGE1M2MxMGM5NjkxOTE5
MDRiNDIxNDdiYjU4NzFlZTc5N2IwOGIzNjIuLmI5M2IzNDE4OTk5OWZlMzdkODlkMjdmYmExZDQ0
MDA5OTRiMjc2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC1pZC5odHRw
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC1pZC5odHRwcy5odG1sCkBAIC00
LDE1ICs0LDE3IEBACiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciB0ZXN0OwogdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9i
bGFuay5odG1sP2NsaWVudC1pZCc7CiB2YXIgZnJhbWUxLCBmcmFtZTI7CiAKLWFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgewotICAgIHRlc3QgPSB0OwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICByZXR1cm4g
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCiAgICAgICAgIHQsICdyZXNv
dXJjZXMvY2xpZW50LWlkLXdvcmtlci5qcycsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24o
cmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOwor
ICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVn
aXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50
aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUgKyAnIzEnKTsgfSkKQEAg
LTI1LDExICsyNywxNSBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIC50aGVuKGZ1
bmN0aW9uKGYpIHsKICAgICAgICAgICBmcmFtZTIgPSBmOwogICAgICAgICAgIHZhciBjaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3Nh
Z2UgPSB0LnN0ZXBfZnVuYyhvbl9tZXNzYWdlKTsKLSAgICAgICAgICBmLmNvbnRlbnRXaW5kb3cu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5wb3N0TWVzc2FnZSgKLSAgICAgICAg
ICAgICAge3BvcnQ6Y2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CisKKyAgICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAg
ICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICAgICAgICAgICAg
Y2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2VlcnJvciA9IHJlamVjdDsKKyAgICAgICAgICAgICAgZi5j
b250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3Nh
Z2UoCisgICAgICAgICAgICAgICAgICB7cG9ydDpjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9y
dDJdKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hl
ZF9yZWplY3Rpb24odCkpOworICAgICAgLnRoZW4ob25fbWVzc2FnZSk7CiAgIH0sICdDbGllbnQu
aWQgcmV0dXJucyB0aGUgY2xpZW50XCdzIElELicpOwogCiBmdW5jdGlvbiBvbl9tZXNzYWdlKGUp
IHsKQEAgLTUwLDYgKzU2LDUgQEAgZnVuY3Rpb24gb25fbWVzc2FnZShlKSB7CiAgIGFzc2VydF9l
cXVhbHMoZS5kYXRhWzFdLCBlLmRhdGFbM10pOwogICBmcmFtZTEucmVtb3ZlKCk7CiAgIGZyYW1l
Mi5yZW1vdmUoKTsKLSAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0ZXN0LCBz
Y29wZSk7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVu
dHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLmh0bWwKaW5kZXggODk3ZTM2ODllZDM0ZjFmMmFiYWZm
ZmI2ZTRhNmU0NzQwOGJkMWYwMy4uNjNlM2U1MWIzMjAyZGU5MjdkODk4MzNiMzEwMzU3OTIzNjlh
ZWMzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5
cGVzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50
LXR5cGVzLmh0dHBzLmh0bWwKQEAgLTksMTEgKzksMTMgQEAgdmFyIGZyYW1lX3VybCA9IHNjb3Bl
ICsgJy1mcmFtZS5odG1sJzsKIHZhciBzaGFyZWRfd29ya2VyX3VybCA9IHNjb3BlICsgJy1zaGFy
ZWQtd29ya2VyLmpzJzsKIHZhciB3b3JrZXJfdXJsID0gc2NvcGUgKyAnLXdvcmtlci5qcyc7CiB2
YXIgY2xpZW50X2lkcyA9IFtdOwordmFyIHJlZ2lzdHJhdGlvbjsKIHZhciBmcmFtZTsKIHByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKAogICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtl
ci5qcycsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAg
ICAudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAg
ICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsgcmVnaXN0cmF0aW9uLnVu
cmVnaXN0ZXIoKTsgfSk7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lz
dHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBAIC01OSwxMiAr
NjEsMTAgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgfSkKICAgICAgIC50
aGVuKGZ1bmN0aW9uKGNsaWVudF9pZCkgewogICAgICAgICAgIGNsaWVudF9pZHMucHVzaChjbGll
bnRfaWQpOwotICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CiAg
ICAgICAgICAgdmFyIHNhd19tZXNzYWdlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
ewotICAgICAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAg
ICAgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoCi0gICAgICAgICAgICAgIHtwb3J0
OiBjaGFubmVsLnBvcnQyLCBjbGllbnRJZHM6IGNsaWVudF9pZHN9LCBbY2hhbm5lbC5wb3J0Ml0p
OworICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hY3RpdmUucG9zdE1lc3NhZ2Uoe2NsaWVudElkczog
Y2xpZW50X2lkc30pOwogICAgICAgICAgIHJldHVybiBzYXdfbWVzc2FnZTsKICAgICAgICAgfSkK
ICAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtZ2V0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVu
dHMtZ2V0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxN2QxOWU0YTNiZTQzMDk0NmQ3ZWIxMjMx
MTgzM2QzMGMzMGYyMDE0Li4wZjljNDExYTliNTY1NmQ3NTQxOTMwMTFlZmI3MThhYjUwZWM2M2Q0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0xLDMgKzEsNSBAQAogCiBGQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCBmYWxzZSBidXQgZ290IHRydWUKK0ZBSUwg
VGVzdCBzdWNjZXNzZnVsIENsaWVudHMuZ2V0KEZldGNoRXZlbnQucmVzdWx0aW5nQ2xpZW50SWQp
IGFzc2VydF9mYWxzZTogQ2xpZW50cy5nZXQoRmV0Y2hFdmVudC5yZXN1bHRpbmdDbGllbnRJZCkg
cmVzb2x2ZWQgd2l0aCBhIENsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBUZXN0
IHVuc3VjY2Vzc2Z1bCBDbGllbnRzLmdldChGZXRjaEV2ZW50LnJlc3VsdGluZ0NsaWVudElkKSAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0Lmh0dHBzLmh0bWwKaW5kZXggNjhjNmQ3Zjdh
YzAyYTMxNjg1NmE0MDVmNjU3OWViMTkxZTczODkyNC4uNGNmYmY1OTVjYWRlZWVhNWZjOGE1MDg5
MTI3YzU2ODdlYzE3NGY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1n
ZXQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC5odHRwcy5o
dG1sCkBAIC00LDY1ICs0LDE1MSBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBl
cnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgc2NvcGUgPSAncmVzb3VyY2VzL2Ns
aWVudHMtZ2V0LWZyYW1lLmh0bWwnOwotdmFyIGNsaWVudF9pZHMgPSBbXTsKLXZhciBmcmFtZTsK
LXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAotICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtZ2V0
LXdvcmtlci5qcycsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7
Ci0gICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24oKSB7IHJlZ2lzdHJh
dGlvbi51bnJlZ2lzdGVyKCk7IH0pOwotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0
LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAg
ICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3Bl
ICsgJyMxJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihmcmFtZTEpIHsKLSAg
ICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsgZnJhbWUxLnJlbW92
ZSgpOyB9KTsKLSAgICAgICAgICBmcmFtZTEuZm9jdXMoKTsKLSAgICAgICAgICByZXR1cm4gd2Fp
dF9mb3JfY2xpZW50SWQoKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGNsaWVu
dF9pZCkgewotICAgICAgICAgIGNsaWVudF9pZHMucHVzaChjbGllbnRfaWQpOwotICAgICAgICAg
IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSArICcjMicpOwotICAgICAgICB9KQotICAgICAgLnRo
ZW4oZnVuY3Rpb24oZnJhbWUyKSB7Ci0gICAgICAgICAgZnJhbWUgPSBmcmFtZTI7Ci0gICAgICAg
ICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24oKSB7IGZyYW1lMi5yZW1vdmUoKTsg
fSk7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2NsaWVudElkKCk7Ci0gICAgICAgIH0pCi0g
ICAgICAudGhlbihmdW5jdGlvbihjbGllbnRfaWQpIHsKLSAgICAgICAgICBjbGllbnRfaWRzLnB1
c2goY2xpZW50X2lkLCAnaW52YWxpZC1pZCcpOwotICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3
IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgdmFyIHNhd19tZXNzYWdlID0gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVz
c2FnZSA9IHJlc29sdmU7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgICBmcmFtZS5jb250ZW50
V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoCi0g
ICAgICAgICAgICAgIHtwb3J0OiBjaGFubmVsLnBvcnQyLCBjbGllbnRJZHM6IGNsaWVudF9pZHN9
LCBbY2hhbm5lbC5wb3J0Ml0pOwotICAgICAgICAgIHJldHVybiBzYXdfbWVzc2FnZTsKLSAgICAg
ICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGUuZGF0YS5sZW5ndGgsIDMpOwotICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZS5kYXRh
WzBdLCBleHBlY3RlZFswXSk7Ci0gICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlLmRhdGFb
MV0sIGV4cGVjdGVkWzFdKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVsyXSwgZXhw
ZWN0ZWRbMl0pOwotICAgICAgICB9KTsKLSAgfSwgJ1Rlc3QgQ2xpZW50cy5nZXQoKScpOwotCiBm
dW5jdGlvbiB3YWl0X2Zvcl9jbGllbnRJZCgpIHsKICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0
aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgZnVuY3Rpb24gZ2V0X2NsaWVudF9pZChlKSB7
Ci0gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZ2V0X2NsaWVu
dF9pZCk7Ci0gICAgICAgIHJlc29sdmUoZS5kYXRhLmNsaWVudElkKTsKLSAgICAgIH0KLSAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZ2V0X2NsaWVudF9pZCwgZmFsc2Up
OwotICAgIH0pOworICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgIHJlc29sdmUo
ZS5kYXRhLmNsaWVudElkKTsKKyAgICB9OworICB9KTsKIH0KIAotdmFyIGV4cGVjdGVkID0gWwor
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAvLyBSZWdpc3RlciBzZXJ2aWNlIHdvcmtlci4K
KyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2NsaWVudHMtZ2V0LWZyYW1lLmh0bWwnOworICBj
b25zdCBjbGllbnRfaWRzID0gW107CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHQsICdyZXNvdXJjZXMvY2xp
ZW50cy1nZXQtd29ya2VyLmpzJywgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHJlZ2lz
dHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3Ry
YXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworCisgIC8vIFByZXBhcmUgZm9yIHRlc3Qg
Y2FzZXMuCisgIC8vIENhc2UgMTogZnJhbWUxIHdoaWNoIGlzIGZvY3VzZWQuCisgIGNvbnN0IGZy
YW1lMSA9IGF3YWl0IHdpdGhfaWZyYW1lKHNjb3BlICsgJyMxJyk7CisgIHQuYWRkX2NsZWFudXAo
KCkgPT4gZnJhbWUxLnJlbW92ZSgpKTsKKyAgZnJhbWUxLmZvY3VzKCk7CisgIGNsaWVudF9pZHMu
cHVzaChhd2FpdCB3YWl0X2Zvcl9jbGllbnRJZCgpKTsKKyAgLy8gQ2FzZSAyOiBmcmFtZTIgd2hp
Y2ggaXMgbm90IGZvY3VzZWQuCisgIGNvbnN0IGZyYW1lMiA9IGF3YWl0IHdpdGhfaWZyYW1lKHNj
b3BlICsgJyMyJyk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gIGZyYW1lMi5yZW1vdmUoKSk7Cisg
IGNsaWVudF9pZHMucHVzaChhd2FpdCB3YWl0X2Zvcl9jbGllbnRJZCgpKTsKKyAgLy8gQ2FzZSAz
OiBpbnZhbGlkIGlkLgorICBjbGllbnRfaWRzLnB1c2goJ2ludmFsaWQtaWQnKTsKKworICAvLyBD
YWxsIGNsaWVudHMuZ2V0KCkgZm9yIGVhY2ggaWQgb24gdGhlIHNlcnZpY2Ugd29ya2VyLgorICBj
b25zdCBtZXNzYWdlX2V2ZW50ID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICByZWdpc3Ry
YXRpb24uYWN0aXZlLnBvc3RNZXNzYWdlKHtjbGllbnRJZHM6IGNsaWVudF9pZHN9KTsKKyAgfSk7
CisKKyAgY29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgLy8gdmlzaWJpbGl0eVN0YXRlLCBmb2N1c2Vk
LCB1cmwsIHR5cGUsIGZyYW1lVHlwZQogICAgIFsndmlzaWJsZScsIHRydWUsIG5vcm1hbGl6ZVVS
TChzY29wZSkgKyAnIzEnLCAnd2luZG93JywgJ25lc3RlZCddLAogICAgIFsndmlzaWJsZScsIGZh
bHNlLCBub3JtYWxpemVVUkwoc2NvcGUpICsgJyMyJywgJ3dpbmRvdycsICduZXN0ZWQnXSwKICAg
ICB1bmRlZmluZWQKLV07CisgIF07CisgIGFzc2VydF9lcXVhbHMobWVzc2FnZV9ldmVudC5kYXRh
Lmxlbmd0aCwgMyk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobWVzc2FnZV9ldmVudC5kYXRhWzBd
LCBleHBlY3RlZFswXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobWVzc2FnZV9ldmVudC5kYXRh
WzFdLCBleHBlY3RlZFsxXSk7CisgIGFzc2VydF9lcXVhbHMobWVzc2FnZV9ldmVudC5kYXRhWzJd
LCBleHBlY3RlZFsyXSk7Cit9LCAnVGVzdCBDbGllbnRzLmdldCgpJyk7CisKK3Byb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgLy8gUmVnaXN0ZXIgc2VydmljZSB3b3JrZXIuCisgIGNvbnN0IHNj
b3BlID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbCc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3
YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHQsICdyZXNv
dXJjZXMvY2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQtd29ya2VyLmpzJywgc2NvcGUpCisg
IHQuYWRkX2NsZWFudXAoKCkgPT4gIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICBhd2Fp
dCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcp
OworICBjb25zdCB3b3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworCisgIC8vIExvYWQgZnJh
bWUgd2l0aGluIHRoZSBzY29wZS4KKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShz
Y29wZSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gZnJhbWUucmVtb3ZlKCkpOworICBmcmFtZS5m
b2N1cygpOworCisgIC8vIEdldCByZXN1bHRpbmcgY2xpZW50IGlkLgorICBjb25zdCByZXN1bHRp
bmdDbGllbnRJZCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgaWYgKGUuZGF0YS5tc2cg
PT0gJ2dldFJlc3VsdGluZ0NsaWVudElkJykgeworICAgICAgICByZXNvbHZlKGUuZGF0YS5yZXN1
bHRpbmdDbGllbnRJZCk7CisgICAgICB9CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uo
e21zZzogJ2dldFJlc3VsdGluZ0NsaWVudElkJ30pOworICB9KTsKKworICAvLyBRdWVyeSBzZXJ2
aWNlIHdvcmtlciBmb3IgY2xpZW50cy5nZXQocmVzdWx0aW5nQ2xpZW50SWQpLgorICBjb25zdCBp
c1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IGUgPT4geworICAgICAg
aWYgKGUuZGF0YS5tc2cgPT0gJ2dldElzUmVzdWx0aW5nQ2xpZW50VW5kZWZpbmVkJykgeworICAg
ICAgICByZXNvbHZlKGUuZGF0YS5pc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCk7CisgICAgICB9
CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe21zZzogJ2dldElzUmVzdWx0aW5nQ2xp
ZW50VW5kZWZpbmVkJywKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdGluZ0NsaWVudElk
fSk7CisgIH0pOworCisgIGFzc2VydF9mYWxzZSgKKyAgICBpc1Jlc3VsdGluZ0NsaWVudFVuZGVm
aW5lZCwKKyAgICAnQ2xpZW50cy5nZXQoRmV0Y2hFdmVudC5yZXN1bHRpbmdDbGllbnRJZCkgcmVz
b2x2ZWQgd2l0aCBhIENsaWVudCcpOworfSwgJ1Rlc3Qgc3VjY2Vzc2Z1bCBDbGllbnRzLmdldChG
ZXRjaEV2ZW50LnJlc3VsdGluZ0NsaWVudElkKScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgIC8vIFJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyLgorICBjb25zdCBzY29wZSA9ICdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/ZmFpbCc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHQsICdyZXNvdXJjZXMv
Y2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQtd29ya2VyLmpzJywgc2NvcGUpOworICB0LmFk
ZF9jbGVhbnVwKCgpID0+ICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgYXdhaXQgd2Fp
dF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKwor
ICAvLyBMb2FkIGZyYW1lLCBhbmQgZGVzdHJveSBpdCB3aGlsZSBsb2FkaW5nLgorICBjb25zdCB3
b3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworICBsZXQgZnJhbWUgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgZnJhbWUuc3JjID0gc2NvcGU7CisgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geworICAgIGlmIChmcmFtZSkgeworICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAg
fQorICB9KTsKKworICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBuYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgIC8vIFRoZSBzZXJ2aWNl
IHdvcmtlciBwb3N0cyBhIG1lc3NhZ2UgdG8gcmVtb3ZlIHRoZSBpZnJhbWUgZHVyaW5nIGZldGNo
CisgICAgICAvLyBldmVudC4KKyAgICAgIGlmIChlLmRhdGEubXNnID09ICdkZXN0cm95UmVzdWx0
aW5nQ2xpZW50JykgeworICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgZnJhbWUgPSBu
dWxsOworICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe21zZzogJ3Jlc3VsdGluZ0NsaWVudERl
c3Ryb3llZCd9KTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfQorICAgIH07CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOworCisgIHJlc3VsdGluZ0Rlc3Ry
b3llZENsaWVudElkID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gZSA9PiB7CisgICAgICAvLyBUaGUgd29ya2Vy
IHNlbmRzIGEgbWVzc2FnZSBiYWNrIHdoZW4gaXQgcmVjZWl2ZXMgdGhlIG1lc3NhZ2UKKyAgICAg
IC8vICdyZXN1bHRpbmdDbGllbnREZXN0cm95ZWQnIHdpdGggdGhlIHJlc3VsdGluZ0NsaWVudElk
LgorICAgICAgaWYgKGUuZGF0YS5tc2cgPT0gJ3Jlc3VsdGluZ0NsaWVudERlc3Ryb3llZEFjaycp
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZSwgbnVsbCwgJ0ZyYW1lIHNob3VsZCBiZSBk
ZXN0cm95ZWQgYXQgdGhpcyBwb2ludC4nKTsKKyAgICAgICAgcmVzb2x2ZShlLmRhdGEucmVzdWx0
aW5nRGVzdHJveWVkQ2xpZW50SWQpOworICAgICAgfQorICAgIH07CisgIH0pOworCisgIC8vIFF1
ZXJ5IHNlcnZpY2Ugd29ya2VyIGZvciBjbGllbnRzLmdldChyZXN1bHRpbmdEZXN0cm95ZWRDbGll
bnRJZCkuCisgIGNvbnN0IGlzUmVzdWx0aW5nQ2xpZW50VW5kZWZpbmVkID0gYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdl
ID0gZSA9PiB7CisgICAgICBpZiAoZS5kYXRhLm1zZyA9PSAnZ2V0SXNSZXN1bHRpbmdDbGllbnRV
bmRlZmluZWQnKSB7CisgICAgICAgIHJlc29sdmUoZS5kYXRhLmlzUmVzdWx0aW5nQ2xpZW50VW5k
ZWZpbmVkKTsKKyAgICAgIH0KKyAgICB9OworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7bXNnOiAn
Z2V0SXNSZXN1bHRpbmdDbGllbnRVbmRlZmluZWQnLAorICAgICAgICAgICAgICAgICAgICAgICAg
cmVzdWx0aW5nQ2xpZW50SWQ6IHJlc3VsdGluZ0Rlc3Ryb3llZENsaWVudElkIH0pOworICB9KTsK
KworICBhc3NlcnRfdHJ1ZSgKKyAgICBpc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCwKKyAgICAn
Q2xpZW50cy5nZXQoRmV0Y2hFdmVudC5yZXN1bHRpbmdDbGllbnRJZCkgcmVzb2x2ZWQgd2l0aCBg
dW5kZWZpbmVkYCcpOworfSwgJ1Rlc3QgdW5zdWNjZXNzZnVsIENsaWVudHMuZ2V0KEZldGNoRXZl
bnQucmVzdWx0aW5nQ2xpZW50SWQpJyk7CisKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1leGFjdC1jb250cm9sbGVyLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtZXhhY3QtY29udHJv
bGxlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggOTMwZWMzM2E0NWY4N2UxZDcyOGRmYTZiZTQx
MTdjYzYzN2U0OTRmNi4uZTQyNDczZTFmNGQ3YWJkN2Y0MGYwOTdjMmZmOGFmYmMzNTk3ZGYwYyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1leGFjdC1jb250
cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCiAKLUZBSUwgVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBleGFjdCBjb250cm9s
bGVyIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCBmYWxzZSBidXQgZ290IHRydWUgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGggZXhhY3Qg
Y29udHJvbGxlciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCBmYWxz
ZSBidXQgZ290IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1leGFjdC1jb250cm9sbGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbAppbmRleCBlZTYwYzRh
NjA3N2Q3OTljMjU1N2UwOTYzMjIyODFhNzI2ZGY5ZDhiLi5hNjFjOGFmNzAxOTZhYzIzMGM0Yjcw
ODU4NjJlMWJmZjg0MzNmZTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbApAQCAtNSw3
ICs1LDYgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0PgogY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWw/Y2xp
ZW50cy1tYXRjaEFsbCc7Ci1jb25zdCB0ID0gYXN5bmNfdGVzdCgnVGVzdCBDbGllbnRzLm1hdGNo
QWxsKCkgd2l0aCBleGFjdCBjb250cm9sbGVyJyk7CiBsZXQgZnJhbWVzID0gW107CiAKIGZ1bmN0
aW9uIGNoZWNrV29ya2VyQ2xpZW50cyh3b3JrZXIsIGV4cGVjdGVkKSB7CkBAIC0zMywxMCArMzIs
MTIgQEAgbGV0IGV4cGVjdGVkID0gWwogICAgIFsndmlzaWJsZScsIGZhbHNlLCBuZXcgVVJMKHNj
b3BlICsgJyMyJywgbG9jYXRpb24pLnRvU3RyaW5nKCksICd3aW5kb3cnLCAnbmVzdGVkJ10KIF07
CiAKLXQuc3RlcChfID0+IHsKK3Byb21pc2VfdGVzdCh0ID0+IHsKICAgICBsZXQgc2NyaXB0ID0g
J3Jlc291cmNlcy9jbGllbnRzLW1hdGNoYWxsLXdvcmtlci5qcyc7Ci0gICAgc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKKyAgICByZXR1cm4g
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkK
ICAgICAgIC50aGVuKHJlZ2lzdHJhdGlvbiA9PiB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgo
KSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKSk7CisKICAgICAgICAgICBy
ZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKF8gPT4gd2l0aF9pZnJhbWUoc2NvcGUgKyAn
IzEnKSApCkBAIC02MSw4ICs2Miw2IEBAIHQuc3RlcChfID0+IHsKICAgICAgICAgfSkKICAgICAg
IC50aGVuKF8gPT4gewogICAgICAgICAgIGZyYW1lcy5mb3JFYWNoKGYgPT4gZi5yZW1vdmUoKSAp
OwotICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUp
OwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotICB9
KTsKKyAgICAgICAgfSk7Cit9LCAnVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBleGFjdCBj
b250cm9sbGVyJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudHMtbWF0Y2hhbGwtaW5jbHVkZS11bmNvbnRyb2xsZWQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtaW5jbHVkZS11bmNvbnRyb2xsZWQuaHR0cHMuaHRt
bAppbmRleCA1MGJkODE3ZjU2ODg3ZWQyODdhYzE0YzEwOGY4ZjNkN2NiNGVlNjMyLi45ZjM0ZTU3
MDllYjNjYjYwN2RjZDFiOTFlYzgwYjUxYzM3MDZkY2E2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWluY2x1ZGUtdW5jb250cm9sbGVkLmh0dHBzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1pbmNsdWRlLXVuY29udHJv
bGxlZC5odHRwcy5odG1sCkBAIC00LDkwICs0LDExNCBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNl
cy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgYmFzZV91cmwg
PSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOyAvLyBUaGlzIGlzIG91dC1vZi1zY29wZS4KLXZhciBz
Y29wZSA9IGJhc2VfdXJsICsgJz9jbGllbnRzLW1hdGNoQWxsLWluY2x1ZGVVbmNvbnRyb2xsZWQn
OwotdmFyIGZyYW1lcyA9IFtdOwotCi0vLyBDcmVhdGVzIDMgaWZyYW1lcywgMiBmb3IgaW4tc2Nv
cGUgYW5kIDEgZm9yIG91dC1vZi1zY29wZS4KLS8vIFRoZSBmcmFtZSBvcGVuZWQgZm9yIHNjb3Bl
ICsgJyMyJyBpcyByZXR1cm5lZCB2aWEgYSBwcm9taXNlLgotZnVuY3Rpb24gY3JlYXRlX2lmcmFt
ZXMoc2NvcGUpIHsKLSAgcmV0dXJuIHdpdGhfaWZyYW1lKGJhc2VfdXJsKQotICAgIC50aGVuKGZ1
bmN0aW9uKGZyYW1lMCkgewotICAgICAgICBmcmFtZXMucHVzaChmcmFtZTApOwotICAgICAgICBy
ZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUgKyAnIzEnKTsKLSAgICAgIH0pCi0gICAgLnRoZW4oZnVu
Y3Rpb24oZnJhbWUxKSB7Ci0gICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lMSk7Ci0gICAgICAgIHJl
dHVybiB3aXRoX2lmcmFtZShzY29wZSArICcjMicpOwotICAgICAgfSkKLSAgICAudGhlbihmdW5j
dGlvbihmcmFtZTIpIHsKLSAgICAgICAgZnJhbWVzLnB1c2goZnJhbWUyKTsKLSAgICAgICAgcmV0
dXJuIGZyYW1lMjsKLSAgICAgIH0pCitmdW5jdGlvbiB0ZXN0X21hdGNoYWxsKHNlcnZpY2Vfd29y
a2VyLCBleHBlY3RlZCwgcXVlcnlfb3B0aW9ucykgeworICBleHBlY3RlZC5zb3J0KChhLCBiKSA9
PiBhWzJdID4gYlsyXSA/IDEgOiAtMSk7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7CisgICAgY29uc3QgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwor
ICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZSA9PiB7CisgICAgICBjb25zdCBkYXRhID0g
ZS5kYXRhLmZpbHRlcihpbmZvID0+IHsKKyAgICAgICAgcmV0dXJuIGluZm9bMl0uaW5kZXhPZign
Y2xpZW50cy1tYXRjaGFsbCcpID4gLTE7CisgICAgICB9KTsKKyAgICAgIGRhdGEuc29ydCgoYSwg
YikgPT4gYVsyXSA+IGJbMl0gPyAxIDogLTEpOworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLmxl
bmd0aCwgZXhwZWN0ZWQubGVuZ3RoKTsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5s
ZW5ndGg7IGkrKykKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhkYXRhW2ldLCBleHBlY3Rl
ZFtpXSk7CisgICAgICByZXNvbHZlKCk7CisgICAgfTsKKyAgICBzZXJ2aWNlX3dvcmtlci5wb3N0
TWVzc2FnZSh7cG9ydDpjaGFubmVsLnBvcnQyLCBvcHRpb25zOnF1ZXJ5X29wdGlvbnN9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CisgIH0pOwogfQog
Ci12YXIgZXhwZWN0ZWRfd2l0aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCA9IFsKKy8vIFJ1biBj
bGllbnRzLm1hdGNoQWxsIHdpdGhvdXQgYW5kIHdpdGggaW5jbHVkZVVuY29udHJvbGxlZD10cnVl
LgorLy8gKFdlIHdhbnQgdG8gcnVuIHRoZSB0d28gdGVzdHMgc2VxdWVudGlhbGx5IGluIHRoZSBz
YW1lIHByb21pc2VfdGVzdAorLy8gc28gdGhhdCB3ZSBjYW4gdXNlIHRoZSBzYW1lIHNldCBvZiBp
ZnJhbWVzIHdpdGhvdXQgaW50ZWZlcmluZyBlYWNoIG90aGVyLgorcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAvLyB8YmFzZV91cmx8IGlzIG91dC1vZi1zY29wZS4KKyAgY29uc3QgYmFzZV91
cmwgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWw/Y2xpZW50cy1tYXRjaGFsbCc7CisgIGNvbnN0IHNj
b3BlID0gYmFzZV91cmwgKyAnLWluY2x1ZGVVbmNvbnRyb2xsZWQnOworCisgIGNvbnN0IHJlZ2lz
dHJhdGlvbiA9CisgICAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3RlcigKKyAgICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtbWF0Y2hhbGwtd29ya2VyLmpz
Jywgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXIodCwgc2NvcGUpKTsKKyAgY29uc3Qgc2VydmljZV93b3JrZXIgPSByZWdpc3RyYXRpb24uaW5z
dGFsbGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgc2VydmljZV93b3JrZXIsICdhY3Rp
dmF0ZWQnKTsKKworICAvLyBDcmVhdGVzIDMgaWZyYW1lcywgMiBmb3IgaW4tc2NvcGUgYW5kIDEg
Zm9yIG91dC1vZi1zY29wZS4KKyAgbGV0IGZyYW1lcyA9IFtdOworICBmcmFtZXMucHVzaChhd2Fp
dCB3aXRoX2lmcmFtZShiYXNlX3VybCkpOworICBmcmFtZXMucHVzaChhd2FpdCB3aXRoX2lmcmFt
ZShzY29wZSArICcjMScpKTsKKyAgZnJhbWVzLnB1c2goYXdhaXQgd2l0aF9pZnJhbWUoc2NvcGUg
KyAnIzInKSk7CisKKyAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgZm9jdXMgZm9yICcjMicgZnJhbWUg
YW5kIGl0cyBwYXJlbnQgd2luZG93LgorICBmcmFtZXNbMl0uZm9jdXMoKTsKKyAgZnJhbWVzWzJd
LmNvbnRlbnRXaW5kb3cuZm9jdXMoKTsKKworICBjb25zdCBleHBlY3RlZF93aXRob3V0X2luY2x1
ZGVfdW5jb250cm9sbGVkID0gWwogICAgIC8vIHZpc2liaWxpdHlTdGF0ZSwgZm9jdXNlZCwgdXJs
LCB0eXBlLCBmcmFtZVR5cGUKICAgICBbJ3Zpc2libGUnLCBmYWxzZSwgbmV3IFVSTChzY29wZSAr
ICcjMScsIGxvY2F0aW9uKS50b1N0cmluZygpLCAnd2luZG93JywgJ25lc3RlZCddLAogICAgIFsn
dmlzaWJsZScsIHRydWUsIG5ldyBVUkwoc2NvcGUgKyAnIzInLCBsb2NhdGlvbikudG9TdHJpbmco
KSwgJ3dpbmRvdycsICduZXN0ZWQnXQotXTsKLQotdmFyIGV4cGVjdGVkX3dpdGhfaW5jbHVkZV91
bmNvbnRyb2xsZWQgPSBbCisgIF07CisgIGNvbnN0IGV4cGVjdGVkX3dpdGhfaW5jbHVkZV91bmNv
bnRyb2xsZWQgPSBbCiAgICAgLy8gdmlzaWJpbGl0eVN0YXRlLCBmb2N1c2VkLCB1cmwsIHR5cGUs
IGZyYW1lVHlwZQogICAgIFsndmlzaWJsZScsIHRydWUsIGxvY2F0aW9uLmhyZWYsICd3aW5kb3cn
LCAndG9wLWxldmVsJ10sCiAgICAgWyd2aXNpYmxlJywgZmFsc2UsIG5ldyBVUkwoc2NvcGUgKyAn
IzEnLCBsb2NhdGlvbikudG9TdHJpbmcoKSwgJ3dpbmRvdycsICduZXN0ZWQnXSwKICAgICBbJ3Zp
c2libGUnLCB0cnVlLCBuZXcgVVJMKHNjb3BlICsgJyMyJywgbG9jYXRpb24pLnRvU3RyaW5nKCks
ICd3aW5kb3cnLCAnbmVzdGVkJ10sCiAgICAgWyd2aXNpYmxlJywgZmFsc2UsIG5ldyBVUkwoYmFz
ZV91cmwsIGxvY2F0aW9uKS50b1N0cmluZygpLCAnd2luZG93JywgJ25lc3RlZCddCi1dOworICBd
OwogCi1mdW5jdGlvbiB0ZXN0X21hdGNoYWxsKGZyYW1lLCBleHBlY3RlZCwgcXVlcnlfb3B0aW9u
cykgewotICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBmb2N1cyBmb3IgJyMyJyBmcmFtZSBhbmQgaXRz
IHBhcmVudCB3aW5kb3cuCi0gIGZyYW1lLmZvY3VzKCk7Ci0gIGZyYW1lLmNvbnRlbnRXaW5kb3cu
Zm9jdXMoKTsKLSAgZXhwZWN0ZWQuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiBhWzJdID4g
YlsyXSA/IDEgOiAtMTsgfSk7Ci0gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
LCByZWplY3QpIHsKLSAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAg
IGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewotICAgICAgLy8gSWdub3Jl
IGhpZGRlbiBjbGllbnRzIHdoaWNoIG1heSBiZSBjb21pbmcgZnJvbSBiYWNrZ3JvdW5kIHRhYnMs
IG9yCi0gICAgICAvLyBjbGllbnRzIHVucmVsYXRlZCB0byB0aGlzIHRlc3QuCi0gICAgICB2YXIg
ZGF0YSA9IGUuZGF0YS5maWx0ZXIoZnVuY3Rpb24oaW5mbykgewotICAgICAgICByZXR1cm4gaW5m
b1swXSA9PSAndmlzaWJsZScgJiYKLSAgICAgICAgICAgICAgIGluZm9bMl0uaW5kZXhPZignc2Vy
dmljZS13b3JrZXInKSA+IC0xOwotICAgICAgfSk7Ci0gICAgICBkYXRhLnNvcnQoZnVuY3Rpb24o
YSwgYikgeyByZXR1cm4gYVsyXSA+IGJbMl0gPyAxIDogLTE7IH0pOwotICAgICAgYXNzZXJ0X2Vx
dWFscyhkYXRhLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoKTsKLSAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgZGF0YS5sZW5ndGg7IGkrKykKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhkYXRh
W2ldLCBleHBlY3RlZFtpXSk7Ci0gICAgICByZXNvbHZlKGZyYW1lKTsKLSAgICB9OwotICAgIGZy
YW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5wb3N0
TWVzc2FnZSgKLSAgICAgICAge3BvcnQ6Y2hhbm5lbC5wb3J0Miwgb3B0aW9uczpxdWVyeV9vcHRp
b25zfSwKLSAgICAgICAgW2NoYW5uZWwucG9ydDJdKTsKLSAgfSk7CisgIGF3YWl0IHRlc3RfbWF0
Y2hhbGwoc2VydmljZV93b3JrZXIsIGV4cGVjdGVkX3dpdGhvdXRfaW5jbHVkZV91bmNvbnRyb2xs
ZWQpOworICBhd2FpdCB0ZXN0X21hdGNoYWxsKHNlcnZpY2Vfd29ya2VyLCBleHBlY3RlZF93aXRo
X2luY2x1ZGVfdW5jb250cm9sbGVkLAorICAgICAgICAgICAgICAgICAgICAgIHsgaW5jbHVkZVVu
Y29udHJvbGxlZDogdHJ1ZSB9KTsKK30sICdWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRvd3Mg
cmVzcGVjdCBpbmNsdWRlVW5jb250cm9sbGVkJyk7CisKKy8vIFRPRE86IEFkZCB0ZXN0cyBmb3Ig
Y2xpZW50cy5tYXRjaEFsbCBmb3IgZGVkaWNhdGVkIHdvcmtlcnMuCisKK2FzeW5jIGZ1bmN0aW9u
IGNyZWF0ZV9zaGFyZWRfd29ya2VyKHNjcmlwdF91cmwpIHsKKyAgY29uc3Qgc2hhcmVkX3dvcmtl
ciA9IG5ldyBTaGFyZWRXb3JrZXIoc2NyaXB0X3VybCk7CisgIGNvbnN0IG1zZ0V2ZW50ID0gYXdh
aXQgbmV3IFByb21pc2UociA9PiBzaGFyZWRfd29ya2VyLnBvcnQub25tZXNzYWdlID0gcik7Cisg
IGFzc2VydF9lcXVhbHMobXNnRXZlbnQuZGF0YSwgJ3N0YXJ0ZWQnKTsKKyAgcmV0dXJuIHNoYXJl
ZF93b3JrZXI7CiB9CiAKLS8vIFJ1biBjbGllbnRzLm1hdGNoQWxsIHdpdGhvdXQgYW5kIHdpdGgg
aW5jbHVkZVVuY29udHJvbGxlZD10cnVlLgotLy8gKFdlIHdhbnQgdG8gcnVuIHRoZSB0d28gdGVz
dHMgc2VxdWVudGlhbGx5IGluIHRoZSBzYW1lIGFzeW5jX3Rlc3QKLS8vIHNvIHRoYXQgd2UgY2Fu
IHVzZSB0aGUgc2FtZSBzZXQgb2YgaWZyYW1lcyB3aXRob3V0IGludGVmZXJpbmcgZWFjaCBvdGhl
ci4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKAotICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtbWF0Y2hhbGwt
d29ya2VyLmpzJywgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsK
LSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxp
bmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gY3JlYXRlX2lmcmFtZXMoc2NvcGUpOyB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJh
bWUpIHsKLSAgICAgICAgICByZXR1cm4gdGVzdF9tYXRjaGFsbChmcmFtZSwgZXhwZWN0ZWRfd2l0
aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5j
dGlvbihmcmFtZSkgewotICAgICAgICAgIHJldHVybiB0ZXN0X21hdGNoYWxsKGZyYW1lLCBleHBl
Y3RlZF93aXRoX2luY2x1ZGVfdW5jb250cm9sbGVkLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHtpbmNsdWRlVW5jb250cm9sbGVkOnRydWV9KTsKLSAgICAgICAgfSkKLSAgICAgIC50
aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIGZyYW1lcy5mb3JFYWNoKGZ1bmN0aW9uKGYpIHsg
Zi5yZW1vdmUoKSB9KTsKLSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9k
b25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0
aW9uKHQpKTsKLSAgfSwgJ1ZlcmlmeSBtYXRjaEFsbCgpIHJlc3BlY3QgaW5jbHVkZVVuY29udHJv
bGxlZCcpOworLy8gUnVuIGNsaWVudHMubWF0Y2hBbGwgZm9yIHNoYXJlZCB3b3JrZXJzIHdpdGhv
dXQgYW5kIHdpdGgKKy8vIGluY2x1ZGVVbmNvbnRyb2xsZWQ9dHJ1ZS4KK3Byb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0X3VybCA9ICdyZXNvdXJjZXMvY2xpZW50cy1tYXRj
aGFsbC1jbGllbnQtdHlwZXMtc2hhcmVkLXdvcmtlci5qcyc7CisgIGNvbnN0IHVuY29udHJvbGxl
ZF9zY3JpcHRfdXJsID0KKyAgICAgIG5ldyBVUkwoc2NyaXB0X3VybCArICc/dW5jb250cm9sbGVk
JywgbG9jYXRpb24pLnRvU3RyaW5nKCk7CisgIGNvbnN0IGNvbnRyb2xsZWRfc2NyaXB0X3VybCA9
CisgICAgICBuZXcgVVJMKHNjcmlwdF91cmwgKyAnP2NvbnRyb2xsZWQnLCBsb2NhdGlvbikudG9T
dHJpbmcoKTsKKworICAvLyBTdGFydCBhIHNoYXJlZCB3b3JrZXIgdGhhdCBpcyBub3QgY29udHJv
bGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgorICBjb25zdCB1bmNvbnRyb2xsZWRfc2hhcmVkX3dv
cmtlciA9CisgICAgICBhd2FpdCBjcmVhdGVfc2hhcmVkX3dvcmtlcih1bmNvbnRyb2xsZWRfc2Ny
aXB0X3VybCk7CisKKyAgLy8gUmVnaXN0ZXIgYSBzZXJ2aWNlIHdvcmtlci4KKyAgY29uc3QgcmVn
aXN0cmF0aW9uID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKAorICAgICAgICAgIHQsICdyZXNvdXJjZXMvY2xpZW50cy1tYXRjaGFsbC13b3JrZXIu
anMnLCBzY3JpcHRfdXJsKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyKHQsIHNjcmlwdF91cmwpKTsKKyAgY29uc3Qgc2VydmljZV93b3JrZXIgPSByZWdp
c3RyYXRpb24uaW5zdGFsbGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgc2VydmljZV93
b3JrZXIsICdhY3RpdmF0ZWQnKTsKKworICAvLyBTdGFydCBhbm90aGVyIHNoYXJlZCB3b3JrZXIg
Y29udHJvbGxlZCBieSB0aGUgc2VydmljZSB3b3JrZXIuCisgIGF3YWl0IGNyZWF0ZV9zaGFyZWRf
d29ya2VyKGNvbnRyb2xsZWRfc2NyaXB0X3VybCk7CisKKyAgY29uc3QgZXhwZWN0ZWRfd2l0aG91
dF9pbmNsdWRlX3VuY29udHJvbGxlZCA9IFsKKyAgICAvLyB2aXNpYmlsaXR5U3RhdGUsIGZvY3Vz
ZWQsIHVybCwgdHlwZSwgZnJhbWVUeXBlCisgICAgW3VuZGVmaW5lZCwgdW5kZWZpbmVkLCBjb250
cm9sbGVkX3NjcmlwdF91cmwsICdzaGFyZWR3b3JrZXInLCAnbm9uZSddLAorICBdOworICBjb25z
dCBleHBlY3RlZF93aXRoX2luY2x1ZGVfdW5jb250cm9sbGVkID0gWworICAgIC8vIHZpc2liaWxp
dHlTdGF0ZSwgZm9jdXNlZCwgdXJsLCB0eXBlLCBmcmFtZVR5cGUKKyAgICBbdW5kZWZpbmVkLCB1
bmRlZmluZWQsIGNvbnRyb2xsZWRfc2NyaXB0X3VybCwgJ3NoYXJlZHdvcmtlcicsICdub25lJ10s
CisgICAgW3VuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmNvbnRyb2xsZWRfc2NyaXB0X3VybCwgJ3No
YXJlZHdvcmtlcicsICdub25lJ10sCisgIF07CiAKKyAgYXdhaXQgdGVzdF9tYXRjaGFsbChzZXJ2
aWNlX3dvcmtlciwgZXhwZWN0ZWRfd2l0aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCwKKyAgICAg
ICAgICAgICAgICAgICAgICB7IHR5cGU6ICdzaGFyZWR3b3JrZXInIH0pOworICBhd2FpdCB0ZXN0
X21hdGNoYWxsKHNlcnZpY2Vfd29ya2VyLCBleHBlY3RlZF93aXRoX2luY2x1ZGVfdW5jb250cm9s
bGVkLAorICAgICAgICAgICAgICAgICAgICAgIHsgaW5jbHVkZVVuY29udHJvbGxlZDogdHJ1ZSwg
dHlwZTogJ3NoYXJlZHdvcmtlcicgfSk7Cit9LCAnVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCBzaGFy
ZWQgd29ya2VycyByZXNwZWN0IGluY2x1ZGVVbmNvbnRyb2xsZWQnKTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1vcmRlci5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1vcmRlci5odHRwcy5odG1s
CmluZGV4IDJjMWU5NTZkMWQ4NGJmODJlMzc5ODI3ODE5MTRiYmFhNzJhNDIwNjIuLjA1OTYwNTBj
MjRhZjRlMjc1ZWJmZTNlMDQwOTE4YzExNTc5N2YyZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtb3JkZXIuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLW9yZGVyLmh0dHBzLmh0bWwKQEAgLTEsNSArMSw2IEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogQ2xpZW50cy5tYXRjaEFs
bCBvcmRlcmluZzwvdGl0bGU+Cis8bWV0YSBuYW1lPXRpbWVvdXQgY29udGVudD1sb25nPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwuaHR0cHMuaHRtbAppbmRleCAzNjI2OWI0ZDk4ZTJi
NzJmNTU1MTgyNjhjMWJjZmQxNGFiYjIxMjk5Li5jZTQ0ZjE5MjRkNTQ5NTJhZmU0NDJiMTliZDBi
NDZjNWY5Mjk1MWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC5o
dHRwcy5odG1sCkBAIC01LDEyICs1LDE1IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3Qt
aGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIHZhciBzY29wZSA9ICdyZXNvdXJj
ZXMvYmxhbmsuaHRtbD9jbGllbnRzLW1hdGNoQWxsJzsKLXZhciB0ID0gYXN5bmNfdGVzdCgnVGVz
dCBDbGllbnRzLm1hdGNoQWxsKCknKTsKIHZhciBmcmFtZXMgPSBbXTsKLXQuc3RlcChmdW5jdGlv
bigpIHsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKK3Byb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKAogICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtbWF0Y2hhbGwt
d29ya2VyLmpzJywgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsK
KyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsK
KwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFs
bGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7
IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSArICcjMScpOyB9KQpAQCAtMjIsMTIgKzI1LDE1IEBA
IHQuc3RlcChmdW5jdGlvbigpIHsKICAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lMikgewogICAg
ICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lMik7CiAgICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcg
TWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQu
c3RlcF9mdW5jKG9uTWVzc2FnZSk7Ci0gICAgICAgICAgZnJhbWUyLmNvbnRlbnRXaW5kb3cubmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5wb3N0TWVzc2FnZSgKLSAgICAgICAgICAg
ICAge3BvcnQ6Y2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CisKKyAgICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAgICBjaGFu
bmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAgICAgICAgICAgIGZyYW1lMi5jb250
ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2Uo
CisgICAgICAgICAgICAgICAgICB7cG9ydDpjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9ydDJd
KTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9y
ZWplY3Rpb24odCkpOwotICB9KTsKKyAgICAgIC50aGVuKG9uTWVzc2FnZSk7Cit9LCAnVGVzdCBD
bGllbnRzLm1hdGNoQWxsKCknKTsKIAogdmFyIGV4cGVjdGVkID0gWwogICAgIC8vIHZpc2liaWxp
dHlTdGF0ZSwgZm9jdXNlZCwgdXJsLCB0eXBlLCBmcmFtZVR5cGUKQEAgLTQwLDYgKzQ2LDUgQEAg
ZnVuY3Rpb24gb25NZXNzYWdlKGUpIHsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlLmRhdGFbMF0s
IGV4cGVjdGVkWzBdKTsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlLmRhdGFbMV0sIGV4cGVjdGVk
WzFdKTsKICAgZnJhbWVzLmZvckVhY2goZnVuY3Rpb24oZikgeyBmLnJlbW92ZSgpOyB9KTsKLSAg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7CiB9CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItb24tZGlzY29ubmVj
dC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1kaXNjb25uZWN0
Lmh0dHBzLmh0bWwKaW5kZXggOTIwZDE5MGUzYjIwMTQ3Y2YxODNmODk2NjRmZjdlZDg0YTRlYzNk
ZS4uZjIzZGZlNzFiYWM1MDVmMWNjMzk2YmNhYjE5MWRiZWU3YTY0NjFmNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1kaXNjb25uZWN0Lmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1kaXNjb25uZWN0Lmh0dHBzLmh0bWwK
QEAgLTUsMjIgKzUsMjUgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1
Yi5qcyI+PC9zY3JpcHQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoJ2Nv
bnRyb2xsZXIgaXMgY2xlYXJlZCBvbiBkaXNjb25uZWN0ZWQgd2luZG93Jyk7Ci10LnN0ZXAoZnVu
Y3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciB1cmwgPSAncmVz
b3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9ibGFu
ay5odG1sJzsKICAgICB2YXIgcmVnaXN0cmF0aW9uOwogICAgIHZhciBjb250cm9sbGVyOwogICAg
IHZhciBmcmFtZTsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
LCB1cmwsIHNjb3BlKQotICAgICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oc3dyKSB7Cisg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHVybCwg
c2NvcGUpCisgICAgICAudGhlbihmdW5jdGlvbihzd3IpIHsKKyAgICAgICAgICB0LmFkZF9jbGVh
bnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJlZ2lzdHJh
dGlvbiA9IHN3cjsKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkpCi0gICAgICAudGhlbih0
LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgewogICAgICAgICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29wZSkKLSAgICAgICAgfSkpCi0g
ICAgICAudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbihmKSB7CisgICAgICAgIH0pCisgICAgICAu
dGhlbihmdW5jdGlvbihmKSB7CiAgICAgICAgICAgZnJhbWUgPSBmOwogICAgICAgICAgIHZhciB3
ID0gZnJhbWUuY29udGVudFdpbmRvdzsKICAgICAgICAgICB2YXIgc3djID0gdy5uYXZpZ2F0b3Iu
c2VydmljZVdvcmtlcjsKQEAgLTMxLDEwICszNCw3IEBAIHQuc3RlcChmdW5jdGlvbigpIHsKIAog
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoc3djLmNvbnRyb2xsZXIsIG51bGwsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAnZGlzY29ubmVjdGVkIGZyYW1lIHNob3VsZCBub3QgYmUgY29udHJvbGxl
ZCcpOwotCi0gICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBz
Y29wZSk7Ci0gICAgICAgIH0pKQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkp
OwotICB9KTsKKyAgICAgICAgfSk7Cit9LCAnY29udHJvbGxlciBpcyBjbGVhcmVkIG9uIGRpc2Nv
bm5lY3RlZCB3aW5kb3cnKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvY29udHJvbGxlci1vbi1sb2FkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jb250cm9sbGVyLW9uLWxvYWQuaHR0cHMuaHRtbAppbmRleCA0OWY5ODc5NjI2YjBjNTk1
N2M3NWU2NGMzNDIxNWM4ZTVjY2NiNTM0Li5lNGM1ZTVmODFmODEzOWUxYzc4OGYwNjhmNzE2Y2Ri
YjM2N2ZiODNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jb250cm9sbGVyLW9uLWxv
YWQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jb250cm9sbGVyLW9uLWxvYWQu
aHR0cHMuaHRtbApAQCAtNSwyMiArNSwyNSBAQAogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0
LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxib2R5PgogPHNjcmlwdD4KLXZhciB0ID0gYXN5
bmNfdGVzdCgnY29udHJvbGxlciBpcyBzZXQgZm9yIGEgY29udHJvbGxlZCBkb2N1bWVudCcpOwot
dC5zdGVwKGZ1bmN0aW9uKCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIg
dXJsID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOwogICAgIHZhciBzY29wZSA9ICdyZXNv
dXJjZXMvYmxhbmsuaHRtbCc7CiAgICAgdmFyIHJlZ2lzdHJhdGlvbjsKICAgICB2YXIgY29udHJv
bGxlcjsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
cmVnaXN0ZXIodCwgdXJsLCBzY29wZSkKLSAgICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KHN3cikgeworICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rl
cih0LCB1cmwsIHNjb3BlKQorICAgICAgLnRoZW4oZnVuY3Rpb24oc3dyKSB7CisgICAgICAgICAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAg
ICByZWdpc3RyYXRpb24gPSBzd3I7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pKQotICAg
ICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgIH0pCisgICAgICAudGhl
bihmdW5jdGlvbigpIHsKICAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOwotICAg
ICAgICB9KSkKLSAgICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGYpIHsKKyAgICAgICAg
fSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKICAgICAgICAgICBmcmFtZSA9IGY7CiAgICAg
ICAgICAgdmFyIHcgPSBmcmFtZS5jb250ZW50V2luZG93OwogICAgICAgICAgIGNvbnRyb2xsZXIg
PSB3Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXI7CkBAIC0zMiwxNCArMzUsMTIg
QEAgdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKGNvbnRy
b2xsZXIsIHJlZ2lzdHJhdGlvbi5hY3RpdmUpOwogCiAgICAgICAgICAgcmV0dXJuIHcubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKCk7Ci0gICAgICAgIH0pKQotICAgICAg
LnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oZnJhbWVSZWdpc3RyYXRpb24pIHsKKyAgICAgICAg
fSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lUmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAg
Ly8gU1cgb2JqZWN0cyBmcm9tIHNhbWUgd2luZG93IHNob3VsZCBiZSBlcXVhbAogICAgICAgICAg
IGFzc2VydF9lcXVhbHMoZnJhbWVSZWdpc3RyYXRpb24uYWN0aXZlLCBjb250cm9sbGVyKTsKICAg
ICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkpCi0gICAgICAuY2F0Y2godW5yZWFj
aGVkX3JlamVjdGlvbih0KSk7Ci0gIH0pOworICAgICAgICB9KTsKK30sICdjb250cm9sbGVyIGlz
IHNldCBmb3IgYSBjb250cm9sbGVkIGRvY3VtZW50Jyk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItd2l0aC1uby1mZXRjaC1ldmVu
dC1oYW5kbGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xs
ZXItd2l0aC1uby1mZXRjaC1ldmVudC1oYW5kbGVyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iNDU1NjgyZDNmMmIyYTJhMzJjYzEyZmVhN2Y2YjY2YTM4Mjg2YWM3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci13aXRoLW5vLWZldGNoLWV2ZW50
LWhhbmRsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNT
QUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5u
b3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvY29ycy1kZW5pZWQudHh0IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVj
a3MuCisKK1BBU1MgZ2xvYmFsIHNldHVwIAorUEFTUyBjcm9zcy1vcmlnaW4gcmVxdWVzdCwgbm8t
Y29ycyBtb2RlIAorUEFTUyBjcm9zcy1vcmlnaW4gcmVxdWVzdCwgY29ycyBkZW5pZWQgCitQQVNT
IGNyb3NzLW9yaWdpbiByZXF1ZXN0LCBjb3JzIGFwcHJvdmVkIAorUEFTUyBjbGVhbnVwIGdsb2Jh
bCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci13aXRo
LW5vLWZldGNoLWV2ZW50LWhhbmRsZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Nv
bnRyb2xsZXItd2l0aC1uby1mZXRjaC1ldmVudC1oYW5kbGVyLmh0dHBzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzE0N2MzM2EwNDgyNDQzYjRiMzMyYjgzMmM2MjY2YTM0M2FhZWQxMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItd2l0aC1uby1mZXRjaC1ldmVudC1o
YW5kbGVyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IGNvbnRyb2xsZXIgd2l0
aG91dCBhIGZldGNoIGV2ZW50IGhhbmRsZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhl
bHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK2xldCBy
ZWdpc3RyYXRpb247CitsZXQgZnJhbWU7Citjb25zdCBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZv
KCk7Citjb25zdCByZW1vdGVfYmFzZV91cmwgPQorICAgIG5ldyBVUkwoYCR7aG9zdF9pbmZvLkhU
VFBTX1JFTU9URV9PUklHSU59JHtiYXNlX3BhdGgoKX1yZXNvdXJjZXMvYCk7CisKK3Byb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9lbXB0eS5qcycK
KyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzLyc7CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIGlmIChmcmFtZSkKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworCisgICAgaWYgKHJl
Z2lzdHJhdGlvbikKKyAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgIH0s
ICdjbGVhbnVwIGdsb2JhbCBzdGF0ZScpOworCisgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0CisgICAg
ICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQsIHNjb3Bl
KTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKKyAgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSArICdibGFuay5o
dG1sJyk7Cit9LCAnZ2xvYmFsIHNldHVwJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICBjb25zdCB1cmwgPSBuZXcgVVJMKCdjb3JzLWFwcHJvdmVkLnR4dCcsIHJlbW90ZV9iYXNl
X3VybCk7CisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmcmFtZS5jb250ZW50V2luZG93LmZl
dGNoKHVybCwge21vZGU6J25vLWNvcnMnfSk7CisgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3Bv
bnNlLnRleHQoKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQsICcnKTsKK30sICdjcm9zcy1vcmln
aW4gcmVxdWVzdCwgbm8tY29ycyBtb2RlJyk7CisKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoJ2NvcnMtZGVuaWVkLnR4dCcsIHJlbW90ZV9iYXNl
X3VybCk7CisgICAgY29uc3QgcmVzcG9uc2UgPSBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKHVy
bCk7CisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwgcmVzcG9u
c2UpOworfSwgJ2Nyb3NzLW9yaWdpbiByZXF1ZXN0LCBjb3JzIGRlbmllZCcpOworCitwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgdXJsID0gbmV3IFVSTCgnY29ycy1hcHByb3Zl
ZC50eHQnLCByZW1vdGVfYmFzZV91cmwpOworICAgIHJlc3BvbnNlID0gYXdhaXQgZnJhbWUuY29u
dGVudFdpbmRvdy5mZXRjaCh1cmwpOworICAgIGxldCB0ZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4
dCgpOworICAgIHRleHQgPSB0ZXh0LnRyaW0oKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQsICdw
bGFpbnRleHQnKTsKK30sICdjcm9zcy1vcmlnaW4gcmVxdWVzdCwgY29ycyBhcHByb3ZlZCcpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZWRpY2F0
ZWQtd29ya2VyLXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9kZWRpY2F0ZWQtd29ya2VyLXNlcnZpY2Utd29ya2VyLWludGVy
Y2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJhYzQzMGI5ODhiNGZjOTA5
YTM4OWZkMDZkMTAzYTRkNDg2NTdkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2RlZGljYXRlZC13b3JrZXItc2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAnLi9zZXJ2aWNlLXdvcmtlci1pbnRl
cmNlcHRpb24tbmV0d29yay13b3JrZXIuanMnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4YWN0bHkg
b25lIGFyZ3VtZW50LgorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICcuL3NlcnZpY2Utd29ya2VyLWludGVyY2Vw
dGlvbi1uZXR3b3JrLXdvcmtlci5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUg
YXJndW1lbnQuCisKK0ZBSUwgVG9wLWxldmVsIG1vZHVsZSBsb2FkaW5nIHNob3VsZCBiZSBpbnRl
cmNlcHRlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiTE9B
REVEX0ZST01fU0VSVklDRV9XT1JLRVIiIGJ1dCBnb3QgIkxPQURFRF9GUk9NX05FVFdPUksiCitU
SU1FT1VUIFN0YXRpYyBpbXBvcnQgc2hvdWxkIGJlIGludGVyY2VwdGVkIGJ5IGEgc2VydmljZSB3
b3JrZXIuIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gRHluYW1pYyBpbXBvcnQgc2hvdWxkIGJlIGlu
dGVyY2VwdGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9kZWRpY2F0ZWQtd29ya2VyLXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZGVkaWNhdGVkLXdvcmtlci1zZXJ2aWNlLXdvcmtl
ci1pbnRlcmNlcHRpb24uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ0ZjQ4MjcxMjFiNDkwMmQ4
YzU2YTYxZGY4MjNmMDRlZTg4MDFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZGVkaWNhdGVkLXdvcmtlci1zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMuaHRt
bApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5EZWRpY2F0ZWRXb3Jr
ZXI6IFNlcnZpY2VXb3JrZXIgaW50ZXJjZXB0aW9uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBOb3RlIHRoYXQg
Q2hyb21lIGNhbm5vdCBwYXNzIHRoZXNlIHRlc3RzIGJlY2F1c2Ugb2YgaHR0cHM6Ly9jcmJ1Zy5j
b20vNzMxNTk5LgorCitmdW5jdGlvbiBzZXJ2aWNlX3dvcmtlcl9pbnRlcmNlcHRpb25fdGVzdCh1
cmwsIGRlc2NyaXB0aW9uKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAvLyBS
ZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIHdob3NlIHNjb3BlIGluY2x1ZGVzIHx1cmx8LgorICAg
IGNvbnN0IGtTZXJ2aWNlV29ya2VyU2NyaXB0VVJMID0KKyAgICAgICAgJ3Jlc291cmNlcy9zZXJ2
aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc2VydmljZS13b3JrZXIuanMnOworICAgIGNvbnN0IHJl
Z2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVy
KAorICAgICAgICB0LCBrU2VydmljZVdvcmtlclNjcmlwdFVSTCwgdXJsKTsKKyAgICBhZGRfcmVz
dWx0X2NhbGxiYWNrKCgpID0+IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICAgIGF3YWl0
IHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7
CisKKyAgICAvLyBTdGFydCBhIGRlZGljYXRlZCB3b3JrZXIgZm9yIHx1cmx8LiBUaGUgdG9wLWxl
dmVsIHNjcmlwdCByZXF1ZXN0IGFuZCBhbnkKKyAgICAvLyBtb2R1bGUgaW1wb3J0cyBzaG91bGQg
YmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLgorICAgIGNvbnN0IHdvcmtlciA9
IG5ldyBXb3JrZXIodXJsLCB7IHR5cGU6ICdtb2R1bGUnIH0pOworICAgIGNvbnN0IG1zZ19ldmVu
dCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9IHJlc29s
dmUpOworICAgIGFzc2VydF9lcXVhbHMobXNnX2V2ZW50LmRhdGEsICdMT0FERURfRlJPTV9TRVJW
SUNFX1dPUktFUicpOworICB9LCBkZXNjcmlwdGlvbik7Cit9CisKK3NlcnZpY2Vfd29ya2VyX2lu
dGVyY2VwdGlvbl90ZXN0KAorICAgICdyZXNvdXJjZXMvc2VydmljZS13b3JrZXItaW50ZXJjZXB0
aW9uLW5ldHdvcmstd29ya2VyLmpzJywKKyAgICAnVG9wLWxldmVsIG1vZHVsZSBsb2FkaW5nIHNo
b3VsZCBiZSBpbnRlcmNlcHRlZCBieSBhIHNlcnZpY2Ugd29ya2VyLicpOworCitzZXJ2aWNlX3dv
cmtlcl9pbnRlcmNlcHRpb25fdGVzdCgKKyAgICAncmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWlu
dGVyY2VwdGlvbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcycsCisgICAgJ1N0YXRpYyBpbXBvcnQg
c2hvdWxkIGJlIGludGVyY2VwdGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuJyk7CisKK3NlcnZpY2Vf
d29ya2VyX2ludGVyY2VwdGlvbl90ZXN0KAorICAgICdyZXNvdXJjZXMvc2VydmljZS13b3JrZXIt
aW50ZXJjZXB0aW9uLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcycsCisgICAgJ0R5bmFtaWMgaW1w
b3J0IHNob3VsZCBiZSBpbnRlcmNlcHRlZCBieSBhIHNlcnZpY2Ugd29ya2VyLicpOworCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRleHQuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRleHQuaHR0cHMuaHRtbApp
bmRleCBkMzQ1OTgyMzQzZjA1ZjFiNzFlODljYzQ2YTAwZjA1N2VlYzg5ZDhlLi41YWU0ZGU4Y2M4
MWUwYzM2NTBlYWFmNmI1NjU2MTkzZDRhMmNmOGIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9kZXRhY2hlZC1jb250ZXh0Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZGV0YWNoZWQtY29udGV4dC5odHRwcy5odG1sCkBAIC0xNiw2ICsxNiw3IEBAIHByb21pc2VfdGVz
dCh0ID0+IHsKICAgICBjb25zdCBzY29wZV9mb3JfbWFpbiA9ICdyZXNvdXJjZXMvJyArIHNjb3Bl
X2Zvcl9pZnJhbWU7CiAgICAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIu
anMnOwogICAgIGxldCBmcmFtZTsKKyAgICBsZXQgcmVzb2x2ZWRDb3VudCA9IDA7CiAKICAgICBy
ZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZV9mb3JfbWFpbikKICAgICAg
IC50aGVuKCgpID0+IHsKQEAgLTQxLDkgKzQyLDIzIEBAIHByb21pc2VfdGVzdCh0ID0+IHsKICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHIuYWN0aXZlLnN0YXRlLCAnYWN0aXZhdGVkJyk7CiAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhyLnNjb3BlLCBub3JtYWxpemVVUkwoc2NvcGVfZm9yX21haW4p
KTsKICAgICAgICAgICByLm9udXBkYXRlZm91bmQgPSAoKSA9PiB7IC8qIGVtcHR5ICovIH07Ci0g
ICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKLSAgICAgICAgICAgICAgcHJvbWlzZV9yZWpl
Y3RzKHQsICdJbnZhbGlkU3RhdGVFcnJvcicsIHIudW5yZWdpc3RlcigpKSwKLSAgICAgICAgICAg
ICAgcHJvbWlzZV9yZWplY3RzKHQsICdJbnZhbGlkU3RhdGVFcnJvcicsIHIudXBkYXRlKCkpXSk7
CisKKyAgICAgICAgICAvLyBXZSB3YW50IHRvIHZlcmlmeSB0aGF0IHVucmVnaXN0ZXIoKSBhbmQg
dXBkYXRlKCkgZG8gbm90CisgICAgICAgICAgLy8gcmVzb2x2ZSBvbiBhIGRldGFjaGVkIHJlZ2lz
dHJhdGlvbi4gIFdlIGNhbid0IGNoZWNrIGZvcgorICAgICAgICAgIC8vIGFuIGV4cGxpY2l0IHJl
amVjdGlvbiwgdGhvdWdoLCBiZWNhdXNlIG5vdCBhbGwgYnJvd3NlcnMKKyAgICAgICAgICAvLyBm
aXJlIHJlamVjdGlvbiBjYWxsYmFja3Mgb24gZGV0YWNoZWQgcHJvbWlzZXMuICBJbnN0ZWFkCisg
ICAgICAgICAgLy8gd2Ugd2FpdCBmb3IgYSBkdW1teSBzY29wZSB0byBpbnN0YWxsLCBhY3RpdmF0
ZSwgYW5kCisgICAgICAgICAgLy8gdW5yZWdpc3RlciBiZWZvcmUgZGVjbGFyaW5nIHRoYXQgdGhl
IHByb21pc2VzIGRpZCBub3QKKyAgICAgICAgICAvLyByZXNvbHZlLgorICAgICAgICAgIHIudW5y
ZWdpc3RlcigpLnRoZW4oKCkgPT4gcmVzb2x2ZWRDb3VudCArPSAxLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKCkgPT4ge30pOworICAgICAgICAgIHIudXBkYXRlKCkudGhlbigoKSA9
PiByZXNvbHZlZENvdW50ICs9IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHt9
KTsKKyAgICAgICAgICByZXR1cm4gd2FpdF9mb3JfYWN0aXZhdGlvbl9vbl9kdW1teV9zY29wZSh0
LCB3aW5kb3cpOworICAgICAgICB9KQorICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAgIGFz
c2VydF9lcXVhbHMocmVzb2x2ZWRDb3VudCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICdt
ZXRob2RzIGNhbGxlZCBvbiBhIGRldGFjaGVkIHJlZ2lzdHJhdGlvbiBzaG91bGQgbm90IHJlc29s
dmUnKTsKICAgICAgICAgfSkKICAgfSwgJ2FjY2Vzc2luZyBhIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24gZnJvbSBhIHJlbW92ZWQgaWZyYW1lJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJj
ZXB0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxNGY2OTEzMDRiNTJmNDJmMTIz
MTYzOTA4ZWJjZmQ3NDQ4ZDA5NzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJjZXB0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRo
IHJlY2VpdmVkIGFuIGVycm9yOiBuZXR3b3JrIGVycm9yIHRvIHNob3cgaW50ZXJjZXB0aW9uIG9j
Y3VycmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvaW1hZ2VzL2dyZWVuLnBuZy4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25k
V2l0aCByZWNlaXZlZCBhbiBlcnJvcjogbmV0d29yayBlcnJvciB0byBzaG93IGludGVyY2VwdGlv
biBvY2N1cnJlZAorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9z
dDo5NDQzL2ltYWdlcy9ncmVlbi5wbmcuCisjUElEIFVOUkVTUE9OU0lWRSAtIGNvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudCAocGlkIDU2MzkwKQorRkFJTDogVGltZWQgb3V0
IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCisKKyNFT0YKKyNFT0YKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNl
cHRlZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZW1iZWQtYW5kLW9iamVjdC1hcmUt
bm90LWludGVyY2VwdGVkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ1NTZhNzg1YWVhNjgxMDI0
M2NhNDczZmM0MDA2NmQxNjI2NTExNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZC5odHRwcy5odG1sCkBAIC0w
LDAgKzEsNzggQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPmVtYmVkIGFuZCBvYmplY3QgYXJlIG5vdCBpbnRlcmNlcHRlZDwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPGJvZHk+Cis8
c2NyaXB0PgorbGV0IHJlZ2lzdHJhdGlvbjsKKworY29uc3Qga1NjcmlwdCA9ICdyZXNvdXJjZXMv
ZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkLXdvcmtlci5qcyc7Citjb25zdCBr
U2NvcGUgPSAncmVzb3VyY2VzLyc7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICByZXR1cm4g
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwga1NjcmlwdCwga1Njb3Bl
KQorICAgICAgLnRoZW4ocmVnaXN0cmF0aW9uID0+IHsKKyAgICAgICAgICBwcm9taXNlX3Rlc3Qo
KCkgPT4geworICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsK
KyAgICAgICAgICAgIH0sICdyZXN0b3JlIGdsb2JhbCBzdGF0ZScpOworCisgICAgICAgICAgcmV0
dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVk
Jyk7CisgICAgICAgIH0pCisgIH0sICdpbml0aWFsaXplIGdsb2JhbCBzdGF0ZScpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgICAgbGV0IGZyYW1lOworICAgIHJldHVybiB3aXRoX2lmcmFtZSgn
cmVzb3VyY2VzL2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbCcpCisgICAgICAu
dGhlbihmID0+IHsKKyAgICAgICAgICBmcmFtZSA9IGY7CisgICAgICAgICAgdC5hZGRfY2xlYW51
cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKyAgICAgICAgICByZXR1cm4gZnJhbWUuY29u
dGVudFdpbmRvdy50ZXN0X3Byb21pc2U7CisgICAgICAgIH0pCisgICAgICAudGhlbihyZXN1bHQg
PT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAncmVxdWVzdCBmb3IgZW1iZWRk
ZWQgY29udGVudCB3YXMgbm90IGludGVyY2VwdGVkJyk7CisgICAgICAgIH0pOworICB9LCAncmVx
dWVzdHMgZm9yIEVNQkVEIGVsZW1lbnRzIG9mIGVtYmVkZGVkIEhUTUwgY29udGVudCBzaG91bGQg
bm90IGJlIGludGVyY2VwdGVkIGJ5IHNlcnZpY2Ugd29ya2VycycpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgICAgbGV0IGZyYW1lOworICAgIHJldHVybiB3aXRoX2lmcmFtZSgncmVzb3VyY2Vz
L29iamVjdC1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0bWwnKQorICAgICAgLnRoZW4oZiA9
PiB7CisgICAgICAgICAgZnJhbWUgPSBmOworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4g
eyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgICAgcmV0dXJuIGZyYW1lLmNvbnRlbnRXaW5k
b3cudGVzdF9wcm9taXNlOworICAgICAgICB9KQorICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ3JlcXVlc3QgZm9yIGVtYmVkZGVkIGNvbnRl
bnQgd2FzIG5vdCBpbnRlcmNlcHRlZCcpOworICAgICAgICB9KTsKKyAgfSwgJ3JlcXVlc3RzIGZv
ciBPQkpFQ1QgZWxlbWVudHMgb2YgZW1iZWRkZWQgSFRNTCBjb250ZW50IHNob3VsZCBub3QgYmUg
aW50ZXJjZXB0ZWQgYnkgc2VydmljZSB3b3JrZXJzJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgICBsZXQgZnJhbWU7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMvZW1iZWQt
aW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sJykKKyAgICAgIC50aGVuKGYgPT4g
eworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsg
ZnJhbWUucmVtb3ZlKCk7IH0pOworICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93
LnRlc3RfcHJvbWlzZTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdyZXF1ZXN0IHdhcyBub3QgaW50ZXJjZXB0ZWQn
KTsKKyAgICAgICAgfSk7CisgIH0sICdyZXF1ZXN0cyBmb3IgRU1CRUQgZWxlbWVudHMgb2YgYW4g
aW1hZ2Ugc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBzZXJ2aWNlIHdvcmtlcnMnKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCBmcmFtZTsKKyAgICByZXR1cm4gd2l0aF9pZnJh
bWUoJ3Jlc291cmNlcy9vYmplY3QtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1s
JykKKyAgICAgIC50aGVuKGYgPT4geworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICB0
LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgICAgICAgIHJldHVy
biBmcmFtZS5jb250ZW50V2luZG93LnRlc3RfcHJvbWlzZTsKKyAgICAgICAgfSkKKyAgICAgIC50
aGVuKHJlc3VsdCA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdyZXF1ZXN0
IHdhcyBub3QgaW50ZXJjZXB0ZWQnKTsKKyAgICAgICAgfSk7CisgIH0sICdyZXF1ZXN0cyBmb3Ig
T0JKRUNUIGVsZW1lbnRzIG9mIGFuIGltYWdlIHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQgYnkg
c2VydmljZSB3b3JrZXJzJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDkwMmE5Nzg0ZDc2MWQ5Nzc2ZmZiNDYyMTJlYzU2MzE5NzA1
YWRmNGUuLjMxMTBkM2ViM2JiNGI5N2MzYjY4M2I0YWQyZTBiNzE0NjgxYTdlM2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtYXN5bmMtd2FpdHVudGlsLmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50
LWFzeW5jLXdhaXR1bnRpbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMgQEAKIAog
CiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgaW4gYSBkaWZmZXJlbnQgdGFzayB3aXRob3V0
IGFuIGV4aXN0aW5nIGV4dGVuc2lvbiB0aHJvd3MgCi1GQUlMIFRlc3QgY2FsbGluZyB3YWl0VW50
aWwgaW4gYSBkaWZmZXJlbnQgbWljcm90YXNrIHdpdGhvdXQgYW4gZXhpc3RpbmcgZXh0ZW5zaW9u
IHRocm93cyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIkludmFsaWRTdGF0ZUVycm9yIiBidXQgZ290ICJPSyIgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgaW4gYSBkaWZmZXJl
bnQgbWljcm90YXNrIHdpdGhvdXQgYW4gZXhpc3RpbmcgZXh0ZW5zaW9uIHRocm93cyBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiSW52YWxpZFN0YXRlRXJyb3IiIGJ1dCBnb3QgIk9LIgogUEFTUyBU
ZXN0IGNhbGxpbmcgd2FpdFVudGlsIGluIGEgZGlmZmVyZW50IHRhc2sgd2l0aCBhbiBleGlzdGlu
ZyBleHRlbnNpb24gc3VjY2VlZHMgCiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgd2l0aCBh
biBleGlzdGluZyBleHRlbnNpb24gcHJvbWlzZSBoYW5kbGVyIHN1Y2NlZWRzIAotRkFJTCBUZXN0
IGNhbGxpbmcgd2FpdFVudGlsIGF0IHRoZSBlbmQgb2YgdGhlIG1pY3JvdGFzayB0dXJuIHRocm93
cyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIkludmFsaWRTdGF0ZUVycm9yIiBidXQgZ290ICJPSyIgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCitGQUlMIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgYXQgdGhlIGVuZCBvZiB0aGUg
bWljcm90YXNrIHR1cm4gdGhyb3dzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJJbnZhbGlkU3Rh
dGVFcnJvciIgYnV0IGdvdCAiT0siCiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgYWZ0ZXIg
dGhlIGN1cnJlbnQgZXh0ZW5zaW9uIGV4cGlyZWQgaW4gYSBkaWZmZXJlbnQgdGFzayBmYWlscyAK
IFBBU1MgVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBvbiBhIHNjcmlwdCBjb25zdHJ1Y3RlZCBFeHRl
bmRhYmxlRXZlbnQgdGhyb3dzIGV4Y2VwdGlvbiAKIFBBU1MgVGVzdCBjYWxsaW5nIHdhaXRVbnRp
bCBhc3luY2hyb25vdXNseSB3aXRoIHBlbmRpbmcgcmVzcG9uZFdpdGggcHJvbWlzZS4gCiBQQVNT
IFRlc3QgY2FsbGluZyB3YWl0VW50aWwgc3luY2hyb25vdXNseSBpbnNpZGUgbWljcm90YXNrIG9m
IHJlc3BvbmRXaXRoIHByb21pc2UuIAotRkFJTCBUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGFzeW5j
aHJvbm91c2x5IGluc2lkZSBtaWNyb3Rhc2sgb2YgcmVzcG9uZFdpdGggcHJvbWlzZS4gYXNzZXJ0
X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJJbnZhbGlkU3RhdGVFcnJvciIgYnV0IGdvdCAiT0siIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQorRkFJTCBUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGFzeW5jaHJvbm91c2x5IGluc2lkZSBtaWNy
b3Rhc2sgb2YgcmVzcG9uZFdpdGggcHJvbWlzZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIklu
dmFsaWRTdGF0ZUVycm9yIiBidXQgZ290ICJPSyIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtYXN5bmMtd2FpdHVudGlsLmh0dHBzLmh0bWwK
aW5kZXggYmU0ZWZiYmMzNDIyMmY3MDg3NzUzYzc1OTIwYWVlMWVjZWQ5OThiMC4uY2I0ZWQzMGEz
N2ZkZmQwN2ZkOGIzNDE4MWYwNzNjNmRlMmUxNjViOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0cHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50LWFzeW5jLXdhaXR1bnRpbC5odHRwcy5o
dG1sCkBAIC0yMiwxNSArMjIsMTkgQEAgZnVuY3Rpb24gc3luY19tZXNzYWdlKHdvcmtlciwgbWVz
c2FnZSwgdHJhbnNmZXIpIHsKIGZ1bmN0aW9uIHJ1blRlc3QodGVzdCwgc3RlcCwgdGVzdEJvZHkp
IHsKICAgdmFyIHNjb3BlID0gJy4vcmVzb3VyY2VzLycgKyBzdGVwOwogICB2YXIgc2NyaXB0ID0g
J3Jlc291cmNlcy9leHRlbmRhYmxlLWV2ZW50LWFzeW5jLXdhaXR1bnRpbC5qcz8nICsgc2NvcGU7
Ci0gIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHNjcmlwdCwg
c2NvcGUpCisgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
ZXN0LCBzY3JpcHQsIHNjb3BlKQogICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewor
ICAgICAgICB0ZXN0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcmV0dXJu
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodGVzdCwgc2NvcGUpOworICAgICAgICAgIH0pOwor
CiAgICAgICAgIGxldCB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKICAgICAgICAg
dmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKICAgICAgICAgdmFyIHNhd19tZXNz
YWdlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAgICAgICAgIGNoYW5uZWwu
cG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeyByZXNvbHZlKGUuZGF0YSk7IH0KICAgICAg
ICAgfSk7CiAKLSAgICAgICAgd2FpdF9mb3Jfc3RhdGUodGVzdCwgd29ya2VyLCAnYWN0aXZhdGVk
JykKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHRlc3QsIHdvcmtlciwgJ2FjdGl2YXRl
ZCcpCiAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIHJldHVybiBz
eW5jX21lc3NhZ2Uod29ya2VyLCB7IHN0ZXA6ICdpbml0JywgcG9ydDogY2hhbm5lbC5wb3J0MiB9
LAogICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CkBAIC00MCw5ICs0NCw3IEBAIGZ1
bmN0aW9uIHJ1blRlc3QodGVzdCwgc3RlcCwgdGVzdEJvZHkpIHsKICAgICAgICAgICAudGhlbihm
dW5jdGlvbihvdXRwdXQpIHsKICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvdXRwdXQucmVz
dWx0LCBvdXRwdXQuZXhwZWN0ZWQpOwogICAgICAgICAgICAgfSkKLSAgICAgICAgICAudGhlbihm
dW5jdGlvbigpIHsgcmV0dXJuIHN5bmNfbWVzc2FnZSh3b3JrZXIsIHsgc3RlcDogJ2RvbmUnIH0p
OyB9KQotICAgICAgICAgIC50aGVuKCgpID0+IHsgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfZG9uZSh0ZXN0LCBzY29wZSk7IH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWpl
Y3Rpb24odGVzdCkpOworICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gc3luY19t
ZXNzYWdlKHdvcmtlciwgeyBzdGVwOiAnZG9uZScgfSk7IH0pOwogICAgICAgfSk7CiB9CiAKQEAg
LTUwLDUxICs1Miw1MSBAQCBmdW5jdGlvbiBtc2dfZXZlbnRfdGVzdChzY29wZSwgdGVzdCkgewog
ICB2YXIgdGVzdEJvZHkgPSBmdW5jdGlvbih3b3JrZXIpIHsKICAgICByZXR1cm4gc3luY19tZXNz
YWdlKHdvcmtlciwgeyBzdGVwOiBzY29wZSB9KTsKICAgfTsKLSAgcnVuVGVzdCh0ZXN0LCBzY29w
ZSwgdGVzdEJvZHkpOworICByZXR1cm4gcnVuVGVzdCh0ZXN0LCBzY29wZSwgdGVzdEJvZHkpOwog
fQogCi1hc3luY190ZXN0KG1zZ19ldmVudF90ZXN0LmJpbmQodGhpcywgJ25vLWN1cnJlbnQtZXh0
ZW5zaW9uLWRpZmZlcmVudC10YXNrJyksCitwcm9taXNlX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmlu
ZCh0aGlzLCAnbm8tY3VycmVudC1leHRlbnNpb24tZGlmZmVyZW50LXRhc2snKSwKICAgJ1Rlc3Qg
Y2FsbGluZyB3YWl0VW50aWwgaW4gYSBkaWZmZXJlbnQgdGFzayB3aXRob3V0IGFuIGV4aXN0aW5n
IGV4dGVuc2lvbiB0aHJvd3MnKTsKIAotYXN5bmNfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5kKHRo
aXMsICduby1jdXJyZW50LWV4dGVuc2lvbi1kaWZmZXJlbnQtbWljcm90YXNrJyksCitwcm9taXNl
X3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnbm8tY3VycmVudC1leHRlbnNpb24tZGlm
ZmVyZW50LW1pY3JvdGFzaycpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBpbiBhIGRpZmZl
cmVudCBtaWNyb3Rhc2sgd2l0aG91dCBhbiBleGlzdGluZyBleHRlbnNpb24gdGhyb3dzJyk7CiAK
LWFzeW5jX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVudC1leHRlbnNpb24t
ZGlmZmVyZW50LXRhc2snKSwKK3Byb21pc2VfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5kKHRoaXMs
ICdjdXJyZW50LWV4dGVuc2lvbi1kaWZmZXJlbnQtdGFzaycpLAogICAnVGVzdCBjYWxsaW5nIHdh
aXRVbnRpbCBpbiBhIGRpZmZlcmVudCB0YXNrIHdpdGggYW4gZXhpc3RpbmcgZXh0ZW5zaW9uIHN1
Y2NlZWRzJyk7CiAKLWFzeW5jX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVu
dC1leHRlbnNpb24tZXhwaXJlZC1zYW1lLW1pY3JvdGFzay10dXJuJyksCitwcm9taXNlX3Rlc3Qo
bXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVudC1leHRlbnNpb24tZXhwaXJlZC1zYW1l
LW1pY3JvdGFzay10dXJuJyksCiAgICdUZXN0IGNhbGxpbmcgd2FpdFVudGlsIHdpdGggYW4gZXhp
c3RpbmcgZXh0ZW5zaW9uIHByb21pc2UgaGFuZGxlciBzdWNjZWVkcycpOwogCiAvLyBUaGUgcHJv
bWlzZSBoYW5kbGVyIHdpbGwgcXVldWUgYSBuZXcgbWljcm90YXNrIGFmdGVyIHRoZSBjaGVjayBm
b3IgbmV3CiAvLyBleHRlbnNpb25zIHdhcyBwZXJmb3JtZWQuCi1hc3luY190ZXN0KG1zZ19ldmVu
dF90ZXN0LmJpbmQodGhpcywgJ2N1cnJlbnQtZXh0ZW5zaW9uLWV4cGlyZWQtc2FtZS1taWNyb3Rh
c2stdHVybi1leHRyYScpLAorcHJvbWlzZV90ZXN0KG1zZ19ldmVudF90ZXN0LmJpbmQodGhpcywg
J2N1cnJlbnQtZXh0ZW5zaW9uLWV4cGlyZWQtc2FtZS1taWNyb3Rhc2stdHVybi1leHRyYScpLAog
ICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBhdCB0aGUgZW5kIG9mIHRoZSBtaWNyb3Rhc2sgdHVy
biB0aHJvd3MnKTsKIAotYXN5bmNfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5kKHRoaXMsICdjdXJy
ZW50LWV4dGVuc2lvbi1leHBpcmVkLWRpZmZlcmVudC10YXNrJyksCitwcm9taXNlX3Rlc3QobXNn
X2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVudC1leHRlbnNpb24tZXhwaXJlZC1kaWZmZXJl
bnQtdGFzaycpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBhZnRlciB0aGUgY3VycmVudCBl
eHRlbnNpb24gZXhwaXJlZCBpbiBhIGRpZmZlcmVudCB0YXNrIGZhaWxzJyk7CiAKLWFzeW5jX3Rl
c3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnc2NyaXB0LWV4dGVuZGFibGUtZXZlbnQnKSwK
K3Byb21pc2VfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5kKHRoaXMsICdzY3JpcHQtZXh0ZW5kYWJs
ZS1ldmVudCcpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBvbiBhIHNjcmlwdCBjb25zdHJ1
Y3RlZCBFeHRlbmRhYmxlRXZlbnQgdGhyb3dzIGV4Y2VwdGlvbicpOwogCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHRlc3RCb2R5
ID0gZnVuY3Rpb24od29ya2VyKSB7CiAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoJy4vcmVzb3Vy
Y2VzL3BlbmRpbmctcmVzcG9uZHdpdGgtYXN5bmMtd2FpdHVudGlsL2R1bW15Lmh0bWwnKTsKICAg
ICB9Ci0gICAgcnVuVGVzdCh0LCAncGVuZGluZy1yZXNwb25kd2l0aC1hc3luYy13YWl0dW50aWwn
LCB0ZXN0Qm9keSk7CisgICAgcmV0dXJuIHJ1blRlc3QodCwgJ3BlbmRpbmctcmVzcG9uZHdpdGgt
YXN5bmMtd2FpdHVudGlsJywgdGVzdEJvZHkpOwogICB9LCAnVGVzdCBjYWxsaW5nIHdhaXRVbnRp
bCBhc3luY2hyb25vdXNseSB3aXRoIHBlbmRpbmcgcmVzcG9uZFdpdGggcHJvbWlzZS4nKTsKIAot
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAg
IHZhciB0ZXN0Qm9keSA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAgcmV0dXJuIHdpdGhfaWZy
YW1lKCcuL3Jlc291cmNlcy9yZXNwb25kd2l0aC1taWNyb3Rhc2stc3luYy13YWl0dW50aWwvZHVt
bXkuaHRtbCcpOwogICAgIH0KLSAgICBydW5UZXN0KHQsICdyZXNwb25kd2l0aC1taWNyb3Rhc2st
c3luYy13YWl0dW50aWwnLCB0ZXN0Qm9keSk7CisgICAgcmV0dXJuIHJ1blRlc3QodCwgJ3Jlc3Bv
bmR3aXRoLW1pY3JvdGFzay1zeW5jLXdhaXR1bnRpbCcsIHRlc3RCb2R5KTsKICAgfSwgJ1Rlc3Qg
Y2FsbGluZyB3YWl0VW50aWwgc3luY2hyb25vdXNseSBpbnNpZGUgbWljcm90YXNrIG9mIHJlc3Bv
bmRXaXRoIHByb21pc2UuJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgdGVzdEJvZHkgPSBmdW5jdGlvbih3b3JrZXIpIHsK
ICAgICAgIHJldHVybiB3aXRoX2lmcmFtZSgnLi9yZXNvdXJjZXMvcmVzcG9uZHdpdGgtbWljcm90
YXNrLWFzeW5jLXdhaXR1bnRpbC9kdW1teS5odG1sJyk7CiAgICAgfQotICAgIHJ1blRlc3QodCwg
J3Jlc3BvbmR3aXRoLW1pY3JvdGFzay1hc3luYy13YWl0dW50aWwnLCB0ZXN0Qm9keSk7CisgICAg
cmV0dXJuIHJ1blRlc3QodCwgJ3Jlc3BvbmR3aXRoLW1pY3JvdGFzay1hc3luYy13YWl0dW50aWwn
LCB0ZXN0Qm9keSk7CiAgIH0sICdUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGFzeW5jaHJvbm91c2x5
IGluc2lkZSBtaWNyb3Rhc2sgb2YgcmVzcG9uZFdpdGggcHJvbWlzZS4nKTsKIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50LXdhaXR1bnRpbC5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC13YWl0dW50aWwuaHR0cHMu
aHRtbAppbmRleCA4ZTc5MGQwZWY1YWQ2ZDg1MTUzNDM2MmRlNTY0N2Q5NjY5OWE2NWY3Li4zM2I0
ZWFjNWMxODVlOTExMDIzMDk0ZjIxMGNlNGRiOWI2ZGRkYWRiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50LXdhaXR1bnRpbC5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtd2FpdHVudGlsLmh0dHBzLmh0bWwKQEAg
LTYsNzUgKzYsODUgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBydW5UZXN0KHRlc3QsIHNjb3BlLCBv
blJlZ2lzdGVyKSB7CiAgIHZhciBzY3JpcHQgPSAncmVzb3VyY2VzL2V4dGVuZGFibGUtZXZlbnQt
d2FpdHVudGlsLmpzPycgKyBzY29wZTsKLSAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
cmVnaXN0ZXIodGVzdCwgc2NyaXB0LCBzY29wZSkKKyAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHNjcmlwdCwgc2NvcGUpCiAgICAgLnRoZW4oZnVu
Y3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgIG9uUmVnaXN0ZXIocmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcpOworICAgICAgICB0ZXN0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodGVzdCwgc2NvcGUpOworICAg
ICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBvblJlZ2lzdGVyKHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nKTsKICAgICAgIH0pOwogfQogCiAvLyBTZW5kcyBhIFNZTiB0byB0aGUgd29ya2VyIGFu
ZCBhc3luY2hyb25vdXNseSBsaXN0ZW5zIGZvciBhbiBBQ0s7IHNldHMKIC8vIHxvYmouc3luY2Vk
fCB0byB0cnVlIG9uY2UgYWNrJ2QuCi1mdW5jdGlvbiBzeW5jV29ya2VyKHRlc3QsIHdvcmtlciwg
b2JqKSB7CitmdW5jdGlvbiBzeW5jV29ya2VyKHdvcmtlciwgb2JqKSB7CiAgIHZhciBjaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CiAgIHdvcmtlci5wb3N0TWVzc2FnZSh7cG9ydDogY2hh
bm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CiAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7Ci0gICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHRlc3Quc3Rl
cF9mdW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICB2YXIgbWVzc2FnZSA9IGUuZGF0YTsKLSAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UsICdTWU5DJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICdTaG91bGQgcmVjZWl2ZSBzeW5jIG1lc3NhZ2UgZnJvbSB3b3JrZXIuJyk7Ci0gICAg
ICAgICAgb2JqLnN5bmNlZCA9IHRydWU7Ci0gICAgICAgICAgY2hhbm5lbC5wb3J0MS5wb3N0TWVz
c2FnZSgnQUNLJyk7Ci0gICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsKKyAgICAgIGNo
YW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICB9KS50aGVuKGZ1bmN0aW9uKGUp
IHsKKyAgICAgIHZhciBtZXNzYWdlID0gZS5kYXRhOworICAgICAgYXNzZXJ0X2VxdWFscyhtZXNz
YWdlLCAnU1lOQycsCisgICAgICAgICAgICAgICAgICAgICdTaG91bGQgcmVjZWl2ZSBzeW5jIG1l
c3NhZ2UgZnJvbSB3b3JrZXIuJyk7CisgICAgICBvYmouc3luY2VkID0gdHJ1ZTsKKyAgICAgIGNo
YW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoJ0FDSycpOwogICAgIH0pOwogfQogCi1hc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgLy8gUGFzc2lu
ZyBzY29wZSBhcyB0aGUgdGVzdCBzd2l0Y2ggZm9yIHdvcmtlciBzY3JpcHQuCiAgICAgdmFyIHNj
b3BlID0gJ3Jlc291cmNlcy9pbnN0YWxsLWZ1bGZpbGxlZCc7CiAgICAgdmFyIG9uUmVnaXN0ZXIg
PSBmdW5jdGlvbih3b3JrZXIpIHsKICAgICAgICAgdmFyIG9iaiA9IHt9OwotICAgICAgICB3YWl0
X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdpbnN0YWxsZWQnKQotICAgICAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgeworCisgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICBzeW5j
V29ya2VyKHdvcmtlciwgb2JqKSwKKyAgICAgICAgICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtl
ciwgJ2luc3RhbGxlZCcpCisgICAgICAgICAgXSkudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgICAgYXNzZXJ0X3RydWUoCiAgICAgICAgICAgICAgICAgb2JqLnN5bmNlZCwKICAgICAgICAg
ICAgICAgICAnc3RhdGUgc2hvdWxkIGJlICJpbnN0YWxsZWQiIGFmdGVyIHRoZSB3YWl0VW50aWwg
cHJvbWlzZSAnICsKICAgICAgICAgICAgICAgICAgICAgJ2ZvciAib25pbnN0YWxsIiBpcyBmdWxm
aWxsZWQuJyk7CiAgICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2Rv
bmUodCwgc2NvcGUpOwotICAgICAgICAgICAgfSkKLSAgICAgICAgICAuY2F0Y2godW5yZWFjaGVk
X3JlamVjdGlvbih0KSk7Ci0gICAgICAgIHN5bmNXb3JrZXIodCwgd29ya2VyLCBvYmopOworICAg
ICAgICAgICAgfSk7CiAgICAgICB9OwotICAgIHJ1blRlc3QodCwgc2NvcGUsIG9uUmVnaXN0ZXIp
OworICAgIHJldHVybiBydW5UZXN0KHQsIHNjb3BlLCBvblJlZ2lzdGVyKTsKICAgfSwgJ1Rlc3Qg
aW5zdGFsbCBldmVudCB3YWl0VW50aWwgZnVsZmlsbGVkJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgc2NvcGUgPSAncmVz
b3VyY2VzL2luc3RhbGwtbXVsdGlwbGUtZnVsZmlsbGVkJzsKICAgICB2YXIgb25SZWdpc3RlciA9
IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAgICB2YXIgb2JqMSA9IHt9OwogICAgICAgICB2YXIg
b2JqMiA9IHt9OwotICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdpbnN0YWxsZWQn
KQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeworCisgICAgICAgIHJldHVybiBQcm9taXNl
LmFsbChbCisgICAgICAgICAgICBzeW5jV29ya2VyKHdvcmtlciwgb2JqMSksCisgICAgICAgICAg
ICBzeW5jV29ya2VyKHdvcmtlciwgb2JqMiksCisgICAgICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0
LCB3b3JrZXIsICdpbnN0YWxsZWQnKQorICAgICAgICAgIF0pLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgICAgIGFzc2VydF90cnVlKAogICAgICAgICAgICAgICAgIG9iajEuc3luY2VkICYm
IG9iajIuc3luY2VkLAogICAgICAgICAgICAgICAgICdzdGF0ZSBzaG91bGQgYmUgImluc3RhbGxl
ZCIgYWZ0ZXIgYWxsIHdhaXRVbnRpbCBwcm9taXNlcyAnICsKICAgICAgICAgICAgICAgICAgICAg
J2ZvciAib25pbnN0YWxsIiBhcmUgZnVsZmlsbGVkLicpOwotICAgICAgICAgICAgICBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgICAgIH0pCi0g
ICAgICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotICAgICAgICBzeW5jV29y
a2VyKHQsIHdvcmtlciwgb2JqMSk7Ci0gICAgICAgIHN5bmNXb3JrZXIodCwgd29ya2VyLCBvYmoy
KTsKKyAgICAgICAgICAgIH0pOwogICAgICAgfTsKLSAgICBydW5UZXN0KHQsIHNjb3BlLCBvblJl
Z2lzdGVyKTsKKyAgICByZXR1cm4gcnVuVGVzdCh0LCBzY29wZSwgb25SZWdpc3Rlcik7CiAgIH0s
ICdUZXN0IEV4dGVuZGFibGVFdmVudCBtdWx0aXBsZSB3YWl0VW50aWwgZnVsZmlsbGVkLicpOwog
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAg
ICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9pbnN0YWxsLXJlamVjdC1wcmVjZWRlbmNlJzsKICAg
ICB2YXIgb25SZWdpc3RlciA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAgICB2YXIgb2JqMSA9
IHt9OwogICAgICAgICB2YXIgb2JqMiA9IHt9OwotICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3
b3JrZXIsICdyZWR1bmRhbnQnKQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeworCisgICAg
ICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICBzeW5jV29ya2VyKHdvcmtlciwg
b2JqMSkKKyAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
ICBzeW5jV29ya2VyKHdvcmtlciwgb2JqMik7CisgICAgICAgICAgICAgICAgfSksCisgICAgICAg
ICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdyZWR1bmRhbnQnKQorICAgICAgICAgIF0p
LnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAogICAgICAgICAg
ICAgICAgIG9iajEuc3luY2VkLAogICAgICAgICAgICAgICAgICdUaGUgInJlZHVuZGFudCIgc3Rh
dGUgd2FzIGVudGVyZWQgYWZ0ZXIgdGhlIGZpcnN0ICJleHRlbmQgJyArCkBAIC04NSw2MSArOTUs
NDYgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgJ1RoZSAicmVk
dW5kYW50IiBzdGF0ZSB3YXMgZW50ZXJlZCBhZnRlciB0aGUgdGhpcmQgImV4dGVuZCAnICsKICAg
ICAgICAgICAgICAgICAgICdsaWZldGltZSBwcm9taXNlIiByZXNvbHZlZC4nCiAgICAgICAgICAg
ICAgICk7Ci0gICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUo
dCwgc2NvcGUpOwotICAgICAgICAgICAgfSkKLSAgICAgICAgICAuY2F0Y2godW5yZWFjaGVkX3Jl
amVjdGlvbih0KSk7Ci0KLSAgICAgICAgc3luY1dvcmtlcih0LCB3b3JrZXIsIG9iajEpCi0gICAg
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHN5bmNXb3JrZXIodCwgd29y
a2VyLCBvYmoyKTsKICAgICAgICAgICAgIH0pOwogICAgICAgfTsKLSAgICBydW5UZXN0KHQsIHNj
b3BlLCBvblJlZ2lzdGVyKTsKKyAgICByZXR1cm4gcnVuVGVzdCh0LCBzY29wZSwgb25SZWdpc3Rl
cik7CiAgIH0sICdUZXN0IEV4dGVuZGFibGVFdmVudCB3YWl0VW50aWwgcmVqZWN0IHByZWNlZGVu
Y2UuJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2FjdGl2YXRlLWZ1bGZpbGxlZCc7CiAg
ICAgdmFyIG9uUmVnaXN0ZXIgPSBmdW5jdGlvbih3b3JrZXIpIHsKICAgICAgICAgdmFyIG9iaiA9
IHt9OwotICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdhY3RpdmF0aW5nJykKKyAg
ICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRpbmcnKQogICAg
ICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBzeW5jV29ya2VyKHQsIHdv
cmtlciwgb2JqKTsKLSAgICAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtl
ciwgJ2FjdGl2YXRlZCcpOworICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWworICAg
ICAgICAgICAgICAgIHN5bmNXb3JrZXIod29ya2VyLCBvYmopLAorICAgICAgICAgICAgICAgIHdh
aXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRlZCcpCisgICAgICAgICAgICAgIF0pOwog
ICAgICAgICAgICAgfSkKICAgICAgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAg
ICAgYXNzZXJ0X3RydWUoCiAgICAgICAgICAgICAgICAgb2JqLnN5bmNlZCwKICAgICAgICAgICAg
ICAgICAnc3RhdGUgc2hvdWxkIGJlICJhY3RpdmF0ZWQiIGFmdGVyIHRoZSB3YWl0VW50aWwgcHJv
bWlzZSAnICsKICAgICAgICAgICAgICAgICAgICAgJ2ZvciAib25hY3RpdmF0ZSIgaXMgZnVsZmls
bGVkLicpOwotICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25l
KHQsIHNjb3BlKTsKLSAgICAgICAgICAgIH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVhY2hlZF9y
ZWplY3Rpb24odCkpOworICAgICAgICAgICAgfSk7CiAgICAgICB9OwotICAgIHJ1blRlc3QodCwg
c2NvcGUsIG9uUmVnaXN0ZXIpOworICAgIHJldHVybiBydW5UZXN0KHQsIHNjb3BlLCBvblJlZ2lz
dGVyKTsKICAgfSwgJ1Rlc3QgYWN0aXZhdGUgZXZlbnQgd2FpdFVudGlsIGZ1bGZpbGxlZCcpOwog
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAg
ICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9pbnN0YWxsLXJlamVjdGVkJzsKICAgICB2YXIgb25S
ZWdpc3RlciA9IGZ1bmN0aW9uKHdvcmtlcikgewotICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3
b3JrZXIsICdyZWR1bmRhbnQnKQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAg
ICAgICAgICAgIH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAncmVkdW5kYW50Jyk7CiAg
ICAgICB9OwotICAgIHJ1blRlc3QodCwgc2NvcGUsIG9uUmVnaXN0ZXIpOworICAgIHJldHVybiBy
dW5UZXN0KHQsIHNjb3BlLCBvblJlZ2lzdGVyKTsKICAgfSwgJ1Rlc3QgaW5zdGFsbCBldmVudCB3
YWl0VW50aWwgcmVqZWN0ZWQnKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvYWN0aXZhdGUt
cmVqZWN0ZWQnOwogICAgIHZhciBvblJlZ2lzdGVyID0gZnVuY3Rpb24od29ya2VyKSB7Ci0gICAg
ICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRlZCcpCi0gICAgICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICAgICAgfSkKLSAgICAgICAgICAuY2F0Y2godW5y
ZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCB3
b3JrZXIsICdhY3RpdmF0ZWQnKTsKICAgICAgIH07Ci0gICAgcnVuVGVzdCh0LCBzY29wZSwgb25S
ZWdpc3Rlcik7CisgICAgcmV0dXJuIHJ1blRlc3QodCwgc2NvcGUsIG9uUmVnaXN0ZXIpOwogICB9
LCAnVGVzdCBhY3RpdmF0ZSBldmVudCB3YWl0VW50aWwgcmVqZWN0ZWQuJyk7CiAKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtYXVkaW8tdGFpbnRpbmcuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtYXVkaW8tdGFpbnRpbmcu
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5OGY0MTM3MDM3NzIyNmEzY2RkZjIzODFj
ZGNhZTU5NWE1NDBkZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1hdWRpby10YWludGluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKwor
RkFJTCBWZXJpZnkgQ09SUyBYSFIgb2YgZmV0Y2goKSBpbiBhIFNlcnZpY2UgV29ya2VyIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgd2luLkF1
ZGlvQ29udGV4dCgpJykiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWF1
ZGlvLXRhaW50aW5nLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1hdWRpby10
YWludGluZy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4MjE3NTliYzdiMzExNjcyYTU0Mzg3ZWRj
N2Q4YzI2YTExZDVlNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1hdWRpby10YWludGluZy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBTQ09Q
RSA9ICdyZXNvdXJjZXMvZW1wdHkuaHRtbCc7CisgICAgY29uc3QgU0NSSVBUID0gJ3Jlc291cmNl
cy9mZXRjaC1yZXdyaXRlLXdvcmtlci5qcyc7CisgICAgY29uc3QgaG9zdF9pbmZvID0gZ2V0X2hv
c3RfaW5mbygpOworICAgIGNvbnN0IFJFTU9URV9PUklHSU4gPSBob3N0X2luZm8uSFRUUFNfUkVN
T1RFX09SSUdJTjsKKworICAgIGNvbnN0IHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpOworICAgIGF3YWl0IHdhaXRfZm9y
X3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgY29uc3QgZnJhbWUg
PSBhd2FpdCB3aXRoX2lmcmFtZShTQ09QRSk7CisKKyAgICBjb25zdCBkb2MgPSBmcmFtZS5jb250
ZW50RG9jdW1lbnQ7CisgICAgY29uc3Qgd2luID0gZnJhbWUuY29udGVudFdpbmRvdzsKKworICAg
IGNvbnN0IGNvbnRleHQgPSBuZXcgd2luLkF1ZGlvQ29udGV4dCgpOworICAgIHRyeSB7CisgICAg
ICBjb250ZXh0LnN1c3BlbmQoKTsKKyAgICAgIGNvbnN0IGF1ZGlvID0gZG9jLmNyZWF0ZUVsZW1l
bnQoJ2F1ZGlvJyk7CisgICAgICBhdWRpby5hdXRvcGxheSA9IHRydWU7CisgICAgICBjb25zdCBz
b3VyY2UgPSBjb250ZXh0LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShhdWRpbyk7CisgICAgICBj
b25zdCBzcG4gPSBjb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigxNjM4NCwgMSwgMSk7Cisg
ICAgICBzb3VyY2UuY29ubmVjdChzcG4pLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7Cisg
ICAgICBjb25zdCB1cmwgPSBgJHtSRU1PVEVfT1JJR0lOfS93ZWJhdWRpby9yZXNvdXJjZXMvc2lu
XzQ0MEh6Xy02ZEJGU18xcy53YXZgOworICAgICAgYXVkaW8uc3JjID0gJy90ZXN0P3VybD0nICsg
ZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisgICAgICBkb2MuYm9keS5hcHBlbmRDaGlsZChhdWRp
byk7CisKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIGF1
ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCByZXNvbHZlKTsKKyAgICAgIH0pOworICAg
ICAgYXdhaXQgY29udGV4dC5yZXN1bWUoKTsKKyAgICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3
IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgc3BuLmFkZEV2ZW50TGlzdGVuZXIoJ2F1
ZGlvcHJvY2VzcycsIHJlc29sdmUpOworICAgICAgfSk7CisgICAgICBjb25zdCBkYXRhID0gZXZl
bnQuaW5wdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7CisgICAgICBmb3IgKGNvbnN0IGUgb2Yg
ZGF0YSkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGUsIDApOworICAgICAgfQorICAgIH0gZmlu
YWxseSB7CisgICAgICBjb250ZXh0LmNsb3NlKCk7CisgICAgfQorICB9LCAnVmVyaWZ5IENPUlMg
WEhSIG9mIGZldGNoKCkgaW4gYSBTZXJ2aWNlIFdvcmtlcicpOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWNh
Y2hlLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDNj
MGI0M2Y2Y2Y3MjA3YWYxOGM1ZGEzZDY1MmUzYWVkYjkyMGFiNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52
YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NDEgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBjYW52YXMgdGFpbnRpbmcgb2YgZmV0Y2hlZCBpbWFn
ZSBpbiBhIFNlcnZpY2UgV29ya2VyIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmcmVqZWN0JmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCZjYWNoZSAtIGFub255bW91cyAKLVBBU1Mg
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCZjYWNoZSAtIHVz
ZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lN
QUdFJmlnbm9yZSZjYWNoZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29u
dHJvbC5weT9QTkdJTUFHRSZpZ25vcmUmY2FjaGUgLSBkZWZhdWx0IAotUEFTUyBodHRwczovLzEy
Ny4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlJmNhY2hlIC0gYW5vbnltb3VzIAot
UEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlJmNhY2hlIC0gYW5vbnltb3VzIAotUEFTUyBodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlJmNhY2hlIC0gdXNlLWNy
ZWRlbnRpYWxzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0Um
QUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlJmNhY2hlIC0gdXNlLWNyZWRl
bnRpYWxzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNB
T3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmQUNBQ3JlZGVudGlhbHM9dHJ1ZSZpZ25vcmUm
Y2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSZjYWNoZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSZjYWNoZSAtIGRlZmF1
bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmln
bm9yZSZjYWNoZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1BOR0lNQUdFJkF1dGgmaWdub3JlJmNhY2hlIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFTUyBo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZBQ0FPcmlnaW49aHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNT
IGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJkFDQU9yaWdpbj1o
dHRwczovL2xvY2FsaG9zdDo5NDQzJkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlJmNhY2hlIC0g
dXNlLWNyZWRlbnRpYWxzIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5H
SU1BR0UmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1h
Y2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Ut
d29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSZj
YWNoZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BO
R0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSZjYWNoZSAtIHVzZS1jcmVkZW50aWFscyAKLVBB
U1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmln
aW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSZjYWNoZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9QTkdJTUFHRSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRmxvY2FsaG9z
dCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUy
RmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UmY2FjaGUgLSBhbm9ueW1vdXMgCi1Q
QVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPXNhbWUtb3Jp
Z2luJnVybD1odHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
UE5HSU1BR0UmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSZjYWNoZSAtIGRlZmF1bHQg
Ci1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSZjYWNoZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJmNhY2hlIC0gdXNlLWNyZWRlbnRpYWxz
IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1uby1j
b3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
UE5HSU1BR0UmY2FjaGUgLSBkZWZhdWx0IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUz
QTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZl
dGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UmY2FjaGUgLSBhbm9ueW1vdXMgCi1QQVNT
IGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJs
PWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFH
RSZjYWNoZSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYl
MkZsb2NhbGhvc3QlM0E5NDQzJmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdp
biZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBO
R0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJmNhY2hl
IC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdF
Jm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13
b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJv
bC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5
NDQzJmNhY2hlIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMl
MkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxv
Y2FsaG9zdCUzQTk0NDMmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJG
MTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQUNyZWRlbnRp
YWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyZj
YWNoZSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1h
Y2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZs
b2NhbGhvc3QlM0E5NDQzJmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1
cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vy
dmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lN
QUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJmNhY2hlIC0g
ZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1v
ZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQz
JmNhY2hlIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZz
ZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vz
cy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2Fs
aG9zdCUzQTk0NDMmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQUNyZWRlbnRpYWxz
JTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyZjYWNo
ZSAtIHVzZS1jcmVkZW50aWFscyAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtY2FudmFzLXRhaW50aW5nLWNhY2hlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTkxZjk3ZTE4NzMxYzUwYmVkODEwM2ZhZmM3YjI4NTg1NDk1Yzc1ZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPlNlcnZpY2UgV29ya2Vy
OiBjYW52YXMgdGFpbnRpbmcgb2YgdGhlIGZldGNoZWQgaW1hZ2UgdXNpbmcgY2FjaGVkIHJlc3Bv
bnNlczwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIi
Pjwvc2NyaXB0PgotPGJvZHk+Ci08c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0g
ICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctaWZyYW1lLmh0
bWw/Y2FjaGUnOwotICAgIHZhciBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29y
a2VyLmpzJzsKLSAgICB2YXIgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOwotCi0gICAgbG9n
aW5faHR0cHModCkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIHJldHVybiBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKTsK
LSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAg
ICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2Fj
dGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3
aXRoX2lmcmFtZShTQ09QRSk7IH0pCi0gICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgewotICAg
ICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAg
ICAgICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAg
ICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7
Ci0gICAgICAgICAgICAgICAgICBmb3IgKHZhciByZXN1bHQgb2YgZS5kYXRhLnJlc3VsdHMpIHsK
LSAgICAgICAgICAgICAgICAgICAgICB0ZXN0KCgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LnJlc3VsdCwgIlBBU1MiKTsKLSAgICAgICAgICAgICAg
ICAgICAgICB9LCByZXN1bHQubmFtZSk7Ci0gICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHt9LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJ
R0lOJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2No
YW5uZWwucG9ydDJdKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KQotICAgICAgLmNhdGNo
KHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotICB9LCAnVmVyaWZ5IGNhbnZhcyB0YWludGluZyBv
ZiBmZXRjaGVkIGltYWdlIGluIGEgU2VydmljZSBXb3JrZXInKTsKLTwvc2NyaXB0PgotPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRv
dWJsZS13cml0ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1j
YW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45MTRlMWRmNTc4ZTczNWU0NjhmMzNhZWM2NjQ3MDU5NGY4NDA3MTE0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJsZS13cml0
ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgY2FudmFzIGlzIHRh
aW50ZWQgYWZ0ZXIgd3JpdGluZyBib3RoIGEgbm9uLW9wYXF1ZSBpbWFnZSBhbmQgYW4gb3BhcXVl
IGltYWdlIGZyb20gdGhlIHNhbWUgVVJMIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGUyMzMwNTM3MjljNDJjMWY4YWM0OWQ5NTU0ZjMwMzVjOGYwNDcyOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1k
b3VibGUtd3JpdGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+Y2FudmFzIHRhaW50aW5nIHdoZW4gd3JpdHRlbiB0d2ljZTwv
dGl0bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9hZEltYWdlKGRvYywgdXJsKSB7CisgIHJldHVy
biBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgY29uc3QgaW1hZ2UgPSBk
b2MuY3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgaW1hZ2Uub25sb2FkID0gKCkgPT4geyByZXNv
bHZlKGltYWdlKTsgfQorICAgIGltYWdlLm9uZXJyb3IgPSAoKSA9PiB7IHJlamVjdCgnZmFpbGVk
IHRvIGxvYWQ6ICcgKyB1cmwpOyB9OworICAgIGltYWdlLnNyYyA9IHVybDsKKyAgfSk7Cit9CisK
Ky8vIFRlc3RzIHRoYXQgYSBjYW52YXMgaXMgdGFpbnRlZCBhZnRlciBpdCdzIHdyaXR0ZW4gdG8g
d2l0aCBib3RoIGEgY2xlYXIgaW1hZ2UKKy8vIGFuZCBvcGFxdWUgaW1hZ2UgZnJvbSB0aGUgc2Ft
ZSBVUkwuIEEgYmFkIGltcGxlbWVudGF0aW9uIG1pZ2h0IGNhY2hlIHRoZQorLy8gaW5mbyBvZiB0
aGUgY2xlYXIgaW1hZ2UgYW5kIGFzc3VtZSB0aGUgb3BhcXVlIGltYWdlIGlzIGFsc28gY2xlYXIg
YmVjYXVzZQorLy8gaXQncyBmcm9tIHRoZSBzYW1lIFVSTC4gU2VlIGh0dHBzOi8vY3JidWcuY29t
LzkwNzA0NyBmb3IgZGV0YWlscy4KK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAvLyBT
ZXQgdXAgYSBzZXJ2aWNlIHdvcmtlciBhbmQgYSBjb250cm9sbGVkIGlmcmFtZS4KKyAgY29uc3Qg
c2NyaXB0ID0gJ3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLXdv
cmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRp
bmctZG91YmxlLXdyaXRlLWlmcmFtZS5odG1sJzsKKyAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdh
aXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCisgICAgICB0LCBzY3Jp
cHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpKTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcs
ICdhY3RpdmF0ZWQnKTsKKyAgY29uc3QgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoc2NvcGUp
OworICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1vdmUoKSk7CisKKyAgLy8gTG9hZCB0
aGUgc2FtZSBjcm9zcy1vcmlnaW4gaW1hZ2UgVVJMIHRocm91Z2ggdGhlIGNvbnRyb2xsZWQgaWZy
YW1lIGFuZAorICAvLyB0aGlzIHVuY29udHJvbGxlZCBmcmFtZS4gVGhlIHNlcnZpY2Ugd29ya2Vy
IHJlc3BvbmRzIHdpdGggYSBzYW1lLW9yaWdpbgorICAvLyBpbWFnZSBmb3IgdGhlIGNvbnRyb2xs
ZWQgaWZyYW1lLCBzbyBpdCBpcyBjbGVhcnRleHQuCisgIGNvbnN0IGltYWdlUGF0aCA9IGJhc2Vf
cGF0aCgpICsgJ3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSc7Cisg
IGNvbnN0IGltYWdlVXJsID0gZ2V0X2hvc3RfaW5mbygpWydIVFRQU19SRU1PVEVfT1JJR0lOJ10g
KyBpbWFnZVBhdGg7CisgIGNvbnN0IGNsZWFySW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2UoaWZyYW1l
LmNvbnRlbnREb2N1bWVudCwgaW1hZ2VVcmwpOworICBjb25zdCBvcGFxdWVJbWFnZSA9IGF3YWl0
IGxvYWRJbWFnZShkb2N1bWVudCwgaW1hZ2VVcmwpOworCisgIC8vIFNldCB1cCBhIGNhbnZhcyBm
b3IgdGVzdGluZyB0YWludGluZy4KKyAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnY2FudmFzJyk7CisgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQn
KTsKKyAgY2FudmFzLndpZHRoID0gY2xlYXJJbWFnZS53aWR0aDsKKyAgY2FudmFzLmhlaWdodCA9
IGNsZWFySW1hZ2UuaGVpZ2h0OworCisgIC8vIFRoZSBjbGVhciBpbWFnZSBhbmQgdGhlIG9wYXF1
ZSBpbWFnZSBoYXZlIHRoZSBzYW1lIHNyYyBVUkwuIEJ1dC4uLgorCisgIC8vIC4uLiB0aGUgY2xl
YXIgaW1hZ2UgZG9lc24ndCB0YWludCB0aGUgY2FudmFzLgorICBjb250ZXh0LmRyYXdJbWFnZShj
bGVhckltYWdlLCAwLCAwKTsKKyAgYXNzZXJ0X3RydWUoY2FudmFzLnRvRGF0YVVSTCgpLmxlbmd0
aCA+IDApOworCisgIC8vIC4uLiB0aGUgb3BhcXVlIGltYWdlIHRhaW50cyB0aGUgY2FudmFzLgor
ICBjb250ZXh0LmRyYXdJbWFnZShvcGFxdWVJbWFnZSwgMCwgMCk7CisgIGFzc2VydF90aHJvd3Mo
J1NlY3VyaXR5RXJyb3InLCAoKSA9PiB7IGNhbnZhcy50b0RhdGFVUkwoKTsgfSk7Cit9LCAnY2Fu
dmFzIGlzIHRhaW50ZWQgYWZ0ZXIgd3JpdGluZyBib3RoIGEgbm9uLW9wYXF1ZSBpbWFnZSBhbmQg
YW4gb3BhcXVlIGltYWdlIGZyb20gdGhlIHNhbWUgVVJMJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1pbWFnZS1jYWNoZS5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRp
bmctaW1hZ2UtY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNWVjNzkxNTg1
NmY1MDk3YjIyOWU3ZWVlZjQ4NDliZTljNjI4ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNzIgQEAKK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNw
b25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENh
bm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10
cnVlJnJlamVjdC4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNl
aXZlZCBhbiBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJnJlamVjdC4K
K0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJv
cjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJnJlamVjdC4KK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1
c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLgorQ09O
U09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dl
ZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5v
dCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNo
ZT10cnVlJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNT
QUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGlt
YWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmln
bm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBDcmVk
ZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFs
cyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBpbWFnZSBodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBQ0FPcmlnaW49
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNr
cy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZy
b20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9y
aWdpbiBkYXRhLgorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJkF1dGgmaWdub3JlIGZyb20gYXNraW5nIGZv
ciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGEgY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuCitDT05T
T0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2Vk
IGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90
IGxvYWQgaW1hZ2UgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hl
PXRydWUmQXV0aCZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUg
TUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9h
ZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1
ZSZBdXRoJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNT
QUdFOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1D
cmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBp
bWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZB
dXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJmlnbm9yZSBkdWUgdG8gYWNjZXNz
IGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBVbmFibGUgdG8gZ2V0
IGltYWdlIGRhdGEgZnJvbSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVuIHRhaW50
ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRhdGEuCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZl
ZCBieSBzZXJ2aWNlIHdvcmtlciBpcyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxv
YWQgaW1hZ2UgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRy
dWUmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2
aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1j
b250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNoZSUzRHRydWUgZHVlIHRvIGFjY2VzcyBjb250cm9s
IGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogUmVzcG9uc2Ugc2VydmVkIGJ5IHNlcnZpY2Ugd29y
a2VyIGlzIG9wYXF1ZQorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBpbWFnZSBodHRwczov
L2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMm
dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJ
TUFHRSUyNmNhY2hlJTNEdHJ1ZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDI2OiBVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52YXMg
YmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRhdGEu
CisgCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIGlu
aXRpYWxpemUgZ2xvYmFsIHN0YXRlIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29u
dHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJnJlamVjdCIgd2l0aCBjcm9zc09yaWdpbiAiIiBz
aG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZyZWplY3QiIHdpdGggY3Jvc3NPcmlnaW4gImFub255
bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmcmVqZWN0IiB3aXRoIGNyb3NzT3JpZ2lu
ICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmlnbm9yZSIgd2l0
aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6
Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmaWdub3JlIiB3aXRo
IGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3
LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9z
c09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBQ0FPcmlnaW49
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91
cyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAi
dXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczov
LzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBQ0FPcmlnaW49aHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50
aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmQUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMmQUNBQ3JlZGVudGlhbHM9dHJ1ZSZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gInVz
ZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJkF1dGgmaWdub3JlIiB3
aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRoJmlnbm9y
ZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1BBU1MgdXJsICJodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRoJmlnbm9y
ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BB
U1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1
ZSZBdXRoJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQg
YmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQz
Jmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9B
RF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmY2FjaGU9dHJ1ZSZBdXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJkFDQUNy
ZWRlbnRpYWxzPXRydWUmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMi
IHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRwcyUz
QSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtl
ciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNo
ZSUzRHRydWUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFT
UyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVl
Jm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAi
YW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1zYW1lLW9yaWdpbiZ1
cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vy
dmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lN
QUdFJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNo
b3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRwcyUzQSUy
RiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUy
RnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNoZSUz
RHRydWUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1
cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJm1v
ZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5v
bnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4w
LjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9
aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vydmlj
ZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdF
JTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3Vs
ZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIg
d2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczov
L2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMm
dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJ
TUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQg
YmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAu
MC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0
aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BB
U1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1
ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBz
aG91bGQgYmUgVEFJTlRFRCAKK1RJTUVPVVQgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJG
MTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1
ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiBUZXN0
IHRpbWVkIG91dAorTk9UUlVOIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BO
R0lNQUdFJmNhY2hlPXRydWUmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAu
MSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUy
RmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNoZSUzRHRydWUiIHdpdGgg
Y3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitOT1RS
VU4gdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1
ZSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Ut
d29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJG
JTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTE9BRF9F
UlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZjYWNoZT10cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMl
M0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3Jr
ZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2Y2Fj
aGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3
aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK05PVFJVTiB1cmwgImh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJm1vZGU9Y29y
cyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBO
R0lNQUdFJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhv
c3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBiZSBOT1RfVEFJ
TlRFRCAKK05PVFJVTiB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1h
Y2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNE
aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3Jl
ZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorTk9UUlVOIHVybCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRw
cyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZj
YWNoZSUzRHRydWUlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUz
QSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFs
cyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorTk9UUlVOIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUy
RiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUy
RnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNoZSUz
RHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGgg
Y3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIExPQURfRVJST1IgCitOT1RSVU4gdXJsICJodHRwczov
LzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmY3Jl
ZGVudGlhbHM9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUy
RnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQg
YmUgTk9UX1RBSU5URUQgCitOT1RSVU4gdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAu
MC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSUyNkFD
QU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdp
biAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitOT1RSVU4gdXJsICJodHRwczov
LzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJs
PWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFH
RSUyNmNhY2hlJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNB
OTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9F
UlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1h
Y2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2Y2FjaGUlM0R0cnVlJTI2QUNBQ3JlZGVudGlh
bHMlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3
aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAK
K05PVFJVTiByZXN0b3JlIGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWltYWdlLWNhY2hlLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMTMyMzgxMTIyNTc5MjM2NTdmZTg0YTYzN2RkZDQ1Y2MwYzAzOGM1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5n
LWltYWdlLWNhY2hlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IGNhbnZhcyB0
YWludGluZyBvZiB0aGUgZmV0Y2hlZCBpbWFnZSB1c2luZyBjYWNoZWQgcmVzcG9uc2VzPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citkb19jYW52YXNfdGFpbnRpbmdfdGVzdHMoewor
ICByZXNvdXJjZV9wYXRoOiBiYXNlX3BhdGgoKSArICdyZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/UE5HSU1BR0UnLAorICBjYWNoZTogdHJ1ZQorfSk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1p
bWFnZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMt
dGFpbnRpbmctaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlM2UwZjkwMDAw
YmI5ZThmZTE4N2IwODViODQzODU5NzEzOThiZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsODEgQEAKK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0
aCByZWNlaXZlZCBhbiBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBs
b2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZyZWplY3QuCitDT05T
T0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IHVu
ZGVmaW5lZAorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0LgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50
LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FH
RTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJl
amVjdC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRh
IGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3Nz
LW9yaWdpbiBkYXRhLgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05T
T0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9QTkdJTUFHRSZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNP
TEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQg
YnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3Qg
bG9hZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3Jl
IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IENyZWRlbnRp
YWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIGlz
IG5vdCAidHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0MyZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1
c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLgorQ09O
U09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJ
TUFHRSZBdXRoJmlnbm9yZSBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBpdCBp
cyBhIGNyb3NzLW9yaWdpbiByZXF1ZXN0LgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1P
cmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRy
b2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xF
IE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9QTkdJTUFHRSZBdXRoJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09O
U09MRSBNRVNTQUdFOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJv
bC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5u
b3QgbG9hZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0
aCZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUgZHVlIHRvIGFjY2VzcyBj
b250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBp
bWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVk
IGJ5IGNyb3NzLW9yaWdpbiBkYXRhLgorQ09OU09MRSBNRVNTQUdFOiBSZXNwb25zZSBzZXJ2ZWQg
Ynkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVlCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2Fk
IGltYWdlIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBS
ZXNwb25zZSBzZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVlCitDT05TT0xFIE1FU1NB
R0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJ
TUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZQTkdJTUFHRSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDI2OiBVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52
YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRh
dGEuCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZlZCBieSBzZXJ2aWNlIHdvcmtlciBp
cyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaW1hZ2UgaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFIGR1ZSB0byBhY2Nl
c3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZlZCBieSBz
ZXJ2aWNlIHdvcmtlciBpcyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaW1h
Z2UgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1
cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vy
dmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lN
QUdFIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IEZldGNo
RXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3JlZGVudGlh
bHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMg
bm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0
cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50
LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiBUeXBlRXJyb3I6IENyZWRlbnRpYWxzIGZs
YWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIGlzIG5vdCAi
dHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4x
JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJG
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNB
JTJGJTJGbG9jYWxob3N0JTNBOTQ0My4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNw
b25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBDcmVkZW50aWFscyBmbGFnIGlz
IHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUi
LgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0
NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNo
LWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUy
RmxvY2FsaG9zdCUzQTk0NDMuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdp
dGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVl
LCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NP
TlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJG
c2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nl
c3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2Nh
bGhvc3QlM0E5NDQzLgorCitQQVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0YXRlIAorUEFTUyB1cmwg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZyZWplY3QiIHdpdGggY3Jv
c3NPcmlnaW4gIiIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCIgd2l0aCBjcm9zc09yaWdpbiAiYW5v
bnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9z
dDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0IiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3Jl
ZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hv
dWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9QTkdJTUFHRSZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIFRBSU5U
RUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmln
bm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAK
K1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3Jp
Z2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9u
eW1vdXMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAu
MTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3Jl
ZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
MyZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExP
QURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lN
QUdFJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJkFDQUNyZWRlbnRpYWxzPXRydWUm
aWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBOT1Rf
VEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmQXV0aCZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVE
IAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRo
Jmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1BBU1MgdXJs
ICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZpZ25vcmUiIHdp
dGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVy
bCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJkF1dGgmaWdub3JlIiB3
aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAor
UEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJkFD
QU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAi
dXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczov
LzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZBQ0FPcmlnaW49aHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0MyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdp
biAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJs
PWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFH
RSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4m
dXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJ
TUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQg
CitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9
c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Ut
d29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91
bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0
JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJG
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiIiBz
aG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAi
YW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNB
JTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2Vy
JTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBj
cm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNT
IHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29y
cyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBO
R0lNQUdFIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVEIAorUEFTUyB1cmwg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJs
PWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFH
RSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BB
U1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1uby1j
b3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
UE5HSU1BR0UiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExP
QURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lN
QUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vy
dmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weSUzRlBOR0lNQUdFIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlO
VEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZt
b2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Ut
d29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUg
TE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5H
SU1BR0UmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZz
ZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vz
cy1jb250cm9sLnB5JTNGUE5HSU1BR0UiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFs
cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0El
MkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBMT0FE
X0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZtb2RlPWNvcnMmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQU9yaWdpbiUzRGh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQg
YmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJG
c2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nl
c3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2Nh
bGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBiZSBOT1Rf
VEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNl
LXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250
cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUz
QTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURf
RVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdF
Jm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13
b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJv
bC5weSUzRlBOR0lNQUdFJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0
cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVu
dGlhbHMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAu
MTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4w
LjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNl
cyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRw
cyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJl
IExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BO
R0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2lu
JTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNo
b3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0
NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNo
LWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUy
RmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJl
IE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9Q
TkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUg
TE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5H
SU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2
aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1j
b250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUlMjZBQ0FPcmlnaW4l
M0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1j
cmVkZW50aWFscyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyByZXN0b3JlIGdsb2JhbCBz
dGF0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50
aW5nLWltYWdlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFp
bnRpbmctaW1hZ2UuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2RjN2Q5OGNhYTJmNDg2Y2JlMmRl
ZTA1YzhmNDMwYWQ1NjBmOWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtY2FudmFzLXRhaW50aW5nLWltYWdlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBX
b3JrZXI6IGNhbnZhcyB0YWludGluZyBvZiB0aGUgZmV0Y2hlZCBpbWFnZTwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctdGVzdHMuanMiPjwvc2NyaXB0
PgorPGJvZHk+Cis8c2NyaXB0PgorZG9fY2FudmFzX3RhaW50aW5nX3Rlc3RzKHsKKyAgcmVzb3Vy
Y2VfcGF0aDogYmFzZV9wYXRoKCkgKyAncmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1BOR0lNQUdFJywKKyAgY2FjaGU6IGZhbHNlCit9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLWNh
Y2hlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10
YWludGluZy12aWRlby1jYWNoZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFiZGU2
ZjBlZjk3ZGMyZmM4NDcwZDYwMjhiZTZjYWMyZDEyZTVhOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby1jYWNoZS5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw2MCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50
LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FH
RTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hl
PXRydWUmcmVqZWN0LgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJl
Y2VpdmVkIGFuIGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQg
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmcmVqZWN0Lgor
Q09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9y
OiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmcmVqZWN0LgorQ09OU09MRSBNRVNTQUdF
OiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xv
Y2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
bi4KK0NPTlNPTEUgTUVTU0FHRTogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNz
LUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FH
RTogQmxvY2tlZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1
ZSZBdXRoJmlnbm9yZSBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBpdCBpcyBh
IGNyb3NzLW9yaWdpbiByZXF1ZXN0LgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4uCitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5v
dCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FH
RTogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FHRTogUmVzcG9uc2Ugc2VydmVk
IGJ5IHNlcnZpY2Ugd29ya2VyIGlzIG9wYXF1ZQorQ09OU09MRSBNRVNTQUdFOiBSZXNwb25zZSBz
ZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVlCisgCisKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0YXRlIAor
UEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVl
JnJlamVjdCIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1Mg
dXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZyZWpl
Y3QiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQ
QVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUm
cmVqZWN0IiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FE
X0VSUk9SIAorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZj
YWNoZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5U
RUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VS
Uk9SIgorRkFJTCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNo
ZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiVEFJTlRFRCIgYnV0IGdvdCAiTE9BRF9FUlJPUiIKK1BBU1Mg
dXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZpZ25v
cmUiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitG
QUlMIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUm
QUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2lu
ICJhbm9ueW1vdXMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiTk9UX1RBSU5URUQiIGJ1dCBnb3QgIkxPQURfRVJST1IiCitQQVNTIHVybCAiaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmaWdub3JlIiB3aXRoIGNyb3Nz
T3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwg
Imh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJkFDQU9yaWdp
bj1odHRwczovL2xvY2FsaG9zdDo5NDQzJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNy
ZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK0ZBSUwgdXJsICJodHRwczovLzEyNy4w
LjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZBQ0FPcmlnaW49aHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0MyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAi
dXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJkF1dGgmaWdub3JlIiB3
aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiTk9UX1RBSU5URUQiIGJ1dCBnb3QgIkxPQURfRVJST1IiCitGQUlMIHVybCAiaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0aCZpZ25vcmUi
IHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIFRBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIlRBSU5URUQiIGJ1dCBnb3QgIkxPQURfRVJST1IiCitQQVNTIHVybCAiaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0aCZpZ25vcmUiIHdpdGgg
Y3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAi
aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0aCZpZ25v
cmUiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJS
T1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hl
PXRydWUmQXV0aCZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUiIHdpdGgg
Y3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitGQUlM
IHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0
aCZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZBQ0FDcmVkZW50aWFscz10cnVlJmln
bm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RB
SU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FE
X0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZj
YWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNB
OTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09y
aWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5P
VF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Ut
d29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNh
Y2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RB
SU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FE
X0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZj
YWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNB
OTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09y
aWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwg
Imh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9c2Ft
ZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUg
Tk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290
ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9W
SURFTyZjYWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBj
cm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwg
Imh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9c2Ft
ZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRp
YWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9U
QUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0El
MkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIl
MkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0
cnVlIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVEIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJUQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorUEFTUyB1cmwgImh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9bm8tY29ycyZ1
cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vy
dmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVP
JTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBiZSBM
T0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURF
TyZjYWNoZT10cnVlJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3Jp
Z2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorRkFJTCB1cmwgImh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9bm8tY29y
cyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJ
REVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVE
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgor
VElNRU9VVCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10
cnVlJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vy
dmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9u
eW1vdXMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gdXJsICJo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZtb2RlPW5vLWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZW
SURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBz
aG91bGQgYmUgTE9BRF9FUlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29u
dHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNB
T3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2lu
ICIiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorTk9UUlVOIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPXNhbWUt
b3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtl
cnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5
JTNGVklERU8lMjZjYWNoZSUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2Fs
aG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAor
Tk9UUlVOIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRy
dWUmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNl
LXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250
cm9sLnB5JTNGVklERU8lMjZjYWNoZSUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUy
RmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJl
IE5PVF9UQUlOVEVEIAorTk9UUlVOIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1ZJREVPJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUz
QTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZl
dGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGVklERU8lMjZjYWNoZSUzRHRydWUlMjZBQ0FPcmlnaW4l
M0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1j
cmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitOT1RSVU4gdXJsICJodHRwczovL2xv
Y2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJsPWh0dHBz
JTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29y
a2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hl
JTNEdHJ1ZSUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJG
JTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBz
aG91bGQgYmUgTk9UX1RBSU5URUQgCitOT1RSVU4gdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSUyNkFD
QU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdp
biAiIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4x
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1l
LW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2Nh
bGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAK
K05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10
cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYl
MkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBi
ZSBOT1RfVEFJTlRFRCAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9WSURFTyZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2lu
JTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2Ut
Y3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorTk9UUlVOIHVybCAiaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRw
cyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGVklERU8lMjZjYWNo
ZSUzRHRydWUlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUy
RiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIg
c2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorTk9UUlVOIHJlc3RvcmUgZ2xvYmFsIHN0YXRlIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8t
Y2FjaGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGlu
Zy12aWRlby1jYWNoZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmM2QxMmJiZTQ5ODJjNjQ5OTJi
M2NkMGY0ZWQwOTJlYWE3MjUwN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8tY2FjaGUuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5T
ZXJ2aWNlIFdvcmtlcjogY2FudmFzIHRhaW50aW5nIG9mIHRoZSBmZXRjaGVkIHZpZGVvIHVzaW5n
IGNhY2hlIHJlc3BvbnNlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIu
anM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9mZXRjaC1jYW52
YXMtdGFpbnRpbmctdGVzdHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorZG9fY2Fu
dmFzX3RhaW50aW5nX3Rlc3RzKHsKKyAgcmVzb3VyY2VfcGF0aDogYmFzZV9wYXRoKCkgKyAncmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJywKKyAgY2FjaGU6IHRydWUKK30p
OworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0Lmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby13aXRo
LXJhbmdlLXJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMmRjZjllYWQ3
YzY1NzMyMjQxYThmZjZjYWY3YjU5NWEyOTY0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKyNQSUQgVU5SRVNQT05TSVZFIC0g
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LkRldmVsb3BtZW50IChwaWQgNTY2MDApCitGQUlM
OiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBiZSBjYWxsZWQKKworI0VPRgor
I0VPRgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5n
LXZpZGVvLXdpdGgtcmFuZ2UtcmVxdWVzdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLXdpdGgtcmFuZ2UtcmVxdWVzdC5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYxZmY3YWU1OWE3ZGViNDExN2VlNGM0M2JkYWZiNWQzZWM3M2ZlZDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmct
dmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw5MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q2FudmFzIHRhaW50
aW5nIGR1ZSB0byB2aWRlbyB3aG9zZSByZXNwb25zZXMgYXJlIGZldGNoZWQgdmlhIGEgc2Vydmlj
ZSB3b3JrZXIgaW5jbHVkaW5nIHJhbmdlIHJlcXVlc3RzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisvLyBUaGVzZSB0ZXN0cyB0cnkgdG8gdGVzdCBjYW52YXMgdGFpbnRpbmcgZHVlIHRvIGEgPHZp
ZGVvPiBlbGVtZW50LiBUaGUgdmlkZW8KKy8vIHNyYyBVUkwgaXMgc2FtZS1vcmlnaW4gYXMgdGhl
IHBhZ2UsIGJ1dCB0aGUgcmVzcG9uc2UgaXMgZmV0Y2hlZCB2aWEgYSBzZXJ2aWNlCisvLyB3b3Jr
ZXIgdGhhdCBkb2VzIHRyaWNreSB0aGluZ3MgbGlrZSByZXR1cm5pbmcgb3BhcXVlIHJlc3BvbnNl
cyBmcm9tIGFub3RoZXIKKy8vIG9yaWdpbi4gRnVydGhlcm1vcmUsIHRoaXMgdGVzdHMgcmFuZ2Ug
cmVxdWVzdHMgc28gdGhlcmUgYXJlIG11bHRpcGxlCisvLyByZXNwb25zZXMuCisvLworLy8gV2Ug
dGVzdCByYW5nZSByZXF1ZXN0cyBieSBoYXZpbmcgdGhlIHNlcnZlciByZXR1cm4gMjA2IFBhcnRp
YWwgQ29udGVudCB0byB0aGUKKy8vIGZpcnN0IHJlcXVlc3QgKHdoaWNoIGRvZXNuJ3QgbmVjZXNz
YXJpbHkgaGF2ZSBhICJSYW5nZSIgaGVhZGVyIG9yIG9uZSB3aXRoIGEKKy8vIGJ5dGUgcmFuZ2Up
LiBUaGVuIHRoZSA8dmlkZW8+IGVsZW1lbnQgYXV0b21hdGljYWxseSBtYWtlcyByYW5nZWQgcmVx
dWVzdHMKKy8vICh0aGUgIlJhbmdlIiBIVFRQIHJlcXVlc3QgaGVhZGVyIHNwZWNpZmllcyBhIGJ5
dGUgcmFuZ2UpLiBUaGUgc2VydmVyIHJlc3BvbmRzCisvLyB0byB0aGVzZSB3aXRoIDIwNiBQYXJ0
aWFsIENvbnRlbnQgZm9yIHRoZSBnaXZlbiByYW5nZS4KK2Z1bmN0aW9uIHJhbmdlX3JlcXVlc3Rf
dGVzdChzY3JpcHQsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikgeworICBwcm9taXNlX3Rlc3QodCA9
PiB7CisgICAgICBsZXQgZnJhbWU7CisgICAgICBsZXQgcmVnaXN0cmF0aW9uOworICAgICAgYWRk
X3Jlc3VsdF9jYWxsYmFjaygoKSA9PiB7CisgICAgICAgICAgaWYgKGZyYW1lKSBmcmFtZS5yZW1v
dmUoKTsKKyAgICAgICAgICBpZiAocmVnaXN0cmF0aW9uKSByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpOworICAgICAgICB9KTsKKworICAgICAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2ZldGNo
LWNhbnZhcy10YWludGluZy1pZnJhbWUuaHRtbCc7CisgICAgICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKKyAgICAgICAgLnRo
ZW4ociA9PiB7CisgICAgICAgICAgICByZWdpc3RyYXRpb24gPSByOworICAgICAgICAgICAgcmV0
dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVk
Jyk7CisgICAgICAgICAgfSkKKyAgICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAgICAgcmV0
dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsKKyAgICAgICAgICB9KQorICAgICAgICAudGhlbihmID0+
IHsKKyAgICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICAgIC8vIEFkZCAiP1ZJREVPJlBh
cnRpYWxDb250ZW50IiB0byBnZXQgYSB2aWRlbyByZXNvdXJjZSBmcm9tIHRoZQorICAgICAgICAg
ICAgLy8gc2VydmVyIHVzaW5nIHJhbmdlIHJlcXVlc3RzLgorICAgICAgICAgICAgY29uc3Qgdmlk
ZW9fdXJsID0gJ2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJlBhcnRpYWxDb250ZW50JzsK
KyAgICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmNyZWF0ZV90ZXN0X2Nhc2Vf
cHJvbWlzZSh2aWRlb191cmwpOworICAgICAgICAgIH0pCisgICAgICAgIC50aGVuKHJlc3VsdCA9
PiB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgZXhwZWN0ZWQpOworICAgICAg
ICAgIH0pOworICAgIH0sIGRlc2NyaXB0aW9uKTsKK30KKworLy8gV2Ugd2FudCB0byBjb25zaWRl
ciBhIG51bWJlciBvZiBzY2VuYXJpb3M6CisvLyAoMSkgUmFuZ2UgcmVzcG9uc2VzIGNvbWUgZnJv
bSBhIHNpbmdsZSBvcmlnaW4sIHRoZSBzYW1lLW9yaWdpbiBhcyB0aGUgcGFnZS4KKy8vICAgICBU
aGUgY2FudmFzIHNob3VsZCBub3QgYmUgdGFpbnRlZC4KK3JhbmdlX3JlcXVlc3RfdGVzdCgKKyAg
J3Jlc291cmNlcy9mZXRjaC1ldmVudC1uZXR3b3JrLWZhbGxiYWNrLXdvcmtlci5qcycsCisgICdO
T1RfVEFJTlRFRCcsCisgICdyYW5nZSByZXNwb25zZXMgZnJvbSBzaW5nbGUgb3JpZ2luIChzYW1l
LW9yaWdpbiknKTsKKworLy8gKDIpIFJhbmdlIHJlc3BvbnNlcyBjb21lIGZyb20gYSBzaW5nbGUg
b3JpZ2luLCBjcm9zcy1vcmlnaW4gZnJvbSB0aGUgcGFnZQorLy8gICAgIChhbmQgd2l0aG91dCBD
T1JTIHNoYXJpbmcpLiBUaGlzIGlzIG5vdCBwb3NzaWJsZSB0byB0ZXN0LCBzaW5jZSBzZXJ2aWNl
CisvLyAgICAgd29ya2VyIGNhbid0IG1ha2UgYSByZXF1ZXN0IHdpdGggYSAiUmFuZ2UiIEhUVFAg
aGVhZGVyIGluIG5vLWNvcnMgbW9kZS4KKworLy8gKDMpIFJhbmdlIHJlc3BvbnNlcyBjb21lIGZy
b20gbXVsdGlwbGUgb3JpZ2lucy4gVGhlIGZpcnN0IHJlc3BvbnNlIGNvbWVzIGZyb20KKy8vICAg
ICBjcm9zcy1vcmlnaW4gKGFuZCB3aXRob3V0IENPUlMgc2hhcmluZywgc28gaXMgb3BhcXVlKS4g
U3Vic2VxdWVudAorLy8gICAgIHJlc3BvbnNlcyBjb21lIGZyb20gc2FtZS1vcmlnaW4uIFRoZSBj
YW52YXMgc2hvdWxkIGJlIHRhaW50ZWQgKGJ1dCBpbgorLy8gICAgIENocm9tZSB0aGlzIGlzIGEg
TE9BRF9FUlJPUiBzaW5jZSBpdCBkaXNhbGxvd3MgcmFuZ2UgcmVzcG9uc2VzIGZyb20KKy8vICAg
ICBtdWx0aXBsZSBvcmlnaW5zLCBwZXJpb2QpLgorcmFuZ2VfcmVxdWVzdF90ZXN0KAorICAncmVz
b3VyY2VzL3JhbmdlLXJlcXVlc3QtdG8tZGlmZmVyZW50LW9yaWdpbnMtd29ya2VyLmpzJywKKyAg
J1RBSU5URUQnLAorICAncmFuZ2UgcmVzcG9uc2VzIGZyb20gbXVsdGlwbGUgb3JpZ2lucyAoY3Jv
c3Mtb3JpZ2luIGZpcnN0KScpOworCisvLyAoNCkgUmFuZ2UgcmVzcG9uc2VzIGNvbWUgZnJvbSBt
dWx0aXBsZSBvcmlnaW5zLiBUaGUgZmlyc3QgcmVzcG9uc2UgY29tZXMgZnJvbQorLy8gICAgIHNh
bWUtb3JpZ2luLiBTdWJzZXF1ZW50IHJlc3BvbnNlcyBjb21lIGZyb20gY3Jvc3Mtb3JpZ2luIChh
bmQgd2l0aG91dAorLy8gICAgIENPUlMgc2hhcmluZykuIExpa2UgKDIpIHRoaXMgaXMgbm90IHBv
c3NpYmxlIHNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlcgorLy8gICAgIGNhbm5vdCBtYWtlIHJhbmdl
IHJlcXVlc3RzIGNyb3NzLW9yaWdpbi4KKworLy8gKDUpIFJhbmdlIHJlc3BvbnNlcyBjb21lIGZy
b20gYSBzaW5nbGUgb3JpZ2luLCB3aXRoIGEgbWl4IG9mIG9wYXF1ZSBhbmQKKy8vICAgICBub24t
b3BhcXVlIHJlc3BvbnNlcy4gVGhlIGZpcnN0IHJlcXVlc3QgdXNlcyAnbm8tY29ycycgbW9kZSB0
bworLy8gICAgIHJlY2VpdmUgYW4gb3BhcXVlIHJlc3BvbnNlLCBhbmQgc3Vic2VxdWVudCByYW5n
ZSByZXF1ZXN0cyB1c2UgJ2NvcnMnCisvLyAgICAgdG8gcmVjZWl2ZSBub24tb3BhcXVlIHJlc3Bv
bnNlcy4gVGhlIGNhbnZhcyBzaG91bGQgYmUgdGFpbnRlZC4KK3JhbmdlX3JlcXVlc3RfdGVzdCgK
KyAgJ3Jlc291cmNlcy9yYW5nZS1yZXF1ZXN0LXdpdGgtZGlmZmVyZW50LWNvcnMtbW9kZXMtd29y
a2VyLmpzJywKKyAgJ1RBSU5URUQnLAorICAncmFuZ2UgcmVzcG9uc2VzIGZyb20gc2luZ2xlIG9y
aWdpbiB3aXRoIGJvdGggb3BhcXVlIGFuZCBub24tb3BhcXVlIHJlc3BvbnNlcycpOworCisvLyAo
NikgUmFuZ2UgcmVzcG9uc2VzIGNvbWUgZnJvbSBhIHNpbmdsZSBvcmlnaW4sIHdpdGggYSBtaXgg
b2Ygb3BhcXVlIGFuZAorLy8gICAgIG5vbi1vcGFxdWUgcmVzcG9uc2VzLiBUaGUgZmlyc3QgcmVx
dWVzdCB1c2VzICdjb3JzJyBtb2RlIHRvCisvLyAgICAgcmVjZWl2ZSBhbiBub24tb3BhcXVlIHJl
c3BvbnNlLCBhbmQgc3Vic2VxdWVudCByYW5nZSByZXF1ZXN0cyB1c2UKKy8vICAgICAnbm8tY29y
cycgdG8gcmVjZWl2ZSBub24tb3BhcXVlIHJlc3BvbnNlcy4gTGlrZSAoMikgdGhpcyBpcyBub3Qg
cG9zc2libGUuCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8uaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjExODBhNWZlY2RjZTkzNzc3NWJlYjgyY2E3N2Y2NDU0MGJkMWY2MjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRp
bmctdmlkZW8uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK0NPTlNPTEUgTUVT
U0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogdW5kZWZpbmVk
CitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9WSURFTyZyZWplY3QuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdp
dGggcmVjZWl2ZWQgYW4gZXJyb3I6IHVuZGVmaW5lZAorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3Qg
bG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mcmVqZWN0LgorQ09OU09M
RSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiB1bmRl
ZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1ZJREVPJnJlamVjdC4KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3Jp
Z2luLgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBu
b3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NB
R0U6IENyZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250cm9sLUFsbG93LUNy
ZWRlbnRpYWxzIGlzIG5vdCAidHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQgaHR0cHM6
Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJkF1dGgmaWdub3JlIGZyb20gYXNraW5nIGZv
ciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGEgY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuCitDT05T
T0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2Vk
IGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2lu
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUs
IGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09O
U09MRSBNRVNTQUdFOiBSZXNwb25zZSBzZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVl
CitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZlZCBieSBzZXJ2aWNlIHdvcmtlciBpcyBv
cGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogUmVzcG9uc2Ugc2VydmVkIGJ5IHNlcnZpY2Ugd29ya2Vy
IGlzIG9wYXF1ZQorQ09OU09MRSBNRVNTQUdFOiBSZXNwb25zZSBzZXJ2ZWQgYnkgc2VydmljZSB3
b3JrZXIgaXMgb3BhcXVlCitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGgg
cmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBi
dXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNP
TEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJ
REVPJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRlZJREVPJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5
NDQzLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFu
IGVycm9yOiBUeXBlRXJyb3I6IENyZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1D
b250cm9sLUFsbG93LUNyZWRlbnRpYWxzIGlzIG5vdCAidHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6
IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZtb2RlPWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZW
SURFTyUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0My4KK0NPTlNP
TEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlw
ZUVycm9yOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxv
dy1DcmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9h
ZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mbW9kZT1jb3JzJnVybD1odHRw
cyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGVklERU8lMjZBQ0FP
cmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMuCitDT05TT0xFIE1FU1NBR0U6
IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3Jl
ZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlh
bHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYx
MjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNv
dXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2QUNBT3JpZ2luJTNEaHR0
cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzLgorI1BJRCBVTlJFU1BPTlNJVkUgLSBjb20uYXBw
bGUuV2ViS2l0LldlYkNvbnRlbnQuRGV2ZWxvcG1lbnQgKHBpZCA1NjgyMykKK0ZBSUw6IFRpbWVk
IG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAorCisjRU9GCisjRU9GCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8u
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRl
by5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3NzY1MDg4MWMxNWZhOWE5NWM0M2RjYjk1NWJkNTgx
OGJhOGE4ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52
YXMtdGFpbnRpbmctdmlkZW8uaHR0cHMuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogY2Fu
dmFzIHRhaW50aW5nIG9mIHRoZSBmZXRjaGVkIHZpZGVvPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
dGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4K
KzxzY3JpcHQ+Citkb19jYW52YXNfdGFpbnRpbmdfdGVzdHMoeworICByZXNvdXJjZV9wYXRoOiBi
YXNlX3BhdGgoKSArICdyZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8nLAor
ICBjYWNoZTogZmFsc2UKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLmh0dHBzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ0YmUwNDU2NTE3ZTBmZTllOGIyOWIy
ZmRhYmE2MzliNzMzMjk3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBj
YW52YXMgdGFpbnRpbmcgb2YgZmV0Y2hlZCBpbWFnZSBpbiBhIFNlcnZpY2UgV29ya2VyIAotUEFT
UyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0IC0gZGVmYXVs
dCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCAt
IGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdF
JnJlamVjdCAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJmlnbm9yZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4x
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUgLSBkZWZhdWx0IAotUEFTUyBodHRwczovLzEy
Ny4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlIC0gYW5vbnltb3VzIAotUEFTUyBo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMmaWdub3JlIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovLzEyNy4wLjAu
MTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFTUyBo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMmaWdub3JlIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFTUyBodHRwczovLzEy
Ny4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMmQUNBQ3JlZGVudGlhbHM9dHJ1ZSZpZ25vcmUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNT
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSAtIGRl
ZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRo
Jmlnbm9yZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9Q
TkdJTUFHRSZBdXRoJmlnbm9yZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJkF1dGgmaWdub3JlIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFT
UyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZBQ0FPcmlnaW49
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJkFDQU9yaWdpbj1odHRw
czovL2xvY2FsaG9zdDo5NDQzJkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlIC0gdXNlLWNyZWRl
bnRpYWxzIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9k
ZT1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRlBOR0lNQUdFIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9j
YWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIGFub255bW91cyAKLVBB
U1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmln
aW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIGRlZmF1bHQgCi1QQVNTIGh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPXNhbWUtb3JpZ2luJnVy
bD1odHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1B
R0UgLSBhbm9ueW1vdXMgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJ
TUFHRSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMl
MkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBz
JTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29y
a2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIGRl
ZmF1bHQgCi1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2Rl
PW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZQTkdJTUFHRSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFT
UyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1uby1jb3JzJnVy
bD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1B
R0UgLSBkZWZhdWx0IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2
aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1j
b250cm9sLnB5JTNGUE5HSU1BR0UgLSBhbm9ueW1vdXMgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4x
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIHVzZS1jcmVkZW50aWFs
cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29y
cyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBO
R0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVm
YXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9
Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0El
MkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4w
LjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMl
MkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMl
M0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovL2xvY2Fs
aG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEy
Ny4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291
cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0Ro
dHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBz
JTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29y
a2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFD
QUNyZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0
JTNBOTQ0MyAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYl
MkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9
aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vydmlj
ZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdF
JTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVmYXVsdCAK
LVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1
cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vy
dmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lN
QUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gYW5vbnlt
b3VzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1j
b3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
UE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMgLSB1
c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJ
TUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUz
RGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyAtIHVzZS1jcmVkZW50aWFscyAKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzZmUyNzdkNmU0ZjIxMjYyNzUyNmJkM2Zk
ZjcxNjk5ODFkOGFjOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPlNl
cnZpY2UgV29ya2VyOiBjYW52YXMgdGFpbnRpbmcgb2YgdGhlIGZldGNoZWQgaW1hZ2U8L3RpdGxl
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3NjcmlwdD4K
LTxib2R5PgotPHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09Q
RSA9ICdyZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWlmcmFtZS5odG1sJzsKLSAgICB2
YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci5qcyc7Ci0gICAgdmFy
IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKLQotICAgIGxvZ2luX2h0dHBzKHQpCi0gICAg
ICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSk7Ci0gICAgICAgIH0pCi0gICAg
ICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9m
b3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAg
ICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUp
OyB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICByZXR1cm4gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAgIHZhciBj
aGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgICAgIGNoYW5uZWwucG9y
dDEub25tZXNzYWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgICAg
ICAgZm9yICh2YXIgcmVzdWx0IG9mIGUuZGF0YS5yZXN1bHRzKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJlc3VsdC5yZXN1bHQsICJQQVNTIik7Ci0gICAgICAgICAgICAgICAgICAgICAgfSwgcmVzdWx0
Lm5hbWUpOwotICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgZnJhbWUucmVt
b3ZlKCk7Ci0gICAgICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9k
b25lKHQsIFNDT1BFKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgZnJhbWUu
Y29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0
aW9uKHQpKTsKLSAgfSwgJ1ZlcmlmeSBjYW52YXMgdGFpbnRpbmcgb2YgZmV0Y2hlZCBpbWFnZSBp
biBhIFNlcnZpY2UgV29ya2VyJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY29ycy1leHBvc2VkLWhlYWRlci1u
YW1lcy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNmMDdlYzUzZjM1YjE0YTFlZGUx
YzdhYTA4ZjI4ZTZlNTg4YmRhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCisKK0ZBSUwgQ09SUy1leHBvc2VkIGhlYWRlciBuYW1lcyBmb3IgYSByZXNw
b25zZSBmcm9tIHN3IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXIiIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1j
b3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzE3
YjAyMTc1ZjJmMTVkNDY3ZDMzMzZjZDQ4Y2EwZmMyMWI0NzNjYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0cHMu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TZXJ2aWNlIFdv
cmtlcjogQ09SUy1leHBvc2VkIGhlYWRlciBuYW1lcyBzaG91bGQgYmUgdHJhbnNmZXJyZWQgY29y
cmVjdGx5PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAgICBjb25z
dCBTQ09QRSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWwnOworICAgIGNvbnN0IFNDUklQVCA9ICdy
ZXNvdXJjZXMvZmV0Y2gtY29ycy1leHBvc2VkLWhlYWRlci1uYW1lcy13b3JrZXIuanMnOworICAg
IGNvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKworICAgIGNvbnN0IFVSTCA9IGdl
dF9ob3N0X2luZm8oKS5IVFRQU19SRU1PVEVfT1JJR0lOICsKKyAgICAgICcvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0P3BpcGU9JyArCisgICAgICAn
aGVhZGVyKGFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbiwqKXwnICsKKyAgICAgICdoZWFkZXIo
YWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMsKil8JyArCisgICAgICAnaGVhZGVyKGZvbyxi
YXIpfCcgKworICAgICAgJ2hlYWRlcihzZXQtY29va2llLFgpJzsKKworICAgIGNvbnN0IHJlZyA9
IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwg
U0NPUEUpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0
aXZhdGVkJyk7CisgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShTQ09QRSk7CisK
KyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0Y2goVVJM
KTsKKyAgICBjb25zdCBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsKKyAgICBhc3NlcnRfZXF1
YWxzKGhlYWRlcnMuZ2V0KCdmb28nKSwgJ2JhcicpOworICAgIGFzc2VydF9lcXVhbHMoaGVhZGVy
cy5nZXQoJ3NldC1jb29raWUnKSwgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhoZWFkZXJzLmdl
dCgnYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMnKSwgJyonKTsKKyAgfSwgJ0NPUlMtZXhw
b3NlZCBoZWFkZXIgbmFtZXMgZm9yIGEgcmVzcG9uc2UgZnJvbSBzdycpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jb3JzLXhoci5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY29ycy14aHIuaHR0cHMuaHRtbAppbmRleCA1MjFjMDFj
NTk0ZjI0ODliOTQ1ZDY3NDllYjZmYjgwMDBlYTJiOTFjLi4zOTdjYjgxZDU0NjJjNmExZGI3YjY3
YzA4YWQ5YTU3MzkxNDc3NDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1j
b3JzLXhoci5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMteGhy
Lmh0dHBzLmh0bWwKQEAgLTYsMzMgKzYsMzkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVz
dC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1h
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAg
dmFyIFNDT1BFID0gJ3Jlc291cmNlcy9mZXRjaC1jb3JzLXhoci1pZnJhbWUuaHRtbCc7CiAgICAg
dmFyIFNDUklQVCA9ICdyZXNvdXJjZXMvZmV0Y2gtcmV3cml0ZS13b3JrZXIuanMnOwogICAgIHZh
ciBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7CiAKLSAgICBsb2dpbl9odHRwcyh0KQorICAg
IHJldHVybiBsb2dpbl9odHRwcyh0KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQ
VCwgU0NPUEUpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9u
KSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
cmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NPUEUpOworICAgICAgICAgICAg
fSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUpOyB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24o
ZnJhbWUpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAgICAgICB2
YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgICAgICAgICAgICBjaGFubmVs
LnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLnJlc3VsdHMsICdmaW5pc2gnKTsKLSAgICAgICAg
ICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgICAgICAgICAgc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09QRSk7Ci0gICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKICAgICAgICAg
ICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX09SSUdJTidd
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVs
LnBvcnQyXSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJl
YWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7CisgICAgICAgIH0pOwog
ICB9LCAnVmVyaWZ5IENPUlMgWEhSIG9mIGZldGNoKCkgaW4gYSBTZXJ2aWNlIFdvcmtlcicpOwog
PC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1l
dmVudC1pcy1oaXN0b3J5LWJhY2t3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1oaXN0b3J5LWJhY2t3YXJkLW5hdmlnYXRp
b24tbWFudWFsLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NmNTkyMmYzOTZhZmU0ZmE0YTQ3ODc5
MTdmZTBhYjNmYWEzNmYwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWV2ZW50LWlzLWhpc3RvcnktYmFja3dhcmQtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMuaHRt
bApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8cD5DbGljayA8YSBo
cmVmPSJyZXNvdXJjZXMvaW5zdGFsbC13b3JrZXIuaHRtbD9pc0hpc3RvcnlOYXZpZ2F0aW9uJmFt
cDtzY3JpcHQ9ZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMiPnRoaXMgbGluazwvYT4uCisgICBP
bmNlIHlvdSBzZWUgJnF1b3Q7bWV0aG9kID0gR0VULC4uLiZxdW90OyBpbiB0aGUgcGFnZSwgZ28g
dG8gYW5vdGhlciBwYWdlLCBhbmQgdGhlbiBnbyBiYWNrIHRvIHRoZSBwYWdlIHVzaW5nIHRoZSBC
YWNrd2FyZCBidXR0b24uCisgICBZb3Ugc2hvdWxkIHNlZSAmcXVvdDttZXRob2QgPSBHRVQsIGlz
SGlzdG9yeU5hdmlnYXRpb24gPSB0cnVlJnF1b3Q7LgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9yeS1mb3J3
YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1ldmVudC1pcy1oaXN0b3J5LWZvcndhcmQtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MDE5MzliM2NiMmQ5MTlhMTVmZmQxNmQzOGNjM2UwYzg2NmI0M2U5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9yeS1m
b3J3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxib2R5PgorPHA+Q2xpY2sgPGEgaHJlZj0icmVzb3VyY2VzL2luc3RhbGwt
d29ya2VyLmh0bWw/aXNIaXN0b3J5TmF2aWdhdGlvbiZhbXA7c2NyaXB0PWZldGNoLWV2ZW50LXRl
c3Qtd29ya2VyLmpzIj50aGlzIGxpbms8L2E+LgorICAgT25jZSB5b3Ugc2VlICZxdW90O21ldGhv
ZCA9IEdFVCwuLi4mcXVvdDsgaW4gdGhlIHBhZ2UsIGdvIGJhY2sgdG8gdGhpcyBwYWdlIHVzaW5n
IHRoZSBCYWNrd2FyZCBidXR0b24sIGFuZCB0aGVuIGdvIHRvIHRoZSBzZWNvbmQgcGFnZSB1c2lu
ZyB0aGUgRm9yd2FyZCBidXR0b24uCisgICBZb3Ugc2hvdWxkIHNlZSAmcXVvdDttZXRob2QgPSBH
RVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB0cnVlJnF1b3Q7LgorPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtcmVsb2Fk
LWlmcmFtZS1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1ldmVudC1pcy1yZWxvYWQtaWZyYW1lLW5hdmlnYXRpb24tbWFudWFsLmh0
dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTZkZmI3MmEyMTk1MDBiMDI1Y2Y2ZjViYWM1
OWE4ZGU0MDQ5NTYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
ZXZlbnQtaXMtcmVsb2FkLWlmcmFtZS1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACisKKworRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuaXNSZWxvYWRO
YXZpZ2F0aW9uIGlzIHRydWUgZm9yIG1hbnVhbCByZWxvYWQuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlIiBidXQgZ290ICJt
ZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHVuZGVmaW5lZCIKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtcmVsb2FkLWlmcmFtZS1uYXZpZ2F0
aW9uLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMt
cmVsb2FkLWlmcmFtZS1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNm
MWZlY2NmNmU0NDEyZTEyZjIyYTdjZTFlYmU1NWE1NGJhNzQ4ZjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1yZWxvYWQtaWZyYW1lLW5hdmlnYXRp
b24tbWFudWFsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2Ny
aXB0PgorY29uc3Qgd29ya2VyID0gJ3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5q
cyc7CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICBjb25zdCBzY29wZSA9ICdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/aXNSZWxvYWROYXZpZ2F0aW9uJzsKKworICBjb25zdCByZWcgPSBh
d2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNj
b3BlKTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7CisgIGFzc2Vy
dF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAg
ICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gZmFsc2UnKTsKKyAg
YXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICBmcmFtZS5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuaW5u
ZXJUZXh0ID0KKyAgICAgICdSZWxvYWQgdGhpcyBmcmFtZSBtYW51YWxseSEnOworICB9KTsKKyAg
YXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAg
ICAgICdtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHRydWUnKTsKKyAgZnJhbWUu
cmVtb3ZlKCk7CisgIGF3YWl0IHJlZy51bnJlZ2lzdGVyKCk7Cit9LCAnRmV0Y2hFdmVudCNyZXF1
ZXN0LmlzUmVsb2FkTmF2aWdhdGlvbiBpcyB0cnVlIGZvciBtYW51YWwgcmVsb2FkLicpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWV2ZW50LWlzLXJlbG9hZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtcmVsb2FkLW5hdmlnYXRpb24tbWFudWFsLmh0
dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM0OWYwN2MzNmMyMjZlNzczMjNhYmRhMDVlZWZlYzI1ZmMz
YjIxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LWlz
LXJlbG9hZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxwPkNsaWNrIDxhIGhyZWY9InJlc291cmNlcy9pbnN0YWxs
LXdvcmtlci5odG1sP2lzUmVsb2FkTmF2aWdhdGlvbiZzY3JpcHQ9ZmV0Y2gtZXZlbnQtdGVzdC13
b3JrZXIuanMiPnRoaXMgbGluazwvYT4uCisgICBPbmNlIHlvdSBzZWUgJnF1b3Q7bWV0aG9kID0g
R0VULC4uLiZxdW90OyBpbiB0aGUgcGFnZSwgcmVsb2FkIHRoZSBwYWdlLgorICAgWW91IHdpbGwg
c2VlICZxdW90O21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gdHJ1ZSZxdW90Oy4K
KzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWV2ZW50LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWV2ZW50LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxZGJjMDg1OGY4
ZWM4M2JiMTA5MmMzYmNlYWQ2ZTA4M2JhODg2ZjVhLi5jYjdjN2NkZTI5OTcwNTNlMGYwMzA4OTgz
YTEwYjY3Yjg1ZTQ0OTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVu
dC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtZXZlbnQtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsMjEgQEAKLUNP
TlNPTEUgTUVTU0FHRTogbGluZSA1MTogTm8tQ29ycyBtb2RlIHJlcXVpcmVzIGZvbGxvdyByZWRp
cmVjdCBtb2RlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vdCBhbGxvd2VkIHRvIHJlcXVl
c3QgcmVzb3VyY2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogRmV0Y2ggQVBJIGNhbm5vdCBs
b2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvbm9uYXYtbWFudWFsLW5vY29ycy1yZWRpcmVjdHMt
dG8tc2FtZW9yaWdpbi1ub2NyZWRzP3VybD1yZWRpcmVjdC5weSUzRlJlZGlyZWN0JTNEaHR0cHMl
MjUzQSUyNTJGJTI1MkZsb2NhbGhvc3QlMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJG
c2VydmljZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSZleHBlY3RlZF90eXBl
PW9wYXF1ZXJlZGlyZWN0IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTU6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9k
ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291
cmNlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRw
czovL2xvY2FsaG9zdDo5NDQzL25vbmF2LW1hbnVhbC1ub2NvcnMtcmVkaXJlY3RzLXRvLXNhbWVv
cmlnaW4tbm9jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUy
RiUyNTJGbG9jYWxob3N0JTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Ut
d29ya2VyJTI1MkZyZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkmZXhwZWN0ZWRfdHlwZT1vcGFxdWVy
ZWRpcmVjdCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDU1OiBOby1Db3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9ub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1ub2NvcnMtbm9jcmVk
cz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGMTI3LjAu
MC4xJTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Utd29ya2VyJTI1MkZy
ZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkmZXhwZWN0ZWRfdHlwZT1vcGFxdWVyZWRpcmVjdCBkdWUg
dG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBOby1D
b3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9u
b25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1jb3JzLW5vY3JlZHM/dXJsPXJlZGlyZWN0
LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBOTQ0MyUy
NTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2VzJTI1MkZz
dWNjZXNzLnB5JTI1M0ZBQ0FPcmlnaW4lMjUzRGh0dHBzJTI1MjUzQSUyNTI1MkYlMjUyNTJGbG9j
YWxob3N0JTI1MjUzQTk0NDMmZXhwZWN0ZWRfdHlwZT1vcGFxdWVyZWRpcmVjdCBkdWUgdG8gYWNj
ZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBOby1Db3JzIG1v
ZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1
NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9ub25hdi1t
YW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1zYW1lb3JpZ2luLWNyZWRzP3VybD1yZWRpcmVjdC5w
eSUzRlJlZGlyZWN0JTNEaHR0cHMlMjUzQSUyNTJGJTI1MkZmb28lMjUzQWJhciUyNTQwbG9jYWxo
b3N0JTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Utd29ya2VyJTI1MkZy
ZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkmZXhwZWN0ZWRfdHlwZT1vcGFxdWVyZWRpcmVjdCBkdWUg
dG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBOby1D
b3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9u
b25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1ub2NvcnMtY3JlZHM/dXJsPXJlZGlyZWN0
LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNBYmFyJTI1NDAxMjcu
MC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3JrZXIlMjUy
RnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSZleHBlY3RlZF90eXBlPW9wYXF1ZXJlZGlyZWN0IGR1
ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IE5v
LUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9kZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU1OiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNTU6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQz
L25vbmF2LW1hbnVhbC1ub2NvcnMtcmVkaXJlY3RzLXRvLWNvcnMtY3JlZHM/dXJsPXJlZGlyZWN0
LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNBYmFyJTI1NDAxMjcu
MC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3JrZXIlMjUy
RnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSUyNTNGQUNBT3JpZ2luJTI1M0RodHRwcyUyNTI1M0El
MjUyNTJGJTI1MjUyRmxvY2FsaG9zdCUyNTI1M0E5NDQzJmV4cGVjdGVkX3R5cGU9b3BhcXVlcmVk
aXJlY3QgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KIENPTlNPTEUgTUVTU0FHRTogRmV0
Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBPcmlnaW4g
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4uCiBDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRw
czovL2xvY2FsaG9zdDo5NDQzL25vbmF2LWZvbGxvdy1jb3JzLXJlZGlyZWN0cy10by1ub2NvcnMt
bm9jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJG
MTI3LjAuMC4xJTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Utd29ya2Vy
JTI1MkZyZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkuCiBDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZl
bnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogVW5zYWZlIGF0dGVt
cHQgdG8gbG9hZCBVUkwgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3N1Y2Nlc3MucHkgZnJvbSBvcmlnaW4gaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgpAQCAt
MzIsNiArNDcsMTIgQEAgQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0My9ub25hdi1lcnJvci1zYW1lb3IKIENPTlNPTEUgTUVTU0FHRTog
bGluZSA1MTogTm8tQ29ycyBtb2RlIHJlcXVpcmVzIGZvbGxvdyByZWRpcmVjdCBtb2RlCiBDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3VyY2UKIENP
TlNPTEUgTUVTU0FHRTogbGluZSA1MTogRmV0Y2ggQVBJIGNhbm5vdCBsb2FkIGh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvbm9uYXYtZXJyb3Itbm9jb3JzLXJlZGlyZWN0cy10by1zYW1lb3JpZ2luLW5v
Y3JlZHM/dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmxv
Y2FsaG9zdCUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdvcmtlciUy
NTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3Mu
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cg
cmVkaXJlY3QgbW9kZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBOb3QgYWxsb3dlZCB0byBy
ZXF1ZXN0IHJlc291cmNlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IEZldGNoIEFQSSBjYW5u
b3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVj
dHMtdG8tbm9jb3JzLW5vY3JlZHM/dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUy
NTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZz
ZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5IGR1ZSB0byBhY2Nlc3Mg
Y29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vLUNvcnMgbW9kZSBy
ZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9kZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBO
b3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6
IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25vbmF2LWVycm9y
LW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1ub2NyZWRzP3VybD1yZWRpcmVjdC5weSUzRlJlZGly
ZWN0JTNEaHR0cHMlMjUzQSUyNTJGJTI1MkYxMjcuMC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Ut
d29ya2VycyUyNTJGc2VydmljZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSUy
NTNGQUNBT3JpZ2luJTI1M0RodHRwcyUyNTI1M0ElMjUyNTJGJTI1MjUyRmxvY2FsaG9zdCUyNTI1
M0E5NDQzIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCiBDT05TT0xFIE1FU1NBR0U6IEZl
dGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogTm90IGFs
bG93ZWQgdG8gZm9sbG93IGEgcmVkaXJlY3Rpb24gd2hpbGUgbG9hZGluZyBodHRwczovL2xvY2Fs
aG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVkaXJl
Y3QucHk/UmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZmb28lM0FiYXIlNDBsb2NhbGhvc3QlM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZzdWNjZXNz
LnB5CiBDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2Fs
aG9zdDo5NDQzL25vbmF2LWVycm9yLWNvcnMtcmVkaXJlY3RzLXRvLXNhbWVvcmlnaW4tY3JlZHM/
dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNB
YmFyJTI1NDBsb2NhbGhvc3QlMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2Vydmlj
ZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weS4KIENPTlNPTEUgTUVTU0FHRTog
RmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBOb3Qg
YWxsb3dlZCB0byBmb2xsb3cgYSByZWRpcmVjdGlvbiB3aGlsZSBsb2FkaW5nIGh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRp
cmVjdC5weT9SZWRpcmVjdD1odHRwcyUzQSUyRiUyRmZvbyUzQWJhciU0MDEyNy4wLjAuMSUzQTk0
NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRnN1Y2Nl
c3MucHkKQEAgLTQ0LDYgKzY1LDE1IEBAIENPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNw
b25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBOb3QgYWxsb3dlCiBDT05TT0xF
IE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25v
bmF2LWVycm9yLXNhbWVvcmlnaW4tcmVkaXJlY3RzLXRvLW5vY29ycy1jcmVkcz91cmw9cmVkaXJl
Y3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGZm9vJTI1M0FiYXIlMjU0MDEy
Ny4wLjAuMSUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdvcmtlciUy
NTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5LgogQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50
LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiBUeXBlRXJyb3I6IE5vdCBhbGxvd2VkIHRv
IGZvbGxvdyBhIHJlZGlyZWN0aW9uIHdoaWxlIGxvYWRpbmcgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P1Jl
ZGlyZWN0PWh0dHBzJTNBJTJGJTJGZm9vJTNBYmFyJTQwMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGc3VjY2Vzcy5weSUzRkFD
QU9yaWdpbiUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGbG9jYWxob3N0JTI1M0E5NDQzCiBDT05TT0xF
IE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25v
bmF2LWVycm9yLXNhbWVvcmlnaW4tcmVkaXJlY3RzLXRvLWNvcnMtY3JlZHM/dXJsPXJlZGlyZWN0
LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNBYmFyJTI1NDAxMjcu
MC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3JrZXIlMjUy
RnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSUyNTNGQUNBT3JpZ2luJTI1M0RodHRwcyUyNTI1M0El
MjUyNTJGJTI1MjUyRmxvY2FsaG9zdCUyNTI1M0E5NDQzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDUxOiBOby1Db3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA1MTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDUxOiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9ub25hdi1lcnJvci1ub2NvcnMtcmVkaXJlY3RzLXRvLXNhbWVvcmlnaW4tY3JlZHM/
dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNB
YmFyJTI1NDBsb2NhbGhvc3QlMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2Vydmlj
ZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSBkdWUgdG8gYWNjZXNzIGNvbnRy
b2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBOby1Db3JzIG1vZGUgcmVxdWly
ZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogTm90IGFs
bG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBGZXRj
aCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9ub25hdi1lcnJvci1ub2Nv
cnMtcmVkaXJlY3RzLXRvLW5vY29ycy1jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUz
RGh0dHBzJTI1M0ElMjUyRiUyNTJGZm9vJTI1M0FiYXIlMjU0MDEyNy4wLjAuMSUyNTNBOTQ0MyUy
NTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2VzJTI1MkZz
dWNjZXNzLnB5IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTE6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9kZQorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDUxOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlCitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xv
Y2FsaG9zdDo5NDQzL25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1jcmVkcz91
cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGZm9vJTI1M0Fi
YXIlMjU0MDEyNy4wLjAuMSUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNl
LXdvcmtlciUyNTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5JTI1M0ZBQ0FPcmlnaW4lMjUzRGh0
dHBzJTI1MjUzQSUyNTI1MkYlMjUyNTJGbG9jYWxob3N0JTI1MjUzQTk0NDMgZHVlIHRvIGFjY2Vz
cyBjb250cm9sIGNoZWNrcy4KIAogUEFTUyBpbml0aWFsaXplIGdsb2JhbCBzdGF0ZSAKIFBBU1Mg
Tm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgY29ycyBtb2RlIFJlcXVlc3QgcmVkaXJl
Y3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9w
YXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRp
cmVjdGVkIApAQCAtNTIsMTMgKzgyLDE4IEBAIFBBU1MgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCBy
ZWRpcmVjdCwgY29ycyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGhvCiBQQVNT
IE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIHNhbWUtb3JpZ2luIG1vZGUgUmVxdWVz
dCByZWRpcmVjdGVkIHRvIHNhbWUtb3JpZ2luIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hvdWxkIHN1
Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90
IGJlIHJlZGlyZWN0ZWQgCiBQQVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIHNh
bWUtb3JpZ2luIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMgd2l0aG91dCBjcmVk
ZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJl
c3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIG1h
bnVhbCByZWRpcmVjdCwgc2FtZS1vcmlnaW4gbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29y
cyB3aXRob3V0IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVy
Y2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAotUEFTUyBOb24t
bmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCBzaG91bGQg
ZmFpbCAKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29ycyBtb2Rl
IFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRpYWxzIHNo
b3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hv
dWxkIG5vdCBiZSByZWRpcmVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNv
dXJjZSIKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29ycyBtb2Rl
IFJlcXVlc3QgcmVkaXJlY3RlZCB0byBuby1jb3JzIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hvdWxk
IHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQg
bm90IGJlIHJlZGlyZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNl
IgorRkFJTCBOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVx
dWVzdCByZWRpcmVjdGVkIHRvIGNvcnMgd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2Vl
ZCBvcGFxdWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUg
cmVkaXJlY3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3VyY2UiCiBQQVNT
IE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGly
ZWN0ZWQgdG8gc2FtZS1vcmlnaW4gd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFx
dWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJl
Y3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgY29ycyBtb2RlIFJl
cXVlc3QgcmVkaXJlY3RlZCB0byBuby1jb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2Nl
ZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJl
IHJlZGlyZWN0ZWQgCiBQQVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIGNvcnMg
bW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBz
dWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5v
dCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBz
YW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRoIGNy
ZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQg
cmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwg
bWFudWFsIHJlZGlyZWN0LCBzYW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBu
by1jb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50
ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQgCiBQQVNTIE5v
bi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIHNhbWUtb3JpZ2luIG1vZGUgUmVxdWVzdCBy
ZWRpcmVjdGVkIHRvIGNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVy
ZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3Rl
ZCAKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29ycyBtb2RlIFJl
cXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBz
dWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5v
dCBiZSByZWRpcmVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZSIK
K0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29ycyBtb2RlIFJlcXVl
c3QgcmVkaXJlY3RlZCB0byBuby1jb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQg
b3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJl
ZGlyZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlIgorRkFJTCBO
b24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRp
cmVjdGVkIHRvIGNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVyZWRp
cmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3VyY2UiCiBQQVNTIE5vbi1uYXZpZ2F0
aW9uLCBmb2xsb3cgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gc2Ft
ZS1vcmlnaW4gd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBpbnRlcmNlcHRpb24g
YW5kIHJlc3BvbnNlIHNob3VsZCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwg
Zm9sbG93IHJlZGlyZWN0LCBjb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMg
d2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNl
IHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGZvbGxvdyBy
ZWRpcmVjdCwgY29ycyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGhvdXQgY3Jl
ZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQg
YmUgcmVkaXJlY3RlZCAKQEAgLTgzLDEyICsxMTgsMTcgQEAgUEFTUyBOb24tbmF2aWdhdGlvbiwg
ZXJyb3IgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29ycyB3aXRo
b3UKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBzYW1lLW9yaWdpbiBtb2Rl
IFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRpYWxzIHNo
b3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVj
dGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIHNhbWUtb3JpZ2luIG1v
ZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMgd2l0aG91dCBjcmVkZW50aWFscyBzaG91
bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3Rl
ZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBzYW1lLW9yaWdpbiBtb2Rl
IFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hvdWxkIGZh
aWwgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQgCi1Q
QVNTIE5vbi1uYXZpZ2F0aW9uLCBlcnJvciByZWRpcmVjdCwgbm8tY29ycyBtb2RlIFJlcXVlc3Qg
c2hvdWxkIGZhaWwgCitQQVNTIE5vbi1uYXZpZ2F0aW9uLCBlcnJvciByZWRpcmVjdCwgbm8tY29y
cyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRp
YWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSBy
ZWRpcmVjdGVkIAorUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMg
bW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gbm8tY29ycyB3aXRob3V0IGNyZWRlbnRpYWxzIHNo
b3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVj
dGVkIAorUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBS
ZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29ycyB3aXRob3V0IGNyZWRlbnRpYWxzIHNob3VsZCBmYWls
IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFT
UyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGly
ZWN0ZWQgdG8gc2FtZS1vcmlnaW4gd2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNl
cHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5h
dmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBjb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRv
IG5vLWNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJl
c3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVy
cm9yIHJlZGlyZWN0LCBjb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIGNvcnMgd2l0aCBj
cmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBu
b3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBz
YW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRoIGNy
ZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5v
dCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIHNh
bWUtb3JpZ2luIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMgd2l0aCBjcmVkZW50
aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUg
cmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBzYW1lLW9y
aWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGggY3JlZGVudGlhbHMgc2hv
dWxkIGZhaWwgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0
ZWQgCitQQVNTIE5vbi1uYXZpZ2F0aW9uLCBlcnJvciByZWRpcmVjdCwgbm8tY29ycyBtb2RlIFJl
cXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBm
YWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAor
UEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0
IHJlZGlyZWN0ZWQgdG8gbm8tY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVy
Y2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAorUEFTUyBOb24t
bmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0
ZWQgdG8gY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQg
cmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFTUyByZXN0b3JlIGdsb2JhbCBz
dGF0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVkaXJl
Y3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlZGlyZWN0Lmh0
dHBzLmh0bWwKaW5kZXggZjM0OGNhMGMwZDcwODcwMDQ3Y2M4YjNmZTM2NGZiOTMxY2I0Mzk4MS4u
YzQyZDdmNzViZTFlMWY1YTQyN2NkNjJkMWYzNzc0NTI3Zjk5ZWY4ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVkaXJlY3QuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZWRpcmVjdC5odHRwcy5odG1sCkBAIC0yMTIsOSAr
MjEyLDUzIEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICByZWRpcmVjdDogJ21h
bnVhbCcsCiAgICAgICBtb2RlOiAnbm8tY29ycycKICAgICB9LAotICAgIHNob3VsZF9yZWplY3Q6
IHRydWUKKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlv
biwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcg
KworICAgJ3NhbWUtb3JpZ2luIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3Bh
cXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uICcgKworICAgJ2FuZCByZXNwb25zZSBzaG91bGQgbm90
IGJlIHJlZGlyZWN0ZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJu
IHJlZGlyZWN0X2ZldGNoX3Rlc3QodCwgeworICAgIG5hbWU6ICdub25hdi1tYW51YWwtbm9jb3Jz
LXJlZGlyZWN0cy10by1ub2NvcnMtbm9jcmVkcycsCisgICAgcmVkaXJlY3RfZGVzdDogJ25vLWNv
cnMnLAorICAgIHVybF9jcmVkZW50aWFsczogZmFsc2UsCisgICAgZXhwZWN0ZWRfdHlwZTogJ29w
YXF1ZXJlZGlyZWN0JywKKyAgICBleHBlY3RlZF9yZWRpcmVjdGVkOiBmYWxzZSwKKyAgICByZXF1
ZXN0X2luaXQ6IHsKKyAgICAgIHJlZGlyZWN0OiAnbWFudWFsJywKKyAgICAgIG1vZGU6ICduby1j
b3JzJworICAgIH0sCisgICAgLy8gVGhpcyBzaG91bGQgc3VjY2VlZCBiZWNhdXNlIGl0cyByZWRp
cmVjdGluZyBmcm9tIHNhbWUtb3JpZ2luIHRvCisgICAgLy8gY3Jvc3Mtb3JpZ2luLiAgU2luY2Ug
dGhlIHNhbWUtb3JpZ2luIFVSTCBwcm92aWRlcyB0aGUgbG9jYXRpb24KKyAgICAvLyBoZWFkZXIg
dGhlIG1hbnVhbCByZWRpcmVjdCBtb2RlIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlcmVkaXJl
Y3QKKyAgICAvLyByZXNwb25zZS4KKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQogICB9KTsKLX0s
ICdOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCBz
aG91bGQgZmFpbCcpOworfSwgJ05vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIG5vLWNv
cnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisgICAnbm8tY29ycyB3aXRob3V0IGNy
ZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiAnICsK
KyAgICdhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkJyk7CisKK3Byb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiByZWRpcmVjdF9mZXRjaF90ZXN0KHQsIHsKKyAg
ICBuYW1lOiAnbm9uYXYtbWFudWFsLW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1ub2NyZWRzJywK
KyAgICByZWRpcmVjdF9kZXN0OiAnY29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiBmYWxzZSwK
KyAgICBleHBlY3RlZF90eXBlOiAnb3BhcXVlcmVkaXJlY3QnLAorICAgIGV4cGVjdGVkX3JlZGly
ZWN0ZWQ6IGZhbHNlLAorICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdtYW51
YWwnLAorICAgICAgbW9kZTogJ25vLWNvcnMnCisgICAgfSwKKyAgICAvLyBUaGlzIHNob3VsZCBz
dWNjZWVkIGJlY2F1c2UgaXRzIHJlZGlyZWN0aW5nIGZyb20gc2FtZS1vcmlnaW4gdG8KKyAgICAv
LyBjcm9zcy1vcmlnaW4uICBTaW5jZSB0aGUgc2FtZS1vcmlnaW4gVVJMIHByb3ZpZGVzIHRoZSBs
b2NhdGlvbgorICAgIC8vIGhlYWRlciB0aGUgbWFudWFsIHJlZGlyZWN0IG1vZGUgc2hvdWxkIHJl
c3VsdCBpbiBhbiBvcGFxdWVyZWRpcmVjdAorICAgIC8vIHJlc3BvbnNlLgorICAgIHNob3VsZF9y
ZWplY3Q6IGZhbHNlCisgIH0pOworfSwgJ05vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3Qs
IG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisgICAnY29ycyB3aXRob3V0
IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiAn
ICsKKyAgICdhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkJyk7CiAKIHByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7CiAgIHJldHVybiByZWRpcmVjdF9mZXRjaF90ZXN0KHQsIHsK
QEAgLTMxOCw2ICszNjIsNjUgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICdjb3Jz
IHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0
aW9uICcgKwogICAgJ2FuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQnKTsKIAor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIHJlZGlyZWN0X2ZldGNoX3Rlc3Qo
dCwgeworICAgIG5hbWU6ICdub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1zYW1lb3Jp
Z2luLWNyZWRzJywKKyAgICByZWRpcmVjdF9kZXN0OiAnc2FtZS1vcmlnaW4nLAorICAgIHVybF9j
cmVkZW50aWFsczogdHJ1ZSwKKyAgICBleHBlY3RlZF90eXBlOiAnb3BhcXVlcmVkaXJlY3QnLAor
ICAgIGV4cGVjdGVkX3JlZGlyZWN0ZWQ6IGZhbHNlLAorICAgIHJlcXVlc3RfaW5pdDogeworICAg
ICAgcmVkaXJlY3Q6ICdtYW51YWwnLAorICAgICAgbW9kZTogJ25vLWNvcnMnCisgICAgfSwKKyAg
ICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwgbWFudWFs
IHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcgKworICAgJ3Nh
bWUtb3JpZ2luIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3Qg
aW50ZXJjZXB0aW9uICcgKworICAgJ2FuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0
ZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIHJlZGlyZWN0X2Zl
dGNoX3Rlc3QodCwgeworICAgIG5hbWU6ICdub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10
by1ub2NvcnMtY3JlZHMnLAorICAgIHJlZGlyZWN0X2Rlc3Q6ICduby1jb3JzJywKKyAgICB1cmxf
Y3JlZGVudGlhbHM6IHRydWUsCisgICAgZXhwZWN0ZWRfdHlwZTogJ29wYXF1ZXJlZGlyZWN0JywK
KyAgICBleHBlY3RlZF9yZWRpcmVjdGVkOiBmYWxzZSwKKyAgICByZXF1ZXN0X2luaXQ6IHsKKyAg
ICAgIHJlZGlyZWN0OiAnbWFudWFsJywKKyAgICAgIG1vZGU6ICduby1jb3JzJworICAgIH0sCisg
ICAgLy8gVGhpcyBzaG91bGQgc3VjY2VlZCBiZWNhdXNlIGl0cyByZWRpcmVjdGluZyBmcm9tIHNh
bWUtb3JpZ2luIHRvCisgICAgLy8gY3Jvc3Mtb3JpZ2luLiAgU2luY2UgdGhlIHNhbWUtb3JpZ2lu
IFVSTCBwcm92aWRlcyB0aGUgbG9jYXRpb24KKyAgICAvLyBoZWFkZXIgdGhlIG1hbnVhbCByZWRp
cmVjdCBtb2RlIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlcmVkaXJlY3QKKyAgICAvLyByZXNw
b25zZS4KKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlv
biwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcg
KworICAgJ25vLWNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVyZWRp
cmVjdCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVk
aXJlY3RlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gcmVkaXJl
Y3RfZmV0Y2hfdGVzdCh0LCB7CisgICAgbmFtZTogJ25vbmF2LW1hbnVhbC1ub2NvcnMtcmVkaXJl
Y3RzLXRvLWNvcnMtY3JlZHMnLAorICAgIHJlZGlyZWN0X2Rlc3Q6ICdjb3JzJywKKyAgICB1cmxf
Y3JlZGVudGlhbHM6IHRydWUsCisgICAgZXhwZWN0ZWRfdHlwZTogJ29wYXF1ZXJlZGlyZWN0JywK
KyAgICBleHBlY3RlZF9yZWRpcmVjdGVkOiBmYWxzZSwKKyAgICByZXF1ZXN0X2luaXQ6IHsKKyAg
ICAgIHJlZGlyZWN0OiAnbWFudWFsJywKKyAgICAgIG1vZGU6ICduby1jb3JzJworICAgIH0sCisg
ICAgLy8gVGhpcyBzaG91bGQgc3VjY2VlZCBiZWNhdXNlIGl0cyByZWRpcmVjdGluZyBmcm9tIHNh
bWUtb3JpZ2luIHRvCisgICAgLy8gY3Jvc3Mtb3JpZ2luLiAgU2luY2UgdGhlIHNhbWUtb3JpZ2lu
IFVSTCBwcm92aWRlcyB0aGUgbG9jYXRpb24KKyAgICAvLyBoZWFkZXIgdGhlIG1hbnVhbCByZWRp
cmVjdCBtb2RlIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlcmVkaXJlY3QKKyAgICAvLyByZXNw
b25zZS4KKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlv
biwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcg
KworICAgJ2NvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVyZWRpcmVj
dCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJl
Y3RlZCcpOworCiBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICByZXR1cm4gcmVkaXJlY3Rf
ZmV0Y2hfdGVzdCh0LCB7CiAgICAgbmFtZTogJ25vbmF2LWZvbGxvdy1jb3JzLXJlZGlyZWN0cy10
by1zYW1lb3JpZ2luLW5vY3JlZHMnLApAQCAtNzM2LDEwICs4MzksNDcgQEAgcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgIHJlZGlyZWN0OiAnZXJyb3InLAogICAgICAgbW9kZTogJ25v
LWNvcnMnCiAgICAgfSwKLSAgICAvLyBzaG91bGQgcmVqZWN0IGJlY2F1c2UgZXJyb3IgKyBuby1j
b3JzIGlzIG5vdCBhbGxvd2VkLgorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSByZXF1ZXN0
cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJlZGlyZWN0
ZWQuCisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwg
ZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisg
ICAnc2FtZS1vcmlnaW4gd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRp
b24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCcpOworCitw
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0
LCB7CisgICAgbmFtZTogJ25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tbm9jb3JzLW5v
Y3JlZHMnLAorICAgIHJlZGlyZWN0X2Rlc3Q6ICduby1jb3JzJywKKyAgICB1cmxfY3JlZGVudGlh
bHM6IGZhbHNlLAorICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcics
CisgICAgICBtb2RlOiAnbm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVj
YXVzZSByZXF1ZXN0cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAg
IC8vIHJlZGlyZWN0ZWQuCiAgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQogICB9KTsKLX0sICdOb24t
bmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHNob3VsZCBm
YWlsJyk7Cit9LCAnTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUg
UmVxdWVzdCByZWRpcmVjdGVkIHRvICcgKworICAgJ25vLWNvcnMgd2l0aG91dCBjcmVkZW50aWFs
cyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBu
b3QgYmUgcmVkaXJlY3RlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1
cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7CisgICAgbmFtZTogJ25vbmF2LWVycm9yLW5vY29y
cy1yZWRpcmVjdHMtdG8tY29ycy1ub2NyZWRzJywKKyAgICByZWRpcmVjdF9kZXN0OiAnY29ycycs
CisgICAgdXJsX2NyZWRlbnRpYWxzOiBmYWxzZSwKKyAgICByZXF1ZXN0X2luaXQ6IHsKKyAgICAg
IHJlZGlyZWN0OiAnZXJyb3InLAorICAgICAgbW9kZTogJ25vLWNvcnMnCisgICAgfSwKKyAgICAv
LyBzaG91bGQgcmVqZWN0IGJlY2F1c2UgcmVxdWVzdHMgd2l0aCAnZXJyb3InIFJlcXVlc3RSZWRp
cmVjdCBjYW5ub3QgYmUKKyAgICAvLyByZWRpcmVjdGVkLgorICAgIHNob3VsZF9yZWplY3Q6IHRy
dWUKKyAgfSk7Cit9LCAnTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBuby1jb3JzIG1v
ZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcgKworICAgJ2NvcnMgd2l0aG91dCBjcmVkZW50aWFs
cyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBu
b3QgYmUgcmVkaXJlY3RlZCcpOwogCiBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICByZXR1
cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7CkBAIC04NDIsNSArOTgyLDU2IEBAIHByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CiB9LCAnTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBz
YW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byAnICsKICAgICdjb3JzIHdpdGgg
Y3JlZGVudGlhbHMgc2hvdWxkIGZhaWwgaW50ZXJjZXB0aW9uICcgKwogICAgJ2FuZCByZXNwb25z
ZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgcmV0dXJuIHJlZGlyZWN0X2ZldGNoX3Rlc3QodCwgeworICAgIG5hbWU6ICdub25hdi1l
cnJvci1ub2NvcnMtcmVkaXJlY3RzLXRvLXNhbWVvcmlnaW4tY3JlZHMnLAorICAgIHJlZGlyZWN0
X2Rlc3Q6ICdzYW1lLW9yaWdpbicsCisgICAgdXJsX2NyZWRlbnRpYWxzOiB0cnVlLAorICAgIHJl
cXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcicsCisgICAgICBtb2RlOiAnbm8t
Y29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSByZXF1ZXN0cyB3aXRo
ICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJlZGlyZWN0ZWQuCisg
ICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwgZXJyb3Ig
cmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisgICAnc2Ft
ZS1vcmlnaW4gd2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gJyArCisg
ICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCcpOworCitwcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7CisgICAg
bmFtZTogJ25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tbm9jb3JzLWNyZWRzJywKKyAg
ICByZWRpcmVjdF9kZXN0OiAnbm8tY29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiB0cnVlLAor
ICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcicsCisgICAgICBtb2Rl
OiAnbm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSByZXF1ZXN0
cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJlZGlyZWN0
ZWQuCisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwg
ZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisg
ICAnbm8tY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiAnICsK
KyAgICdhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkJyk7CisKK3Byb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiByZWRpcmVjdF9mZXRjaF90ZXN0KHQsIHsKKyAg
ICBuYW1lOiAnbm9uYXYtZXJyb3Itbm9jb3JzLXJlZGlyZWN0cy10by1jb3JzLWNyZWRzJywKKyAg
ICByZWRpcmVjdF9kZXN0OiAnY29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiB0cnVlLAorICAg
IHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcicsCisgICAgICBtb2RlOiAn
bm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSByZXF1ZXN0cyB3
aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJlZGlyZWN0ZWQu
CisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwgZXJy
b3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisgICAn
Y29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9u
c2Ugc2hvdWxkIG5vdCAnICsKKyAgICdiZSByZWRpcmVjdGVkJyk7CiA8L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlZmVycmVyLXBv
bGljeS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVmZXJyZXIt
cG9saWN5Lmh0dHBzLmh0bWwKaW5kZXggMTVkNGVkNWY4NGM0OGIzNzFjNjdjZGNiOTQ1MWFlOTVh
MWVlODlkZC4uMzg0NmM1YjFkZGUyYmI3YjExZjk5ODA2NzFjYzk5NmMwZjA5YTc2OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVmZXJyZXItcG9saWN5Lmh0dHBz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVmZXJyZXItcG9saWN5
Lmh0dHBzLmh0bWwKQEAgLTI0MSwxMSArMjQxLDE1IEBAIGZ1bmN0aW9uIHJ1bl9yZWZlcnJlcl9w
b2xpY3lfdGVzdHMoZnJhbWUsIHJlZmVycmVyLCBocmVmLCBvcmlnaW4pIHsKICAgICAgICAgfSk7
CiB9CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP3JlZmVycmVyUG9saWN5
JzsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KHJlZykgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAg
ICAgIH0pOworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxs
aW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsg
cmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsgfSkKQEAgLTI2Niw5ICsyNzAsNyBAQCBhc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewog
ICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRj
aCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdTZXJ2aWNlIFdv
cmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSByZWZlcnJlciBwb2xpY3knKTsK
IAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1y
ZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1jdXN0b20tcmVzcG9uc2UuaHR0cHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzMzJlMzQ4NjY5NDY5OWQ2ZWU2NDUxMjk3NzMyZTA4
MDdjZDE0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVu
dC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACisKK1BBU1MgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIHN0cmluZyAKK1BBU1Mg
U3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIGJsb2IgCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZy
b20gYSBidWZmZXIgCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBidWZmZXItdmlldyAK
K0ZBSUwgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBmb3JtLWRhdGEgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRo
ZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZy
b20gc2VhcmNoLXBhcmFtcyAKK1BBU1MgTmF2aWdhdGlvbiByZXNvdXJjZSBidWlsdCBmcm9tIGEg
c3RyaW5nIAorUEFTUyBOYXZpZ2F0aW9uIHJlc291cmNlIGJ1aWx0IGZyb20gYSBibG9iIAorUEFT
UyBOYXZpZ2F0aW9uIHJlc291cmNlIGJ1aWx0IGZyb20gYSBidWZmZXIgCitQQVNTIE5hdmlnYXRp
b24gcmVzb3VyY2UgYnVpbHQgZnJvbSBhIGJ1ZmZlci12aWV3IAorUEFTUyBOYXZpZ2F0aW9uIHJl
c291cmNlIGJ1aWx0IGZyb20gc2VhcmNoLXBhcmFtcyAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWN1c3RvbS1yZXNwb25zZS5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWN1c3RvbS1y
ZXNwb25zZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0NWEyOWM5YjRmMTQ2YjhjNDAyNDY1MGMz
NThjODMyNTY2M2NiYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLmh0bWwKQEAgLTAsMCAr
MSw4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
cmVzcG9uZFdpdGggd2l0aCBhIG5ldyBSZXNwb25zZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsK
KworY29uc3QgV09SS0VSID0KKyAgJ3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgt
Y3VzdG9tLXJlc3BvbnNlLXdvcmtlci5qcyc7Citjb25zdCBTQ09QRSA9CisgICdyZXNvdXJjZXMv
YmxhbmsuaHRtbCc7CisKKy8vIFJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIsIHRoZW4gY3JlYXRl
IGFuIGlmcmFtZSBhdCB1cmwuCitmdW5jdGlvbiBpZnJhbWVUZXN0KHVybCwgY2FsbGJhY2ssIG5h
bWUpIHsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCByZWcg
PSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBXT1JLRVIs
IFNDT1BFKTsKKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiByZWcudW5yZWdpc3Rl
cigpKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2
YXRlZCcpOworICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHVybCk7CisgICAg
Y29uc3QgaXdpbiA9IGlmcmFtZS5jb250ZW50V2luZG93OworICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4gaWZyYW1lLnJlbW92ZSgpKTsKKyAgICBhd2FpdCBjYWxsYmFjayh0LCBpd2luKTsKKyAgfSwg
bmFtZSk7Cit9CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBpd2luKSA9PiB7CisgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3R5cGU9c3RyaW5nJyk7CisgIGFzc2Vy
dF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTUycpOworfSwgJ1N1YnJlc291cmNl
IGJ1aWx0IGZyb20gYSBzdHJpbmcnKTsKKworaWZyYW1lVGVzdChTQ09QRSwgYXN5bmMgKHQsIGl3
aW4pID0+IHsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpd2luLmZldGNoKCc/dHlwZT1ibG9i
Jyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTUycpOworfSwg
J1N1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBibG9iJyk7CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFz
eW5jICh0LCBpd2luKSA9PiB7CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgn
P3R5cGU9YnVmZmVyJyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAn
UEFTUycpOworfSwgJ1N1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBidWZmZXInKTsKKworaWZyYW1l
VGVzdChTQ09QRSwgYXN5bmMgKHQsIGl3aW4pID0+IHsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2Fp
dCBpd2luLmZldGNoKCc/dHlwZT1idWZmZXItdmlldycpOworICBhc3NlcnRfZXF1YWxzKGF3YWl0
IHJlc3BvbnNlLnRleHQoKSwgJ1BBU1MnKTsKK30sICdTdWJyZXNvdXJjZSBidWlsdCBmcm9tIGEg
YnVmZmVyLXZpZXcnKTsKKworaWZyYW1lVGVzdChTQ09QRSwgYXN5bmMgKHQsIGl3aW4pID0+IHsK
KyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpd2luLmZldGNoKCc/dHlwZT1mb3JtLWRhdGEnKTsK
KyAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmZvcm1EYXRhKCk7CisgIGFzc2VydF9lcXVh
bHMoZGF0YS5nZXQoJ3Jlc3VsdCcpLCAnUEFTUycpOworfSwgJ1N1YnJlc291cmNlIGJ1aWx0IGZy
b20gZm9ybS1kYXRhJyk7CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBpd2luKSA9PiB7
CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3R5cGU9c2VhcmNoLXBhcmFt
cycpOworICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlc3BvbnNlLnRleHQoKSwgJ3Jlc3VsdD1QQVNT
Jyk7Cit9LCAnU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBzZWFyY2gtcGFyYW1zJyk7CisKKy8vIEFz
IGFib3ZlLCBidXQgbmF2aWdhdGlvbnMKKworaWZyYW1lVGVzdChTQ09QRSArICc/dHlwZT1zdHJp
bmcnLCAodCwgaXdpbikgPT4geworICBhc3NlcnRfZXF1YWxzKGl3aW4uZG9jdW1lbnQuYm9keS50
ZXh0Q29udGVudCwgJ1BBU1MnKTsKK30sICdOYXZpZ2F0aW9uIHJlc291cmNlIGJ1aWx0IGZyb20g
YSBzdHJpbmcnKTsKKworaWZyYW1lVGVzdChTQ09QRSArICc/dHlwZT1ibG9iJywgKHQsIGl3aW4p
ID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQ
QVNTJyk7Cit9LCAnTmF2aWdhdGlvbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgYmxvYicpOworCitp
ZnJhbWVUZXN0KFNDT1BFICsgJz90eXBlPWJ1ZmZlcicsICh0LCBpd2luKSA9PiB7CisgIGFzc2Vy
dF9lcXVhbHMoaXdpbi5kb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAnUEFTUycpOworfSwgJ05h
dmlnYXRpb24gcmVzb3VyY2UgYnVpbHQgZnJvbSBhIGJ1ZmZlcicpOworCitpZnJhbWVUZXN0KFND
T1BFICsgJz90eXBlPWJ1ZmZlci12aWV3JywgKHQsIGl3aW4pID0+IHsKKyAgYXNzZXJ0X2VxdWFs
cyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQQVNTJyk7Cit9LCAnTmF2aWdhdGlv
biByZXNvdXJjZSBidWlsdCBmcm9tIGEgYnVmZmVyLXZpZXcnKTsKKworLy8gTm90ZTogbm90IHRl
c3RpbmcgZm9ybSBkYXRhIGZvciBhIG5hdmlnYXRpb24gYXMgdGhlIGJvdW5kYXJ5IGhlYWRlciBp
cyBsb3N0LgorCitpZnJhbWVUZXN0KFNDT1BFICsgJz90eXBlPXNlYXJjaC1wYXJhbXMnLCAodCwg
aXdpbikgPT4geworICBhc3NlcnRfZXF1YWxzKGl3aW4uZG9jdW1lbnQuYm9keS50ZXh0Q29udGVu
dCwgJ3Jlc3VsdD1QQVNTJyk7Cit9LCAnTmF2aWdhdGlvbiByZXNvdXJjZSBidWlsdCBmcm9tIHNl
YXJjaC1wYXJhbXMnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUt
c3RyZWFtLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwODIxMWYxZTVhYjJkNjY3ZjY2M2ZhMDRh
M2ViMDdiYjdhMDBmMzdkLi5iYTc0NTk2NmZkZjBhZDE4OGFhNTFkMGVlZjAyZjc2OWExOWVmZTFk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgt
cmVhZGFibGUtc3RyZWFtLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUtc3RyZWFtLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSwzICsxLDggQEAKIAotUEFTUyBSZXNwb25kIHdpdGggYSBSZXNwb25zZSBidWls
dCBmcm9tIGEgUmVhZGFibGVTdHJlYW0gCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBS
ZWFkYWJsZVN0cmVhbSAKK1BBU1MgTWFpbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgUmVhZGFibGVT
dHJlYW0gCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0cmVhbSAtIGRl
bGF5ZWQgCitQQVNTIE1haW4gcmVzb3VyY2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3RyZWFtIC0g
ZGVsYXllZCAKK1BBU1MgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3RyZWFtIC0g
ZmV0Y2ggc3RyZWFtIAorUEFTUyBNYWluIHJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0
cmVhbSAtIGZldGNoIHN0cmVhbSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS5odHRw
cy5odG1sCmluZGV4IDA1YWZiNmJjMGZlMTFlOWViY2Y2YzQ2NGMxN2VhMTA4OWYwZGM4NDYuLjc1
NTQ1YWRiYzE5NWU4YWY4M2E4NjM0ZDc2MjZiMTEyZDAxY2YwMDkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0uaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgt
cmVhZGFibGUtc3RyZWFtLmh0dHBzLmh0bWwKQEAgLTEwLDIyICsxMCw0NSBAQAogY29uc3QgV09S
S0VSID0KICAgJ3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUtc3Ry
ZWFtLXdvcmtlci5qcyc7CiBjb25zdCBTQ09QRSA9Ci0gICdyZXNvdXJjZXMvZmV0Y2gtZXZlbnQt
cmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS1pZnJhbWUuaHRtbCc7Ci0vLyBDYWxsZWQgYnkg
dGhlIGlmcmFtZSB3aGVuIGRvbmUuCi12YXIgZG9uZTsKLXZhciBkb25lX3dhc19jYWxsZWQgPSBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKLQotcHJvbWlzZV90ZXN0KHQg
PT4gewotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
LCBXT1JLRVIsIFNDT1BFKQotICAgICAgLnRoZW4ocmVnID0+IHsKLSAgICAgICAgICAgYWRkX2Nv
bXBsZXRpb25fY2FsbGJhY2soKCkgPT4gcmVnLnVucmVnaXN0ZXIoKSk7Ci0gICAgICAgICAgIHJl
dHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAg
ICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+IHdpdGhfaWZyYW1lKFNDT1BFKSkKLSAgICAgIC50
aGVuKGlmcmFtZSA9PiB7Ci0gICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBpZnJhbWUucmVt
b3ZlKCkpCi0gICAgICAgIH0pCi0gICAgICAudGhlbigoKSA9PiBkb25lX3dhc19jYWxsZWQpCi0g
ICAgICAudGhlbihyZXN1bHQgPT4gYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdQQVNTJykpOwotICB9
LCAnUmVzcG9uZCB3aXRoIGEgUmVzcG9uc2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3RyZWFtJyk7
CisgICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7CisKKy8vIFJlZ2lzdGVyIGEgc2VydmljZSB3b3Jr
ZXIsIHRoZW4gY3JlYXRlIGFuIGlmcmFtZSBhdCB1cmwuCitmdW5jdGlvbiBpZnJhbWVUZXN0KHVy
bCwgY2FsbGJhY2ssIG5hbWUpIHsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICBjb25zdCByZWcgPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCBXT1JLRVIsIFNDT1BFKTsKKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9
PiByZWcudW5yZWdpc3RlcigpKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5z
dGFsbGluZywgJ2FjdGl2YXRlZCcpOworICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IHdpdGhfaWZy
YW1lKHVybCk7CisgICAgY29uc3QgaXdpbiA9IGlmcmFtZS5jb250ZW50V2luZG93OworICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKyAgICBhd2FpdCBjYWxsYmFjayh0
LCBpd2luKTsKKyAgfSwgbmFtZSk7Cit9CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBp
d2luKSA9PiB7CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3N0cmVhbScp
OworICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlc3BvbnNlLnRleHQoKSwgJ1BBU1MnKTsKK30sICdT
dWJyZXNvdXJjZSBidWlsdCBmcm9tIGEgUmVhZGFibGVTdHJlYW0nKTsKKworaWZyYW1lVGVzdChT
Q09QRSArICc/c3RyZWFtJywgKHQsIGl3aW4pID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhpd2luLmRv
Y3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQQVNTJyk7Cit9LCAnTWFpbiByZXNvdXJjZSBidWls
dCBmcm9tIGEgUmVhZGFibGVTdHJlYW0nKTsKKworaWZyYW1lVGVzdChTQ09QRSwgYXN5bmMgKHQs
IGl3aW4pID0+IHsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpd2luLmZldGNoKCc/c3RyZWFt
JmRlbGF5Jyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTUycp
OworfSwgJ1N1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0cmVhbSAtIGRlbGF5ZWQn
KTsKKworaWZyYW1lVGVzdChTQ09QRSArICc/c3RyZWFtJmRlbGF5JywgKHQsIGl3aW4pID0+IHsK
KyAgYXNzZXJ0X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQQVNTJyk7
Cit9LCAnTWFpbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgUmVhZGFibGVTdHJlYW0gLSBkZWxheWVk
Jyk7CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBpd2luKSA9PiB7CisgIGNvbnN0IHJl
c3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3N0cmVhbSZ1c2UtZmV0Y2gtc3RyZWFtJyk7Cisg
IGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTU1xuJyk7Cit9LCAnU3Vi
cmVzb3VyY2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3RyZWFtIC0gZmV0Y2ggc3RyZWFtJyk7CisK
K2lmcmFtZVRlc3QoU0NPUEUgKyAnP3N0cmVhbSZ1c2UtZmV0Y2gtc3RyZWFtJywgKHQsIGl3aW4p
ID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQ
QVNTXG4nKTsKK30sICdNYWluIHJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0cmVhbSAt
IGZldGNoIHN0cmVhbScpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZGU0MTczMDA0NTIyMDI2YjVkZmI0Mjg2
NDM2NzU1ZTBmZjVkMTQ3OC4uMDg3OTkwYmY4ZDRlODlkNTg1YWViODFhZGNmNmE3NmJhZWQ2NjEy
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSwyMSArMSwzOCBAQAogCi0KK1BBU1MgZ2xvYmFsIHNldHVwIAogUEFTUyBTZXJ2
aWNlIFdvcmtlciBoZWFkZXJzIGluIHRoZSByZXF1ZXN0IG9mIGEgZmV0Y2ggZXZlbnQgCiBQQVNT
IFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggc3RyaW5nIAorUEFT
UyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB1c2luZyByZXF1ZXN0IGZy
YWdtZW50IHdpdGggc3RyaW5nIAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRj
aCBldmVudCB3aXRoIGJsb2IgYm9keSAKIFBBU1MgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8g
ZmV0Y2ggZXZlbnQgd2l0aCB0aGUgcmVmZXJyZXIgVVJMIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBy
ZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIGFuIGV4aXN0aW5nIGNsaWVudCBpZCAKK0ZBSUwg
U2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCBy
ZXN1bHRpbmcgY2xpZW50IGlkIGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNob3VsZCBy
ZXNwb25kIHdpdGggYW4gZW1wdHkgcmVzdWx0aW5nIGNsaWVudCBpZCBmb3Igc3VicmVzb3VyY2Ug
cmVxdWVzdHMgZXhwZWN0ZWQgIlJlc3VsdGluZyBDbGllbnQgSUQgTm90IEZvdW5kIiBidXQgZ290
ICJSZXN1bHRpbmcgQ2xpZW50IElEIEZvdW5kOiB1bmRlZmluZWQiCiBQQVNTIFNlcnZpY2UgV29y
a2VyIGRvZXMgbm90IHJlc3BvbmQgdG8gZmV0Y2ggZXZlbnQgCiBQQVNTIFNlcnZpY2UgV29ya2Vy
IHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggbnVsbCByZXNwb25zZSBib2R5IAogUEFTUyBT
ZXJ2aWNlIFdvcmtlciBmZXRjaGVzIG90aGVyIGZpbGUgaW4gZmV0Y2ggZXZlbnQgCiBQQVNTIFNl
cnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggUE9TVCBmb3JtIAorUEFT
UyBTZXJ2aWNlIFdvcmtlciBmYWxscyBiYWNrIHRvIG5ldHdvcmsgaW4gZmV0Y2ggZXZlbnQgd2l0
aCBQT1NUIGZvcm0gCiBQQVNTIE11bHRpcGxlIGNhbGxzIG9mIHJlc3BvbmRXaXRoIG11c3QgdGhy
b3cgSW52YWxpZFN0YXRlRXJyb3JzIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBldmVudC5yZXNwb25k
V2l0aCBtdXN0IHNldCB0aGUgdXNlZCBmbGFnIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBzaG91bGQg
ZXhwb3NlIEZldGNoRXZlbnQgVVJMIGZyYWdtZW50cy4gCi1GQUlMIFNlcnZpY2UgV29ya2VyIHJl
c3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhlIGNvcnJlY3QgY2FjaGUgdHlwZXMgYXNzZXJ0
X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJuby1jYWNoZSIgYnV0IGdvdCAiZGVmYXVsdCIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitG
QUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhlIGNvcnJl
Y3QgY2FjaGUgdHlwZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vLWNhY2hlIiBidXQgZ290
ICJkZWZhdWx0IgogUEFTUyBTZXJ2aWNlIFdvcmtlciBzaG91bGQgaW50ZXJjZXB0IEV2ZW50U291
cmNlIAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRo
ZSBjb3JyZWN0IGludGVncml0eV9tZXRhZGF0YSAKIFBBU1MgRmV0Y2hFdmVudCNib2R5IGlzIGEg
c3RyaW5nIAorUEFTUyBGZXRjaEV2ZW50I2JvZHkgaXMgYSBzdHJpbmcgYW5kIGlzIHBhc3NlZCB0
byBuZXR3b3JrIGZhbGxiYWNrIAogUEFTUyBGZXRjaEV2ZW50I2JvZHkgaXMgYSBibG9iIAorUEFT
UyBGZXRjaEV2ZW50I2JvZHkgaXMgYSBibG9iIGFuZCBpcyBwYXNzZWQgdG8gbmV0d29yayBmYWxs
YmFjayAKIFBBU1MgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0
aGUgY29ycmVjdCBrZWVwYWxpdmUgdmFsdWUgCitGQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5pc1Jl
bG9hZE5hdmlnYXRpb24gaXMgdHJ1ZSAobG9jYXRpb24ucmVsb2FkKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlIiBidXQg
Z290ICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHVuZGVmaW5lZCIKK0ZBSUwg
RmV0Y2hFdmVudCNyZXF1ZXN0LmlzUmVsb2FkTmF2aWdhdGlvbiBpcyB0cnVlIChoaXN0b3J5Lmdv
KDApKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmln
YXRpb24gPSBmYWxzZSIgYnV0IGdvdCAibWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24g
PSB1bmRlZmluZWQiCitGQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5pc1JlbG9hZE5hdmlnYXRpb24g
aXMgdHJ1ZSAoUE9TVCArIGxvY2F0aW9uLnJlbG9hZCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAibWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAibWV0
aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSB1bmRlZmluZWQiCitGQUlMIEZldGNoRXZl
bnQjcmVxdWVzdC5pc1JlbG9hZE5hdmlnYXRpb24gaXMgdHJ1ZSAod2l0aCBoaXN0b3J5IHRyYXZl
cnNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm1ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZp
Z2F0aW9uID0gZmFsc2UiIGJ1dCBnb3QgIm1ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9u
ID0gdW5kZWZpbmVkIgorRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdhdGlv
biBpcyB0cnVlICh3aXRoIGhpc3RvcnkuZ28oLTEpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
bWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gZmFsc2UiIGJ1dCBnb3QgIm1ldGhv
ZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IHVuZGVmaW5lZCIKK0ZBSUwgRmV0Y2hFdmVu
dCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24gaXMgdHJ1ZSAod2l0aCBoaXN0b3J5LmdvKDEp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0
aW9uID0gZmFsc2UiIGJ1dCBnb3QgIm1ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9
IHVuZGVmaW5lZCIKK0ZBSUwgRmV0Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24g
aXMgZmFsc2UgKHdpdGggaGlzdG9yeS5nbygwKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm1l
dGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IGZhbHNlIiBidXQgZ290ICJtZXRob2Qg
PSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB1bmRlZmluZWQiCitGQUlMIEZldGNoRXZlbnQj
cmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9uIGlzIGZhbHNlICh3aXRoIGxvY2F0aW9uLnJlbG9h
ZCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm1ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdh
dGlvbiA9IGZhbHNlIiBidXQgZ290ICJtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24g
PSB1bmRlZmluZWQiCitGQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9u
IGlzIHRydWUgKHdpdGggaGlzdG9yeS5nbygtMikpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAibWV0aG9k
ID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gdW5kZWZpbmVkIgorRkFJTCBGZXRjaEV2ZW50
I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdhdGlvbiBpcyB0cnVlICh3aXRoIGhpc3RvcnkuZ28oMikp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRp
b24gPSBmYWxzZSIgYnV0IGdvdCAibWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0g
dW5kZWZpbmVkIgorRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdhdGlvbiBp
cyB0cnVlIChQT1NUICsgaGlzdG9yeS5nbygtMSkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAibWV0aG9k
ID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gdW5kZWZpbmVkIgorUEFTUyByZXN0b3JlIGds
b2JhbCBzdGF0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKaW5k
ZXggMjQwMjE5YjA4MmRjN2YxY2ExYThhZmZhMzhjMDA2YTExZThiNGY0Yi4uMTY5YTBiMTdkNjIz
MDMzNWZiMGM4Mzk4ODAzOTg3NWM4MTVkOTllMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1l
dmVudC5odHRwcy5odG1sCkBAIC0xLDQgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBu
YW1lPXRpbWVvdXQgY29udGVudD1sb25nPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5z
dWIuanMiPjwvc2NyaXB0PgpAQCAtNiwxNiArNywyNSBAQAogPGJvZHk+CiA8c2NyaXB0PgogdmFy
IHdvcmtlciA9ICdyZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMnOworZnVuY3Rp
b24gd2FpdChtcykgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHN0ZXBfdGlt
ZW91dChyZXNvbHZlLCBtcykpOworfQogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICBj
b25zdCBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aGVhZGVycyc7Ci0gICAgc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAg
IC50aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0
LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCitwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzLyc7CisgICAgY29uc3Qg
cmVnaXN0cmF0aW9uID0KKyAgICAgICAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUo
dCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICBwcm9taXNlX3Rl
c3QodCA9PiB7CisgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICAg
ICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7CisgIH0sICdnbG9iYWwgc2V0dXAnKTsKKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNlcy9zaW1w
bGUuaHRtbD9oZWFkZXJzJzsKKyAgICByZXR1cm4gd2l0aF9pZnJhbWUocGFnZV91cmwpCiAgICAg
ICAudGhlbihmdW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+
IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBKU09OLnBh
cnNlKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50KTsKICAgICAgICAgICBj
b25zdCBoZWFkZXJfbmFtZXMgPSB7fTsKICAgICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1
ZV0gb2YgaGVhZGVycykgewpAQCAtMjYsMjAgKzM2LDE0IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewogICAgICAgICAgICAgaGVhZGVyX25hbWVzLmhhc093blByb3BlcnR5KCdhY2NlcHQnKSwK
ICAgICAgICAgICAgICdyZXF1ZXN0IGluY2x1ZGVzICJBY2NlcHQiIGhlYWRlciBhcyBpbnNlcnRl
ZCBieSBGZXRjaCcKICAgICAgICAgICApOwotCi0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNh
dGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2Ug
V29ya2VyIGhlYWRlcnMgaW4gdGhlIHJlcXVlc3Qgb2YgYSBmZXRjaCBldmVudCcpOwogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5o
dG1sP3N0cmluZyc7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIo
dCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAg
IHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwot
ICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShz
Y29wZSk7IH0pCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVz
b3VyY2VzL3NpbXBsZS5odG1sP3N0cmluZyc7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2Vf
dXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKKyAgICAgICAgICB0LmFkZF9jbGVh
bnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMo
CiAgICAgICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAg
ICAgICAgICAgICdUZXN0IHN0cmluZycsCkBAIC01Miw1OCArNTYsNTggQEAgYXN5bmNfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQuY2hhcmFjdGVy
U2V0LAogICAgICAgICAgICAgJ1VURi04JywKICAgICAgICAgICAgICdUaGUgY2hhcmFjdGVyIHNl
dCBvZiB0aGUgcmVzcG9uc2UgY3JlYXRlZCB3aXRoIGEgc3RyaW5nIHNob3VsZCBiZSBVVEYtOCcp
OwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5j
YXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdTZXJ2aWNl
IFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHN0cmluZycpOwogCi1hc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1s
P2Jsb2InOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdv
cmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1
cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAg
ICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUp
OyB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/c3RyaW5nJzsKKyAg
ICB2YXIgZnJhbWU7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQorICAgICAgLnRo
ZW4oZnVuY3Rpb24oZikgeworICAgICAgICBmcmFtZSA9IGY7CisgICAgICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgIHJldHVybiBmcmFtZS5jb250
ZW50V2luZG93LmZldGNoKHBhZ2VfdXJsICsgIiNmb28iKQorICAgICAgfSkKKyAgICAgIC50aGVu
KGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZS50ZXh0KCkgfSkKKyAgICAgIC50
aGVuKGZ1bmN0aW9uKHRleHQpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAg
ICAgdGV4dCwKKyAgICAgICAgICAgICdUZXN0IHN0cmluZycsCisgICAgICAgICAgICAnU2Vydmlj
ZSBXb3JrZXIgc2hvdWxkIHJlc3BvbmQgdG8gZmV0Y2ggd2l0aCBhIHRlc3Qgc3RyaW5nJyk7Cisg
ICAgICAgIH0pOworICB9LCAnU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQg
dXNpbmcgcmVxdWVzdCBmcmFnbWVudCB3aXRoIHN0cmluZycpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Jsb2InOwor
ICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVuKGZyYW1lID0+IHsK
KyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoCiAgICAgICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQu
Ym9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICdUZXN0IGJsb2InLAogICAgICAgICAgICAg
J1NlcnZpY2UgV29ya2VyIHNob3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggYSB0ZXN0IHN0cmlu
ZycpOwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAg
IC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdTZXJ2
aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIGJsb2IgYm9keScpOwogCi1h
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBs
ZS5odG1sP3JlZmVycmVyJzsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7Ci0gICAg
ICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVk
Jyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdpdGhfaWZy
YW1lKHNjb3BlKTsgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7Citwcm9taXNlX3Rl
c3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP3Jl
ZmVycmVyJzsKKyAgICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVu
KGZyYW1lID0+IHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3Zl
KCk7IH0pOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoCiAgICAgICAgICAgICBmcmFtZS5jb250
ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICdSZWZlcnJlcjogJyAr
IGRvY3VtZW50LmxvY2F0aW9uLmhyZWYsCiAgICAgICAgICAgICAnU2VydmljZSBXb3JrZXIgc2hv
dWxkIHJlc3BvbmQgdG8gZmV0Y2ggd2l0aCB0aGUgcmVmZXJyZXIgVVJMJyk7Ci0gICAgICAgICAg
ZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hl
ZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHJlc3Bv
bmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhlIHJlZmVycmVyIFVSTCcpOwogCi1hc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Ns
aWVudElkJzsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/Y2xpZW50SWQnOwogICAgIHZhciBmcmFtZTsKLSAgICBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAg
LnRoZW4oZnVuY3Rpb24ocmVnKSB7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihm
dW5jdGlvbigpIHsgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsgfSkKKyAgICByZXR1cm4gd2l0
aF9pZnJhbWUocGFnZV91cmwpCiAgICAgICAudGhlbihmdW5jdGlvbihmKSB7CiAgICAgICAgICAg
ZnJhbWUgPSBmOworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUo
KTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIGZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAgICAgICAgJ0NsaWVudCBJRCBOb3Qg
Rm91bmQnLApAQCAtMTEyLDE0NyArMTE2LDE0NyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsK
ICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVybiByZXNw
b25zZS50ZXh0KCk7IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihyZXNwb25zZV90ZXh0KSB7Ci0g
ICAgICAgICAgdmFyIG5ld19jbGllbnRfaWQgPSByZXNwb25zZV90ZXh0LnN1YnN0cigxNyk7CiAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQuc3Vic3Ry
KDAsIDE1KSwKICAgICAgICAgICAgICdDbGllbnQgSUQgRm91bmQnLAogICAgICAgICAgICAgJ1Nl
cnZpY2UgV29ya2VyIHNob3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggYW4gZXhpc3RpbmcgY2xp
ZW50IGlkJyk7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQot
ICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwg
J1NlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggYW4gZXhpc3Rpbmcg
Y2xpZW50IGlkJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzY29wZSA9
ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJzsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rp
b24ocmVnKSB7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxs
aW5nLCAnYWN0aXZhdGVkJyk7Citwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91
cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP3Jlc3VsdGluZ0NsaWVudElkJzsKKyAgICBjb25z
dCBleHBlY3RlZF9mb3VuZCA9ICdSZXN1bHRpbmcgQ2xpZW50IElEIEZvdW5kJzsKKyAgICBjb25z
dCBleHBlY3RlZF9ub3RfZm91bmQgPSAnUmVzdWx0aW5nIENsaWVudCBJRCBOb3QgRm91bmQnOwor
ICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGZy
YW1lKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9
KTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgICAgZnJhbWUuY29udGVudERv
Y3VtZW50LmJvZHkudGV4dENvbnRlbnQuc3Vic3RyKDAsIGV4cGVjdGVkX2ZvdW5kLmxlbmd0aCks
CisgICAgICAgICAgICBleHBlY3RlZF9mb3VuZCwKKyAgICAgICAgICAgICdTZXJ2aWNlIFdvcmtl
ciBzaG91bGQgcmVzcG9uZCB3aXRoIGFuIGV4aXN0aW5nIHJlc3VsdGluZyBjbGllbnQgaWQgZm9y
IG5vbi1zdWJyZXNvdXJjZSByZXF1ZXN0cycpOworICAgICAgICAgIHJldHVybiBmcmFtZS5jb250
ZW50V2luZG93LmZldGNoKCdyZXNvdXJjZXMvb3RoZXIuaHRtbD9yZXN1bHRpbmdDbGllbnRJZCcp
OwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFt
ZShzY29wZSk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeyByZXR1cm4gcmVz
cG9uc2UudGV4dCgpOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2VfdGV4dCkgewor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICByZXNwb25zZV90ZXh0LnN1YnN0
cigwKSwKKyAgICAgICAgICAgIGV4cGVjdGVkX25vdF9mb3VuZCwKKyAgICAgICAgICAgICdTZXJ2
aWNlIFdvcmtlciBzaG91bGQgcmVzcG9uZCB3aXRoIGFuIGVtcHR5IHJlc3VsdGluZyBjbGllbnQg
aWQgZm9yIHN1YnJlc291cmNlIHJlcXVlc3RzJyk7CisgICAgICAgIH0pOworICB9LCAnU2Vydmlj
ZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCByZXN1bHRp
bmcgY2xpZW50IGlkJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBwYWdlX3Vy
bCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJzsKKyAgICByZXR1cm4gd2l0aF9pZnJh
bWUocGFnZV91cmwpCiAgICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgICAgICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICdIZXJlXCdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbicsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAnUmVzcG9uc2Ugc2hvdWxkIGNvbWUgZnJvbSBmYWxsYmFjayB0byBu
YXRpdmUgZmV0Y2gnKTsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAg
IH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwog
ICB9LCAnU2VydmljZSBXb3JrZXIgZG9lcyBub3QgcmVzcG9uZCB0byBmZXRjaCBldmVudCcpOwog
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Np
bXBsZS5odG1sP251bGwnOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJh
bWUoc2NvcGUpOyB9KQorcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0g
J3Jlc291cmNlcy9zaW1wbGUuaHRtbD9udWxsJzsKKyAgICByZXR1cm4gd2l0aF9pZnJhbWUocGFn
ZV91cmwpCiAgICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgICAgICAgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlIHNob3VsZCBi
ZSB0aGUgZW1wdHkgc3RyaW5nJyk7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwot
ICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAg
ICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGgg
bnVsbCByZXNwb25zZSBib2R5Jyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZh
ciBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/ZmV0Y2gnOwotICAgIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhl
bihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVn
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQorcHJvbWlzZV90ZXN0KHQgPT4g
eworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9mZXRjaCc7Cisg
ICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJh
bWUpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0p
OwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4
dENvbnRlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAnSGVyZVwncyBhbiBvdGhlciBodG1s
IGZpbGUuXG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlIHNob3VsZCBjb21l
IGZyb20gZmV0Y2hlZCBvdGhlciBmaWxlJyk7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0g
ICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2Nv
cGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIGZldGNoZXMgb3RoZXIgZmlsZSBpbiBm
ZXRjaCBldmVudCcpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUg
PSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Zvcm0tcG9zdCc7Ci0gICAgdmFyIGZyYW1lX25hbWUg
PSAneGhyLXBvc3QtZnJhbWUnOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAg
ICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHN3KSB7Ci0gICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAgdmFyIGZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0gICAgICAgICAgICBmcmFt
ZS5uYW1lID0gZnJhbWVfbmFtZTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZnJhbWUpOwotICAgICAgICAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdmb3JtJyk7Ci0gICAgICAgICAgICBmb3JtLnRhcmdldCA9IGZyYW1lX25hbWU7Ci0gICAgICAg
ICAgICBmb3JtLmFjdGlvbiA9IHNjb3BlOwotICAgICAgICAgICAgZm9ybS5tZXRob2QgPSAncG9z
dCc7Ci0gICAgICAgICAgICB2YXIgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKLSAgICAgICAgICAgIGlucHV0MS50eXBlID0gJ3RleHQnOwotICAgICAgICAgICAgaW5w
dXQxLnZhbHVlID0gJ3Rlc3RWYWx1ZTEnOwotICAgICAgICAgICAgaW5wdXQxLm5hbWUgPSAndGVz
dE5hbWUxJwotICAgICAgICAgICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dDEpOwotICAgICAgICAg
ICAgdmFyIGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0gICAgICAg
ICAgICBpbnB1dDIudHlwZSA9ICd0ZXh0JzsKLSAgICAgICAgICAgIGlucHV0Mi52YWx1ZSA9ICd0
ZXN0VmFsdWUyJzsKLSAgICAgICAgICAgIGlucHV0Mi5uYW1lID0gJ3Rlc3ROYW1lMicKLSAgICAg
ICAgICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQyKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZm9ybSk7Ci0gICAgICAgICAgICBmcmFtZS5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTsKLSAg
ICAgICAgICAgICAgcmVzb2x2ZShmcmFtZSk7Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAg
Zm9ybS5zdWJtaXQoKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1
bmN0aW9uKGZyYW1lKSB7CisvLyBDcmVhdGVzIGEgZm9ybSBhbmQgYW4gaWZyYW1lIGFuZCBkb2Vz
IGEgZm9ybSBzdWJtaXNzaW9uIHRoYXQgbmF2aWdhdGVzIHRoZQorLy8gZnJhbWUgdG8gfGFjdGlv
bl91cmx8LiBSZXR1cm5zIHRoZSBmcmFtZSBhZnRlciBuYXZpZ2F0aW9uLgorZnVuY3Rpb24gc3Vi
bWl0X2Zvcm0oYWN0aW9uX3VybCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOwor
ICAgICAgZnJhbWUubmFtZSA9ICdwb3N0LWZyYW1lJzsKKyAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZnJhbWUpOworICAgICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2Zvcm0nKTsKKyAgICAgIGZvcm0udGFyZ2V0ID0gZnJhbWUubmFtZTsKKyAgICAgIGZvcm0u
YWN0aW9uID0gYWN0aW9uX3VybDsKKyAgICAgIGZvcm0ubWV0aG9kID0gJ3Bvc3QnOworICAgICAg
Y29uc3QgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKKyAgICAgIGlu
cHV0MS50eXBlID0gJ3RleHQnOworICAgICAgaW5wdXQxLnZhbHVlID0gJ3Rlc3RWYWx1ZTEnOwor
ICAgICAgaW5wdXQxLm5hbWUgPSAndGVzdE5hbWUxJworICAgICAgZm9ybS5hcHBlbmRDaGlsZChp
bnB1dDEpOworICAgICAgY29uc3QgaW5wdXQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5w
dXQnKTsKKyAgICAgIGlucHV0Mi50eXBlID0gJ3RleHQnOworICAgICAgaW5wdXQyLnZhbHVlID0g
J3Rlc3RWYWx1ZTInOworICAgICAgaW5wdXQyLm5hbWUgPSAndGVzdE5hbWUyJworICAgICAgZm9y
bS5hcHBlbmRDaGlsZChpbnB1dDIpOworICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChm
b3JtKTsKKyAgICAgIGZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBmb3JtLnJl
bW92ZSgpOworICAgICAgICByZXNvbHZlKGZyYW1lKTsKKyAgICAgIH07CisgICAgICBmb3JtLnN1
Ym1pdCgpOworICAgIH0pOworfQorCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcGFn
ZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Zvcm0tcG9zdCc7CisgICAgcmV0dXJuIHN1
Ym1pdF9mb3JtKHBhZ2VfdXJsKQorICAgICAgLnRoZW4oZnJhbWUgPT4geworICAgICAgICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICdQT1NUOmFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDon
ICsKICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0TmFtZTE9dGVzdFZhbHVlMSZ0ZXN0TmFt
ZTI9dGVzdFZhbHVlMicpOwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAg
ICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7
CiAgIH0sICdTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIFBPU1Qg
Zm9ybScpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVz
b3VyY2VzL3NpbXBsZS5odG1sP211bHRpcGxlLXJlc3BvbmQtd2l0aCc7Ci0gICAgc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50
aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCBy
ZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVu
Y3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCi0gICAgICAudGhlbihmdW5j
dGlvbihmcmFtZSkgeworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIC8vIEFkZCAnP2lnbm9yZScg
c28gdGhlIHNlcnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sgdG8gbmV0d29yay4KKyAgICBjb25zdCBw
YWdlX3VybCA9ICdyZXNvdXJjZXMvZWNoby1jb250ZW50LnB5P2lnbm9yZSc7CisgICAgcmV0dXJu
IHN1Ym1pdF9mb3JtKHBhZ2VfdXJsKQorICAgICAgLnRoZW4oZnJhbWUgPT4geworICAgICAgICAg
IHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICd0ZXN0TmFtZTE9dGVzdFZhbHVlMSZ0ZXN0TmFtZTI9dGVzdFZh
bHVlMicpOworICAgICAgICB9KTsKKyAgfSwgJ1NlcnZpY2UgV29ya2VyIGZhbGxzIGJhY2sgdG8g
bmV0d29yayBpbiBmZXRjaCBldmVudCB3aXRoIFBPU1QgZm9ybScpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP211bHRp
cGxlLXJlc3BvbmQtd2l0aCc7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQorICAg
ICAgLnRoZW4oZnJhbWUgPT4geworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFt
ZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIGZy
YW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAgICAgICAgJygwKSgx
KVtJbnZhbGlkU3RhdGVFcnJvcl0oMilbSW52YWxpZFN0YXRlRXJyb3JdJywKICAgICAgICAgICAg
ICdNdWx0aXBsZSBjYWxscyBvZiByZXNwb25kV2l0aCBtdXN0IHRocm93IEludmFsaWRTdGF0ZUVy
cm9ycy4nKTsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1cm4gc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0g
ICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAn
TXVsdGlwbGUgY2FsbHMgb2YgcmVzcG9uZFdpdGggbXVzdCB0aHJvdyBJbnZhbGlkU3RhdGVFcnJv
cnMnKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdmFyIHNjb3BlID0gJ3Jlc291
cmNlcy9zaW1wbGUuaHRtbD91c2VkLWNoZWNrJzsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBj
b25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/dXNlZC1jaGVjayc7CiAgICAg
dmFyIGZpcnN0X2ZyYW1lOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJh
bWUoc2NvcGUpOyB9KQorICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKICAgICAgIC50
aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250
ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICdI
ZXJlXCdzIGFuIG90aGVyIGh0bWwgZmlsZS5cbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAn
UmVzcG9uc2Ugc2hvdWxkIGNvbWUgZnJvbSBmZXRjaGVkIG90aGVyIGZpbGUnKTsKICAgICAgICAg
ICBmaXJzdF9mcmFtZSA9IGZyYW1lOwotICAgICAgICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29w
ZSk7CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZpcnN0X2ZyYW1lLnJlbW92ZSgp
OyB9KTsKKyAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUocGFnZV91cmwpOwogICAgICAgICB9
KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICAvLyBXaGVuIHdlIGFj
Y2VzcyB0byB0aGUgc2NvcGUgaW4gdGhlIHNlY29uZCB0aW1lLCB0aGUgY29udGVudCBvZiB0aGUK
KyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAg
ICAgICAgIC8vIFdoZW4gd2UgYWNjZXNzIHRvIHRoZSBwYWdlX3VybCBpbiB0aGUgc2Vjb25kIHRp
bWUsIHRoZSBjb250ZW50IG9mIHRoZQogICAgICAgICAgIC8vIHJlc3BvbnNlIGlzIGdlbmVyYXRl
ZCBpbnNpZGUgdGhlIFNlcnZpY2VXb3JrZXIuIFRoZSBib2R5IGNvbnRhaW5zCiAgICAgICAgICAg
Ly8gdGhlIHZhbHVlIG9mIGJvZHlVc2VkIG9mIHRoZSBmaXJzdCByZXNwb25zZSB3aGljaCBpcyBh
bHJlYWR5CiAgICAgICAgICAgLy8gY29uc3VtZWQgYnkgRmV0Y2hFdmVudC5yZXNwb25kV2l0aCBt
ZXRob2QuCkBAIC0yNjAsNDYgKzI2NCwzMyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAg
ICAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAg
ICAgICAgJ2JvZHlVc2VkOiB0cnVlJywKICAgICAgICAgICAgICdldmVudC5yZXNwb25kV2l0aCBt
dXN0IHNldCB0aGUgdXNlZCBmbGFnLicpOwotICAgICAgICAgIGZpcnN0X2ZyYW1lLnJlbW92ZSgp
OwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5j
YXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdTZXJ2aWNl
IFdvcmtlciBldmVudC5yZXNwb25kV2l0aCBtdXN0IHNldCB0aGUgdXNlZCBmbGFnJyk7CiAKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxl
Lmh0bWw/ZnJhZ21lbnQtY2hlY2snOworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGNvbnN0IHBh
Z2VfdXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9mcmFnbWVudC1jaGVjayc7CiAgICAgdmFy
IGZyYWdtZW50ID0gJyMvc29tZS9mcmFnbWVudCc7CiAgICAgdmFyIGZpcnN0X2ZyYW1lOwotICAg
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUp
Ci0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jf
c3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAg
IC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUgKyBmcmFnbWVudCk7
IH0pCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsICsgZnJhZ21lbnQpCiAgICAgICAu
dGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBm
cmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAg
IGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAgICAgICAgJ0Zy
YWdtZW50IEZvdW5kIDonICsgZnJhZ21lbnQsCiAgICAgICAgICAgICAnU2VydmljZSB3b3JrZXIg
c2hvdWxkIGV4cG9zZSBVUkwgZnJhZ21lbnRzIGluIHJlcXVlc3QuJyk7Ci0gICAgICAgICAgZnJh
bWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9y
ZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHNob3VsZCBl
eHBvc2UgRmV0Y2hFdmVudCBVUkwgZnJhZ21lbnRzLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2NhY2hlJzsKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxl
Lmh0bWw/Y2FjaGUnOwogICAgIHZhciBmcmFtZTsKICAgICB2YXIgY2FjaGVUeXBlcyA9IFsKICAg
ICAgIHVuZGVmaW5lZCwgJ2RlZmF1bHQnLCAnbm8tc3RvcmUnLCAncmVsb2FkJywgJ25vLWNhY2hl
JywgJ2ZvcmNlLWNhY2hlJywgJ29ubHktaWYtY2FjaGVkJwogICAgIF07Ci0gICAgc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50
aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCBy
ZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVu
Y3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCisgICAgcmV0dXJuIHdpdGhf
aWZyYW1lKHBhZ2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgewogICAgICAgICAgIGZy
YW1lID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7
IH0pOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVu
dC5ib2R5LnRleHRDb250ZW50LCAnZGVmYXVsdCcpOwogICAgICAgICAgIHZhciB0ZXN0cyA9IGNh
Y2hlVHlwZXMubWFwKGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgICAgICAgIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKQEAgLTMwOSw3ICszMDAsNyBAQCBhc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgIC8vIHJlcXVpcmVzIHRoZSBt
b2RlIHRvIGJlIHNhbWUtb3JpZ2luLgogICAgICAgICAgICAgICAgICAgaW5pdC5tb2RlID0gJ3Nh
bWUtb3JpZ2luJzsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZy
YW1lLmNvbnRlbnRXaW5kb3cuZmV0Y2goc2NvcGUgKyAnPScgKyB0eXBlLCBpbml0KQorICAgICAg
ICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKHBhZ2VfdXJsICsgJz0n
ICsgdHlwZSwgaW5pdCkKICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNl
KSB7IHJldHVybiByZXNwb25zZS50ZXh0KCk7IH0pCiAgICAgICAgICAgICAgICAgICAudGhlbihm
dW5jdGlvbihyZXNwb25zZV90ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIGV4cGVj
dGVkID0gKHR5cGUgPT09IHVuZGVmaW5lZCkgPyAnZGVmYXVsdCcgOiB0eXBlOwpAQCAtMzM2LDIx
ICszMjcsMTYgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAgICAgICAg
ICAgfSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICBm
cmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVk
X3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnU2VydmljZSBXb3JrZXIgcmVzcG9u
ZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCBjYWNoZSB0eXBlcycpOwogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5o
dG1sP2V2ZW50c291cmNlJzsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBwYWdlX3Vy
bCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/ZXZlbnRzb3VyY2UnOwogICAgIHZhciBmcmFtZTsK
IAogICAgIGZ1bmN0aW9uIHRlc3RfZXZlbnRzb3VyY2Uob3B0cykgewogICAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICB2YXIgZXZlbnRT
b3VyY2UgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5FdmVudFNvdXJjZShzY29wZSwgb3B0cyk7
CisgICAgICAgIHZhciBldmVudFNvdXJjZSA9IG5ldyBmcmFtZS5jb250ZW50V2luZG93LkV2ZW50
U291cmNlKHBhZ2VfdXJsLCBvcHRzKTsKICAgICAgICAgZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0
ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKG1zZykgewogICAgICAgICAgIGV2ZW50U291cmNlLmNs
b3NlKCk7CiAgICAgICAgICAgdHJ5IHsKQEAgLTM3NSw3MyArMzYxLDU0IEBAIGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgewogICAgICAgfSk7CiAgICAgfQogCi0gICAgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50aGVuKGZ1bmN0
aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFs
bGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7
IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBh
Z2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgewogICAgICAgICAgIGZyYW1lID0gZjsK
KyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAg
ICAgICAgIHJldHVybiB0ZXN0X2V2ZW50c291cmNlKHsgd2l0aENyZWRlbnRpYWxzOiBmYWxzZSB9
KTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgIHJldHVy
biB0ZXN0X2V2ZW50c291cmNlKHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pOwotICAgICAgICB9
KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0g
ICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2Nv
cGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHNob3VsZCBpbnRlcmNlcHQgRXZlbnRT
b3VyY2UnKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdmFyIHNjb3BlID0gJ3Jl
c291cmNlcy9zaW1wbGUuaHRtbD9pbnRlZ3JpdHknOworcHJvbWlzZV90ZXN0KHQgPT4geworICAg
IGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9pbnRlZ3JpdHknOwogICAg
IHZhciBmcmFtZTsKICAgICB2YXIgaW50ZWdyaXR5X21ldGFkYXRhID0gJ2dzMG5xcnU4S2Jzckl0
NVlUb1FxUzlmWWFvNEdRSlh0Y0lkNjEwZzdjQ1U9JzsKIAotICAgIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5j
dGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3Rh
bGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkg
eyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQorICAgIHJldHVybiB3aXRoX2lmcmFtZShw
YWdlX3VybCkKICAgICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKICAgICAgICAgICBmcmFtZSA9IGY7
CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKICAg
ICAgICAgICAvLyBBIHJlcXVlc3QgaGFzIGFzc29jaWF0ZWQgaW50ZWdyaXR5IG1ldGFkYXRhIChh
IHN0cmluZykuCiAgICAgICAgICAgLy8gVW5sZXNzIHN0YXRlZCBvdGhlcndpc2UsIGl0IGlzIHRo
ZSBlbXB0eSBzdHJpbmcuCiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIGZy
YW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAnJyk7CiAKLSAgICAgICAgICBy
ZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaChzY29wZSwgeydpbnRlZ3JpdHknOiBpbnRl
Z3JpdHlfbWV0YWRhdGF9KTsKKyAgICAgICAgICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5m
ZXRjaChwYWdlX3VybCwgeydpbnRlZ3JpdHknOiBpbnRlZ3JpdHlfbWV0YWRhdGF9KTsKICAgICAg
ICAgfSkKICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICByZXR1cm4gcmVzcG9u
c2UudGV4dCgpOwogICAgICAgICB9KQogICAgICAgLnRoZW4ocmVzcG9uc2VfdGV4dCA9PiB7CiAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZV90ZXh0LCBpbnRlZ3JpdHlfbWV0YWRhdGEs
ICdpbnRlZ3JpdHknKTsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAg
IH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwog
ICB9LCAnU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29y
cmVjdCBpbnRlZ3JpdHlfbWV0YWRhdGEnKTsKIAogLy8gVGVzdCB0aGF0IHRoZSBzZXJ2aWNlIHdv
cmtlciBjYW4gcmVhZCBGZXRjaEV2ZW50I2JvZHkgd2hlbiBpdCBpcyBhIHN0cmluZy4KIC8vIEl0
IHJlc3BvbmRzIHdpdGggcmVxdWVzdCBib2R5IGl0IHJlYWQuCiBwcm9taXNlX3Rlc3QodCA9PiB7
Ci0gICAgLy8gU2V0IHNjb3BlIHRvICI/aWdub3JlIiBzbyB0aGUgc2VydmljZSB3b3JrZXIgZmFs
bHMgYmFjayB0byBuZXR3b3JrCisgICAgLy8gU2V0IHBhZ2VfdXJsIHRvICI/aWdub3JlIiBzbyB0
aGUgc2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCiAgICAgLy8gZm9yIHRoZSBt
YWluIHJlc291cmNlIHJlcXVlc3QsIGFuZCBhZGQgYSBzdWZmaXggdG8gYXZvaWQgY29sbGlkaW5n
CiAgICAgLy8gd2l0aCBvdGhlciB0ZXN0cy4KLSAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMv
c2ltcGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHktc3RyaW5nJzsKKyAgICBjb25zdCBw
YWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHkt
c3RyaW5nJzsKICAgICBsZXQgZnJhbWU7CiAKLSAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50aGVuKHJlZyA9
PiB7Ci0gICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soKCkgPT4geyByZWcudW5yZWdp
c3RlcigpOyB9KTsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3Rh
bGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+IHsKLSAg
ICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQorICAgIHJldHVybiB3aXRoX2lm
cmFtZShwYWdlX3VybCkKICAgICAgIC50aGVuKGYgPT4gewogICAgICAgICAgIGZyYW1lID0gZjsK
KyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAg
ICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKCdzaW1wbGUuaHRtbD9yZXF1
ZXN0LWJvZHknLCB7CiAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAogICAgICAgICAgICAg
ICBib2R5OiAnaSBhbSB0aGUgcmVxdWVzdCBib2R5JwpAQCAtNDUxLDI5ICs0MTgsNTQgQEAgcHJv
bWlzZV90ZXN0KHQgPT4gewogICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7CiAgICAg
ICAgIH0pCiAgICAgICAudGhlbihyZXNwb25zZV90ZXh0ID0+IHsKLSAgICAgICAgICBmcmFtZS5y
ZW1vdmUoKTsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlX3RleHQsICdpIGFtIHRo
ZSByZXF1ZXN0IGJvZHknKTsKICAgICAgICAgfSk7CiAgIH0sICdGZXRjaEV2ZW50I2JvZHkgaXMg
YSBzdHJpbmcnKTsKIAorLy8gVGVzdCB0aGF0IHRoZSByZXF1ZXN0IGJvZHkgaXMgc2VudCB0byBu
ZXR3b3JrIHVwb24gbmV0d29yayBmYWxsYmFjaywKKy8vIGZvciBhIHN0cmluZyBib2R5LgorcHJv
bWlzZV90ZXN0KHQgPT4geworICAgIC8vIFNldCBwYWdlX3VybCB0byAiP2lnbm9yZSIgc28gdGhl
IHNlcnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sgdG8gbmV0d29yaworICAgIC8vIGZvciB0aGUgbWFp
biByZXNvdXJjZSByZXF1ZXN0LCBhbmQgYWRkIGEgc3VmZml4IHRvIGF2b2lkIGNvbGxpZGluZwor
ICAgIC8vIHdpdGggb3RoZXIgdGVzdHMuCisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2Vz
Lz9pZ25vcmUtZm9yLXJlcXVlc3QtYm9keS1mYWxsYmFjay1zdHJpbmcnOworICAgIGxldCBmcmFt
ZTsKKworICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVuKGYgPT4g
eworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsg
ZnJhbWUucmVtb3ZlKCk7IH0pOworICAgICAgICAgIC8vIEFkZCAiP2lnbm9yZSIgc28gdGhlIHNl
cnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sgdG8gZWNoby1jb250ZW50LnB5LgorICAgICAgICAgIGNv
bnN0IGVjaG9fdXJsID0gJy9mZXRjaC9hcGkvcmVzb3VyY2VzL2VjaG8tY29udGVudC5weT9pZ25v
cmUnOworICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKGVjaG9fdXJs
LCB7CisgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAorICAgICAgICAgICAgICBib2R5OiAn
aSBhbSB0aGUgcmVxdWVzdCBib2R5JworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pCisgICAg
ICAudGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKTsK
KyAgICAgICAgfSkKKyAgICAgIC50aGVuKHJlc3BvbnNlX3RleHQgPT4geworICAgICAgICAgIGFz
c2VydF9lcXVhbHMoCisgICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQsCisgICAgICAgICAgICAg
ICdpIGFtIHRoZSByZXF1ZXN0IGJvZHknLAorICAgICAgICAgICAgICAndGhlIG5ldHdvcmsgZmFs
bGJhY2sgcmVxdWVzdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVxdWVzdCBib2R5Jyk7CisgICAgICAg
IH0pOworICB9LCAnRmV0Y2hFdmVudCNib2R5IGlzIGEgc3RyaW5nIGFuZCBpcyBwYXNzZWQgdG8g
bmV0d29yayBmYWxsYmFjaycpOworCiAvLyBUZXN0IHRoYXQgdGhlIHNlcnZpY2Ugd29ya2VyIGNh
biByZWFkIEZldGNoRXZlbnQjYm9keSB3aGVuIGl0IGlzIGEgYmxvYi4KIC8vIEl0IHJlc3BvbmRz
IHdpdGggcmVxdWVzdCBib2R5IGl0IHJlYWQuCiBwcm9taXNlX3Rlc3QodCA9PiB7Ci0gICAgLy8g
U2V0IHNjb3BlIHRvICI/aWdub3JlIiBzbyB0aGUgc2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0
byBuZXR3b3JrCisgICAgLy8gU2V0IHBhZ2VfdXJsIHRvICI/aWdub3JlIiBzbyB0aGUgc2Vydmlj
ZSB3b3JrZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCiAgICAgLy8gZm9yIHRoZSBtYWluIHJlc291
cmNlIHJlcXVlc3QsIGFuZCBhZGQgYSBzdWZmaXggdG8gYXZvaWQgY29sbGlkaW5nCiAgICAgLy8g
d2l0aCBvdGhlciB0ZXN0cy4KLSAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0
bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHktYmxvYic7CisgICAgY29uc3QgcGFnZV91cmwgPSAn
cmVzb3VyY2VzL3NpbXBsZS5odG1sP2lnbm9yZS1mb3ItcmVxdWVzdC1ib2R5LWJsb2InOwogICAg
IGxldCBmcmFtZTsKIAotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9y
ZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAgLnRoZW4ocmVnID0+IHsKLSAgICAgICAg
ICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiB7IHJlZy51bnJlZ2lzdGVyKCk7IH0pOwot
ICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2
YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICAgIHJldHVy
biB3aXRoX2lmcmFtZShzY29wZSk7IH0pCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJs
KQogICAgICAgLnRoZW4oZiA9PiB7CiAgICAgICAgICAgZnJhbWUgPSBmOworICAgICAgICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgY29uc3Qg
YmxvYiA9IG5ldyBCbG9iKFsnaXRcJ3MgbWUgdGhlIGJsb2InLCAnICcsICdhbmQgbW9yZSBibG9i
ISddKTsKICAgICAgICAgICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaCgnc2ltcGxl
Lmh0bWw/cmVxdWVzdC1ib2R5JywgewogICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJywKQEAg
LTQ4NCwyMyArNDc2LDM1MyBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAgICAgICAgcmV0dXJu
IHJlc3BvbnNlLnRleHQoKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKHJlc3BvbnNlX3RleHQg
PT4gewotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMo
cmVzcG9uc2VfdGV4dCwgJ2l0XCdzIG1lIHRoZSBibG9iIGFuZCBtb3JlIGJsb2IhJyk7CiAgICAg
ICAgIH0pOwogICB9LCAnRmV0Y2hFdmVudCNib2R5IGlzIGEgYmxvYicpOwogCi1wcm9taXNlX3Rl
c3QoYXN5bmMgKHQpID0+IHsKLSAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0
bWw/a2VlcGFsaXZlJzsKKy8vIFRlc3QgdGhhdCB0aGUgcmVxdWVzdCBib2R5IGlzIHNlbnQgdG8g
bmV0d29yayB1cG9uIG5ldHdvcmsgZmFsbGJhY2ssCisvLyBmb3IgYSBibG9iIGJvZHkuCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgICAgLy8gU2V0IHBhZ2VfdXJsIHRvICI/aWdub3JlIiBzbyB0aGUg
c2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCisgICAgLy8gZm9yIHRoZSBtYWlu
IHJlc291cmNlIHJlcXVlc3QsIGFuZCBhZGQgYSBzdWZmaXggdG8gYXZvaWQgY29sbGlkaW5nCisg
ICAgLy8gd2l0aCBvdGhlciB0ZXN0cy4KKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMv
c2ltcGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHktZmFsbGJhY2stYmxvYic7CisgICAg
bGV0IGZyYW1lOworCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQorICAgICAgLnRo
ZW4oZiA9PiB7CisgICAgICAgICAgZnJhbWUgPSBmOworICAgICAgICAgIHQuYWRkX2NsZWFudXAo
KCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBC
bG9iKFsnaXRcJ3MgbWUgdGhlIGJsb2InLCAnICcsICdhbmQgbW9yZSBibG9iISddKTsKKyAgICAg
ICAgICAvLyBBZGQgIj9pZ25vcmUiIHNvIHRoZSBzZXJ2aWNlIHdvcmtlciBmYWxscyBiYWNrIHRv
IGVjaG8tY29udGVudC5weS4KKyAgICAgICAgICBjb25zdCBlY2hvX3VybCA9ICcvZmV0Y2gvYXBp
L3Jlc291cmNlcy9lY2hvLWNvbnRlbnQucHk/aWdub3JlJzsKKyAgICAgICAgICByZXR1cm4gZnJh
bWUuY29udGVudFdpbmRvdy5mZXRjaChlY2hvX3VybCwgeworICAgICAgICAgICAgICBtZXRob2Q6
ICdQT1NUJywKKyAgICAgICAgICAgICAgYm9keTogYmxvYgorICAgICAgICAgICAgfSk7CisgICAg
ICAgIH0pCisgICAgICAudGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAgcmV0dXJuIHJlc3Bv
bnNlLnRleHQoKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKHJlc3BvbnNlX3RleHQgPT4gewor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQsCisg
ICAgICAgICAgICAgICdpdFwncyBtZSB0aGUgYmxvYiBhbmQgbW9yZSBibG9iIScsCisgICAgICAg
ICAgICAgICd0aGUgbmV0d29yayBmYWxsYmFjayByZXF1ZXN0IHNob3VsZCBpbmNsdWRlIHRoZSBy
ZXF1ZXN0IGJvZHknKTsKKyAgICAgICAgfSk7CisgIH0sICdGZXRjaEV2ZW50I2JvZHkgaXMgYSBi
bG9iIGFuZCBpcyBwYXNzZWQgdG8gbmV0d29yayBmYWxsYmFjaycpOwogCi0gICAgY29uc3QgcmVn
ID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2Vy
LCBzY29wZSk7Ci0gICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKLSAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHNjb3BlKTsK
K3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291
cmNlcy9zaW1wbGUuaHRtbD9rZWVwYWxpdmUnOworICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0
aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1v
dmUoKTsgfSk7CiAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50
ZXh0Q29udGVudCwgJ2ZhbHNlJyk7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmcmFtZS5j
b250ZW50V2luZG93LmZldGNoKHNjb3BlLCB7a2VlcGFsaXZlOiB0cnVlfSk7CisgICAgY29uc3Qg
cmVzcG9uc2UgPSBhd2FpdCBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKHBhZ2VfdXJsLCB7a2Vl
cGFsaXZlOiB0cnVlfSk7CiAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTsK
ICAgICBhc3NlcnRfZXF1YWxzKHRleHQsICd0cnVlJyk7Ci0gICAgZnJhbWUucmVtb3ZlKCk7Ci0g
ICAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7CiAg
IH0sICdTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSBjb3Jy
ZWN0IGtlZXBhbGl2ZSB2YWx1ZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAg
ICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNSZWxvYWROYXZpZ2F0
aW9uJzsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHBhZ2VfdXJsKTsKKyAg
ICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgIGFzc2VydF9l
cXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAg
ICAgICAgICAnbWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSBmYWxzZScpOworICAg
IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2luZG93LmxvY2F0
aW9uLnJlbG9hZCgpOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERv
Y3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VU
LCBpc1JlbG9hZE5hdmlnYXRpb24gPSB0cnVlJyk7CisgIH0sICdGZXRjaEV2ZW50I3JlcXVlc3Qu
aXNSZWxvYWROYXZpZ2F0aW9uIGlzIHRydWUgKGxvY2F0aW9uLnJlbG9hZCgpKScpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMv
c2ltcGxlLmh0bWw/aXNSZWxvYWROYXZpZ2F0aW9uJzsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0
IHdpdGhfaWZyYW1lKHBhZ2VfdXJsKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUu
cmVtb3ZlKCk7IH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJv
ZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc1JlbG9h
ZE5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9
PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAg
ICBmcmFtZS5jb250ZW50V2luZG93Lmhpc3RvcnkuZ28oMCk7CisgICAgfSk7CisgICAgYXNzZXJ0
X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAg
ICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHRydWUnKTsKKyAg
fSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5pc1JlbG9hZE5hdmlnYXRpb24gaXMgdHJ1ZSAoaGlzdG9y
eS5nbygwKSknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29uc3QgcGFn
ZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzUmVsb2FkTmF2aWdhdGlvbic7CisgICAg
Y29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShwYWdlX3VybCk7CisgICAgdC5hZGRfY2xl
YW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1l
LmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgJ21l
dGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gZmFsc2UnKTsKKyAgICBhd2FpdCBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9h
ZCcsIHJlc29sdmUpOworICAgICAgY29uc3QgZm9ybSA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdmb3JtJyk7CisgICAgICBmb3JtLm1ldGhvZCA9ICdQT1NUJzsKKyAgICAg
IGZvcm0ubmFtZSA9ICdmb3JtJzsKKyAgICAgIGZvcm0uYWN0aW9uID0gbmV3IFJlcXVlc3QocGFn
ZV91cmwpLnVybDsKKyAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGZvcm0pOworICAgICAgZm9ybS5zdWJtaXQoKTsKKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxz
KGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAg
ICAgJ21ldGhvZCA9IFBPU1QsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlJyk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24u
cmVsb2FkKCk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1l
bnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBQT1NULCBp
c1JlbG9hZE5hdmlnYXRpb24gPSB0cnVlJyk7CisgIH0sICdGZXRjaEV2ZW50I3JlcXVlc3QuaXNS
ZWxvYWROYXZpZ2F0aW9uIGlzIHRydWUgKFBPU1QgKyBsb2NhdGlvbi5yZWxvYWQoKSknKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3Vy
Y2VzL3NpbXBsZS5odG1sP2lzUmVsb2FkTmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVy
bCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWwnKS51cmw7CisgICAgbGV0IGZy
YW1lID0gYXdhaXQgd2l0aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50
RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBH
RVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlJyk7CisgICAgLy8gVXNlIHN0ZXBfdGltZW91
dCgwKSB0byBlbnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBmb3IgQmxpbmsKKyAg
ICAvLyBhbmQgV2ViS2l0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyODYxLgorICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZl
KTsKKyAgICAgIGZyYW1lLnNyYyA9IGFub3RoZXJVcmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUncyBhIHNp
bXBsZSBodG1sIGZpbGUuXG4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4g
eworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAg
ZnJhbWUuY29udGVudFdpbmRvdy5oaXN0b3J5LmdvKC0xKTsKKyAgICB9KTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAg
ICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gZmFsc2UnKTsKKyAg
ICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0
b3J5LmdvKDApOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3Vt
ZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBp
c1JlbG9hZE5hdmlnYXRpb24gPSB0cnVlJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsK
KyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cuaGlzdG9yeS5nbygxKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAiSGVy
ZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICB9LCAnRmV0Y2hFdmVudCNyZXF1ZXN0Lmlz
UmVsb2FkTmF2aWdhdGlvbiBpcyB0cnVlICh3aXRoIGhpc3RvcnkgdHJhdmVyc2FsKScpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJj
ZXMvc2ltcGxlLmh0bWw/aXNIaXN0b3J5TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVy
bCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAg
IGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIC8vIFVzZSBz
dGVwX3RpbWVvdXQoMCkgdG8gZW5zdXJlIHRoZSBoaXN0b3J5IGVudHJ5IGlzIGNyZWF0ZWQgZm9y
IEJsaW5rCisgICAgLy8gYW5kIFdlYktpdC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00Mjg2MS4KKyAgICBhd2FpdCB3YWl0KDApOworICAgIGF3YWl0IG5ldyBQ
cm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5zcmMgPSBhbm90aGVyVXJsOworICAgIH0pOworICAg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICJI
ZXJlJ3MgYSBzaW1wbGUgaHRtbCBmaWxlLlxuIik7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZl
KTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cuaGlzdG9yeS5nbygtMSk7CisgICAgfSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwK
KyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB0
cnVlJyk7CisgIH0sICdGZXRjaEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdhdGlvbiBpcyB0
cnVlICh3aXRoIGhpc3RvcnkuZ28oLTEpKScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+
IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNIaXN0b3J5
TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJj
ZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0
aF9pZnJhbWUoYW5vdGhlclVybCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJl
bW92ZSgpOyB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5
LnRleHRDb250ZW50LCAiSGVyZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICAgIC8vIFVz
ZSBzdGVwX3RpbWVvdXQoMCkgdG8gZW5zdXJlIHRoZSBoaXN0b3J5IGVudHJ5IGlzIGNyZWF0ZWQg
Zm9yIEJsaW5rCisgICAgLy8gYW5kIFdlYktpdC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00Mjg2MS4KKyAgICBhd2FpdCB3YWl0KDApOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5zcmMgPSBwYWdlX3VybDsKKyAgICB9KTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAor
ICAgICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IGZh
bHNlJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1l
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRX
aW5kb3cuaGlzdG9yeS5nbygtMSk7CisgICAgfSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZl
KTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cuaGlzdG9yeS5nbygxKTsKKyAgICB9KTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAor
ICAgICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IHRy
dWUnKTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9uIGlzIHRy
dWUgKHdpdGggaGlzdG9yeS5nbygxKSknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7
CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzSGlzdG9yeU5h
dmlnYXRpb24nOworICAgIGNvbnN0IGFub3RoZXJVcmwgPSBuZXcgUmVxdWVzdCgncmVzb3VyY2Vz
L3NpbXBsZS5odG1sP2lnbm9yZScpLnVybDsKKyAgICBjb25zdCBmcmFtZSA9ICBhd2FpdCB3aXRo
X2lmcmFtZShhbm90aGVyVXJsKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVt
b3ZlKCk7IH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHku
dGV4dENvbnRlbnQsICJIZXJlJ3MgYSBzaW1wbGUgaHRtbCBmaWxlLlxuIik7CisgICAgLy8gVXNl
IHN0ZXBfdGltZW91dCgwKSB0byBlbnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBm
b3IgQmxpbmsKKyAgICAvLyBhbmQgV2ViS2l0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQyODYxLgorICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3
IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9IHBhZ2VfdXJsOworICAgIH0pOworICAg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisg
ICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gZmFs
c2UnKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdp
bmRvdy5oaXN0b3J5LmdvKC0xKTsKKyAgICB9KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUp
OworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0b3J5LmdvKDEpOworICAgIH0pOworICAg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisg
ICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gdHJ1
ZScpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2lu
ZG93Lmhpc3RvcnkuZ28oMCk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250
ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2Qg
PSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZScpOworICB9LCAnRmV0Y2hFdmVudCNy
ZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24gaXMgZmFsc2UgKHdpdGggaGlzdG9yeS5nbygwKSkn
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAn
cmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzSGlzdG9yeU5hdmlnYXRpb24nOworICAgIGNvbnN0IGFu
b3RoZXJVcmwgPSBuZXcgUmVxdWVzdCgncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lnbm9yZScpLnVy
bDsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKGFub3RoZXJVcmwpOworICAg
IHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUncyBhIHNp
bXBsZSBodG1sIGZpbGUuXG4iKTsKKyAgICAvLyBVc2Ugc3RlcF90aW1lb3V0KDApIHRvIGVuc3Vy
ZSB0aGUgaGlzdG9yeSBlbnRyeSBpcyBjcmVhdGVkIGZvciBCbGluaworICAgIC8vIGFuZCBXZWJL
aXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjEuCisg
ICAgYXdhaXQgd2FpdCgwKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewor
ICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJh
bWUuc3JjID0gcGFnZV91cmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250
ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2Qg
PSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIGF3YWl0IG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
cmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2luZG93Lmhpc3RvcnkuZ28oLTEpOworICAg
IH0pOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2lu
ZG93Lmhpc3RvcnkuZ28oMSk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250
ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2Qg
PSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB0cnVlJyk7CisgICAgYXdhaXQgbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
ZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7Cisg
ICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0
Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmln
YXRpb24gPSBmYWxzZScpOworICB9LCAnRmV0Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmln
YXRpb24gaXMgZmFsc2UgKHdpdGggbG9jYXRpb24ucmVsb2FkKScpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0
bWw/aXNIaXN0b3J5TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVybCA9IG5ldyBSZXF1
ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAgIGNvbnN0IG9uZUFu
b3RoZXJVcmwgPSBuZXcgUmVxdWVzdCgncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lnbm9yZTInKS51
cmw7CisKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHBhZ2VfdXJsKTsKKyAg
ICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgIGFzc2VydF9l
cXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAg
ICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gZmFsc2UnKTsKKyAg
ICAvLyBVc2Ugc3RlcF90aW1lb3V0KDApIHRvIGVuc3VyZSB0aGUgaGlzdG9yeSBlbnRyeSBpcyBj
cmVhdGVkIGZvciBCbGluaworICAgIC8vIGFuZCBXZWJLaXQuIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjEuCisgICAgYXdhaXQgd2FpdCgwKTsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuc3JjID0gYW5vdGhlclVybDsKKyAg
ICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRD
b250ZW50LCAiSGVyZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICAgIGF3YWl0IHdhaXQo
MCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9IG9uZUFu
b3RoZXJVcmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1l
bnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUncyBhIHNpbXBsZSBodG1sIGZpbGUuXG4iKTsKKyAg
ICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0
b3J5LmdvKC0yKTsKKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1
bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwg
aXNIaXN0b3J5TmF2aWdhdGlvbiA9IHRydWUnKTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5p
c0hpc3RvcnlOYXZpZ2F0aW9uIGlzIHRydWUgKHdpdGggaGlzdG9yeS5nbygtMikpJyk7CisKK3By
b21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNl
cy9zaW1wbGUuaHRtbD9pc0hpc3RvcnlOYXZpZ2F0aW9uJzsKKyAgICBjb25zdCBhbm90aGVyVXJs
ID0gbmV3IFJlcXVlc3QoJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9pZ25vcmUnKS51cmw7CisgICAg
Y29uc3Qgb25lQW5vdGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/
aWdub3JlMicpLnVybDsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKGFub3Ro
ZXJVcmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwg
IkhlcmUncyBhIHNpbXBsZSBodG1sIGZpbGUuXG4iKTsKKyAgICAvLyBVc2Ugc3RlcF90aW1lb3V0
KDApIHRvIGVuc3VyZSB0aGUgaGlzdG9yeSBlbnRyeSBpcyBjcmVhdGVkIGZvciBCbGluaworICAg
IC8vIGFuZCBXZWJLaXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDI4NjEuCisgICAgYXdhaXQgd2FpdCgwKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUp
OworICAgICAgZnJhbWUuc3JjID0gb25lQW5vdGhlclVybDsKKyAgICB9KTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAiSGVyZSdzIGEg
c2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3
IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9IHBhZ2VfdXJsOworICAgIH0pOworICAg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisg
ICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gZmFs
c2UnKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUu
YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdp
bmRvdy5oaXN0b3J5LmdvKC0yKTsKKyAgICB9KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUp
OworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0b3J5LmdvKDIpOworICAgIH0pOworICAg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisg
ICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gdHJ1
ZScpOworICB9LCAnRmV0Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24gaXMgdHJ1
ZSAod2l0aCBoaXN0b3J5LmdvKDIpKScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsK
KyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNIaXN0b3J5TmF2
aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMv
c2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9p
ZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUo
KTsgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0
Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmln
YXRpb24gPSBmYWxzZScpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Cisg
ICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBjb25z
dCBmb3JtID0gZnJhbWUuY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKTsKKyAg
ICAgIGZvcm0ubWV0aG9kID0gJ1BPU1QnOworICAgICAgZm9ybS5uYW1lID0gJ2Zvcm0nOworICAg
ICAgZm9ybS5hY3Rpb24gPSBuZXcgUmVxdWVzdChwYWdlX3VybCkudXJsOworICAgICAgZnJhbWUu
Y29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CisgICAgICBmb3JtLnN1Ym1p
dCgpOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJv
ZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gUE9TVCwgaXNIaXN0
b3J5TmF2aWdhdGlvbiA9IGZhbHNlJyk7CisgICAgLy8gVXNlIHN0ZXBfdGltZW91dCgwKSB0byBl
bnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBmb3IgQmxpbmsKKyAgICAvLyBhbmQg
V2ViS2l0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODYx
LgorICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAg
IGZyYW1lLnNyYyA9IGFub3RoZXJVcmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUncyBhIHNpbXBsZSBodG1s
IGZpbGUuXG4iKTsKKyAgICBhd2FpdCB3YWl0KDApOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChy
ZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2
ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2luZG93Lmhpc3RvcnkuZ28oLTEpOworICAgIH0pOwor
ICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQs
CisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gUE9TVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9
IHRydWUnKTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9uIGlz
IHRydWUgKFBPU1QgKyBoaXN0b3J5LmdvKC0xKSknKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZnJhbWUtcmVzb3VyY2UuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWZyYW1lLXJlc291cmNlLmh0dHBzLmh0bWwKaW5k
ZXggMjE2OGUzZTBkNDU4NTFjYzZmMDU5OWE5ZTAzMjNlOWE5NmU1NjRlMi4uYTMzMzA5ZjM0Zjk4
NzJkYTUzNzkyMWExMWRmYzk2MWFjMTQyYjBmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZnJhbWUtcmVzb3VyY2UuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1mcmFtZS1yZXNvdXJjZS5odHRwcy5odG1sCkBAIC03MywxMSArNzMsMTUgQEAgZnVu
Y3Rpb24gZ2V0TG9hZGVkV2luZG93QXNPYmplY3Qod2luKSB7CiAgICAgfSk7CiB9CiAKLWFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIg
c2NvcGUgPSAncmVzb3VyY2VzL2ZldGNoLWZyYW1lLXJlc291cmNlL2ZyYW1lLWJhc2ljJzsKICAg
ICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIo
dCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZykg
eworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0p
OworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAn
YWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsKQEAgLTk0
LDE2ICs5OCwxOCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICdzdWNj
ZXNzJywKICAgICAgICAgICAgICdCYXNpYyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBp
biB0aGUgaWZyYW1lLicpOwogICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAg
ICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7
CiAgIH0sICdCYXNpYyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBpbiB0aGUgaWZyYW1l
LicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9mZXRjaC1mcmFtZS1yZXNvdXJjZS9mcmFt
ZS1jb3JzJzsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJf
dW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1
bmN0aW9uKHJlZykgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAg
ICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5p
bnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlv
bigpIHsKQEAgLTEyMiwxNiArMTI4LDE4IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAg
ICAgICAgICAgJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgJ0NPUlMgdHlwZSByZXNwb25zZSBjb3Vs
ZCBiZSBsb2FkZWQgaW4gdGhlIGlmcmFtZS4nKTsKICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsK
LSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBz
Y29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7
CisgICAgICAgIH0pOwogICB9LCAnQ09SUyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBp
biB0aGUgaWZyYW1lLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9mZXRjaC1mcmFtZS1y
ZXNvdXJjZS9mcmFtZS1vcGFxdWUnOwogICAgIHZhciBmcmFtZTsKLSAgICBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQorICAgIHJldHVybiBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQog
ICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIo
dCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jf
c3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAg
IC50aGVuKGZ1bmN0aW9uKCkgewpAQCAtMTQ4LDE1ICsxNTYsMTcgQEAgYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7CiAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgJ09wYXF1ZSB0eXBlIHJl
c3BvbnNlIGNvdWxkIG5vdCBiZSBsb2FkZWQgaW4gdGhlIGlmcmFtZS4nKTsKICAgICAgICAgICBm
cmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVk
X3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnT3BhcXVlIHR5cGUgcmVzcG9uc2Ug
Y291bGQgbm90IGJlIGxvYWRlZCBpbiB0aGUgaWZyYW1lLicpOwogCi1hc3luY190ZXN0KGZ1bmN0
aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jl
c291cmNlcy9mZXRjaC1mcmFtZS1yZXNvdXJjZS93aW5kb3ctYmFzaWMnOwotICAgIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCisgICAgcmV0
dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2Nv
cGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVw
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0
X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQog
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CkBAIC0xNzAsMTUgKzE4MCwxNyBAQCBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgIHJlc3VsdC5qc29ucFJlc3VsdCwKICAgICAgICAg
ICAgICdzdWNjZXNzJywKICAgICAgICAgICAgICdCYXNpYyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJl
IGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRvdy4nKTsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAu
Y2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnQmFzaWMg
dHlwZSByZXNwb25zZSBjb3VsZCBiZSBsb2FkZWQgaW4gdGhlIG5ldyB3aW5kb3cuJyk7CiAKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2
YXIgc2NvcGUgPSAncmVzb3VyY2VzL2ZldGNoLWZyYW1lLXJlc291cmNlL3dpbmRvdy1jb3JzJzsK
LSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNj
b3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
LCB3b3JrZXIsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAgICAgICAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAg
ICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsK
ICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewpAQCAtMTk0LDE1ICsyMDYsMTcg
QEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICByZXN1bHQuanNvbnBSZXN1
bHQsCiAgICAgICAgICAgICAnc3VjY2VzcycsCiAgICAgICAgICAgICAnQ09SUyB0eXBlIHJlc3Bv
bnNlIGNvdWxkIGJlIGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRvdy4nKTsKLSAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAg
IH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwog
ICB9LCAnQ09SUyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRv
dy4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgewogICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvZmV0Y2gtZnJhbWUtcmVzb3VyY2Uvd2lu
ZG93LW9wYXF1ZSc7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIo
dCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZykg
eworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0p
OworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAn
YWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsKQEAgLTIx
Niw5ICsyMzAsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgIHJlc3Vs
dCwKICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAnT3BhcXVlIHR5cGUgcmVzcG9uc2Ug
Y291bGQgbm90IGJlIGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRvdy4nKTsKLSAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAg
IH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwog
ICB9LCAnT3BhcXVlIHR5cGUgcmVzcG9uc2UgY291bGQgbm90IGJlIGxvYWRlZCBpbiB0aGUgbmV3
IHdpbmRvdy4nKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtaGVhZGVyLXZpc2liaWxpdHkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWhlYWRlci12aXNpYmlsaXR5Lmh0dHBzLmh0bWwKaW5kZXggMWNlYjE2NDY1M2I5
NjM1OTk5Njc1Y2M4N2VhMTE0Nzk2ZWZlYWQ5ZC4uMWY0ODEzYzRmOGU2ZDkzYTAyNGI0MzNkYjRj
YjQ1NDk5YjY4NDI1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtaGVhZGVy
LXZpc2liaWxpdHkuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1oZWFk
ZXItdmlzaWJpbGl0eS5odHRwcy5odG1sCkBAIC0xMSwxMCArMTEsMTQgQEAKICAgdmFyIGhvc3Rf
aW5mbyA9IGdldF9ob3N0X2luZm8oKTsKICAgdmFyIGZyYW1lOwogCi0gIGFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgeworICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBzY29wZSA9
ICdyZXNvdXJjZXMvZmV0Y2gtaGVhZGVyLXZpc2liaWxpdHktaWZyYW1lLmh0bWwnOwotICAgIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCisg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtl
ciwgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKKyAgICAgICAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICB9KTsKKwogICAgICAgICByZXR1cm4gd2FpdF9m
b3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgIH0pCiAgICAg
ICAudGhlbihmdW5jdGlvbigpIHsKQEAgLTQ0LDkgKzQ4LDcgQEAKICAgICAgIH0pCiAgICAgICAu
dGhlbihmdW5jdGlvbihyZXN1bHQpIHsKICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAg
IHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAg
ICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICB9KTsK
ICAgfSwgJ1Zpc2liaWxpdHkgb2YgZGVmYXVsdGVkIGhlYWRlcnMgZHVyaW5nIGludGVyY2VwdGlv
bicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1yZXF1ZXN0LWNzcy1iYXNlLXVybC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtcmVxdWVzdC1jc3MtYmFzZS11cmwuaHR0cHMuaHRtbAppbmRleCA3YzY2NTIwMzA0NTc4
NmZkZjI1NjY4MTAzYzdlMDllNGNlZjJlZDI1Li43ZmVjY2ZiOThjNTZmYTI5ZWFlMGMyMDQ3OTFl
YzkwZTY3ZTVkZDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0
LWNzcy1iYXNlLXVybC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJl
cXVlc3QtY3NzLWJhc2UtdXJsLmh0dHBzLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgogPHNjcmlw
dD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
ICAgICB2YXIgU0NPUEUgPSAncmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWJhc2UtdXJsLWlm
cmFtZS5odG1sJzsKICAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNz
cy1iYXNlLXVybC13b3JrZXIuanMnOwogICAgIHZhciB3b3JrZXI7CkBAIC0xMyw2ICsxMywxMCBA
QCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKIAogICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRoZW4oZnVu
Y3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NP
UEUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICB3b3JrZXIgPSByZWdpc3RyYXRpb24u
aW5zdGFsbGluZzsKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAn
YWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBAIC00OCw5ICs1Miw3IEBAIGFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgewogICAgICAgICAgIHJldHVybiB0
ZXN0RG9uZVByb21pc2UudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGYucmVtb3ZlKCk7
Ci0gICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0
LCBTQ09QRSk7CiAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFj
aGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnQ1NTXCdzIGJhc2UgVVJMIG11
c3QgYmUgdGhlIHJlcXVlc3QgVVJMIGV2ZW4gd2hlbiBmZXRjaGVkIGZyb20gb3RoZXIgVVJMLicp
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0
LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay5odHRw
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlODI1YWU5NzE1
MzlhMjQ5OWQwZWEwNjUwMDZhZWE5NjQ5MmFhMzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3Mt
Y3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2suaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5bGVzaGVl
dCBhdCAnaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1odG1sLmNzcycgYmVjYXVzZSBub24gQ1NTIE1JTUUg
dHlwZXMgYXJlIG5vdCBhbGxvd2VkIGZvciBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldHMuCi0KLVBB
U1MgTWltZSB0eXBlIGNoZWNraW5nIG9mIENTUyBmaWxlcyBmZXRjaGVkIHZpYSBTVy4gCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdp
bi1taW1lLWNoZWNrLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0
LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA3ODM1ZjYwYTJjYTE3ZTIwM2IwYzVlM2U3NmYxNjdlZDNmNGFlY2M4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLmh0dHBzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0aXRs
ZT5TZXJ2aWNlIFdvcmtlcjogTWltZSB0eXBlIGNoZWNraW5nIG9mIENTUyBmaWxlcyBmZXRjaGVk
IHZpYSBTVy48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGdldEVsZW1lbnRDb2xvckluRnJhbWUoZnJhbWUs
IGlkKSB7Ci0gIHZhciBlbGVtZW50ID0gZnJhbWUuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGlkKTsKLSAgdmFyIHN0eWxlID0gZnJhbWUuY29udGVudFdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKTsKLSAgcmV0dXJuIHN0eWxlWydjb2xvciddOwotfQotCi1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09QRSA9Ci0gICAgICAgICdyZXNvdXJjZXMv
ZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2staWZyYW1lLmh0bWwnOwot
ICAgIHZhciBTQ1JJUFQgPQotICAgICAgICAncmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNy
b3NzLW9yaWdpbi1taW1lLWNoZWNrLXdvcmtlci5qcyc7Ci0gICAgdmFyIEVYUEVDVEVEX0NPTE9S
ID0gJ3JnYigwLCAwLCAyNTUpJzsKLQotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQotICAgICAgLnRoZW4ociA9PiB3YWl0
X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKSkKLSAgICAgIC50aGVuKF8g
PT4gd2l0aF9pZnJhbWUoU0NPUEUpICkKLSAgICAgIC50aGVuKGYgPT4gewotICAgICAgICAgIGFz
c2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGdldEVsZW1lbnRDb2xvckluRnJhbWUoZiwgJ2Ny
b3NzT3JpZ2luQ3NzJyksCi0gICAgICAgICAgICAgIEVYUEVDVEVEX0NPTE9SLAotICAgICAgICAg
ICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBjcm9zcyBvcmlnaW4gQ1NTLicp
OwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGdldEVsZW1lbnRDb2xv
ckluRnJhbWUoZiwgJ2Nyb3NzT3JpZ2luSHRtbCcpLAotICAgICAgICAgICAgICBFWFBFQ1RFRF9D
T0xPUiwKLSAgICAgICAgICAgICAgJ1RoZSBjb2xvciBtdXN0IG5vdCBiZSBvdmVycmlkZGVuIGJ5
IGNyb3NzIG9yaWdpbiBub24gQ1NTIGZpbGUuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscygK
LSAgICAgICAgICAgICAgZ2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnc2FtZU9yaWdpbkNzcycp
LAotICAgICAgICAgICAgICBFWFBFQ1RFRF9DT0xPUiwKLSAgICAgICAgICAgICAgJ1RoZSBjb2xv
ciBtdXN0IGJlIG92ZXJyaWRkZW4gYnkgc2FtZSBvcmlnaW4gQ1NTLicpOwotICAgICAgICAgIGFz
c2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGdldEVsZW1lbnRDb2xvckluRnJhbWUoZiwgJ3Nh
bWVPcmlnaW5IdG1sJyksCi0gICAgICAgICAgICAgIEVYUEVDVEVEX0NPTE9SLAotICAgICAgICAg
ICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBzYW1lIG9yaWdpbiBub24gQ1NT
IGZpbGUuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgICAgZ2V0RWxl
bWVudENvbG9ySW5GcmFtZShmLCAnc3ludGhldGljJyksCi0gICAgICAgICAgICAgIEVYUEVDVEVE
X0NPTE9SLAotICAgICAgICAgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBz
eW50aGV0aWMgQ1NTLicpOwotICAgICAgICAgIGYucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJu
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAgICAgICB9
KTsKLSAgfSwgJ01pbWUgdHlwZSBjaGVja2luZyBvZiBDU1MgZmlsZXMgZmV0Y2hlZCB2aWEgU1cu
Jyk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVl
c3QtY3NzLWNyb3NzLW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJjMjFmNGYyZThiYzUyZjI4Y2NiZWEwZWMwZDExMzRhM2E2ZDA3ZDEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmln
aW4uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBE
aWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taHRtbC5jc3M/
bWltZT1ubycgYmVjYXVzZSBub24gQ1NTIE1JTUUgdHlwZXMgYXJlIG5vdCBhbGxvd2VkIGZvciBj
cm9zcy1vcmlnaW4gc3R5bGVzaGVldHMuCisKK1BBU1Mgc2V0dXAgZ2xvYmFsIHN0YXRlIAorUEFT
UyBNSU1FIGNoZWNraW5nIG9mIENTUyByZXNvdXJjZXMgZmV0Y2hlZCB2aWEgc2VydmljZSB3b3Jr
ZXIgd2hlbiBDb250ZW50LVR5cGUgaXMgbm90IHNldC4gCitGQUlMIFNhbWUtb3JpZ2luIHBvbGlj
eSBmb3IgYWNjZXNzIHRvIENTUyByZXNvdXJjZXMgZmV0Y2hlZCB2aWEgc2VydmljZSB3b3JrZXIg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKKyAgICBmLmNvbnRlbnREb2N1bWVudC5z
dHlsZVNoZWV0c1swXS5jc3NSdWxlc1swXS5jc3NUZXh0OworICB9IiB0aHJldyBvYmplY3QgIlR5
cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdmLmNvbnRlbnREb2N1
bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlc1swXScpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2Vw
dGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVk
LCBleHBlY3RlZCAxOAorUEFTUyBjbGVhbnVwIGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4uaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yY2RmZGVhOTk2ZjdjNTVhNTZjNGJiY2Q2ZmU5NGRhY2UxOTJh
NDk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1j
c3MtY3Jvc3Mtb3JpZ2luLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IENyb3NzLW9yaWdpbiBDU1MgZmlsZXMgZmV0Y2hl
ZCB2aWEgU1cuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRFbGVtZW50Q29sb3JJbkZyYW1lKGZyYW1l
LCBpZCkgeworICB2YXIgZWxlbWVudCA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZCk7CisgIHZhciBzdHlsZSA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShlbGVtZW50LCAnJyk7CisgIHJldHVybiBzdHlsZVsnY29sb3InXTsKK30KKworcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICB2YXIgU0NPUEUgPQorICAgICAgJ3Jlc291cmNlcy9mZXRj
aC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4nOworICB2YXIgU0NSSVBUID0KKyAgICAgICdyZXNv
dXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLXdvcmtlci5qcyc7CisgIGxldCBy
ZWdpc3RyYXRpb24gPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rl
cigKKyAgICB0LCBTQ1JJUFQsIFNDT1BFKTsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgIH0sICdjbGVhbnVwIGdsb2Jh
bCBzdGF0ZScpOworCisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nLCAnYWN0aXZhdGVkJyk7Cit9LCAnc2V0dXAgZ2xvYmFsIHN0YXRlJyk7CisKK3Byb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgRVhQRUNURURfQ09MT1IgPSAncmdiKDAsIDAs
IDI1NSknOworICBjb25zdCBQQUdFID0KKyAgICAgICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1j
c3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2staWZyYW1lLmh0bWwnOworCisgIGNvbnN0IGYgPSBh
d2FpdCB3aXRoX2lmcmFtZShQQUdFKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7Zi5yZW1vdmUo
KTsgfSk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRFbGVtZW50Q29sb3JJbkZyYW1lKGYs
ICdjcm9zc09yaWdpbkNzcycpLAorICAgICAgRVhQRUNURURfQ09MT1IsCisgICAgICAnVGhlIGNv
bG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBjcm9zcyBvcmlnaW4gQ1NTLicpOworICBhc3NlcnRf
ZXF1YWxzKAorICAgICAgZ2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnY3Jvc3NPcmlnaW5IdG1s
JyksCisgICAgICBFWFBFQ1RFRF9DT0xPUiwKKyAgICAgICdUaGUgY29sb3IgbXVzdCBub3QgYmUg
b3ZlcnJpZGRlbiBieSBjcm9zcyBvcmlnaW4gbm9uIENTUyBmaWxlLicpOworICBhc3NlcnRfZXF1
YWxzKAorICAgICAgZ2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnc2FtZU9yaWdpbkNzcycpLAor
ICAgICAgRVhQRUNURURfQ09MT1IsCisgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRl
biBieSBzYW1lIG9yaWdpbiBDU1MuJyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRFbGVt
ZW50Q29sb3JJbkZyYW1lKGYsICdzYW1lT3JpZ2luSHRtbCcpLAorICAgICAgRVhQRUNURURfQ09M
T1IsCisgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBzYW1lIG9yaWdpbiBu
b24gQ1NTIGZpbGUuJyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRFbGVtZW50Q29sb3JJ
bkZyYW1lKGYsICdzeW50aGV0aWMnKSwKKyAgICAgIEVYUEVDVEVEX0NPTE9SLAorICAgICAgJ1Ro
ZSBjb2xvciBtdXN0IGJlIG92ZXJyaWRkZW4gYnkgc3ludGhldGljIENTUy4nKTsKK30sICdNSU1F
IGNoZWNraW5nIG9mIENTUyByZXNvdXJjZXMgZmV0Y2hlZCB2aWEgc2VydmljZSB3b3JrZXIgd2hl
biBDb250ZW50LVR5cGUgaXMgbm90IHNldC4nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICBjb25zdCBQQUdFID0KKyAgICAgICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jv
c3Mtb3JpZ2luLXJlYWQtY29udGVudHMuaHRtbCc7CisKKyAgY29uc3QgZiA9IGF3YWl0IHdpdGhf
aWZyYW1lKFBBR0UpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHtmLnJlbW92ZSgpOyB9KTsKKyAg
YXNzZXJ0X3Rocm93cygnU2VjdXJpdHlFcnJvcicsICgpID0+IHsKKyAgICBmLmNvbnRlbnREb2N1
bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlc1swXS5jc3NUZXh0OworICB9KTsKKyAgYXNzZXJ0
X2VxdWFscygKKyAgICBmLmNvbnRlbnREb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxlc1sw
XS5jc3NUZXh0LAorICAgICcjY3Jvc3NPcmlnaW5Dc3MgeyBjb2xvcjogYmx1ZTsgfScsCisgICAg
J2Nyb3NzLW9yaWdpbiBDT1JTIGFwcHJvdmVkIHJlc3BvbnNlJyk7CisgIGFzc2VydF9lcXVhbHMo
CisgICAgZi5jb250ZW50RG9jdW1lbnQuc3R5bGVTaGVldHNbMl0uY3NzUnVsZXNbMF0uY3NzVGV4
dCwKKyAgICAnI3NhbWVPcmlnaW5Dc3MgeyBjb2xvcjogYmx1ZTsgfScsCisgICAgJ3NhbWUtb3Jp
Z2luIHJlc3BvbnNlJyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgZi5jb250ZW50RG9jdW1lbnQu
c3R5bGVTaGVldHNbM10uY3NzUnVsZXNbMF0uY3NzVGV4dCwKKyAgICAnI3N5bnRoZXRpYyB7IGNv
bG9yOiBibHVlOyB9JywKKyAgICAnc2VydmljZSB3b3JrZXIgZ2VuZXJhdGVkIHJlc3BvbnNlJyk7
CisgIH0sICdTYW1lLW9yaWdpbiBwb2xpY3kgZm9yIGFjY2VzcyB0byBDU1MgcmVzb3VyY2VzIGZl
dGNoZWQgdmlhIHNlcnZpY2Ugd29ya2VyJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtaW1hZ2VzLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1pbWFnZXMuaHR0cHMuaHRtbAppbmRleCA2
ZjMyM2NhYzhkMTFkMzM4MTI4NDhiZWIxZWNlNjUxY2Y0OTRiYmJjLi45NThkZTFhZjg1ZjRlZTZi
YTU4YjQ3ZGUzODk3MWY5ZmYyYWEyYmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1yZXF1ZXN0LWNzcy1pbWFnZXMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXF1ZXN0LWNzcy1pbWFnZXMuaHR0cHMuaHRtbApAQCAtMzUsMjAgKzM1LDMwIEBA
IGZ1bmN0aW9uIGNzc19pbWFnZV9zZXRfdGVzdChleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwgdXJs
LCB0eXBlLAogICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5sb2FkX2Nzc19pbWFnZV9zZXQo
dXJsLCB0eXBlKTsKIH0KIAotZnVuY3Rpb24gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0LCBleHBl
Y3RlZF9yZXN1bHRzLCBmcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29y
a2VyLCB0ZXN0X2NvdW50LCBzY29wZSkgeworZnVuY3Rpb24gd2FpdEZvcldvcmtlcih3b3JrZXIp
IHsKICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKICAgICB2YXIgY2hh
bm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdl
ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24obXNnKSB7CisgICAgY2hhbm5lbC5wb3J0MS5hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24obXNnKSB7CiAgICAgICBpZiAobXNnLmRhdGEu
cmVhZHkpIHsKLSAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICByZXR1cm47CisgICAgICAgIHJl
c29sdmUoY2hhbm5lbCk7CiAgICAgICB9CisgICAgfSk7CisgICAgY2hhbm5lbC5wb3J0MS5zdGFy
dCgpOworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7cG9ydDogY2hhbm5lbC5wb3J0Mn0sIFtjaGFu
bmVsLnBvcnQyXSk7CisgIH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVfbWVzc2FnZV9wcm9taXNl
KGNoYW5uZWwsIGV4cGVjdGVkX3Jlc3VsdHMsIHdvcmtlciwgc2NvcGUpIHsKKyAgcmV0dXJuIG5l
dyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKKyAgICBjaGFubmVsLnBvcnQxLmFkZEV2ZW50
TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihtc2cpIHsKICAgICAgIHZhciByZXN1bHQgPSBt
c2cuZGF0YTsKLSAgICAgIHZhciBleHBlY3RlZCA9IGV4cGVjdGVkX3Jlc3VsdHNbcmVzdWx0LnVy
bF07Ci0gICAgICBpZiAoIWV4cGVjdGVkKSB7CisgICAgICBpZiAoIWV4cGVjdGVkX3Jlc3VsdHNb
cmVzdWx0LnVybF0pIHsKICAgICAgICAgcmV0dXJuOwogICAgICAgfQorICAgICAgcmVzb2x2ZShy
ZXN1bHQpOworICAgIH0pOworICB9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAgICAgdmFy
IGV4cGVjdGVkID0gZXhwZWN0ZWRfcmVzdWx0c1tyZXN1bHQudXJsXTsKICAgICAgIGFzc2VydF9l
cXVhbHMoCiAgICAgICAgICAgcmVzdWx0Lm1vZGUsIGV4cGVjdGVkLm1vZGUsCiAgICAgICAgICAg
J21vZGUgb2YgJyArIGV4cGVjdGVkLm1lc3NhZ2UgKyAgJyBtdXN0IGJlICcgKwpAQCAtNTcsMTIw
ICs2NywxNDggQEAgZnVuY3Rpb24gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0LCBleHBlY3RlZF9y
ZXN1bHRzLCBmcmFtZSwKICAgICAgICAgICByZXN1bHQuY3JlZGVudGlhbHMsIGV4cGVjdGVkLmNy
ZWRlbnRpYWxzLAogICAgICAgICAgICdjcmVkZW50aWFscyBvZiAnICsgZXhwZWN0ZWQubWVzc2Fn
ZSArICAnIG11c3QgYmUgJyArCiAgICAgICAgICAgZXhwZWN0ZWQuY3JlZGVudGlhbHMgKyAnLicp
OwotICAgICAgLS10ZXN0X2NvdW50OwogICAgICAgZGVsZXRlIGV4cGVjdGVkX3Jlc3VsdHNbcmVz
dWx0LnVybF07Ci0gICAgICBpZiAodGVzdF9jb3VudCA9PSAwKSB7Ci0gICAgICAgIGZyYW1lLnJl
bW92ZSgpOwotICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNj
b3BlKTsKLSAgICAgIH0KICAgICB9KTsKLSAgICB3b3JrZXIucG9zdE1lc3NhZ2UoCi0gICAgICB7
cG9ydDogY2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7Ci0gIH0pOwogfQogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFy
IHNjb3BlID0gU0NPUEUgKyAiP2ltZz1iYWNrZ3JvdW5kSW1hZ2UiOwotICAgIHZhciB0ZXN0X2Nv
dW50ID0gMjsKICAgICB2YXIgZXhwZWN0ZWRfcmVzdWx0cyA9IHt9OwogICAgIHZhciB3b3JrZXI7
CiAgICAgdmFyIGZyYW1lOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIFNDUklQVCwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihy
ZWdpc3RyYXRpb24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7Cisg
ICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxs
aW5nOwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdhY3RpdmF0
ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9p
ZnJhbWUoc2NvcGUpOyB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgeworICAgICAgICAgIHQu
YWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIGYucmVtb3ZlKCk7CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgICBmcmFtZSA9IGY7Ci0gICAgICAgICAgcmV0dXJuIGNyZWF0
ZV9tZXNzYWdlX3Byb21pc2UodCwgZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2VyLCB0ZXN0X2NvdW50LCBzY29wZSk7
CisgICAgICAgICAgcmV0dXJuIHdhaXRGb3JXb3JrZXIod29ya2VyKTsKICAgICAgICAgfSkKLSAg
ICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBjc3NfaW1hZ2VfdGVzdChleHBlY3RlZF9y
ZXN1bHRzLCBmcmFtZSwgTE9DQUxfVVJMICsgRGF0ZS5ub3coKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgJ2JhY2tncm91bmRJbWFnZScsICduby1jb3JzJywgJ2luY2x1ZGUnKTsKLSAgICAgICAg
Y3NzX2ltYWdlX3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRl
Lm5vdygpLAotICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kSW1hZ2UnLCAnbm8tY29y
cycsICdpbmNsdWRlJyk7Ci0gICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rp
b24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oY2hhbm5lbCkgeworICAgICAgICAgIGNzc19p
bWFnZV90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBMT0NBTF9VUkwgKyBEYXRlLm5vdygp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kSW1hZ2UnLCAnbm8tY29ycycs
ICdpbmNsdWRlJyk7CisgICAgICAgICAgY3NzX2ltYWdlX3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywg
ZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRlLm5vdygpLAorICAgICAgICAgICAgICAgICAgICAgICAg
J2JhY2tncm91bmRJbWFnZScsICduby1jb3JzJywgJ2luY2x1ZGUnKTsKKworICAgICAgICAgIHJl
dHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2Uo
Y2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSksCisgICAgICAgICAgICAg
IGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2Vy
LCBzY29wZSkKKyAgICAgICAgICAgIF0pOworICAgICAgICB9KTsKICAgfSwgJ1ZlcmlmeSBGZXRj
aEV2ZW50IGZvciBjc3MgaW1hZ2UgKGJhY2tncm91bmRJbWFnZSkuJyk7CiAKLWFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgc2NvcGUg
PSBTQ09QRSArICI/aW1nPXNoYXBlT3V0c2lkZSI7Ci0gICAgdmFyIHRlc3RfY291bnQgPSAyOwog
ICAgIHZhciBleHBlY3RlZF9yZXN1bHRzID0ge307CiAgICAgdmFyIHdvcmtlcjsKICAgICB2YXIg
ZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NS
SVBULCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgU0NSSVBULCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlv
bikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
IHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAg
IH0pOworCiAgICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CiAgICAg
ICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRlZCcpOwogICAg
ICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29w
ZSk7IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihmKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgZi5yZW1vdmUoKTsKKyAgICAgICAgICAgIH0p
OwogICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAgICAgICByZXR1cm4gY3JlYXRlX21lc3NhZ2Vf
cHJvbWlzZSh0LCBleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3b3JrZXIsIHRlc3RfY291bnQsIHNjb3BlKTsKKyAgICAgICAg
ICByZXR1cm4gd2FpdEZvcldvcmtlcih3b3JrZXIpOwogICAgICAgICB9KQotICAgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICBjc3NfaW1hZ2VfdGVzdChleHBlY3RlZF9yZXN1bHRzLCBm
cmFtZSwgTE9DQUxfVVJMICsgRGF0ZS5ub3coKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICdz
aGFwZU91dHNpZGUnLCAnY29ycycsICdzYW1lLW9yaWdpbicpOwotICAgICAgICAgY3NzX2ltYWdl
X3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRlLm5vdygpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlT3V0c2lkZScsICdjb3JzJywgJ3NhbWUtb3Jp
Z2luJyk7Ci0gICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgLnRoZW4oZnVuY3Rpb24oY2hhbm5lbCkgeworICAgICAgICAgIGNzc19pbWFnZV90ZXN0
KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBMT0NBTF9VUkwgKyBEYXRlLm5vdygpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICdzaGFwZU91dHNpZGUnLCAnY29ycycsICdzYW1lLW9yaWdpbicp
OworICAgICAgICAgIGNzc19pbWFnZV90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBSRU1P
VEVfVVJMICsgRGF0ZS5ub3coKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVPdXRz
aWRlJywgJ2NvcnMnLCAnc2FtZS1vcmlnaW4nKTsKKworICAgICAgICAgIHJldHVybiBQcm9taXNl
LmFsbChbCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhw
ZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSksCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNz
YWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSkKKyAg
ICAgICAgICAgIF0pOworICAgICAgfSk7CiAgIH0sICdWZXJpZnkgRmV0Y2hFdmVudCBmb3IgY3Nz
IGltYWdlIChzaGFwZU91dHNpZGUpLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gU0NPUEUgKyAiP2ltZ19z
ZXQ9YmFja2dyb3VuZEltYWdlIjsKLSAgICB2YXIgdGVzdF9jb3VudCA9IDI7CiAgICAgdmFyIGV4
cGVjdGVkX3Jlc3VsdHMgPSB7fTsKICAgICB2YXIgd29ya2VyOwogICAgIHZhciBmcmFtZTsKLSAg
ICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIHNjb3Bl
KQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBT
Q1JJUFQsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAg
ICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAg
ICAgICAgICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKICAgICAgICAgICByZXR1
cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAg
ICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsgfSkKICAg
ICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICBmLnJlbW92ZSgpOzsKKyAgICAgICAgICAgIH0pOwogICAgICAg
ICAgIGZyYW1lID0gZjsKLSAgICAgICAgICByZXR1cm4gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0
LCBleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB3b3JrZXIsIHRlc3RfY291bnQsIHNjb3BlKTsKKyAgICAgICAgICByZXR1cm4g
d2FpdEZvcldvcmtlcih3b3JrZXIpOwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgICBjc3NfaW1hZ2Vfc2V0X3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUs
IExPQ0FMX1VSTCArIERhdGUubm93KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFj
a2dyb3VuZEltYWdlJywgJ25vLWNvcnMnLCAnaW5jbHVkZScpOwotICAgICAgICAgY3NzX2ltYWdl
X3NldF90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBSRU1PVEVfVVJMICsgRGF0ZS5ub3co
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kSW1hZ2UnLCAnbm8tY29y
cycsICdpbmNsdWRlJyk7Ci0gICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rp
b24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oY2hhbm5lbCkgeworICAgICAgICAgIGNzc19p
bWFnZV9zZXRfdGVzdChleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwgTE9DQUxfVVJMICsgRGF0ZS5u
b3coKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZEltYWdlJywgJ25v
LWNvcnMnLCAnaW5jbHVkZScpOworICAgICAgICAgIGNzc19pbWFnZV9zZXRfdGVzdChleHBlY3Rl
ZF9yZXN1bHRzLCBmcmFtZSwgUkVNT1RFX1VSTCArIERhdGUubm93KCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ2JhY2tncm91bmRJbWFnZScsICduby1jb3JzJywgJ2luY2x1ZGUnKTsK
KworICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICAgIGNyZWF0ZV9t
ZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSks
CisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRf
cmVzdWx0cywgd29ya2VyLCBzY29wZSkKKyAgICAgICAgICAgIF0pOworICAgICAgfSk7CiAgIH0s
ICdWZXJpZnkgRmV0Y2hFdmVudCBmb3IgY3NzIGltYWdlLXNldCAoYmFja2dyb3VuZEltYWdlKS4n
KTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewogICAgIHZhciBzY29wZSA9IFNDT1BFICsgIj9pbWdfc2V0PXNoYXBlT3V0c2lkZSI7Ci0gICAg
dmFyIHRlc3RfY291bnQgPSAyOwogICAgIHZhciBleHBlY3RlZF9yZXN1bHRzID0ge307CiAgICAg
dmFyIHdvcmtlcjsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSkKICAgICAgIC50aGVu
KGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQs
IHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmc7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtl
ciwgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJl
dHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihmKSB7Cisg
ICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgZi5yZW1v
dmUoKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAgICAgICBy
ZXR1cm4gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0LCBleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXIsIHRlc3RfY291
bnQsIHNjb3BlKTsKKyAgICAgICAgICByZXR1cm4gd2FpdEZvcldvcmtlcih3b3JrZXIpOwogICAg
ICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICBjc3NfaW1hZ2Vfc2V0
X3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsIExPQ0FMX1VSTCArIERhdGUubm93KCksCisg
ICAgICAudGhlbihmdW5jdGlvbihjaGFubmVsKSB7CisgICAgICAgICAgY3NzX2ltYWdlX3NldF90
ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBMT0NBTF9VUkwgKyBEYXRlLm5vdygpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVPdXRzaWRlJywgJ2NvcnMnLCAnc2FtZS1v
cmlnaW4nKTsKKyAgICAgICAgICBjc3NfaW1hZ2Vfc2V0X3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywg
ZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdzaGFwZU91dHNpZGUnLCAnY29ycycsICdzYW1lLW9yaWdpbicpOwotICAgICAgICAgY3Nz
X2ltYWdlX3NldF90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBSRU1PVEVfVVJMICsgRGF0
ZS5ub3coKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZU91dHNpZGUnLCAnY29y
cycsICdzYW1lLW9yaWdpbicpOwotICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVq
ZWN0aW9uKHQpKTsKKworICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAg
ICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29y
a2VyLCBzY29wZSksCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5l
bCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSkKKyAgICAgICAgICAgIF0pOworICAg
ICAgICB9KTsKICAgfSwgJ1ZlcmlmeSBGZXRjaEV2ZW50IGZvciBjc3MgaW1hZ2Utc2V0IChzaGFw
ZU91dHNpZGUpLicpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlcXVlc3QtaHRtbC1pbXBvcnRzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtaHRtbC1pbXBvcnRzLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCA5YmIxNDJhZDQxMDg0YTY2YTYxNDZhNjUwZWUzYjkzYWU1ZmQxMmJiLi45NmQ5MWQ5NTQ1
NjNkYTkwNDgzY2U5OTUyMWFkMDU0YmM0NDU0YmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFZlcmlmeSB0aGUgRmV0Y2hFdmVudCBmb3Ig
SFRNTEltcG9ydHMgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzYW1lLmdldEVsZW1lbnRCeUlkJykg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFZlcmlmeSB0aGUgRmV0Y2hFdmVudCBmb3Ig
SFRNTEltcG9ydHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnc2FtZS5nZXRFbGVtZW50QnlJZCcpIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMuaHR0cHMuaHRtbAppbmRleCBiMmY1NmRhOWYw
MTcyNGFhMGJhMDQ0NTM4Y2M3NzMxNjIwYWI3ZjkxLi43YTM5ZmE4NTI4NGFkZGViOGI4ZDExNDRl
ZmRhNzRiZGZhMDEzNGZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1
ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LXJlcXVlc3QtaHRtbC1pbXBvcnRzLmh0dHBzLmh0bWwKQEAgLTUsMTIgKzUsMTYgQEAKIDxzY3Jp
cHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0Pgot
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAg
IHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMtaWZyYW1l
Lmh0bWwnOwogICAgIHZhciBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtaHRtbC1p
bXBvcnRzLXdvcmtlci5qcyc7CiAgICAgdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsK
LSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFND
T1BFKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Cisg
ICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJu
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NPUEUpOworICAgICAgICAgICAgfSk7CisK
ICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxp
bmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUpOyB9KQpAQCAtNTYsOSArNjAsNiBAQCBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgJ21vZGU9Y29ycyBjcmVkZW50aWFscz1zYW1l
LW9yaWdpbicsCiAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCBtb2RlIGFuZCBjcmVkZW50aWFs
cyBmb3Igb3RoZXIgb3JpZ2luIEhUTUxJbXBvcnQgJyArCiAgICAgICAgICAgICAgICdmcm9tIG90
aGVyIG9yaWdpbiBIVE1MSW1wb3J0IG11c3QgYmUgc2V0IGNvcnJlY3RseS4nKTsKLQotICAgICAg
ICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAgICAg
ICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsK
ICAgfSwgJ1ZlcmlmeSB0aGUgRmV0Y2hFdmVudCBmb3IgSFRNTEltcG9ydHMnKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1uby1mcmVzaG5l
c3MtaGVhZGVycy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1y
ZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBjNTlj
NTYwNzAyNjEwNWY0ZWM1YWU2NjU1ZmM0YmU3OWUyODI0Mjg3Li40YmY1MmM5MmI4NDY3MTVhZDAw
N2I1MDQ5NDQ4NzAzYTJjYjg5MmE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUaGUgaGVhZGVycyBvZiBGZXRj
aEV2ZW50IHNob3VsZG4ndCBjb250YWluIGZyZXNobmVzcyBoZWFkZXJzLiAKK0ZBSUwgVGhlIGhl
YWRlcnMgb2YgRmV0Y2hFdmVudCBzaG91bGRuJ3QgY29udGFpbiBmcmVzaG5lc3MgaGVhZGVycy4g
YXNzZXJ0X2ZhbHNlOiBpZi1ub25lLW1hdGNoIGhlYWRlciBtdXN0IG5vdCBiZSBzZXQgaW4gdGhl
IEZldGNoRXZlbnQncyByZXF1ZXN0LiAodXJsID0gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8tZnJl
c2huZXNzLWhlYWRlcnMtc2NyaXB0LnB5KSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFk
ZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNo
bmVzcy1oZWFkZXJzLmh0dHBzLmh0bWwKaW5kZXggODI5YjBjZjI1OTRiNTg5MjlhZDI1ZDA0ZTU5
MDA2NjRiYjkyZDExZS4uMDNiN2QzNTc2MTBhOTA0ZWQyNjRiNjkxMDU0YjYwMjVmN2ZhMjQxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1uby1mcmVzaG5lc3Mt
aGVhZGVycy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3Qt
bm8tZnJlc2huZXNzLWhlYWRlcnMuaHR0cHMuaHRtbApAQCAtNCwxMiArNCwxNiBAQAogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3NjcmlwdD4K
IDxzY3JpcHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CiAgICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNo
bmVzcy1oZWFkZXJzLWlmcmFtZS5odG1sJzsKICAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9m
ZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXdvcmtlci5qcyc7CiAgICAgdmFyIHdv
cmtlcjsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJ
UFQsIFNDT1BFKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9u
KSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
cmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NPUEUpOworICAgICAgICAgICAg
fSk7CisKICAgICAgICAgICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKICAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAnYWN0aXZhdGVkJyk7CiAgICAg
ICAgIH0pCkBAIC0zOCwxNiArNDIsMTQgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAg
ICAgICAgICAnaWYtbm9uZS1tYXRjaCc6IHRydWUsCiAgICAgICAgICAgICAnaWYtbW9kaWZpZWQt
c2luY2UnOiB0cnVlCiAgICAgICAgICAgfTsKLSAgICAgICAgICBtc2cuZGF0YS5yZXF1ZXN0cy5m
b3JFYWNoKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlcXVlc3QpIHsKLSAgICAgICAgICAgICAgcmVx
dWVzdC5oZWFkZXJzLmZvckVhY2godC5zdGVwX2Z1bmMoZnVuY3Rpb24oaGVhZGVyKSB7CisgICAg
ICAgICAgbXNnLmRhdGEucmVxdWVzdHMuZm9yRWFjaChmdW5jdGlvbihyZXF1ZXN0KSB7CisgICAg
ICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGhlYWRlcikgewogICAg
ICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKAogICAgICAgICAgICAgICAgICAgICAgICEhZnJl
c2huZXNzX2hlYWRlcnNbaGVhZGVyWzBdXSwKICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJb
MF0gKyAnIGhlYWRlciBtdXN0IG5vdCBiZSBzZXQgaW4gdGhlICcgKwogICAgICAgICAgICAgICAg
ICAgICAgICdGZXRjaEV2ZW50XCdzIHJlcXVlc3QuICh1cmwgPSAnICsgcmVxdWVzdC51cmwgKyAn
KScpOwotICAgICAgICAgICAgICAgIH0pKTsKLSAgICAgICAgICAgIH0pKQotICAgICAgICAgIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAgICAgICB9KQot
ICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSkKKyAgICAgICAgfSk7CiAgIH0sICdUaGUgaGVhZGVycyBvZiBGZXRj
aEV2ZW50IHNob3VsZG5cJ3QgY29udGFpbiBmcmVzaG5lc3MgaGVhZGVycy4nKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1yZXNvdXJjZXMu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtcmVzb3VyY2VzLmh0
dHBzLmh0bWwKaW5kZXggYjA2NDBlYzk4NWI4YzQwZGZlNmQzYzJiMzJiYzU4YzY5MDRkNWRkOC4u
NTA0MjFiNDBmYmI2OTgwM2YyNzcwYjAxNTlkZTg3MDZkZDJmZTMzOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1yZXNvdXJjZXMuaHR0cHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXJlc291cmNlcy5odHRwcy5odG1sCkBAIC0x
MSw5ICsxMSw4IEBAIHZhciBleHBlY3RlZF9yZXN1bHRzID0ge307CiBmdW5jdGlvbiBhZGRfcHJv
bWlzZV90b190ZXN0KHVybCkKIHsKICAgdmFyIGV4cGVjdGVkID0gZXhwZWN0ZWRfcmVzdWx0c1t1
cmxdOwotICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICByZXR1
cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgICBleHBlY3RlZC5yZXNvbHZlID0gcmVz
b2x2ZTsKLSAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgidGVzdCB0aW1lIG91dCIpLCA1MDAw
KTsKICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVl
c3QteGhyLXN5bmMtb24td29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNDNlMGNlZDA2YmJiMTQzZDk5ZDA0OTI3MjcyYWJjOWM4NDlhNDBmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHItc3luYy1v
bi13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZlcmlm
eSBTeW5jWEhSIG9uIFdvcmtlciBpcyBpbnRlcmNlcHRlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHItc3luYy1vbi13b3JrZXIuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLmh0dHBz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWYxODA5NmFhMjliYjQ2MzVjZmVhZjBlYjlmYzM5Y2ZmNWJjYzI0
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhy
LXN5bmMtb24td29ya2VyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IFN5bmNocm9ub3VzIFhIUiBvbiBXb3JrZXIgaXMg
aW50ZXJjZXB0ZWQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVzdCgodCkg
PT4geworICAgIGNvbnN0IHVybCA9ICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC14aHItc3luYy1v
bi13b3JrZXItd29ya2VyLmpzJzsKKyAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvZmV0Y2gt
cmVxdWVzdC14aHItc3luYy1vbi13b3JrZXItc2NvcGUvJzsKKyAgICBjb25zdCBub25fZXhpc3Rl
bnRfZmlsZSA9ICdub24tZXhpc3RlbnQtZmlsZS50eHQnOworCisgICAgLy8gSW4gQ2hyb21pdW0s
IHRoZSBzZXJ2aWNlIHdvcmtlciBzY29wZSBtYXRjaGluZyBmb3Igd29ya2VycyBpcyBiYXNlZCBv
bgorICAgIC8vIHRoZSBVUkwgb2YgdGhlIHBhcmVudCBIVE1MLiBTbyB0aGlzIHRlc3QgY3JlYXRl
cyBhbiBpZnJhbWUgd2hpY2ggaXMKKyAgICAvLyBjb250cm9sbGVkIGJ5IHRoZSBzZXJ2aWNlIHdv
cmtlciBmaXJzdCwgYW5kIGNyZWF0ZXMgYSB3b3JrZXIgZnJvbSB0aGUKKyAgICAvLyBpZnJhbWUu
CisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHVy
bCwgc2NvcGUpCisgICAgICAudGhlbigocmVnaXN0cmF0aW9uKSA9PiB7CisgICAgICAgICAgdC5h
ZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgICAgICAgICBy
ZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHsgcmV0dXJuIHdpdGhfaWZyYW1l
KHNjb3BlICsgJ2lmcmFtZV9wYWdlJyk7IH0pCisgICAgICAudGhlbigoZnJhbWUpID0+IHsKKyAg
ICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgpKTsKKyAgICAgICAgICBy
ZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtU3luY1hIUk9uV29ya2VyKG5vbl9leGlz
dGVudF9maWxlKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKChyZXN1bHQpID0+IHsKKyAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgICAgICByZXN1bHQuc3RhdHVzLAorICAgICAg
ICAgICAgICAyMDAsCisgICAgICAgICAgICAgICdIVFRQIHJlc3BvbnNlIHN0YXR1cyBjb2RlIGZv
ciBpbnRlcmNlcHRlZCByZXF1ZXN0JworICAgICAgICAgICAgKTsKKyAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKAorICAgICAgICAgICAgcmVzdWx0LnJlc3BvbnNlVGV4dCwKKyAgICAgICAgICAgICAg
J1Jlc3BvbnNlIGZyb20gc2VydmljZSB3b3JrZXInLAorICAgICAgICAgICAgICAnSFRUUCByZXNw
b25zZSB0ZXh0IGZvciBpbnRlcmNlcHRlZCByZXF1ZXN0JworICAgICAgICAgICAgKTsKKyAgICAg
ICAgfSk7CisgIH0sICdWZXJpZnkgU3luY1hIUiBvbiBXb3JrZXIgaXMgaW50ZXJjZXB0ZWQnKTsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14
aHItc3luYy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHIt
c3luYy5odHRwcy5odG1sCmluZGV4IGYxZTRmZWNjMWIzNWJhMThiODljNTcxMGRlNWVmZDlmNmMx
MTgzYzAuLmVjMjdmYjg5ODM0M2U3MGFiMjQ0ODY5ODMyMTJlZjZiNTc0NGNmMTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMuaHR0cHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXhoci1zeW5jLmh0dHBzLmh0bWwK
QEAgLTE0LDcgKzE0LDcgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICByZXR1cm4g
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgdXJsLCBzY29wZSkKICAg
ICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewogICAgICAgICAgIHQuYWRkX2NsZWFu
dXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7
CisgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAgICAg
ICAgICAgfSk7CiAKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBmZTBh
YWIzYmU1MTEyYmNlMDE1MTI3NWU0NzFmN2Q4NGZjN2ZkYmExLi5iYTM2OWEzMTNjNjc1ZTkxMTYw
NGQzM2FjZWM2YTJkYjgwMWE4YTQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1yZXNwb25zZS10YWludC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC05NCw5ICs5NCw5
IEBAIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91cmw9aHR0cHMl
M0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGCiBQQVNTIHVybDoiaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2Vy
cyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkl
M0YmbW9kZT1uby1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVkZW50aWFs
czoib21pdCIgc2hvdWxkIGZhaWwuIAogUEFTUyB1cmw6Imh0dHBzOi8vMTI3LjAuMC4xOjk0NDMv
P3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZz
ZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGJm1v
ZGU9bm8tY29ycyZjcmVkZW50aWFscz1vbWl0JiIgbW9kZToiY29ycyIgY3JlZGVudGlhbHM6InNh
bWUtb3JpZ2luIiBzaG91bGQgZmFpbC4gCiBQQVNTIHVybDoiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0
My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0Ym
bW9kZT1uby1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVkZW50aWFsczoi
aW5jbHVkZSIgc2hvdWxkIGZhaWwuIAotUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6InNh
bWUtb3JpZ2luIiBjcmVkZW50aWFsczoib21pdCIgc2hvdWxkIHN1Y2NlZWQuIAotUEFTUyBmZXRj
aGluZyB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4w
LjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNl
cyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3Jl
ZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoic2FtZS1vcmln
aW4iIHNob3VsZCBzdWNjZWVkLiAKLVBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovL2xvY2FsaG9z
dDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJzYW1l
LW9yaWdpbiIgY3JlZGVudGlhbHM6ImluY2x1ZGUiIHNob3VsZCBzdWNjZWVkLiAKK0ZBSUwgdXJs
OiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxz
PW9taXQmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6Im9taXQiIHNob3VsZCBmYWls
LiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3Vy
bD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3Jp
Z2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3JpZ2luIiBj
cmVkZW50aWFsczoic2FtZS1vcmlnaW4iIHNob3VsZCBmYWlsLiBhc3NlcnRfdW5yZWFjaGVkOiBT
aG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQor
RkFJTCB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4w
LjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNl
cyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3Jl
ZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoiaW5jbHVkZSIg
c2hvdWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRl
ZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0QqJm1vZGU9Y29ycyZjcmVkZW50aWFscz1vbWl0JiIg
bW9kZToibm8tY29ycyIgY3JlZGVudGlhbHM6Im9taXQiIHNob3VsZCBzdWNjZWVkLiAKIFBBU1Mg
ZmV0Y2hpbmcgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYx
MjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNv
dXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3Jz
JmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJuby1jb3JzIiBjcmVkZW50aWFsczoic2FtZS1vcmln
aW4iIHNob3VsZCBzdWNjZWVkLiAKIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovL2xvY2FsaG9z
dDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJuby1j
b3JzIiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIHN1Y2NlZWQuIApAQCAtMTEyLDkgKzEx
Miw5IEBAIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91cmw9aHR0
cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGCiBQQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6
Ly8xMjcuMC4wLjE6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0QqJm1vZGU9Y29ycyZjcmVkZW50aWFscz1vbWl0JiIg
bW9kZToiY29ycyIgY3JlZGVudGlhbHM6Im9taXQiIHNob3VsZCBzdWNjZWVkLiAKIFBBU1MgZmV0
Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNy
ZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iIHNo
b3VsZCBzdWNjZWVkLiAKIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQz
Lz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFD
QU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVk
ZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIHN1Y2NlZWQuIAotUEFTUyBmZXRjaGluZyB1cmw6Imh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMl
MkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5
NDQzJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1pbmNsdWRl
JiIgbW9kZToic2FtZS1vcmlnaW4iIGNyZWRlbnRpYWxzOiJvbWl0IiBzaG91bGQgc3VjY2VlZC4g
Ci1QQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNB
JTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2Vy
JTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRw
cyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1j
b3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6
InNhbWUtb3JpZ2luIiBzaG91bGQgc3VjY2VlZC4gCi1QQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMl
MjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBt
b2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6ImluY2x1ZGUiIHNob3VsZCBzdWNjZWVkLiAK
K0ZBSUwgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJG
bG9jYWxob3N0JTNBOTQ0MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2RlPWNvcnMmY3JlZGVu
dGlhbHM9aW5jbHVkZSYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoib21pdCIgc2hv
dWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmlu
ZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2Vy
cyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkl
M0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FDcmVkZW50
aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJzYW1lLW9y
aWdpbiIgY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIiBzaG91bGQgZmFpbC4gYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKK0ZBSUwgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0dHBzJTNB
JTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2RlPWNvcnMm
Y3JlZGVudGlhbHM9aW5jbHVkZSYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoiaW5j
bHVkZSIgc2hvdWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGZldGNoaW5nIHVybDoi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUz
QTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1
ZGUmIiBtb2RlOiJuby1jb3JzIiBjcmVkZW50aWFsczoib21pdCIgc2hvdWxkIHN1Y2NlZWQuIAog
UEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUy
RiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUy
RnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEaHR0cHMl
M0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJm1vZGU9Y29y
cyZjcmVkZW50aWFscz1pbmNsdWRlJiIgbW9kZToibm8tY29ycyIgY3JlZGVudGlhbHM6InNhbWUt
b3JpZ2luIiBzaG91bGQgc3VjY2VlZC4gCiBQQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Ut
d29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FD
cmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJu
by1jb3JzIiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIHN1Y2NlZWQuIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLmh0bWwKaW5kZXggYTZl
N2Y5ODRlYTI0NDk5ZDU1NDAwNDhmYWVlNTc0MTcyYWE5ZWM0NC4uOGViZWUwYzA3Mzc0YzM3Yjc0
YmMxZmY3OWU2OTMyZDBkMTViMzVhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1yZXNwb25zZS10YWludC5odHRwcy5odG1sCkBAIC0xOTMsNiArMTkzLDkgQEAgZm9yX2VhY2hf
b3JpZ2luX21vZGVfY3JlZGVudGlhbHMoZnVuY3Rpb24ob3JpZ2luLCBtb2RlLCBjcmVkZW50aWFs
cykgewogICAvLyBGZXRjaCB0byB0aGUgb3RoZXIgb3JpZ2luIHdpdGggc2FtZS1vcmlnaW4gbW9k
ZSBzaG91bGQgZmFpbC4KICAgaWYgKG9yaWdpbiA9PSBPVEhFUl9PUklHSU4gJiYgbW9kZSA9PSAn
c2FtZS1vcmlnaW4nKSB7CiAgICAgbmdfdGVzdCh1cmwsIG1vZGUsIGNyZWRlbnRpYWxzKTsKKyAg
fSBlbHNlIGlmIChvcmlnaW4gPT0gQkFTRV9PUklHSU4gJiYgbW9kZSA9PSAnc2FtZS1vcmlnaW4n
KSB7CisgICAgLy8gQ29ycyB0eXBlIHJlc3BvbnNlIHRvIGEgc2FtZS1vcmlnaW4gbW9kZSByZXF1
ZXN0IHNob3VsZCBmYWlsCisgICAgbmdfdGVzdCh1cmwsIG1vZGUsIGNyZWRlbnRpYWxzKTsKICAg
fSBlbHNlIHsKICAgICAvLyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgU1cgc2hvdWxkIGJlIGNvcnMu
CiAgICAgb2tfdGVzdCh1cmwsIG1vZGUsIGNyZWRlbnRpYWxzLCAnY29ycycsICd1bmRlZmluZWQn
KTsKQEAgLTIwOCw2ICsyMTEsOSBAQCBmb3JfZWFjaF9vcmlnaW5fbW9kZV9jcmVkZW50aWFscyhm
dW5jdGlvbihvcmlnaW4sIG1vZGUsIGNyZWRlbnRpYWxzKSB7CiAgIC8vIEZldGNoIHRvIHRoZSBv
dGhlciBvcmlnaW4gd2l0aCBzYW1lLW9yaWdpbiBtb2RlIHNob3VsZCBmYWlsLgogICBpZiAob3Jp
Z2luID09IE9USEVSX09SSUdJTiAmJiBtb2RlID09ICdzYW1lLW9yaWdpbicpIHsKICAgICBuZ190
ZXN0KHVybCwgbW9kZSwgY3JlZGVudGlhbHMpOworICB9IGVsc2UgaWYgKG9yaWdpbiA9PSBCQVNF
X09SSUdJTiAmJiBtb2RlID09ICdzYW1lLW9yaWdpbicpIHsKKyAgICAvLyBDb3JzIHR5cGUgcmVz
cG9uc2UgdG8gYSBzYW1lLW9yaWdpbiBtb2RlIHJlcXVlc3Qgc2hvdWxkIGZhaWwKKyAgICBuZ190
ZXN0KHVybCwgbW9kZSwgY3JlZGVudGlhbHMpOwogICB9IGVsc2UgewogICAgIC8vIFRoZSByZXNw
b25zZSBmcm9tIHRoZSBTVyBzaG91bGQgYmUgY29ycy4KICAgICBva190ZXN0KHVybCwgbW9kZSwg
Y3JlZGVudGlhbHMsICdjb3JzJywgJ3VzZXJuYW1lMXMnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXhoci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtcmVzcG9uc2UteGhyLmh0dHBzLmh0bWwKaW5kZXggNzQxNzNlOGI5YmRjYzc3YzVm
ODU4MzJmODVhNWM0NDg1NmI3ODU2NS4uODkxZWIwMjk0MjJiN2JmMWNkNTc1MjcwY2ZhNDYxNmJi
ODBkYTBiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UteGhy
Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UteGhyLmh0
dHBzLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVy
cy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgU0NPUEUgPSAncmVzb3VyY2VzL2Zl
dGNoLXJlc3BvbnNlLXhoci1pZnJhbWUuaHR0cHMuaHRtbCc7CiAgICAgdmFyIFNDUklQVCA9ICdy
ZXNvdXJjZXMvZmV0Y2gtcmVzcG9uc2UteGhyLXdvcmtlci5qcyc7CiAgICAgdmFyIGhvc3RfaW5m
byA9IGdldF9ob3N0X2luZm8oKTsKQEAgLTE2LDggKzE2LDEyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgewogICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoJ0FDSycsIGhvc3RfaW5mb1snSFRU
UFNfT1JJR0lOJ10pOwogICAgIH0KIAotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCiAgICAgICAudGhlbihmdW5j
dGlvbihyZWdpc3RyYXRpb24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBTQ09Q
RSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0
LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAg
ICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShTQ09QRSk7IH0pCkBAIC0y
NiwxOCArMzAsMjEgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAKICAgICAgICAgICB0LmFk
ZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAg
ICAgICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09QRSk7
CiAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5u
ZWwoKTsKLSAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEucmVzdWx0cywg
J2ZpbmlzaCcpOwotICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICB2YXIgb25Qb3J0
TXNnID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAgICBjaGFu
bmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgICAgICAgICAgICB9KTsKKwogICAgICAg
ICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoJ1NUQVJUJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbC5wb3J0
Ml0pOworCisgICAgICAgICAgcmV0dXJuIG9uUG9ydE1zZzsKICAgICAgICAgfSkKLSAgICAgIC5j
YXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7CisgICAg
ICAgIH0pOwogICB9LCAnVmVyaWZ5IHRoZSByZXNwb25zZSBvZiBGZXRjaEV2ZW50IHVzaW5nIFhN
TEh0dHBSZXF1ZXN0Jyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXdhaXRzLWZvci1hY3RpdmF0ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtd2FpdHMtZm9yLWFjdGl2YXRlLmh0dHBzLmh0bWwKaW5kZXggMmM5ZDRhNTlkYzE4ZGMx
MjVhYmMyZjI3OWVmOGU2NTEwZGRiMzQ4My4uODg5YzVlYzdiYmI5MzY3NzE1MTE4Zjc4YWU4MWE5
OTQ4NTZhZDk5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtd2FpdHMtZm9y
LWFjdGl2YXRlLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtd2FpdHMt
Zm9yLWFjdGl2YXRlLmh0dHBzLmh0bWwKQEAgLTEzLDExICsxMywxNSBAQCB2YXIgd29ya2VyID0g
J3Jlc291cmNlcy9mZXRjaC13YWl0cy1mb3ItYWN0aXZhdGUtd29ya2VyLmpzJzsKIHZhciBleHBl
Y3RlZF91cmwgPSBub3JtYWxpemVVUkwod29ya2VyKTsKIHZhciBzY29wZSA9ICdyZXNvdXJjZXMv
ZmV0Y2gtd2FpdHMtZm9yLWFjdGl2YXRlLyc7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgdmFyIHJlZ2lzdHJhdGlvbjsKICAgdmFyIGZy
YW1lTG9hZFByb21pc2U7CiAgIHZhciBmcmFtZTsKLSAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkudGhlbihmdW5jdGlvbihyZWcpIHsKKyAg
cmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwg
c2NvcGUpLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKKyAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAg
ICB9KTsKKwogICAgIHJlZ2lzdHJhdGlvbiA9IHJlZzsKICAgICByZXR1cm4gd2FpdF9mb3Jfc3Rh
dGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0aW5nJyk7CiAgIH0pLnRoZW4oZnVuY3Rpb24o
KSB7CkBAIC01NSw4ICs1OSw3IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIGFzc2Vy
dF9lcXVhbHMocmVnaXN0cmF0aW9uLmFjdGl2ZS5zdGF0ZSwgJ2FjdGl2YXRlZCcsCiAgICAgICAg
ICAgICAgICAgICAnYWN0aXZlIHdvcmtlciBzaG91bGQgYmUgaW4gYWN0aXZhdGVkIHN0YXRlJyk7
CiAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICB9KS5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQp
KTsKKyAgfSk7CiB9LCAnRmV0Y2ggZXZlbnRzIHNob3VsZCB3YWl0IGZvciB0aGUgYWN0aXZhdGUg
ZXZlbnQgdG8gY29tcGxldGUuJyk7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZ2V0cmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9n
ZXRyZWdpc3RyYXRpb24uaHR0cHMuaHRtbAppbmRleCBjODZmZGE1MGQ1MmUyNzBjN2Y4YTIxZjAz
ODkxZmE2MzJkMDJmZmI4Li43MmEyYzI1Mzc5Y2QwYzA0ZDYwNWE4ZDQyYmViZmQ3Y2I0ZTVkNDRl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRpb24uaHR0cHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRpb24uaHR0cHMuaHRtbApAQCAt
MTQsMTIgKzE0LDE2IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgLmNhdGNoKHVu
cmVhY2hlZF9yZWplY3Rpb24odCkpOwogICB9LCAnZ2V0UmVnaXN0cmF0aW9uJyk7CiAKLWFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIg
c2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlL2dldHJlZ2lzdHJhdGlvbi9ub3JtYWwnOwogICAgIHZh
ciByZWdpc3RyYXRpb247Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0
ZXIodCwgJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcycsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlKQog
ICAgICAgLnRoZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQs
IHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsK
ICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9u
KHNjb3BlKTsKICAgICAgICAgfSkKQEAgLTI3LDE4ICszMSwyMCBAQCBhc3luY190ZXN0KGZ1bmN0
aW9uKHQpIHsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKAogICAgICAgICAgICAgICB2YWx1ZSwg
cmVnaXN0cmF0aW9uLAogICAgICAgICAgICAgICAnZ2V0UmVnaXN0cmF0aW9uIHNob3VsZCByZXNv
bHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBvYmplY3QnKTsKLSAgICAgICAgICBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAg
IC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdSZWdp
c3RlciB0aGVuIGdldFJlZ2lzdHJhdGlvbicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9z
Y29wZS9nZXRyZWdpc3RyYXRpb24vdXJsLXdpdGgtZnJhZ21lbnQnOwogICAgIHZhciBkb2N1bWVu
dFVSTCA9IHNjb3BlICsgJyNyZWYnOwogICAgIHZhciByZWdpc3RyYXRpb247Ci0gICAgc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgJ3Jlc291cmNlcy9lbXB0eS13b3Jr
ZXIuanMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3Bl
KQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCAn
cmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgewor
ICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVy
biBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0pOwor
CiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKGRvY3VtZW50VVJMKTsKICAgICAgICAgfSkK
QEAgLTQ2LDkgKzUyLDcgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscygKICAgICAgICAgICAgICAgdmFsdWUsIHJlZ2lzdHJhdGlvbiwKICAgICAgICAg
ICAgICAgJ2dldFJlZ2lzdHJhdGlvbiBzaG91bGQgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3Ry
YXRpb24gb2JqZWN0Jyk7Ci0gICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
ZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVj
dGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnUmVnaXN0ZXIgdGhlbiBnZXRSZWdpc3RyYXRp
b24gd2l0aCBhIFVSTCBoYXZpbmcgYSBmcmFnbWVudCcpOwogCiBhc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMtcmVkaXJl
Y3QtYW5kLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0
dHAtdG8taHR0cHMtcmVkaXJlY3QtYW5kLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAwMmE1YTZlZmE1ZDkzYjM5NWU4YmI0ZGJlMjlhOGUzOTI0MmZjOTUxLi44YjViNDZhMjJhYTEw
YjZmMTdkN2RlMTNkNTEwZDNiMDIxNDQzNWNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9odHRwLXRvLWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvaHR0cC10by1odHRwcy1yZWRpcmVjdC1hbmQtcmVnaXN0
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiBQQVNTIHJlZ2lzdGVyIG9u
IGEgc2VjdXJlIHBhZ2UgYWZ0ZXIgcmVkaXJlY3QgZnJvbSBhbiBub24tc2VjdXJlIHVybCAKLUZB
SUwgcmVnaXN0ZXIgb24gYSBub24tc2VjdXJlIHBhZ2UgYWZ0ZXIgcmVkaXJlY3QgZnJvbSBhbiBu
b24tc2VjdXJlIHVybCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiRkFJTDogU2VjdXJpdHlFcnJv
ciIgYnV0IGdvdCAiT0siCitGQUlMIHJlZ2lzdGVyIG9uIGEgbm9uLXNlY3VyZSBwYWdlIGFmdGVy
IHJlZGlyZWN0IGZyb20gYW4gbm9uLXNlY3VyZSB1cmwgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IkZBSUw6IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlzIHVuZGVmaW5lZCIgYnV0IGdvdCAiT0si
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMtcmVkaXJlY3Qt
YW5kLXJlZ2lzdGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9odHRwLXRvLWh0dHBz
LXJlZGlyZWN0LWFuZC1yZWdpc3Rlci5odHRwcy5odG1sCmluZGV4IGQxYzY2NzhmYWE5YWQwMjE3
NjcxMzJmNmI2ZDRlMDlmNTU3ZjUzOGQuLjU2MjYyMzdkY2NjYmYyNzkwMjljYTA3MmI4YTBiYzll
ODQ1ZmJiMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMtcmVk
aXJlY3QtYW5kLXJlZ2lzdGVyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaHR0
cC10by1odHRwcy1yZWRpcmVjdC1hbmQtcmVnaXN0ZXIuaHR0cHMuaHRtbApAQCAtNDIsNyArNDIs
NyBAQCBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogCiAgICAgcmV0dXJuIHJlZGlyZWN0X2Fu
ZF9yZWdpc3Rlcih0YXJnZXRfdXJsKQogICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKLSAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ0ZBSUw6IFNlY3VyaXR5RXJyb3InKTsKKyAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ0ZBSUw6IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlz
IHVuZGVmaW5lZCcpOwogICAgICAgICB9KTsKICAgfSwgJ3JlZ2lzdGVyIG9uIGEgbm9uLXNlY3Vy
ZSBwYWdlIGFmdGVyIHJlZGlyZWN0IGZyb20gYW4gbm9uLXNlY3VyZSB1cmwnKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0
cy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQyZTUwNzJjNjRmZGY3OTU0MTAyY2Jl
NjhjNTRiODRiMTVmNWMwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lt
cG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiB0ZXN0Q2FzZXMKKworRkFJTCBUZXN0cyBmb3IgbW9kdWxlIGltcG9ydDogU2VydmljZVdv
cmtlciBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogdGVzdENhc2VzCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2JjYThkZTY0ZjViYzk2NjQ5MTFiZDFjNWRjODgzNTY3NjgxYWZiOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5o
dHRwcy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBtb2R1bGUgaW1wb3J0OiBTZXJ2aWNlV29ya2Vy
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvaW1wb3J0LXRlc3QtY2Fz
ZXMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gaW1wb3J0X3Rlc3Qo
dGVzdENhc2UpIHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IG1zZ1By
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAgfSk7CisgICAgYXdhaXQgc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcih0LCB0ZXN0Q2FzZS5zY3JpcHRVUkwpOworICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCB0ZXN0Q2FzZS5zY3JpcHRVUkwp
KTsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5yZWdpc3RlcigKKyAgICAgIHRlc3RDYXNlLnNjcmlwdFVSTCwKKyAgICAgIHsgc2NvcGU6IHRl
c3RDYXNlLnNjcmlwdFVSTCwgdHlwZTogJ21vZHVsZScgfSk7CisgICAgcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcucG9zdE1lc3NhZ2UoCisgICAgICAnU2VuZCBtZXNzYWdlIGZvciB0ZXN0cyBmcm9t
IG1haW4gc2NyaXB0LicpOworICAgIGNvbnN0IG1zZ0V2ZW50ID0gYXdhaXQgbXNnUHJvbWlzZTsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1zZ0V2ZW50LmRhdGEsIHRlc3RDYXNlLmV4cGVjdGF0
aW9uKTsKKyAgfSwgdGVzdENhc2UuZGVzY3JpcHRpb24pOworfQorCit0ZXN0Q2FzZXMuZm9yRWFj
aChpbXBvcnRfdGVzdCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtbWltZS10eXBlcy5odHRwcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2IxY2UzNDA0MTU0NDBkMWQwMDQzZWEyYzIyMmMxZGY3YWVlMTk1
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1p
bWUtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFTUyBHbG9i
YWwgc2V0dXAgCitQQVNTIEZldGNoIGltcG9ydFNjcmlwdHMgdGVzdHMgZnJvbSBzZXJ2aWNlIHdv
cmtlciAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIG5vIE1JTUUgdHlwZSAgCitQQVNTIElt
cG9ydGluZyBzY3JpcHQgd2l0aCBiYWQgTUlNRSB0eXBlIHRleHQvcGxhaW4gCitQQVNTIEltcG9y
dGluZyBzY3JpcHQgd2l0aCB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZSBhcHBsaWNhdGlvbi9l
Y21hc2NyaXB0IAorUEFTUyBJbXBvcnRpbmcgc2NyaXB0IHdpdGggdmFsaWQgSmF2YVNjcmlwdCBN
SU1FIHR5cGUgYXBwbGljYXRpb24vamF2YXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3
aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCAK
K1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIGFw
cGxpY2F0aW9uL3gtamF2YXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlk
IEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvZWNtYXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNj
cmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdCAKK1BB
U1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQv
amF2YXNjcmlwdDEuMCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3Jp
cHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuMSAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3
aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuMiAKK1BBU1Mg
SW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2
YXNjcmlwdDEuMyAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQg
TUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuNCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRo
IHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuNSAKK1BBU1MgSW1w
b3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvanNjcmlw
dCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBl
IHRleHQvbGl2ZXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFT
Y3JpcHQgTUlNRSB0eXBlIHRleHQveC1lY21hc2NyaXB0IAorUEFTUyBJbXBvcnRpbmcgc2NyaXB0
IHdpdGggdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUgdGV4dC94LWphdmFzY3JpcHQgCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNjc5ODMxZDBmMmI5OGFlZTIyODk4ZDgyMDM3M2U4MDA3OWZi
ZTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMt
bWltZS10eXBlcy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBpbXBvcnRTY3JpcHRzOiBN
SU1FIHR5cGVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+
PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvKioKKyAqIFRlc3QgdGhhdCBhIFNlcnZpY2Ug
V29ya2VyJ3MgaW1wb3J0U2NyaXB0KCkgb25seSBhY2NlcHRzIHZhbGlkIE1JTUUgdHlwZXMuCisg
Ki8KK2xldCBzZXJ2aWNlV29ya2VyID0gbnVsbDsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtbWltZS10eXBlcyc7
CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsCisgICAgJ3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVz
LXdvcmtlci5qcycsIHNjb3BlKTsKKworICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiB7
IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7IH0pOworCisgIGF3YWl0IHdhaXRfZm9yX3N0YXRl
KHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgc2VydmljZVdv
cmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7Cit9LCAnR2xvYmFsIHNldHVwJyk7CisKK3Byb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgYXdhaXQgZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIoc2Vy
dmljZVdvcmtlcik7Cit9LCAnRmV0Y2ggaW1wb3J0U2NyaXB0cyB0ZXN0cyBmcm9tIHNlcnZpY2Ug
d29ya2VyJykKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvaW1wb3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggYjgyOWZlYzQwNzI5MzRmMjcxNDU2MTM2MzllNTVkZTdjMjU4NjM2ZS4uNmMyYWRi
Yzc1MTE1NGUxYTg0NDJlOTUxNTY1Mzc2YjRiNGRmYjRhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWcuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsNiBAQAogUEFTUyBpbml0aWFsaXplIGdsb2JhbCBzdGF0
ZSAKIFBBU1MgaW1wb3J0IHNjcmlwdCBwcmV2aW91c2x5IGltcG9ydGVkIGF0IHdvcmtlciBldmFs
dWF0aW9uIHRpbWUgCiBQQVNTIGltcG9ydCBzY3JpcHQgcHJldmlvdXNseSBpbXBvcnRlZCBhdCB3
b3JrZXIgaW5zdGFsbCB0aW1lIAotRkFJTCBpbXBvcnQgc2NyaXB0IG5vdCBwcmV2aW91c2x5IGlt
cG9ydGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJUeXBlRXJyb3IiIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbAorRkFJTCBpbXBvcnQgc2NyaXB0IG5vdCBwcmV2aW91c2x5IGltcG9y
dGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJOZXR3b3JrRXJyb3IiIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbAogUEFTUyBUZXN0cyBmb3IgaW1wb3J0U2NyaXB0czogaW1wb3J0IHNj
cmlwdHMgdXBkYXRlZCBmbGFnIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBv
cnQtc2NyaXB0cy11cGRhdGVkLWZsYWcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lt
cG9ydC1zY3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy5odG1sCmluZGV4IDUwNjgyN2Y4OWQ1ZmZk
NTVlODQ3OTUwZDNlMzFlOTIyNDU2ZTZkZDcuLjA5YjQ0OTZhYTBlYzFkMjhiOWUxMDFhNmJhOGE0
MWEzMWI2NTQ1NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRz
LXVwZGF0ZWQtZmxhZy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1z
Y3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy5odG1sCkBAIC03NSw3ICs3NSw3IEBAIHByb21pc2Vf
dGVzdCh0ID0+IHsKICAgICAgICAgICByZXR1cm4gcG9zdF9hbmRfd2FpdF9mb3JfcmVwbHkod29y
a2VyLCAnbWVzc2FnZScpOwogICAgICAgICB9KQogICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKLSAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5lcnJvciwgJ1R5cGVFcnJvcicpOworICAgICAg
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmVycm9yLCAnTmV0d29ya0Vycm9yJyk7CiAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQudmFsdWUsIG51bGwpOwogICAgICAgICB9KTsKICAgfSwg
J2ltcG9ydCBzY3JpcHQgbm90IHByZXZpb3VzbHkgaW1wb3J0ZWQnKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2luc3RhbGxpbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvaW5zdGFsbGluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNmUxMWUwZTI2OGUx
MDU5YTAxN2I4MjllYjhlMTc3NTNlN2NjM2FkYy4uNDU3MDI5M2ZhNmQ4ZjMzYTRlMzE5NTZlOTJm
NzQwNTg0NjE0MmQzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW5zdGFsbGluZy5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW5zdGFsbGluZy5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgaW5zdGFsbGluZyBpcyBzZXQg
CitQQVNTIFRoZSBTZXJ2aWNlV29ya2VyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBpbnN0YWxsaW5n
IGF0dHJpYnV0ZSBnZXR0ZXIgdGhhdCByZXByZXNlbnQgdGhlIHNhbWUgc2VydmljZSB3b3JrZXIg
YXJlIHRoZSBzYW1lIG9iamVjdHMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lu
c3RhbGxpbmcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2luc3RhbGxpbmcuaHR0cHMu
aHRtbAppbmRleCA1N2Q4NzgxMTE5MjEyNDU0YzI3YTJhMjI2YzNkNmJjYjZiMDY3MDYyLi4wZjI1
N2I2YWJhNGYzZDY1ODAyZTdkN2Y4YTc1MDNkNmM2YWVkZDQyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9pbnN0YWxsaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
aW5zdGFsbGluZy5odHRwcy5odG1sCkBAIC01LDMzICs1LDQ0IEBACiA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0Pgor
Citjb25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Citjb25zdCBTQ09Q
RSA9ICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7CisKIC8vICJpbnN0YWxsaW5nIiBpcyBzZXQKLWFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzdGVwID0gdC5zdGVwX2Z1bmMuYmluZCh0
KTsKLSAgICB2YXIgdXJsID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOwotICAgIHZhciBz
Y29wZSA9ICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7Ci0gICAgdmFyIGZyYW1lOworcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4gewogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29w
ZSkKLSAgICAudGhlbihzdGVwKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUp
OyB9KSkKLSAgICAudGhlbihzdGVwKGZ1bmN0aW9uKGYpIHsKLSAgICAgICAgZnJhbWUgPSBmOwot
ICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIodXJsLCB7c2Nv
cGU6IHNjb3BlfSk7Ci0gICAgfSkpCi0gICAgLnRoZW4oc3RlcChmdW5jdGlvbihyZWdpc3RyYXRp
b24pIHsKLSAgICAgICAgdmFyIGNvbnRhaW5lciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXI7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29udGFpbmVyLmNvbnRy
b2xsZXIsIG51bGwpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5hY3RpdmUs
IG51bGwpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi53YWl0aW5nLCBudWxs
KTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24uaW5zdGFsbGluZy5zY3JpcHRV
UkwsIG5vcm1hbGl6ZVVSTCh1cmwpKTsKKyAgdC5hZGRfY2xlYW51cChhc3luYygpID0+IHsKKyAg
ICBpZiAoZnJhbWUpCisgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICBpZiAocmVnaXN0cmF0aW9u
KQorICAgICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgfSk7CiAKLSAgICAg
ICAgLy8gRklYTUU6IEFkZCBhIHRlc3QgZm9yIGEgZnJhbWUgY3JlYXRlZCBhZnRlciBpbnN0YWxs
YXRpb24uCi0gICAgICAgIC8vIFNob3VsZCB0aGUgZXhpc3RpbmcgZnJhbWUgKCJmcmFtZSIpIGJs
b2NrIGFjdGl2YXRpb24/Ci0gICAgfSkpCi0gICAgLnRoZW4oc3RlcChmdW5jdGlvbigpIHsKLSAg
ICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICB9KSkKLSAgICAuY2F0Y2godW5yZWFjaGVk
X3JlamVjdGlvbih0KSk7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NP
UEUpOworICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKFNDT1BFKTsKKyAgY29uc3Qg
cmVnaXN0cmF0aW9uID0KKyAgICAgIGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lz
dGVyKFNDUklQVCwge3Njb3BlOiBTQ09QRX0pOworICBjb25zdCBjb250YWluZXIgPSBmcmFtZS5j
b250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyOworICBhc3NlcnRfZXF1YWxzKGNv
bnRhaW5lci5jb250cm9sbGVyLCBudWxsLCAnY29udHJvbGxlcicpOworICBhc3NlcnRfZXF1YWxz
KHJlZ2lzdHJhdGlvbi5hY3RpdmUsIG51bGwsICdyZWdpc3RyYXRpb24uYWN0aXZlJyk7CisgIGFz
c2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRpbmcsIG51bGwsICdyZWdpc3RyYXRpb24ud2Fp
dGluZycpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLnNjcmlwdFVS
TCwgbm9ybWFsaXplVVJMKFNDUklQVCksCisgICAgICAgICAgICAgICAgJ3JlZ2lzdHJhdGlvbi5p
bnN0YWxsaW5nLnNjcmlwdFVSTCcpOworICAvLyBGSVhNRTogQWRkIGEgdGVzdCBmb3IgYSBmcmFt
ZSBjcmVhdGVkIGFmdGVyIGluc3RhbGxhdGlvbi4KKyAgLy8gU2hvdWxkIHRoZSBleGlzdGluZyBm
cmFtZSAoImZyYW1lIikgYmxvY2sgYWN0aXZhdGlvbj8KIH0sICdpbnN0YWxsaW5nIGlzIHNldCcp
OworCisvLyBUZXN0cyB0aGF0IFRoZSBTZXJ2aWNlV29ya2VyIG9iamVjdHMgcmV0dXJuZWQgZnJv
bSBpbnN0YWxsaW5nIGF0dHJpYnV0ZSBnZXR0ZXIKKy8vIHRoYXQgcmVwcmVzZW50IHRoZSBzYW1l
IHNlcnZpY2Ugd29ya2VyIGFyZSB0aGUgc2FtZSBvYmplY3RzLgorcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCByZWdpc3RyYXRpb24xID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpOworICBjb25zdCBy
ZWdpc3RyYXRpb24yID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0
aW9uKFNDT1BFKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24xLmluc3RhbGxpbmcsIHJl
Z2lzdHJhdGlvbjIuaW5zdGFsbGluZywKKyAgICAgICAgICAgICAgICAnU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5pbnN0YWxsaW5nIHNob3VsZCByZXR1cm4gdGhlICcgKworICAgICAgICAgICAg
ICAgICdzYW1lIG9iamVjdCcpOworICBhd2FpdCByZWdpc3RyYXRpb24xLnVucmVnaXN0ZXIoKTsK
K30sICdUaGUgU2VydmljZVdvcmtlciBvYmplY3RzIHJldHVybmVkIGZyb20gaW5zdGFsbGluZyBh
dHRyaWJ1dGUgZ2V0dGVyIHRoYXQgJyArCisgICAncmVwcmVzZW50IHRoZSBzYW1lIHNlcnZpY2Ug
d29ya2VyIGFyZSB0aGUgc2FtZSBvYmplY3RzJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ludGVyZmFjZXMtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW50ZXJmYWNlcy1zdy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZDQxMGQw
NGU1YWM2OTFlYmU1MDVhNTAzYjJlN2Q0NzBjOTRhYTBmOC4uNTRlYTY3MmJkNzUyMGZiMzIxNDE2
ZTM1YTE4MGJhYzI2NzA0ZTk0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW50ZXJm
YWNlcy1zdy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW50ZXJm
YWNlcy1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw0MSBAQCBQQVNTIEludGVyZmFj
ZXMgYW5kIGF0dHJpYnV0ZXMgaW4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlCiBQQVNTIHRlc3Qg
c2V0dXAgKGNhY2hlIGNyZWF0aW9uKSAKIFBBU1MgRXZlbnQgY29uc3RydWN0b3JzIAogUEFTUyB4
aHIgaXMgbm90IGV4cG9zZWQgCitGQUlMIFVSTC5jcmVhdGVPYmplY3RVUkwgaXMgbm90IGV4cG9z
ZWQgYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBTZXJ2aWNlV29y
a2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCitQQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIFNl
cnZpY2VXb3JrZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBTZXJ2aWNlV29ya2VyIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAorUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKK1BBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVy
dHkgCitQQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2NyaXB0VVJMIAor
UEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIAorUEFTUyBTZXJ2
aWNlV29ya2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHBvc3RNZXNzYWdlKGFueSwgW29iamVjdCBP
YmplY3RdKSAKK1BBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnN0YXRl
Y2hhbmdlIAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5zdGFsbGluZyAKK1BBU1Mg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB3YWl0aW5nIAor
UEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGFjdGl2
ZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBz
Y29wZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSB1cGRhdGVWaWFDYWNoZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiB1cGRhdGUoKSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBp
bnRlcmZhY2U6IG9wZXJhdGlvbiB1bnJlZ2lzdGVyKCkgCitQQVNTIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251cGRhdGVmb3VuZCAKK1BBU1MgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbiBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHNlbGYucmVn
aXN0cmF0aW9uIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc2VsZi5yZWdpc3RyYXRpb24gCitQ
QVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJlZ2lzdHJhdGlv
biBtdXN0IGluaGVyaXQgcHJvcGVydHkgImluc3RhbGxpbmciIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogc2VsZi5yZWdpc3Ry
YXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNlbGYucmVnaXN0
cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0aXZlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNlbGYucmVnaXN0
cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2NvcGUiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogc2VsZi5yZWdpc3Ry
YXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cGRhdGVWaWFDYWNoZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxm
LnJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwZGF0ZSgpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNl
bGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5yZWdpc3RlcigpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZh
Y2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib251cGRhdGVmb3Vu
ZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAog
UEFTUyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQ
QVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC00
Niw5ICs4MSw5IEBAIFBBU1MgQ2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIENsaWVudCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENsaWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCiBQQVNTIENsaWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cmwgCitQ
QVNTIENsaWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmcmFtZVR5cGUgCiBQQVNTIENsaWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBpZCAKIFBBU1MgQ2xpZW50IGludGVyZmFjZTogYXR0cmlidXRl
IHR5cGUgCi1GQUlMIENsaWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXNlcnZlZCBhc3NlcnRf
dHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgInJlc2VydmVk
IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBDbGllbnQgaW50ZXJmYWNlOiBvcGVyYXRp
b24gcG9zdE1lc3NhZ2UoYW55LCBbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBXaW5kb3dDbGllbnQg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
IFBBU1MgV2luZG93Q2xpZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIApAQCAtODAsNjcgKzEx
NSw2IEBAIFBBU1MgQ2xpZW50cyBpbnRlcmZhY2U6IGNhbGxpbmcgbWF0Y2hBbGwoQ2xpZW50UXVl
cnlPcHRpb25zKSBvbiBzZWxmLmNsaWVudHMgd2l0CiBQQVNTIENsaWVudHMgaW50ZXJmYWNlOiBz
ZWxmLmNsaWVudHMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcGVuV2luZG93KFVTVlN0cmluZyki
IHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDbGllbnRzIGludGVyZmFjZTogY2FsbGluZyBv
cGVuV2luZG93KFVTVlN0cmluZykgb24gc2VsZi5jbGllbnRzIHdpdGggdG9vIGZldyBhcmd1bWVu
dHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIENsaWVudHMgaW50ZXJmYWNlOiBzZWxmLmNs
aWVudHMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbGFpbSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIAotUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBB
U1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZTogYXR0
cmlidXRlIHNjcmlwdFVSTCAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBzdGF0ZSAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwb3N0TWVz
c2FnZShhbnksIFtvYmplY3QgT2JqZWN0XSkgCi1QQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25zdGF0ZWNoYW5nZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
biBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
IAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
LVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNT
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5IAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRl
IGluc3RhbGxpbmcgCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgd2FpdGluZyAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBhY3RpdmUgCi1GQUlMIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbmF2aWdhdGlvblByZWxvYWQgYXNzZXJ0X3RydWU6IFRoZSBwcm90
b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJuYXZpZ2F0aW9uUHJlbG9hZCIgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBzY29wZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSB1cGRhdGVWaWFDYWNoZSAKLVBBU1MgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cGRhdGUoKSAKLVBBU1MgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bnJlZ2lzdGVyKCkgCi1QQVNT
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251cGRhdGVm
b3VuZCAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBtdXN0IGJlIHByaW1hcnkgaW50
ZXJmYWNlIG9mIHNlbGYucmVnaXN0cmF0aW9uIAotUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc2Vs
Zi5yZWdpc3RyYXRpb24gCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNl
OiBzZWxmLnJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImluc3RhbGxpbmciIHdp
dGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVy
ZmFjZTogc2VsZi5yZWdpc3RyYXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3YWl0aW5nIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRl
cmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0aXZlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRl
cmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmF2aWdhdGlv
blByZWxvYWQiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
Im5hdmlnYXRpb25QcmVsb2FkIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1QQVNTIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJlZ2lzdHJhdGlvbiBtdXN0
IGluaGVyaXQgcHJvcGVydHkgInNjb3BlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAidXBkYXRlVmlhQ2FjaGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAot
UEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogc2VsZi5yZWdpc3RyYXRp
b24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cGRhdGUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
Ci1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJlZ2lzdHJh
dGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVucmVnaXN0ZXIoKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJl
Z2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udXBkYXRlZm91bmQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0
aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2
ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50
TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVj
dCBPYmplY3RdKSBvbiBzZWxmLnJlZ2lzdHJhdGlvbiB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHNlbGYucmVn
aXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01T
dHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5n
IHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9i
amVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBzZWxmLnJlZ2lzdHJhdGlvbiB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0Y2hFdmVu
dChFdmVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZh
Y2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gc2VsZi5yZWdpc3RyYXRpb24gd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIEV2ZW50
VGFyZ2V0IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
Ci1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLVBB
U1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBF
dmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRFdmVudExpc3RlbmVyKERPTVN0cmlu
ZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCi1QQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9N
U3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSAK
LVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzcGF0Y2hFdmVudChFdmVu
dCkgCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIg
ZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwotRkFJ
TCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2aWdhdGlv
blByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5h
Z2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdh
dGlvblByZWxvYWRNYW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdl
ciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZp
Z2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5h
Z2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFn
ZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcK
LUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZpZ2F0
aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2Vy
IGludGVyZmFjZTogb3BlcmF0aW9uIGVuYWJsZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhw
ZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwotRkFJTCBO
YXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzYWJsZSgpIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmln
YXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2Fk
TWFuYWdlciIgbWlzc2luZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNl
OiBvcGVyYXRpb24gc2V0SGVhZGVyVmFsdWUoQnl0ZVN0cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5h
Z2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBtaXNzaW5n
Ci1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRT
dGF0ZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRp
b25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwogUEFTUyBDYWNoZSBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBDYWNoZSBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ2FjaGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAt
MTc2LDE1ICsxNTAsMTUgQEAgUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlIG9iamVjdCBuYW1l
CiBQQVNTIENhY2hlU3RvcmFnZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3Bl
cmF0aW9uIG1hdGNoKFJlcXVlc3RJbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucykgCitQQVNTIENhY2hl
U3RvcmFnZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBtYXRjaChSZXF1ZXN0SW5mbywgTXVsdGlDYWNo
ZVF1ZXJ5T3B0aW9ucykgCiBQQVNTIENhY2hlU3RvcmFnZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBo
YXMoRE9NU3RyaW5nKSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3BlcmF0aW9uIG9w
ZW4oRE9NU3RyaW5nKSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3BlcmF0aW9uIGRl
bGV0ZShET01TdHJpbmcpIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24g
a2V5cygpIAogUEFTUyBDYWNoZVN0b3JhZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBz
ZWxmLmNhY2hlcyAKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHNlbGYuY2FjaGVzIAotUEFTUyBD
YWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBzZWxmLmNhY2hlcyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im1hdGNoKFJlcXVlc3RJbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucykiIHdpdGggdGhlIHByb3BlciB0
eXBlIAotUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIG1hdGNoKFJlcXVlc3RJ
bmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucykgb24gc2VsZi5jYWNoZXMgd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTog
c2VsZi5jYWNoZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtYXRjaChSZXF1ZXN0SW5mbywgTXVs
dGlDYWNoZVF1ZXJ5T3B0aW9ucykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBDYWNoZVN0
b3JhZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIG1hdGNoKFJlcXVlc3RJbmZvLCBNdWx0aUNhY2hlUXVl
cnlPcHRpb25zKSBvbiBzZWxmLmNhY2hlcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBzZWxmLmNhY2hlcyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImhhcyhET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogY2FsbGluZyBoYXMoRE9NU3RyaW5nKSBv
biBzZWxmLmNhY2hlcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBzZWxmLmNhY2hlcyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9wZW4oRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbnRlcmZhY2VzLXdpbmRvdy5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbnRlcmZhY2VzLXdpbmRvdy5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggNDRkZjAyNWQyNzk2NTE2NzJlNzViZWFlY2JmYmMwZmNlODU4ZDdhOS4uMDBhMjI4
YzExMTk0Yzc4OGMwMzMwMWQwZGJiNGQ1ODgxMDQ4ZWJkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvaW50ZXJmYWNlcy13aW5kb3cuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ludGVyZmFjZXMtd2luZG93Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwx
MSArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDgyOiBjYWxsYmFjayBub3QgeWV0IHN1
cHBvcnRlZAorCiAKIFBBU1MgdGVzdCBzZXR1cCAod29ya2VyIHJlZ2lzdHJhdGlvbikgCi1QQVNT
IFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBD
bGllbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKLVBBU1MgV2luZG93Q2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIENsaWVudHMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK0ZBSUwgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIgaXMgbm90IGF2YWlsYWJsZSBpbiBhIGRhdGE6IGlmcmFtZSBhc3NlcnRfZmFs
c2U6IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIHNob3VsZCBub3QgYmUgZGVmaW5lZCBpbiBpZnJh
bWUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBTZXJ2
aWNlV29ya2VyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBTZXJ2aWNlV29ya2VyIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTIzLDEyICsxOSw2IEBAIFBBU1MgU2VydmljZVdvcmtl
ciBpbnRlcmZhY2U6IHdpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZS5pbnN0YWxsaW5nIG11c3Qg
aW5oZXJpCiBQQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9u
SW5zdGFuY2UuaW5zdGFsbGluZyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBvc3RNZXNzYWdlKGFu
eSwgW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFNlcnZpY2VX
b3JrZXIgaW50ZXJmYWNlOiBjYWxsaW5nIHBvc3RNZXNzYWdlKGFueSwgW29iamVjdCBPYmplY3Rd
KSBvbiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBTZXJ2aWNlV29ya2VyIGludGVy
ZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlLmluc3RhbGxpbmcgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnN0YXRlY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRXZl
bnRUYXJnZXQgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGlu
ZyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVu
dExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRFdmVudExp
c3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3Qg
T2JqZWN0XSkgb24gd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlLmluc3RhbGxpbmcgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3Rl
bmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVudExpc3Rl
bmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2Jq
ZWN0XSkgb24gd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlLmluc3RhbGxpbmcgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
LVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQoRXZlbnQp
IG9uIHdpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZS5pbnN0YWxsaW5nIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCkBAIC0zOCw3ICsyOCw2IEBAIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UKIFBBU1MgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpbnN0YWxsaW5nIAogUEFT
UyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHdhaXRpbmcg
CiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYWN0
aXZlIAotRkFJTCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRl
IG5hdmlnYXRpb25QcmVsb2FkIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0
IGhhdmUgYSBwcm9wZXJ0eSAibmF2aWdhdGlvblByZWxvYWQiIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
c2NvcGUgCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgdXBkYXRlVmlhQ2FjaGUgCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJm
YWNlOiBvcGVyYXRpb24gdXBkYXRlKCkgCkBAIC00OSwzNyArMzgsMTUgQEAgUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2Ygd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlCiBQQVNTIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJpbnN0YWxsaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHdpbmRvdy5yZWdpc3RyYXRp
b25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIndhaXRpbmciIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogd2luZG93
LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0aXZlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZh
Y2U6IHdpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5h
dmlnYXRpb25QcmVsb2FkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJuYXZpZ2F0aW9uUHJlbG9hZCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgog
UEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJh
dGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2NvcGUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogd2luZG93
LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBkYXRlVmlhQ2Fj
aGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
IGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAidXBkYXRlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uIGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAidW5yZWdpc3RlcigpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHdpbmRvdy5yZWdpc3RyYXRp
b25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udXBkYXRlZm91bmQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHdpbmRvdy5yZWdpc3Ry
YXRpb25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9N
U3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGlu
ZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmpl
Y3RdLFtvYmplY3QgT2JqZWN0XSkgb24gd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50VGFyZ2V0
IGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmpl
Y3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3Ry
aW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiB3
aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2Ugd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRo
cm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0
cmF0aW9uSW5zdGFuY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2Fs
bGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2Ug
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
LVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFT
UyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRFdmVudExpc3RlbmVyKERPTVN0
cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCi1Q
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZUV2ZW50TGlzdGVuZXIo
RE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3Rd
KSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzcGF0Y2hFdmVudChF
dmVudCkgCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdl
ciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwot
RkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2aWdh
dGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRN
YW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2
aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFu
YWdlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJO
YXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRN
YW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1h
bmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3Np
bmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZp
Z2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5h
Z2VyIGludGVyZmFjZTogb3BlcmF0aW9uIGVuYWJsZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIg
ZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwotRkFJ
TCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzYWJsZSgp
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5h
dmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVs
b2FkTWFuYWdlciIgbWlzc2luZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJm
YWNlOiBvcGVyYXRpb24gc2V0SGVhZGVyVmFsdWUoQnl0ZVN0cmluZykgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRN
YW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBtaXNz
aW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBn
ZXRTdGF0ZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmln
YXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZworUEFTUyBTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKK1BBU1MgQ2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIFdpbmRvd0NsaWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBDbGllbnRzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENh
Y2hlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCiBQQVNTIENhY2hlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBDYWNoZSBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC05OSw5ICs2NiwxMCBAQCBQQVNTIENhY2hlU3RvcmFnZSBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBD
YWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBDYWNo
ZVN0b3JhZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBDYWNoZVN0
b3JhZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbWF0Y2goUmVxdWVzdEluZm8sIENhY2hlUXVlcnlP
cHRpb25zKSAKK1BBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3BlcmF0aW9uIG1hdGNoKFJl
cXVlc3RJbmZvLCBNdWx0aUNhY2hlUXVlcnlPcHRpb25zKSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGhhcyhET01TdHJpbmcpIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcpIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlKERPTVN0cmluZykgCiBQQVNTIENhY2hlU3RvcmFnZSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBrZXlzKCkgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludGVyZmFjZXMtd2luZG93Lmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9pbnRlcmZhY2VzLXdpbmRvdy5odHRwcy5odG1sCmluZGV4IDcw
OTdkZjA2MTYwNjFlNDg3MmNmMjNhYjA0Y2NmOTdiZjhmOWYwNzkuLjJjMTMxYjNjOTNhNjAwYzY1
YWJkNWQ2MTkzMzQzMjYyMTI2ZTgwOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lu
dGVyZmFjZXMtd2luZG93Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW50ZXJm
YWNlcy13aW5kb3cuaHR0cHMuaHRtbApAQCAtNCwzNCArNCw2NyBAQAogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9pbnRl
cmZhY2VzLWlkbHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhl
bHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAndXNlIHN0cmljdCc7CiAKLXZhciBp
ZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lkbHMoaWRs
cy51bnRlc3RlZCk7Ci1pZGxBcnJheS5hZGRfaWRscyhpZGxzLnRlc3RlZCk7Ci1pZGxBcnJheS5h
ZGRfb2JqZWN0cyh7Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgY29uc3Qgc3JjcyA9
IFsnZG9tJywgJ2h0bWwnLCAnc2VydmljZS13b3JrZXJzJywgJ2RlZGljYXRlZC13b3JrZXJzJ107
CisgIGNvbnN0IFtkb20sIGh0bWwsIHNlcnZpY2VXb3JrZXJJZGwsIGRlZGljYXRlZF0gPSBhd2Fp
dCBQcm9taXNlLmFsbCgKKyAgICBzcmNzLm1hcChpID0+IGZldGNoKGAvaW50ZXJmYWNlcy8ke2l9
LmlkbGApLnRoZW4ociA9PiByLnRleHQoKSkpKTsKKworICB2YXIgaWRsQXJyYXkgPSBuZXcgSWRs
QXJyYXkoKTsKKyAgaWRsQXJyYXkuYWRkX2lkbHMoc2VydmljZVdvcmtlcklkbCwgeyBvbmx5OiBb
CisgICAgJ1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZScsCisgICAgJ0NsaWVudCcsCisgICAgJ1dp
bmRvd0NsaWVudCcsCisgICAgJ0NsaWVudHMnLAorICAgICdTZXJ2aWNlV29ya2VyJywKKyAgICAn
U2VydmljZVdvcmtlclN0YXRlJywKKyAgICAnU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlJywK
KyAgICAnU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbicsCisgICAgJ0V2ZW50VGFyZ2V0JywKKyAg
ICAnTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyJywKKyAgICAnQ2FjaGUnLAorICAgICdDYWNoZVN0
b3JhZ2UnLAorICBdfSk7CisgIGlkbEFycmF5LmFkZF9kZXBlbmRlbmN5X2lkbHMoZGVkaWNhdGVk
KTsKKyAgaWRsQXJyYXkuYWRkX2RlcGVuZGVuY3lfaWRscyhkb20pOworICBpZGxBcnJheS5hZGRf
ZGVwZW5kZW5jeV9pZGxzKGh0bWwpOworICBpZGxBcnJheS5hZGRfb2JqZWN0cyh7CiAgICAgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjogWyduYXZpZ2F0b3Iuc2VydmljZVdvcmtlciddCiAgIH0pOwor
ICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlL2ludGVyZmFjZXMtYW5kLWF0dHJpYnV0ZXMn
OwogCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzY29wZSA9ICdyZXNvdXJj
ZXMvc2NvcGUvaW50ZXJmYWNlcy1hbmQtYXR0cmlidXRlcyc7CisgIHJldHVybiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAgIHQsICdyZXNvdXJjZXMvZW1wdHkt
d29ya2VyLmpzJywgc2NvcGUpCisgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Cisg
ICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICByZXR1cm4gcmVn
aXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgICAgICAgICB9KTsKIAotICAgIHJldHVybiBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKLSAgICAgICAgdCwgJ3Jlc291cmNl
cy9lbXB0eS13b3JrZXIuanMnLCBzY29wZSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJh
dGlvbikgewotICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAg
d2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlID0gcmVnaXN0cmF0aW9uOworICAgICAgICBpZGxB
cnJheS5hZGRfb2JqZWN0cyh7CisgICAgICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OiBbJ3dpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZSddLAorICAgICAgICAgICAgU2VydmljZVdv
cmtlcjogWyd3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyddCisgICAgICAg
ICAgfSk7CisgICAgICAgIGlkbEFycmF5LnRlc3QoKTsKKyAgICAgIH0pOworfSwgJ3Rlc3Qgc2V0
dXAgKHdvcmtlciByZWdpc3RyYXRpb24pJyk7CiAKLSAgICAgICAgICB3aW5kb3cucmVnaXN0cmF0
aW9uSW5zdGFuY2UgPSByZWdpc3RyYXRpb247Ci0gICAgICAgICAgaWRsQXJyYXkuYWRkX29iamVj
dHMoewotICAgICAgICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOiBbJ3dpbmRvdy5y
ZWdpc3RyYXRpb25JbnN0YW5jZSddLAotICAgICAgICAgICAgICBTZXJ2aWNlV29ya2VyOiBbJ3dp
bmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZS5pbnN0YWxsaW5nJ10KLSAgICAgICAgICAgIH0pOwot
ICAgICAgICAgIGlkbEFycmF5LnRlc3QoKTsKLSAgICAgICAgfSk7Ci0gIH0sICd0ZXN0IHNldHVw
ICh3b3JrZXIgcmVnaXN0cmF0aW9uKScpOworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1
cmwgPSBlbmNvZGVVUkkoYGRhdGE6dGV4dC9odG1sLDwhRE9DVFlQRSBodG1sPgorICA8c2NyaXB0
PgorICAgIHBhcmVudC5wb3N0TWVzc2FnZSh7IGlzRGVmaW5lZDogJ3NlcnZpY2VXb3JrZXInIGlu
IG5hdmlnYXRvciB9LCAnKicpOworICA8L2AgKyBgc2NyaXB0PmApOworICB2YXIgcCA9IG5ldyBQ
cm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbWVzc2FnZScsIGV2ZW50ID0+IHsKKyAgICAgIHJlc29sdmUoZXZlbnQuZGF0YS5pc0RlZmlu
ZWQpOworICAgIH0pOworICB9KTsKKyAgd2l0aF9pZnJhbWUodXJsKTsKKyAgcmV0dXJuIHAudGhl
bihpc0RlZmluZWQgPT4geworICAgIGFzc2VydF9mYWxzZShpc0RlZmluZWQsICduYXZpZ2F0b3Iu
c2VydmljZVdvcmtlciBzaG91bGQgbm90IGJlIGRlZmluZWQgaW4gaWZyYW1lJyk7CisgIH0pOwor
fSwgJ25hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlzIG5vdCBhdmFpbGFibGUgaW4gYSBkYXRhOiBp
ZnJhbWUnKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW52YWxp
ZC1ibG9idHlwZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW52YWxpZC1ibG9idHlw
ZS5odHRwcy5odG1sCmluZGV4IGI5OTQ4NTljMWM2ZTMyZjNmYzJhODQzMGVmM2JkZWM4MjM0Mjky
MjIuLjFjNTkyMGZiMDM5MTAxYjE4ZmMzYzM5ZTUzZjdjYmI5YjVlMWViZmMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtYmxvYnR5cGUuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbnZhbGlkLWJsb2J0eXBlLmh0dHBzLmh0bWwKQEAgLTUsMjYgKzUsMzYg
QEAKIDxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgewogICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvaW52YWxpZC1ibG9idHlwZS1pZnJhbWUu
aHR0cHMuaHRtbCc7CiAgICAgdmFyIFNDUklQVCA9ICdyZXNvdXJjZXMvaW52YWxpZC1ibG9idHlw
ZS13b3JrZXIuanMnOwogICAgIHZhciBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7Ci0gICAg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSkK
KyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NS
SVBULCBTQ09QRSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworICAgICAg
ICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgICAgICAgICAgIH0pOworCiAgICAg
ICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAn
YWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJu
IHdpdGhfaWZyYW1lKFNDT1BFKTsgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7Ci0g
ICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAgICBj
aGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOworICAgICAg
ICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIGZyYW1lLnJlbW92
ZSgpOwotICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQs
IFNDT1BFKTsKICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcg
TWVzc2FnZUNoYW5uZWwoKTsKKyAgICAgICAgICB2YXIgb25Nc2cgPSBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7CisgICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0g
cmVzb2x2ZTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRv
dy5wb3N0TWVzc2FnZSh7fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOworICAgICAgICAgIHJldHVybiBvbk1z
ZzsKICAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAg
ICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5y
ZXN1bHRzLCAnZmluaXNoJyk7CisgICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHRoZSByZXNwb25z
ZSBvZiBGZXRjaEV2ZW50IHVzaW5nIFhNTEh0dHBSZXF1ZXN0Jyk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtaGVhZGVyLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbnZhbGlkLWhlYWRlci5odHRwcy5odG1sCmluZGV4IDAyNTZhM2E0YzE1
ODJiZDUwNTIzZGI1NzUwYmIyNjU5YjgxNThhMWMuLjFiYzk3Njk3OTA0NmMxMjdhZDNkMmY0Mjgy
Y2UyOTdlOTk3YjkwM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtaGVh
ZGVyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW52YWxpZC1oZWFkZXIuaHR0
cHMuaHRtbApAQCAtNSwyNiArNSwzNSBAQAogPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBl
cnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9p
bnZhbGlkLWhlYWRlci1pZnJhbWUuaHR0cHMuaHRtbCc7CiAgICAgdmFyIFNDUklQVCA9ICdyZXNv
dXJjZXMvaW52YWxpZC1oZWFkZXItd29ya2VyLmpzJzsKICAgICB2YXIgaG9zdF9pbmZvID0gZ2V0
X2hvc3RfaW5mbygpOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVy
KHQsIFNDUklQVCwgU0NPUEUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWdp
c3RyYXRpb24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBTQ09QRSk7CisgICAg
ICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3Ry
YXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4o
ZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShTQ09QRSk7IH0pCiAgICAgICAudGhlbihm
dW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFu
bmVsKCk7Ci0gICAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhm
dW5jdGlvbihlKSB7Ci0gICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLnJlc3VsdHMs
ICdmaW5pc2gnKTsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewogICAgICAg
ICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICAgICAgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09QRSk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAg
IHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgICAgICAgdmFyIG9uTXNn
ID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAgICBjaGFubmVs
LnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICBm
cmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHt9LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CisgICAg
ICAgICAgcmV0dXJuIG9uTXNnOwogICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9y
ZWplY3Rpb24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oZSkgeworICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZS5kYXRhLnJlc3VsdHMsICdmaW5pc2gnKTsKKyAgICAgICAgfSk7CiAgIH0sICdW
ZXJpZnkgdGhlIHJlc3BvbnNlIG9mIEZldGNoRXZlbnQgdXNpbmcgWE1MSHR0cFJlcXVlc3QnKTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaXNvLWxhdGluMS1oZWFk
ZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lzby1sYXRpbjEtaGVhZGVyLmh0dHBz
Lmh0bWwKaW5kZXggYWQwYWI1OWM3NzU2ZTdkOWQwOGVmYjAzNTM2MjgwNDU2NTFhNTkwYy4uYzI3
YTVmNDhhNWI5ZTkzODRhNWM5MTI5ZDAyODg3NjFiMGRmOWNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaXNvLWxhdGluMS1oZWFkZXIuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9pc28tbGF0aW4xLWhlYWRlci5odHRwcy5odG1sCkBAIC01LDEyICs1LDE2IEBACiA8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
ICAgICB2YXIgU0NPUEUgPSAncmVzb3VyY2VzL2lzby1sYXRpbjEtaGVhZGVyLWlmcmFtZS5odG1s
JzsKICAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9pc28tbGF0aW4xLWhlYWRlci13b3JrZXIu
anMnOwogICAgIHZhciBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7Ci0gICAgc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSkKKyAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09Q
RSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworICAgICAgICAgIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmV0
dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVk
Jyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdpdGhfaWZy
YW1lKFNDT1BFKTsgfSkKQEAgLTE5LDE0ICsyMywxOCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICBm
cmFtZS5yZW1vdmUoKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAgIGNoYW5uZWwucG9ydDEu
b25tZXNzYWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7Ci0gICAgICAgICAgICAgIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOworCisgICAgICAgICAgdmFy
IG9uTXNnID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAgICBj
aGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgICAgICAgICAgICB9KTsKKwogICAg
ICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uoe30sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoYW5uZWwucG9ydDJd
KTsKKyAgICAgICAgICByZXR1cm4gb25Nc2c7CiAgICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5y
ZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAudGhlbihmdW5jdGlvbihlKSB7CisgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOworICAgICAgICB9KTsK
ICAgfSwgJ1ZlcmlmeSB0aGUgcmVzcG9uc2Ugb2YgRmV0Y2hFdmVudCB1c2luZyBYTUxIdHRwUmVx
dWVzdCcpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9sb2NhbC11
cmwtaW5oZXJpdC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmIzYzYxZTFmYjZkNGRkZTBjYWNhMDkxZmZlOGYwZDIzYTRkYjYxZTUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVy
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFTUyBTYW1lLW9yaWdpbiBi
bG9iIFVSTCBpZnJhbWUgc2hvdWxkIGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4g
CitQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIGlmcmFtZSBzaG91bGQgaW50ZXJjZXB0IGZldGNo
KCkuIAorRkFJTCBTYW1lLW9yaWdpbiBibG9iIFVSTCB3b3JrZXIgc2hvdWxkIGluaGVyaXQgc2Vy
dmljZSB3b3JrZXIgY29udHJvbGxlci4gYXNzZXJ0X2VxdWFsczogYmxvYiBVUkwgd29ya2VyIHNo
b3VsZCBpbmhlcml0IGNvbnRyb2xsZXIgZXhwZWN0ZWQgKHN0cmluZykgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11
cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcyIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQ
QVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW50ZXJjZXB0IGZldGNoKCku
IAorRkFJTCBEYXRhIFVSTCBpZnJhbWUgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4gYXNz
ZXJ0X2VxdWFsczogZGF0YSBVUkwgaWZyYW1lIHNob3VsZCBub3QgaW50ZXJjZXB0IGZldGNoIGV4
cGVjdGVkICIiIGJ1dCBnb3QgImludGVyY2VwdGVkIgorRkFJTCBEYXRhIFVSTCB3b3JrZXIgc2hv
dWxkIG5vdCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlNlY3VyaXR5RXJyb3I6IFRo
ZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuIgorRkFJTCBEYXRhIFVSTCB3b3JrZXIgc2hvdWxkIG5v
dCBpbnRlcmNlcHQgZmV0Y2goKS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBpbnNlY3Vy
ZS4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNv
bnRyb2xsZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0
LWNvbnRyb2xsZXIuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzAyYWJjYWRiYjE4OTU4YWY0Y2I1
ODFkNjI4NjY4NWY5MGI2MGM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
bG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTE1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogbG9jYWwgVVJMIHdpbmRv
d3MgYW5kIHdvcmtlcnMgaW5oZXJpdCBjb250cm9sbGVyPC90aXRsZT4KKzxtZXRhIG5hbWU9dGlt
ZW91dCBjb250ZW50PWxvbmc+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwv
c2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCitjb25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL2xv
Y2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXItd29ya2VyLmpzJzsKK2NvbnN0IFNDT1BFID0gJ3Jl
c291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLWZyYW1lLmh0bWwnOworCithc3lu
YyBmdW5jdGlvbiBkb0FzeW5jVGVzdCh0LCBvcHRzKSB7CisgIGxldCBuYW1lID0gYCR7b3B0cy5z
Y2hlbWV9LSR7b3B0cy5jaGlsZH0tJHtvcHRzLmNoZWNrfWA7CisgIGxldCBzY29wZSA9IFNDT1BF
ICsgJz9uYW1lPScgKyBuYW1lOworICBsZXQgcmVnID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSk7CisgIGFkZF9jb21wbGV0aW9u
X2NhbGxiYWNrKF8gPT4gcmVnLnVucmVnaXN0ZXIoKSk7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRl
KHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgbGV0IGZyYW1lID0gYXdhaXQg
d2l0aF9pZnJhbWUoc2NvcGUpOworICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhfID0+IGZyYW1l
LnJlbW92ZSgpKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5uYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLCBudWxsLAorICAgICAgICAgICAgICAgICAg
ICAnZnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQnKTsKKworICBsZXQgcmVzdWx0ID0gYXdhaXQg
ZnJhbWUuY29udGVudFdpbmRvdy5jaGVja0NoaWxkQ29udHJvbGxlcihvcHRzKTsKKyAgcmVzdWx0
ID0gcmVzdWx0LmRhdGE7CisKKyAgbGV0IGV4cGVjdCA9ICd1bmV4cGVjdGVkJzsKKyAgaWYgKG9w
dHMuY2hlY2sgPT09ICdjb250cm9sbGVyJykgeworICAgIGV4cGVjdCA9IG9wdHMuZXhwZWN0ID09
PSAnaW5oZXJpdCcKKyAgICAgICAgICAgICAgID8gZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnNjcmlwdFVSTAorICAgICAgICAgICAgICAgOiBu
dWxsOworICB9IGVsc2UgaWYgKG9wdHMuY2hlY2sgPT09ICdmZXRjaCcpIHsKKyAgICAvLyBUaGUg
c2VydmljZSB3b3JrZXIgRmV0Y2hFdmVudCBoYW5kbGVyIHdpbGwgcHJvdmlkZSBhbiAiaW50ZXJj
ZXB0ZWQiCisgICAgLy8gYm9keS4gIElmIHRoZSBsb2NhbCBVUkwgZW5kcyB1cCB3aXRoIGFuIG9w
YXF1ZSBvcmlnaW4gYW5kIGlzIG5vdAorICAgIC8vIGludGVyY2VwdGVkIHRoZW4gaXQgd2lsbCBn
ZXQgYW4gb3BhcXVlIFJlc3BvbnNlLiAgSW4gdGhhdCBjYXNlIGl0CisgICAgLy8gc2hvdWxkIHNl
ZSBhbiBlbXB0eSBzdHJpbmcgYm9keS4KKyAgICBleHBlY3QgPSBvcHRzLmV4cGVjdCA9PT0gJ2lu
dGVyY2VwdCcgPyAnaW50ZXJjZXB0ZWQnIDogJyc7CisgIH0KKworICBhc3NlcnRfZXF1YWxzKHJl
c3VsdCwgZXhwZWN0LAorICAgICAgICAgICAgICAgIGAke29wdHMuc2NoZW1lfSBVUkwgJHtvcHRz
LmNoaWxkfSBzaG91bGQgJHtvcHRzLmV4cGVjdH0gJHtvcHRzLmNoZWNrfWApOworfQorCitwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gZG9Bc3luY1Rlc3QodCwgeworICAgIHNj
aGVtZTogJ2Jsb2InLAorICAgIGNoaWxkOiAnaWZyYW1lJywKKyAgICBjaGVjazogJ2NvbnRyb2xs
ZXInLAorICAgIGV4cGVjdDogJ2luaGVyaXQnLAorICB9KTsKK30sICdTYW1lLW9yaWdpbiBibG9i
IFVSTCBpZnJhbWUgc2hvdWxkIGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4nKTsK
KworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIGRvQXN5bmNUZXN0KHQsIHsK
KyAgICBzY2hlbWU6ICdibG9iJywKKyAgICBjaGlsZDogJ2lmcmFtZScsCisgICAgY2hlY2s6ICdm
ZXRjaCcsCisgICAgZXhwZWN0OiAnaW50ZXJjZXB0JywKKyAgfSk7Cit9LCAnU2FtZS1vcmlnaW4g
YmxvYiBVUkwgaWZyYW1lIHNob3VsZCBpbnRlcmNlcHQgZmV0Y2goKS4nKTsKKworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIGRvQXN5bmNUZXN0KHQsIHsKKyAgICBzY2hlbWU6
ICdibG9iJywKKyAgICBjaGlsZDogJ3dvcmtlcicsCisgICAgY2hlY2s6ICdjb250cm9sbGVyJywK
KyAgICBleHBlY3Q6ICdpbmhlcml0JywKKyAgfSk7Cit9LCAnU2FtZS1vcmlnaW4gYmxvYiBVUkwg
d29ya2VyIHNob3VsZCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7CisgICAg
c2NoZW1lOiAnYmxvYicsCisgICAgY2hpbGQ6ICd3b3JrZXInLAorICAgIGNoZWNrOiAnZmV0Y2gn
LAorICAgIGV4cGVjdDogJ2ludGVyY2VwdCcsCisgIH0pOworfSwgJ1NhbWUtb3JpZ2luIGJsb2Ig
VVJMIHdvcmtlciBzaG91bGQgaW50ZXJjZXB0IGZldGNoKCkuJyk7CisKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7CisgICAgc2NoZW1lOiAnZGF0
YScsCisgICAgY2hpbGQ6ICdpZnJhbWUnLAorICAgIGNoZWNrOiAnZmV0Y2gnLAorICAgIGV4cGVj
dDogJ25vdCBpbnRlcmNlcHQnLAorICB9KTsKK30sICdEYXRhIFVSTCBpZnJhbWUgc2hvdWxkIG5v
dCBpbnRlcmNlcHQgZmV0Y2goKS4nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
Ly8gRGF0YSBVUkxzIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlIG9yaWdpbiBhbmQgc2hvdWxk
IHByb2JhYmx5IG5vdAorICAvLyBoYXZlIGFjY2VzcyB0byBhIGNyb3NzLW9yaWdpbiBzZXJ2aWNl
IHdvcmtlci4gIFNlZToKKyAgLy8KKyAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9TZXJ2aWNl
V29ya2VyL2lzc3Vlcy8xMjYyCisgIC8vCisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7CisgICAg
c2NoZW1lOiAnZGF0YScsCisgICAgY2hpbGQ6ICd3b3JrZXInLAorICAgIGNoZWNrOiAnY29udHJv
bGxlcicsCisgICAgZXhwZWN0OiAnbm90IGluaGVyaXQnLAorICB9KTsKK30sICdEYXRhIFVSTCB3
b3JrZXIgc2hvdWxkIG5vdCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuJyk7CisK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7Cisg
ICAgc2NoZW1lOiAnZGF0YScsCisgICAgY2hpbGQ6ICd3b3JrZXInLAorICAgIGNoZWNrOiAnZmV0
Y2gnLAorICAgIGV4cGVjdDogJ25vdCBpbnRlcmNlcHQnLAorICB9KTsKK30sICdEYXRhIFVSTCB3
b3JrZXIgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4nKTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL2N1cnJlbnQv
dzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL2N1cnJlbnQv
dzNjLWltcG9ydC5sb2cKaW5kZXggOGRlMjU5NDg0ZDQxY2Q5YWRjZWI1MzU5ZThmYjYzZWQ5MmYy
YWEwYi4uMzI4NzRjMTU2ZGNmZjFjNGYxZDlkM2RiMjBmZDgyMGU0Y2IwMWY5OSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFscy9jdXJyZW50L3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvY3VycmVudC93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL2luY3VtYmVu
dC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvaW5jdW1i
ZW50L3czYy1pbXBvcnQubG9nCmluZGV4IDI5YTE1NGRiNTA4MWMxOGUwMWZhNGExZWEzNzMyYmY0
ZWU5MDZmZDguLjJjNDhjNWI2YTA0MTgyODg0NGYwNmQ0YTJhZjczZWI1NDFkOWQyYzEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvaW5jdW1iZW50L3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvaW5jdW1iZW50L3cz
Yy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAK
IFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRv
IHJlaW1wb3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMv
cmVsZXZhbnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxz
L3JlbGV2YW50L3czYy1pbXBvcnQubG9nCmluZGV4IDEwN2ZjZWUzZGUxMTE5N2UyZDMwMjMzMDM4
MzNkYjkzMTg1NjU0ZDMuLjk2OTZmMzBmYzNiNTY0MmI4YjZjNGYxNjZhOGMxODkwZjA2ZTAzMGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvcmVsZXZhbnQvdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFscy9yZWxldmFu
dC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9i
YWxzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFscy93M2Mt
aW1wb3J0LmxvZwppbmRleCAzZDFiMmZiMjIwMmRjMDUzNTQ3YmU0MDJkMzE3MzMxOGYzM2RjMzE1
Li44NGI3NzdjODk5MjVlM2ZmMTc2ZmQxMDM5OTJjZmYyZWJjZTI5NTNkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL211bHRpcGFydC1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODQwMWIwYmUzNGU3OGY3YmY1ZmU0NDNjZDE5NWE5MmM1NGE2MGNlMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGFydC1pbWFnZS5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBUaGUgb3BlcmF0aW9uIGNvdWxk
buKAmXQgYmUgY29tcGxldGVkLiAoIGVycm9yIDAuKQorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3Qg
bG9hZCAuCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BB
U1MgaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUgCitUSU1FT1VUIHNhbWUtb3JpZ2luIG11bHRpcGFy
dCBpbWFnZSB2aWEgU1cgc2hvdWxkIGJlIHJlYWRhYmxlIFRlc3QgdGltZWQgb3V0CitOT1RSVU4g
Y3Jvc3Mtb3JpZ2luIG11bHRpcGFydCBpbWFnZSB2aWEgU1cgd2l0aCBhcHByb3ZlZCBDT1JTIHNo
b3VsZCBiZSByZWFkYWJsZSAKK05PVFJVTiBjcm9zcy1vcmlnaW4gbXVsdGlwYXJ0IGltYWdlIHdp
dGggbm8tY29ycyB2aWEgU1cgc2hvdWxkIG5vdCBiZSByZWFkYWJsZSAKK05PVFJVTiBjcm9zcy1v
cmlnaW4gbXVsdGlwYXJ0IGltYWdlIHZpYSBTVyB3aXRoIHJlamVjdGVkIENPUlMgc2hvdWxkIGZh
aWwgdG8gbG9hZCAKK05PVFJVTiByZXN0b3JlIGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9tdWx0aXBhcnQtaW1hZ2UuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmRhZGZmMjFm
YmJhYzg0ZTYxNTA3MjRhM2E5YmZkYjAzNWJlMzhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2NyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdHMgZm9yIGNyb3NzLW9yaWdpbiBtdWx0aXBhcnQg
aW1hZ2UgcmV0dXJuZWQgYnkgc2VydmljZSB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKy8vIFRoaXMgdGVz
dHMgbG9hZGluZyBhIG11bHRpcGFydCBpbWFnZSB2aWEgc2VydmljZSB3b3JrZXIuIFRoZSBzZXJ2
aWNlIHdvcmtlciByZXNwb25kcyB3aXRoCisvLyBhbiBvcGFxdWUgb3IgYSBub24tb3BhcXVlIHJl
c3BvbnNlLiBUaGUgY29udGVudCBvZiBvcGFxdWUgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWFk
YWJsZS4KKworY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2Utd29ya2Vy
LmpzJzsKK2NvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UtaWZyYW1lLmh0
bWwnOworbGV0IGZyYW1lOworCitmdW5jdGlvbiBjaGVja19pbWFnZV9kYXRhKGRhdGEpIHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGRhdGFbMF0sIDI1NSk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhWzFd
LCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGFbMl0sIDApOworICAgIGFzc2VydF9lcXVhbHMo
ZGF0YVszXSwgMjU1KTsKK30KKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQsIHNjb3BlKQorICAg
ICAgLnRoZW4ocmVnaXN0cmF0aW9uID0+IHsKKyAgICAgICAgICBwcm9taXNlX3Rlc3QoKCkgPT4g
eworICAgICAgICAgICAgICBpZiAoZnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgIGZyYW1lLnJl
bW92ZSgpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRp
b24udW5yZWdpc3RlcigpOworICAgICAgICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7
CisKKyAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3Rh
bGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHdpdGhf
aWZyYW1lKHNjb3BlKSkKKyAgICAgIC50aGVuKGYgPT4geworICAgICAgICAgIGZyYW1lID0gZjsK
KyAgICAgIH0pOworICB9LCAnaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUnKTsKKworcHJvbWlzZV90
ZXN0KHQgPT4geworICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmxvYWRfbXVsdGlwYXJ0
X2ltYWdlKCdzYW1lLW9yaWdpbi1tdWx0aXBhcnQtaW1hZ2UnKQorICAgICAgLnRoZW4oaW1nID0+
IGZyYW1lLmNvbnRlbnRXaW5kb3cuZ2V0X2ltYWdlX2RhdGEoaW1nKSkKKyAgICAgIC50aGVuKGlt
Z19kYXRhID0+IHsKKyAgICAgICAgICBjaGVja19pbWFnZV9kYXRhKGltZ19kYXRhLmRhdGEpOwor
ICAgICAgfSk7CisgIH0sICdzYW1lLW9yaWdpbiBtdWx0aXBhcnQgaW1hZ2UgdmlhIFNXIHNob3Vs
ZCBiZSByZWFkYWJsZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIGZyYW1l
LmNvbnRlbnRXaW5kb3cubG9hZF9tdWx0aXBhcnRfaW1hZ2UoJ2Nyb3NzLW9yaWdpbi1tdWx0aXBh
cnQtaW1hZ2Utd2l0aC1jb3JzLWFwcHJvdmVkJykKKyAgICAgIC50aGVuKGltZyA9PiBmcmFtZS5j
b250ZW50V2luZG93LmdldF9pbWFnZV9kYXRhKGltZykpCisgICAgICAudGhlbihpbWdfZGF0YSA9
PiB7CisgICAgICAgICAgY2hlY2tfaW1hZ2VfZGF0YShpbWdfZGF0YS5kYXRhKTsKKyAgICAgIH0p
OworICB9LCAnY3Jvc3Mtb3JpZ2luIG11bHRpcGFydCBpbWFnZSB2aWEgU1cgd2l0aCBhcHByb3Zl
ZCBDT1JTIHNob3VsZCBiZSByZWFkYWJsZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAg
cmV0dXJuIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9hZF9tdWx0aXBhcnRfaW1hZ2UoJ2Nyb3NzLW9y
aWdpbi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1uby1jb3JzJykKKyAgICAgIC50aGVuKGltZyA9PiB7
CisgICAgICAgIGFzc2VydF90aHJvd3MoJ1NlY3VyaXR5RXJyb3InLCAoKSA9PiBmcmFtZS5jb250
ZW50V2luZG93LmdldF9pbWFnZV9kYXRhKGltZykpOworICAgICAgfSk7CisgIH0sICdjcm9zcy1v
cmlnaW4gbXVsdGlwYXJ0IGltYWdlIHdpdGggbm8tY29ycyB2aWEgU1cgc2hvdWxkIG5vdCBiZSBy
ZWFkYWJsZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IGZy
YW1lLmNvbnRlbnRXaW5kb3cubG9hZF9tdWx0aXBhcnRfaW1hZ2UoJ2Nyb3NzLW9yaWdpbi1tdWx0
aXBhcnQtaW1hZ2Utd2l0aC1jb3JzLXJlamVjdGVkJyk7CisgICAgcmV0dXJuIHByb21pc2VfcmVq
ZWN0cyh0LCBuZXcgRE9NRXhjZXB0aW9uKCdsb2FkIGZhaWxlZCcsICdOZXR3b3JrRXJyb3InKSwg
cHJvbWlzZSk7CisgIH0sICdjcm9zcy1vcmlnaW4gbXVsdGlwYXJ0IGltYWdlIHZpYSBTVyB3aXRo
IHJlamVjdGVkIENPUlMgc2hvdWxkIGZhaWwgdG8gbG9hZCcpOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0ZS13aW5kb3cuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL25hdmlnYXRlLXdpbmRvdy5odHRwcy5odG1sCmluZGV4IDNjODUzM2E4MDAw
NDcwMmZlZjJkYjc4MWVlYzU2MzdiM2ZmYmE4OTguLjQ2ZDMyYTQ4YTBhZDlkOThiM2JjODgyYjU5
ZTg5MjRlNDVlZTllYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRlLXdp
bmRvdy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRlLXdpbmRvdy5o
dHRwcy5odG1sCkBAIC05NCw5ICs5NCw5IEBAIGZ1bmN0aW9uIHZhbGlkYXRlX3dpbmRvdyh3aW4s
IHVybCwgb3B0cykgewogICAgICAgICByZXN1bHRMaXN0LnNvcnQoY29tcGFyZV91cmxzKTsKIAog
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdExpc3QubGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGV4cGVjdGVkW2ldLnVybCwgcmVzdWx0TGlzdFtpXS51cmws
CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRMaXN0W2ldLnVybCwgZXhwZWN0ZWRbaV0u
dXJsLAogICAgICAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCBzaG91bGQgaGF2ZSBleHBlY3Rl
ZCB1cmwnKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV4cGVjdGVkW2ldLmZyYW1lVHlwZSwg
cmVzdWx0TGlzdFtpXS5mcmFtZVR5cGUsCisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRM
aXN0W2ldLmZyYW1lVHlwZSwgZXhwZWN0ZWRbaV0uZnJhbWVUeXBlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NsaWVudCBzaG91bGQgaGF2ZSBleHBlY3RlZCBmcmFtZSB0eXBlJyk7CiAgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuIHdpbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L25hdmlnYXRpb24tcHJlbG9hZC9icm9rZW4tY2h1bmtlZC1lbmNvZGluZy5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL2Jyb2tlbi1jaHVua2VkLWVuY29k
aW5nLmh0dHBzLmh0bWwKaW5kZXggZjhiMDg4YTcwZGEyZWIwZDNiMzZlN2I5ZGFhODA0MTMxYzBm
OTgwNC4uZWM3NDI4MmFjMzMwYTM0YjY4ZDNlMDgyNDEyOGVjZDY3MDNlZDQzZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL2Jyb2tlbi1jaHVua2VkLWVu
Y29kaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVs
b2FkL2Jyb2tlbi1jaHVua2VkLWVuY29kaW5nLmh0dHBzLmh0bWwKQEAgLTE4LDggKzE4LDI1IEBA
IHByb21pc2VfdGVzdCh0ID0+IHsKICAgICAgIC50aGVuKGZyYW1lID0+IHsKICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKAogICAgICAgICAgICAgZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4
dENvbnRlbnQsCi0gICAgICAgICAgICAnRG9uZScpOworICAgICAgICAgICAgJ1BBU1M6IHByZWxv
YWRSZXNwb25zZSByZXNvbHZlZCcpOwogICAgICAgICB9KTsKLSAgfSwgJ05hdmlnYXRpb24gUHJl
bG9hZCB3aXRoIGJyb2tlbiBjaHVua2VkIGVuY29kaW5nIG11c3QgZmFpbC4nKTsKKyAgfSwgJ0Zl
dGNoRXZlbnQjcHJlbG9hZFJlc3BvbnNlIHJlc29sdmVzIGV2ZW4gaWYgdGhlIGJvZHkgaXMgc2Vu
dCB3aXRoIGJyb2tlbiBjaHVua2VkIGVuY29kaW5nLicpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgICAgdmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvYnJva2VuLWNodW5rZWQtZW5jb2Rpbmctd29y
a2VyLmpzJzsKKyAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2NodW5rZWQtZW5jb2Rpbmctc2Nv
cGUucHk/dXNlX2Jyb2tlbl9ib2R5JzsKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKKyAgICAgIC50aGVuKHJlZ2lzdHJh
dGlvbiA9PiB7CisgICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soXyA9PiByZWdpc3Ry
YXRpb24udW5yZWdpc3RlcigpKTsKKyAgICAgICAgICB2YXIgd29ya2VyID0gcmVnaXN0cmF0aW9u
Lmluc3RhbGxpbmc7CisgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwg
J2FjdGl2YXRlZCcpOworICAgICAgICB9KQorICAgICAgLnRoZW4oXyA9PiB3aXRoX2lmcmFtZShz
Y29wZSkpCisgICAgICAudGhlbihmcmFtZSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscygK
KyAgICAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAg
ICAgICAgICAgJ1BBU1M6IHByZWxvYWRSZXNwb25zZSByZXNvbHZlZCcpOworICAgICAgICB9KTsK
KyAgfSwgJ0ZldGNoRXZlbnQjcHJlbG9hZFJlc3BvbnNlIHJlc29sdmVzIGV2ZW4gaWYgdGhlIGJv
ZHkgaXMgc2VudCB3aXRoIGJyb2tlbiBjaHVua2VkIGVuY29kaW5nIHdpdGggc29tZSBkZWxheXMn
KTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9u
LXByZWxvYWQvbmF2aWdhdGlvblByZWxvYWQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L25hdmlnYXRpb24tcHJlbG9hZC9uYXZpZ2F0aW9uUHJlbG9hZC5odHRwcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM5MmU1YzE0ZGM4YzdjYTdkNDBkZjQzOTZhMTAyZjM3OWUxZDU1YWQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvbmF2aWdhdGlvblBy
ZWxvYWQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5TZXJ2aWNlV29ya2VyOiBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5uYXZpZ2F0aW9uUHJlbG9hZDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rl
c3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
IGNvbnN0IFNDUklQVCA9ICcuLi9yZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzJzsKKyAgY29uc3Qg
U0NPUEUgPSAnLi4vcmVzb3VyY2VzL25hdmlnYXRpb25wcmVsb2FkJzsKKyAgY29uc3QgcmVnaXN0
cmF0aW9uID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIFNDUklQVCwgU0NPUEUpOworICBjb25zdCBuYXZpZ2F0aW9uUHJlbG9hZCA9IHJlZ2lz
dHJhdGlvbi5uYXZpZ2F0aW9uUHJlbG9hZDsKKyAgYXNzZXJ0X3RydWUobmF2aWdhdGlvblByZWxv
YWQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIsCisgICAgICAgICAgICAgICdT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkJyk7CisgIGF3YWl0IHJl
Z2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Cit9LCAiVGhlIG5hdmlnYXRpb25QcmVsb2FkIGF0dHJp
YnV0ZSBtdXN0IHJldHVybiBzZXJ2aWNlIHdvcmtlciAiICsKKyAgICAicmVnaXN0cmF0aW9uJ3Mg
TmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIG9iamVjdC4iKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNl
LXRpbWluZy5odHRwcy5odG1sCmluZGV4IDVmMDk1M2M3NmQxM2FiY2ZjNTZhMTAxNjc4M2E2OTA4
N2NiMTVlM2IuLmI0NzU2ZDA5YTE2MmM1ZTJhZjZhMDU4NzVkY2QzOGNkZGYyZWE3NTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZS10aW1p
bmcuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQv
cmVzb3VyY2UtdGltaW5nLmh0dHBzLmh0bWwKQEAgLTE0LDkgKzE0LDkgQEAgZnVuY3Rpb24gY2hl
Y2tfdGltaW5nX2VudHJ5KGVudHJ5LCB1cmwsIGRlY29kZWRCb2R5U2l6ZSwgZW5jb2RlZEJvZHlT
aXplKSB7CiAgICAgJ1RoZSBlbnRyeVR5cGUgb2YgcHJlbG9hZCByZXNwb25zZSB0aW1pbmcgZW50
cnkgbXVzdCBiZSAicmVzb3VyY2UnICsKICAgICAnIiA6JyArIHVybCk7CiAgIGFzc2VydF9lcXVh
bHMoCi0gICAgZW50cnkuaW5pdGlhdG9yVHlwZSwgJ290aGVyJywKKyAgICBlbnRyeS5pbml0aWF0
b3JUeXBlLCAnbmF2aWdhdGlvbicsCiAgICAgJ1RoZSBpbml0aWF0b3JUeXBlIG9mIHByZWxvYWQg
cmVzcG9uc2UgdGltaW5nIGVudHJ5IG11c3QgYmUgJyArCi0gICAgJyJvdGhlciI6JyArIHVybCk7
CisgICAgJyJuYXZpZ2F0aW9uIjonICsgdXJsKTsKIAogICAvLyBJZiB0aGUgc2VydmVyIHJldHVy
bnMgdGhlIHJlZGlyZWN0IHJlc3BvbnNlLCB8ZGVjb2RlZEJvZHlTaXplfCBpcyBudWxsIGFuZAog
ICAvLyB8ZW50cnkuZGVjb2RlZEJvZHlTaXplfCBzaHVsZCBiZSAwLiBPdGhlcndpc2UgfGVudHJ5
LmRlY29kZWRCb2R5U2l6ZXwgbXVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2
aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy9icm9rZW4tY2h1bmtlZC1lbmNvZGluZy13b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2Jyb2tl
bi1jaHVua2VkLWVuY29kaW5nLXdvcmtlci5qcwppbmRleCAyNzI2OGU4NTZjNzU1MWJmYmU4MTZj
OWEzNzU1MWU5YTNmMjZkYzljLi43YTQ1M2U0MDU1ZjA4NDhhMjI1MDg1OWVmYjkxODQ5ZTI0MzU1
ZTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVz
b3VyY2VzL2Jyb2tlbi1jaHVua2VkLWVuY29kaW5nLXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2Jyb2tlbi1jaHVua2VkLWVuY29k
aW5nLXdvcmtlci5qcwpAQCAtNiw2ICs2LDYgQEAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdhY3Rp
dmF0ZScsIGV2ZW50ID0+IHsKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9
PiB7CiAgICAgZXZlbnQucmVzcG9uZFdpdGgoZXZlbnQucHJlbG9hZFJlc3BvbnNlCiAgICAgICAu
dGhlbigKLSAgICAgICAgXyA9PiBuZXcgUmVzcG9uc2UoJ0ZhaWw6IGdvdCBhIHJlc3BvbnNlJyks
Ci0gICAgICAgIF8gPT4gbmV3IFJlc3BvbnNlKCdEb25lJykpKTsKKyAgICAgICAgXyA9PiBuZXcg
UmVzcG9uc2UoJ1BBU1M6IHByZWxvYWRSZXNwb25zZSByZXNvbHZlZCcpLAorICAgICAgICBfID0+
IG5ldyBSZXNwb25zZSgnRkFJTDogcHJlbG9hZFJlc3BvbnNlIHJlamVjdGVkJykpKTsKICAgfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3Vy
Y2VzL2NodW5rZWQtZW5jb2Rpbmctc2NvcGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0
aW9uLXByZWxvYWQvcmVzb3VyY2VzL2NodW5rZWQtZW5jb2Rpbmctc2NvcGUucHkKaW5kZXggYzBh
NWRkY2UwYjE4ZDgzNWExODVhYzg3MDRjNmFkNjE4ZjNlN2YxMi4uMzUyMWI2NGY1MGZiMWYwZTE3
ZjY2YzBlMzc2ZmZkMTAxZGFlMzIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2
aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy9jaHVua2VkLWVuY29kaW5nLXNjb3BlLnB5CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvY2h1bmtlZC1l
bmNvZGluZy1zY29wZS5weQpAQCAtMSw3ICsxLDcgQEAKIGltcG9ydCB0aW1lCiAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBib2R5ID0gImhlbGxvXG53b3JsZFxuXG4iCisgICAg
dXNlX2Jyb2tlbl9ib2R5ID0gJ3VzZV9icm9rZW5fYm9keScgaW4gcmVxdWVzdC5HRVQKIAogICAg
IHJlc3BvbnNlLmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UKICAgICByZXNwb25zZS53cml0
ZXIud3JpdGVfc3RhdHVzKDIwMCkKQEAgLTEwLDcgKzEwLDEwIEBAIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQogCiAgICAgZm9y
IGlkeCBpbiByYW5nZSgxMCk6Ci0gICAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZSgiJXNcclxu
JXNcclxuIiAlIChsZW4oc3RyKGlkeCkpLCBpZHgpKQorICAgICAgICBpZiB1c2VfYnJva2VuX2Jv
ZHk6CisgICAgICAgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoIiVzXG4lc1xuIiAlIChsZW4o
c3RyKGlkeCkpLCBpZHgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzcG9uc2Uud3Jp
dGVyLndyaXRlKCIlc1xyXG4lc1xyXG4iICUgKGxlbihzdHIoaWR4KSksIGlkeCkpCiAgICAgICAg
IHJlc3BvbnNlLndyaXRlci5mbHVzaCgpCiAgICAgICAgIHRpbWUuc2xlZXAoMC4wMDEpCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMv
ZW1wdHktcHJlbG9hZC1yZXNwb25zZS1ib2R5LXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2VtcHR5LXByZWxvYWQtcmVzcG9uc2UtYm9k
eS1zY29wZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMy
ZTQ4YzUzOTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9h
ZC9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5qcwpp
bmRleCA0NmFmNjQ1NmFlYzNkMzY4ZGIzNTI3YTgzMzFmNGM3MGY1Yzg0NTUwLi5mYWMwZDhkZTJh
NzM2MWFhMmY1NWZkY2RlODdiOTY5YTk1MmI5MmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy13b3JrZXIu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy9y
ZXNvdXJjZS10aW1pbmctd29ya2VyLmpzCkBAIC0xLDE5ICsxLDM3IEBACithc3luYyBmdW5jdGlv
biB3YWl0X2Zvcl9wZXJmb3JtYW5jZV9lbnRyaWVzKHVybCkgeworICBsZXQgZW50cmllcyA9IHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUodXJsKTsKKyAgaWYgKGVudHJpZXMubGVuZ3RoID4g
MCkgeworICAgIHJldHVybiBlbnRyaWVzOworICB9CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSkgPT4geworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7CisgICAg
ICBjb25zdCBlbnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgICAgICBpZiAo
ZW50cmllcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHJlc29sdmUoZW50cmllcyk7CisgICAgICB9
CisgICAgfSkub2JzZXJ2ZSh7IGVudHJ5VHlwZXM6IFsncmVzb3VyY2UnXSB9KTsKKyAgfSk7Cit9
CisKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7CiAgICAgZXZl
bnQud2FpdFVudGlsKHNlbGYucmVnaXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkLmVuYWJsZSgp
KTsKICAgfSk7CiAKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9PiB7Cisg
ICAgbGV0IGhlYWRlcnM7CiAgICAgZXZlbnQucmVzcG9uZFdpdGgoCiAgICAgICBldmVudC5wcmVs
b2FkUmVzcG9uc2UKICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7Ci0gICAgICAgICAgICB2
YXIgaGVhZGVycyA9IHJlc3BvbnNlLmhlYWRlcnM7Ci0gICAgICAgICAgICByZXR1cm4gcmVzcG9u
c2UudGV4dCgpLnRoZW4odGV4dCA9PgotICAgICAgICAgICAgICBuZXcgUmVzcG9uc2UoCi0gICAg
ICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoewotICAgICAgICAgICAgICAgICAgZGVjb2RlZEJv
ZHlTaXplOiBoZWFkZXJzLmdldCgnWC1EZWNvZGVkLUJvZHktU2l6ZScpLAotICAgICAgICAgICAg
ICAgICAgZW5jb2RlZEJvZHlTaXplOiBoZWFkZXJzLmdldCgnWC1FbmNvZGVkLUJvZHktU2l6ZScp
LAotICAgICAgICAgICAgICAgICAgdGltaW5nRW50cmllczogcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZShldmVudC5yZXF1ZXN0LnVybCkKLSAgICAgICAgICAgICAgICB9KSwKLSAgICAgICAg
ICAgICAgICB7aGVhZGVyczogeydDb250ZW50LVR5cGUnOiAndGV4dC9odG1sJ319KSk7Ci0gICAg
ICAgICAgfSkpOworICAgICAgICAgICAgaGVhZGVycyA9IHJlc3BvbnNlLmhlYWRlcnM7CisgICAg
ICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpCisgICAgICAgICAgfSkKKyAgICAgICAgICAu
dGhlbihfID0+IHdhaXRfZm9yX3BlcmZvcm1hbmNlX2VudHJpZXMoZXZlbnQucmVxdWVzdC51cmwp
KQorICAgICAgICAgIC50aGVuKGVudHJpZXMgPT4KKyAgICAgICAgICAgIG5ldyBSZXNwb25zZSgK
KyAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeworICAgICAgICAgICAgICAgIGRlY29kZWRC
b2R5U2l6ZTogaGVhZGVycy5nZXQoJ1gtRGVjb2RlZC1Cb2R5LVNpemUnKSwKKyAgICAgICAgICAg
ICAgICBlbmNvZGVkQm9keVNpemU6IGhlYWRlcnMuZ2V0KCdYLUVuY29kZWQtQm9keS1TaXplJyks
CisgICAgICAgICAgICAgICAgdGltaW5nRW50cmllczogZW50cmllcworICAgICAgICAgICAgICB9
KSwKKyAgICAgICAgICAgICAge2hlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ3RleHQvaHRtbCd9
fSkpKTsKICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXBy
ZWxvYWQvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdh
dGlvbi1wcmVsb2FkL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCAxOGMxNGI2ZDRhZTM1
ZDZmOTkwMzZiODJlMzdhN2E0ODYyNTgxMDc0Li5jNmE5OGY3NGQzMzI2OWMyZDVlYzQ3NWIxOTk5
MjAyMzkxYTM3YWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXBy
ZWxvYWQvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25h
dmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBA
CiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3czYy1pbXBvcnQubG9nCmluZGV4IGExNjQy
NzE2NDI3MGZhYzU1N2NlODBhNmFkMDhiOGIxYmI2OWQ1ODkuLmZjZTdiNTNmMWUxNDVkMWU0Yjdi
NWViNTU3MWMzYjI2YmQzMWNjZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmln
YXRpb24tcHJlbG9hZC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZp
Z2F0aW9uLXByZWxvYWQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
IERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0
Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTgsNiArMTgsNyBAQCBMaXN0IG9mIGZp
bGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9jaHVua2VkLWVuY29k
aW5nLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvZW1w
dHktcHJlbG9hZC1yZXNwb25zZS1ib2R5Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9u
YXZpZ2F0aW9uLXByZWxvYWQvZ2V0LXN0YXRlLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9uYXZpZ2F0aW9uLXByZWxvYWQvbmF2aWdhdGlvblByZWxvYWQuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZWRpcmVjdC5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3JlcXVlc3QtaGVhZGVycy5odHRwcy5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWlu
Zy5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXJl
ZGlyZWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXJlZGlyZWN0
Lmh0dHBzLmh0bWwKaW5kZXggZDg0MDY2NmI4YzZhOTgzM2U2MzFiNjMxYjgzNjQ2ZThjODk5YzUz
ZC4uZThiOGU5YWZkNTgyMGFjZjk0MjJkMTFmNDQxMGMwMTU4ZmEzMTczMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1yZWRpcmVjdC5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbApAQCAtMSw2NyAr
MSw2MiBAQAogPCFET0NUWVBFIGh0bWw+CiA8dGl0bGU+U2VydmljZSBXb3JrZXI6IE5hdmlnYXRp
b24gcmVkaXJlY3Rpb248L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+Cis8IS0tIGVtcHR5IHZhcmlhbnQgdGVzdHMgZG9jdW1lbnQubG9jYXRpb24gYW5kIGludGVy
Y2VwdGVkIFVSTHMgLS0+Cis8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgorPCEtLSBj
bGllbnQgdmFyaWFudCB0ZXN0cyB0aGUgQ2xpZW50cyBBUEkgKHJlc3VsdGluZ0NsaWVudElkIGFu
ZCBDbGllbnQudXJsKSAtLT4KKzxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9jbGllbnQi
PgorCiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+
CiA8c2NyaXB0PgotdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IGhvc3Rf
aW5mbyA9IGdldF9ob3N0X2luZm8oKTsKIAogLy8gVGhpcyB0ZXN0IHJlZ2lzdGVycyB0aHJlZSBT
ZXJ2aWNlIFdvcmtlcnMgYXQgU0NPUEUxLCBTQ09QRTIgYW5kCiAvLyBPVEhFUl9PUklHSU5fU0NP
UEUuIEFuZCBjaGVja3MgdGhlIHJlZGlyZWN0ZWQgcGFnZSdzIFVSTCBhbmQgdGhlIHJlcXVlc3Rz
CiAvLyB3aGljaCBhcmUgaW50ZXJjZXB0ZWQgYnkgU2VydmljZSBXb3JrZXIgd2hpbGUgbG9hZGlu
ZyByZWRpcmVjdCBwYWdlLgotdmFyIEJBU0VfVVJMID0gaG9zdF9pbmZvWydIVFRQU19PUklHSU4n
XSArIGJhc2VfcGF0aCgpOwotdmFyIE9USEVSX0JBU0VfVVJMID0gaG9zdF9pbmZvWydIVFRQU19S
RU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKTsKLQotdmFyIFNDT1BFMSA9IEJBU0VfVVJMICsg
J3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMS5weT8nOwotdmFyIFNDT1BFMiA9
IEJBU0VfVVJMICsgJ3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMi5weT8nOwot
dmFyIE9VVF9TQ09QRSA9IEJBU0VfVVJMICsgJ3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0
LW91dC1zY29wZS5weT8nOwotdmFyIFNDUklQVCA9ICdyZXNvdXJjZXMvcmVkaXJlY3Qtd29ya2Vy
LmpzJzsKLQotdmFyIE9USEVSX09SSUdJTl9JRlJBTUVfVVJMID0KLSAgICBPVEhFUl9CQVNFX1VS
TCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1vdGhlci1vcmlnaW4uaHRtbCc7Ci12
YXIgT1RIRVJfT1JJR0lOX1NDT1BFID0KLSAgICBPVEhFUl9CQVNFX1VSTCArICdyZXNvdXJjZXMv
bmF2aWdhdGlvbi1yZWRpcmVjdC1zY29wZTEucHk/JzsKLXZhciBPVEhFUl9PUklHSU5fT1VUX1ND
T1BFID0KLSAgICBPVEhFUl9CQVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVj
dC1vdXQtc2NvcGUucHk/JzsKLQotdmFyIHdvcmtlcnM7Ci12YXIgb3RoZXJfb3JpZ2luX2ZyYW1l
OwotdmFyIHNldHVwX2Vudmlyb25tZW50X3Byb21pc2U7Ci12YXIgbWVzc2FnZV9yZXNvbHZlcnMg
PSB7fTsKLXZhciBuZXh0X21lc3NhZ2VfaWQgPSAwOwotCi1mdW5jdGlvbiBzZXR1cF9lbnZpcm9u
bWVudCh0KSB7Ci0gIGlmIChzZXR1cF9lbnZpcm9ubWVudF9wcm9taXNlKQotICAgIHJldHVybiBz
ZXR1cF9lbnZpcm9ubWVudF9wcm9taXNlOwotICBzZXR1cF9lbnZpcm9ubWVudF9wcm9taXNlID0K
LSAgICAgIHdpdGhfaWZyYW1lKE9USEVSX09SSUdJTl9JRlJBTUVfVVJMKQotICAgICAgICAudGhl
bihmdW5jdGlvbihmKSB7Ci0gICAgICAgICAgICAvLyBJbiB0aGlzIGZyYW1lIHdlIHJlZ2lzdGVy
IGEgU2VydmljZSBXb3JrZXIgYXQgT1RIRVJfT1JJR0lOX1NDT1BFLgotICAgICAgICAgICAgLy8g
QW5kIHdpbGwgdXNlIHRoaXMgZnJhbWUgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgd29ya2VyLgot
ICAgICAgICAgICAgb3RoZXJfb3JpZ2luX2ZyYW1lID0gZjsKLSAgICAgICAgICAgIHJldHVybiBQ
cm9taXNlLmFsbCgKLSAgICAgICAgICAgICAgICBbc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRTEpLAotICAgICAgICAgICAgICAgICBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFMildKTsKLSAg
ICAgICAgICB9KQotICAgICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb25zKSB7Ci0gICAg
ICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICByZWdpc3RyYXRpb25zWzBdLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICByZWdp
c3RyYXRpb25zWzFdLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICBzZW5kX3RvX2lmcmFt
ZShvdGhlcl9vcmlnaW5fZnJhbWUsICd1bnJlZ2lzdGVyJykKLSAgICAgICAgICAgICAgICAgIC50
aGVuKGZ1bmN0aW9uKCkgeyBvdGhlcl9vcmlnaW5fZnJhbWUucmVtb3ZlKCk7IH0pOwotICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIHdvcmtlcnMgPSByZWdpc3RyYXRpb25zLm1hcChnZXRf
ZWZmZWN0aXZlX3dvcmtlcik7Ci0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWwotICAg
ICAgICAgICAgICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlcnNbMF0sICdhY3RpdmF0ZWQnKSwK
LSAgICAgICAgICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXJzWzFdLCAnYWN0aXZhdGVk
JyksCi0gICAgICAgICAgICAgICAgLy8gVGhpcyBwcm9taXNlIHdpbGwgcmVzb2x2ZSB3aGVuIHx3
YWl0X2Zvcl93b3JrZXJfcHJvbWlzZXwKLSAgICAgICAgICAgICAgICAvLyBpbiBPVEhFUl9PUklH
SU5fSUZSQU1FX1VSTCByZXNvbHZlcy4KLSAgICAgICAgICAgICAgICBzZW5kX3RvX2lmcmFtZShv
dGhlcl9vcmlnaW5fZnJhbWUsICd3YWl0X2Zvcl93b3JrZXInKV0pOwotICAgICAgICAgIH0pOwot
ICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnRfcHJvbWlzZTsKLX0KK2NvbnN0IEJBU0VfVVJMID0g
aG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArIGJhc2VfcGF0aCgpOworY29uc3QgT1RIRVJfQkFT
RV9VUkwgPSBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4nXSArIGJhc2VfcGF0aCgpOwor
Citjb25zdCBTQ09QRTEgPSBCQVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVj
dC1zY29wZTEucHk/JzsKK2NvbnN0IFNDT1BFMiA9IEJBU0VfVVJMICsgJ3Jlc291cmNlcy9uYXZp
Z2F0aW9uLXJlZGlyZWN0LXNjb3BlMi5weT8nOworY29uc3QgT1VUX1NDT1BFID0gQkFTRV9VUkwg
KyAncmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3V0LXNjb3BlLnB5Pyc7Citjb25zdCBT
Q1JJUFQgPSAncmVzb3VyY2VzL3JlZGlyZWN0LXdvcmtlci5qcyc7CisKK2NvbnN0IE9USEVSX09S
SUdJTl9JRlJBTUVfVVJMID0KKyAgICAgIE9USEVSX0JBU0VfVVJMICsgJ3Jlc291cmNlcy9uYXZp
Z2F0aW9uLXJlZGlyZWN0LW90aGVyLW9yaWdpbi5odG1sJzsKK2NvbnN0IE9USEVSX09SSUdJTl9T
Q09QRSA9CisgICAgICBPVEhFUl9CQVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRp
cmVjdC1zY29wZTEucHk/JzsKK2NvbnN0IE9USEVSX09SSUdJTl9PVVRfU0NPUEUgPQorICAgICAg
T1RIRVJfQkFTRV9VUkwgKyAncmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3V0LXNjb3Bl
LnB5Pyc7CisKK2xldCByZWdpc3RyYXRpb25zOworbGV0IHdvcmtlcnM7CitsZXQgb3RoZXJfb3Jp
Z2luX2ZyYW1lOworbGV0IG1lc3NhZ2VfcmVzb2x2ZXJzID0ge307CitsZXQgbmV4dF9tZXNzYWdl
X2lkID0gMDsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgID0+IHsKKyAgLy8gSW4gdGhpcyBmcmFt
ZSB3ZSByZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGF0IE9USEVSX09SSUdJTl9TQ09QRS4KKyAg
Ly8gQW5kIHdpbGwgdXNlIHRoaXMgZnJhbWUgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgd29ya2Vy
LgorICBvdGhlcl9vcmlnaW5fZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShPVEhFUl9PUklHSU5f
SUZSQU1FX1VSTCk7CisKKyAgLy8gUmVnaXN0ZXIgc2FtZS1vcmlnaW4gc2VydmljZSB3b3JrZXJz
LgorICByZWdpc3RyYXRpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRTEpLAorICAgICAg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRTIp
XSk7CisKKyAgLy8gV2FpdCBmb3IgYWxsIHdvcmtlcnMgdG8gYWN0aXZhdGUuCisgIHdvcmtlcnMg
PSByZWdpc3RyYXRpb25zLm1hcChnZXRfZWZmZWN0aXZlX3dvcmtlcik7CisgIHJldHVybiBQcm9t
aXNlLmFsbChbCisgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXJzWzBdLCAnYWN0aXZhdGVk
JyksCisgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXJzWzFdLCAnYWN0aXZhdGVkJyksCisg
ICAgICAvLyBUaGlzIHByb21pc2Ugd2lsbCByZXNvbHZlIHdoZW4gfHdhaXRfZm9yX3dvcmtlcl9w
cm9taXNlfAorICAgICAgLy8gaW4gT1RIRVJfT1JJR0lOX0lGUkFNRV9VUkwgcmVzb2x2ZXMuCisg
ICAgICBzZW5kX3RvX2lmcmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsIHtjb21tYW5kOiAnd2FpdF9m
b3Jfd29ya2VyJ30pXSk7Cit9LCAnaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUnKTsKIAogZnVuY3Rp
b24gZ2V0X2VmZmVjdGl2ZV93b3JrZXIocmVnaXN0cmF0aW9uKSB7CiAgIGlmIChyZWdpc3RyYXRp
b24uYWN0aXZlKQpAQCAtNzIsNDUgKzY3LDIyMCBAQCBmdW5jdGlvbiBnZXRfZWZmZWN0aXZlX3dv
cmtlcihyZWdpc3RyYXRpb24pIHsKICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7
CiB9CiAKLWZ1bmN0aW9uIGNoZWNrX2FsbF9pbnRlcmNlcHRlZF91cmxzKGV4cGVjdGVkX3VybHMp
IHsKLSAgdmFyIHVybHMgPSBbXTsKLSAgcmV0dXJuIGdldF9pbnRlcmNlcHRlZF91cmxzKHdvcmtl
cnNbMF0pCi0gICAgLnRoZW4oZnVuY3Rpb24odXJsKSB7Ci0gICAgICB1cmxzLnB1c2godXJsKTsK
LSAgICAgIHJldHVybiBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXJzWzFdKTsKLSAgICB9KS50
aGVuKGZ1bmN0aW9uKHVybCkgewotICAgICAgdXJscy5wdXNoKHVybCk7Ci0gICAgICAvLyBHZXRz
IHRoZSByZXF1ZXN0IFVSTHMgd2hpY2ggYXJlIGludGVyY2VwdGVkIGJ5IE9USEVSX09SSUdJTl9T
Q09QRSdzCi0gICAgICAvLyBTVy4gVGhpcyBwcm9taXNlIHdpbGwgcmVzb2x2ZSB3aGVuIGdldF9p
bnRlcmNlcHRlZF91cmxzKCkgaW4KLSAgICAgIC8vIE9USEVSX09SSUdJTl9JRlJBTUVfVVJMIHJl
c29sdmVzLgotICAgICAgcmV0dXJuIHNlbmRfdG9faWZyYW1lKG90aGVyX29yaWdpbl9mcmFtZSwg
J2dldF9pbnRlcmNlcHRlZF91cmxzJyk7Ci0gICAgfSkudGhlbihmdW5jdGlvbih1cmwpIHsKLSAg
ICAgIHVybHMucHVzaCh1cmwpOwotICAgICAgcmV0dXJuIHVybHM7Ci0gICAgfSkudGhlbihmdW5j
dGlvbih1cmxzKSB7Ci0gICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKAotICAgICAgICAgICAg
dXJscywgZXhwZWN0ZWRfdXJscywKLSAgICAgICAgICAgICdJbnRlcmNlcHRlZCBVUkxzIHNob3Vs
ZCBtYXRjaC4nKTsKLSAgICAgIH0pOworYXN5bmMgZnVuY3Rpb24gY2hlY2tfYWxsX2ludGVyY2Vw
dGVkX3VybHMoZXhwZWN0ZWRfdXJscykgeworICBjb25zdCB1cmxzID0gW107CisgIHVybHMucHVz
aChhd2FpdCBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXJzWzBdKSk7CisgIHVybHMucHVzaChh
d2FpdCBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXJzWzFdKSk7CisgIC8vIEdldHMgdGhlIHJl
cXVlc3QgVVJMcyB3aGljaCBhcmUgaW50ZXJjZXB0ZWQgYnkgT1RIRVJfT1JJR0lOX1NDT1BFJ3MK
KyAgLy8gU1cuIFRoaXMgcHJvbWlzZSB3aWxsIHJlc29sdmUgd2hlbiBnZXRfcmVxdWVzdF9pbmZv
cygpIGluCisgIC8vIE9USEVSX09SSUdJTl9JRlJBTUVfVVJMIHJlc29sdmVzLgorICBjb25zdCBy
ZXF1ZXN0X2luZm9zID0gYXdhaXQgc2VuZF90b19pZnJhbWUob3RoZXJfb3JpZ2luX2ZyYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbW1hbmQ6ICdn
ZXRfcmVxdWVzdF9pbmZvcyd9KTsKKyAgdXJscy5wdXNoKHJlcXVlc3RfaW5mb3MubWFwKGluZm8g
PT4geyByZXR1cm4gaW5mby51cmw7IH0pKTsKKworICBhc3NlcnRfb2JqZWN0X2VxdWFscyh1cmxz
LCBleHBlY3RlZF91cmxzLCAnSW50ZXJjZXB0ZWQgVVJMcyBzaG91bGQgbWF0Y2guJyk7Cit9CisK
Ky8vIENoZWNrcyB8Y2xpZW50c3wgcmV0dXJuZWQgZnJvbSBhIHdvcmtlci4gT25seSB0aGUgY2xp
ZW50IG1hdGNoaW5nCisvLyB8ZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZ3wgc2hvdWxkIGJlIGZv
dW5kLiBSZXR1cm5zIHRydWUgaWYgYSBjbGllbnQgd2FzCisvLyBmb3VuZC4gTm90ZSB0aGF0IHRo
ZSBmaW5hbCBjbGllbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZvdW5kIGJ5IHRoaXMgd29ya2VyLAor
Ly8gaWYgdGhlIGNsaWVudCBpcyBjcm9zcy1vcmlnaW4uCisvLworLy8gfGNsaWVudHN8IGlzIGFu
IG9iamVjdCBsaWtlOgorLy8ge3g6IHtmb3VuZDogdHJ1ZSwgaWQ6IGlkMSwgdXJsOiB1cmwxfSwg
Yjoge2ZvdW5kOiBmYWxzZX19CitmdW5jdGlvbiBjaGVja19jbGllbnRzKGNsaWVudHMsCisgICAg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2lkLAorICAgICAgICAgICAgICAgICAgICAgICBl
eHBlY3RlZF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2ZpbmFsX2NsaWVu
dF90YWcsCisgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcl9uYW1lKSB7CisgIGxldCBmb3Vu
ZCA9IGZhbHNlOworICBPYmplY3Qua2V5cyhjbGllbnRzKS5mb3JFYWNoKGtleSA9PiB7CisgICAg
Y29uc3QgaW5mbyA9IGNsaWVudHNba2V5XTsKKyAgICBpZiAoaW5mby5mb3VuZCkgeworICAgICAg
YXNzZXJ0X3RydWUoISFleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnLAorICAgICAgICAgICAgICAg
ICAgYCR7d29ya2VyX25hbWV9IGNsaWVudCB0YWcgZXhpc3RzYCk7CisgICAgICBhc3NlcnRfZXF1
YWxzKGtleSwgZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZywKKyAgICAgICAgICAgICAgICAgICAg
YCR7d29ya2VyX25hbWV9IGNsaWVudCB0YWcgbWF0Y2hlc2ApOworICAgICAgYXNzZXJ0X2VxdWFs
cyhpbmZvLmlkLCBleHBlY3RlZF9pZCwgYCR7d29ya2VyX25hbWV9IGNsaWVudCBpZGApOworICAg
ICAgYXNzZXJ0X2VxdWFscyhpbmZvLnVybCwgZXhwZWN0ZWRfdXJsLCBgJHt3b3JrZXJfbmFtZX0g
Y2xpZW50IHVybGApOworICAgICAgZm91bmQgPSB0cnVlOworICAgIH0KKyAgfSk7CisgIHJldHVy
biBmb3VuZDsKK30KKworZnVuY3Rpb24gY2hlY2tfcmVzdWx0aW5nX2NsaWVudF9pZHMoaW5mb3Ms
IGV4cGVjdGVkX2luZm9zLCBhY3R1YWxfaWRzLCB3b3JrZXIpIHsKKyAgYXNzZXJ0X2VxdWFscyhp
bmZvcy5sZW5ndGgsIGV4cGVjdGVkX2luZm9zLmxlbmd0aCwKKyAgICAgICAgICAgICAgICBgcmVx
dWVzdCBsZW5ndGggZm9yICR7d29ya2VyfWApOworICBmb3IgKHZhciBpID0gMDsgaSA8IGluZm9z
Lmxlbmd0aDsgaSsrKSB7CisgICAgY29uc3QgdGFnID0gZXhwZWN0ZWRfaW5mb3NbaV0ucmVzdWx0
aW5nQ2xpZW50SWRUYWc7CisgICAgY29uc3QgdXJsID0gZXhwZWN0ZWRfaW5mb3NbaV0udXJsOwor
ICAgIGNvbnN0IGFjdHVhbF9pZCA9IGluZm9zW2ldLnJlc3VsdGluZ0NsaWVudElkOworICAgIGNv
bnN0IGV4cGVjdGVkX2lkID0gYWN0dWFsX2lkc1t0YWddOworICAgIGFzc2VydF9lcXVhbHModHlw
ZW9mKGFjdHVhbF9pZCksICdzdHJpbmcnLAorICAgICAgICAgICAgICAgICAgYHJlc3VsdGluZ0Ns
aWVudElkIGZvciAke3VybH0gcmVxdWVzdCB0byAke3dvcmtlcn1gKTsKKyAgICBpZiAoZXhwZWN0
ZWRfaWQpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsX2lkLCBleHBlY3RlZF9pZCwKKyAg
ICAgICAgICAgICAgICAgICAgYHJlc3VsdGluZ0NsaWVudElkIGZvciAke3VybH0gcmVxdWVzdCB0
byAke3dvcmtlcn1gKTsKKyAgICB9IGVsc2UgeworICAgICAgYWN0dWFsX2lkc1t0YWddID0gYWN0
dWFsX2lkOworICAgIH0KKyAgfQorfQorCisvLyBDcmVhdGVzIGFuIGlmcmFtZSBhbmQgbmF2aWdh
dGVzIHRvIHx1cmx8LCB3aGljaCBpcyBleHBlY3RlZCB0byBzdGFydCBhIGNoYWluCisvLyBvZiBy
ZWRpcmVjdHMuCisvLyAtIHxleHBlY3RlZF9sYXN0X3VybHwgaXMgdGhlIGV4cGVjdGVkIHdpbmRv
dy5sb2NhdGlvbiBhZnRlciB0aGUKKy8vICAgbmF2aWdhdGlvbi4KKy8vCisvLyAtIHxleHBlY3Rl
ZF9yZXF1ZXN0X2luZm9zfCBpcyB0aGUgZXhwZWN0ZWQgcmVxdWVzdHMgdGhhdCB0aGUgc2Vydmlj
ZSB3b3JrZXJzCisvLyAgIHdlcmUgZGlzcGF0Y2hlZCBmZXRjaCBldmVudHMgZm9yLiBUaGUgZm9y
bWF0IGlzOgorLy8gICBbCisvLyAgICAgWworLy8gICAgICAgLy8gUmVxdWVzdHMgcmVjZWl2ZWQg
Ynkgd29ya2Vyc1swXS4KKy8vICAgICAgIHt1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFn
OiAnYSd9LAorLy8gICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICdhJ30K
Ky8vICAgICBdLAorLy8gICAgIFsKKy8vICAgICAgIC8vIFJlcXVlc3RzIHJlY2VpdmVkIGJ5IHdv
cmtlcnNbMV0uCisvLyAgICAgICB7dXJsOiB1cmwzLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ2En
fQorLy8gICAgIF0sCisvLyAgICAgWworLy8gICAgICAgLy8gUmVxdWVzdHMgcmVjZWl2ZWQgYnkg
dGhlIGNyb3NzLW9yaWdpbiB3b3JrZXIuCisvLyAgICAgICB7dXJsOiB1cmw0LCByZXN1bHRpbmdD
bGllbnRJZFRhZzogJ3gnfQorLy8gICAgICAge3VybDogdXJsNSwgcmVzdWx0aW5nQ2xpZW50SWRU
YWc6ICd4J30KKy8vICAgICBdCisvLyAgIF0KKy8vICAgSGVyZSwgfHVybHwgaXMgfGV2ZW50LnJl
cXVlc3QudXJsfCBhbmQgfHJlc3VsdGluZ0NsaWVudElkVGFnfCByZXByZXNlbnRzCisvLyAgIHxl
dmVudC5yZXN1bHRpbmdDbGllbnRJZHwuIFNpbmNlIHRoZSBhY3R1YWwgY2xpZW50IGlkcyBhcmUg
bm90IGtub3duCisvLyAgIGJlZm9yZWhhbmQsIHRoZSBleHBlY3RhdGlvbiBpc24ndCB0aGUgbGl0
ZXJhbCBleHBlY3RlZCB2YWx1ZSwgYnV0IGFsbCBlcXVhbAorLy8gICB0YWdzIG11c3QgbWFwIHRv
IHRoZSBzYW1lIGFjdHVhbCBpZC4KKy8vCisvLyAtIHxleHBlY3RlZF9maW5hbF9jbGllbnRfdGFn
fCBpcyB0aGUgcmVzdWx0aW5nQ2xpZW50SWRUYWcgdGhhdCBpcworLy8gICBleHBlY3RlZCB0byBt
YXAgdG8gdGhlIGNyZWF0ZWQgY2xpZW50J3MgaWQuIFRoaXMgaXMgbnVsbCBpZiB0aGVyZQorLy8g
ICBpcyBubyBzdWNoIHRhZywgd2hpY2ggY2FuIGhhcHBlbiB3aGVuIHRoZSBmaW5hbCByZXF1ZXN0
IHdhcyBhIGNyb3NzLW9yaWdpbgorLy8gICByZWRpcmVjdCB0byBvdXQtc2NvcGUsIHNvIG5vIHdv
cmtlciByZWNlaXZlZCBhIGZldGNoIGV2ZW50IHdob3NlCisvLyAgIHJlc3VsdGluZ0NsaWVudElk
IGlzIHRoZSBpZCBvZiB0aGUgcmVzdWx0aW5nIGNsaWVudC4KKy8vCisvLyBJbiB0aGUgZXhhbXBs
ZSBhYm92ZToKKy8vIC0gd29ya2Vyc1swXSByZWNlaXZlcyB0d28gcmVxdWVzdHMgd2l0aCB0aGUg
c2FtZSByZXN1bHRpbmdDbGllbnRJZC4KKy8vIC0gd29ya2Vyc1sxXSByZWNlaXZlcyBvbmUgcmVx
dWVzdCBhbHNvIHdpdGggdGhhdCByZXN1bHRpbmdDbGllbnRJZC4KKy8vIC0gVGhlIGNyb3NzLW9y
aWdpbiB3b3JrZXIgcmVjZWl2ZXMgdHdvIHJlcXVlc3RzIHdpdGggdGhlIHNhbWUKKy8vICAgcmVz
dWx0aW5nQ2xpZW50SWQgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBwcmV2aW91cyBvbmUuCisvLyAt
IEFzc3VtaW5nIHxleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnfCBpcyAneCcsIHRoZW4gdGhlIGNy
ZWF0ZWQKKy8vICAgY2xpZW50IGhhcyB0aGUgaWQgc2VlbiBieSB0aGUgY3Jvc3Mtb3JpZ2luIHdv
cmtlciBhYm92ZS4KK2Z1bmN0aW9uIHJlZGlyZWN0X3Rlc3QodXJsLAorICAgICAgICAgICAgICAg
ICAgICAgICBleHBlY3RlZF9sYXN0X3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0
ZWRfcmVxdWVzdF9pbmZvcywKKyAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZmluYWxf
Y2xpZW50X3RhZywKKyAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9uYW1lKSB7CisgIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1l
KHVybCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKwor
ICAgIC8vIFN3aXRjaCBvbiB2YXJpYW50LgorICAgIGlmIChkb2N1bWVudC5sb2NhdGlvbi5zZWFy
Y2ggPT0gJz9jbGllbnQnKSB7CisgICAgICByZXR1cm4gY2xpZW50X3ZhcmlhbnRfdGVzdCh1cmws
IGV4cGVjdGVkX2xhc3RfdXJsLCBleHBlY3RlZF9yZXF1ZXN0X2luZm9zLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZywgdGVzdF9uYW1l
KTsKKyAgICB9CisKKyAgICByZXR1cm4gZGVmYXVsdF92YXJpYW50X3Rlc3QodXJsLCBleHBlY3Rl
ZF9sYXN0X3VybCwgZXhwZWN0ZWRfcmVxdWVzdF9pbmZvcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnJhbWUsIHRlc3RfbmFtZSk7CisgIH0sIHRlc3RfbmFtZSk7CiB9CiAKLWZ1
bmN0aW9uIHRlc3RfcmVkaXJlY3QodXJsLCBleHBlY3RlZF9sYXN0X3VybCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgZXhwZWN0ZWRfaW50ZXJjZXB0ZWRfdXJscykgewotICB2YXIgbWVzc2FnZV9w
cm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgLy8gQSBtZXNz
YWdlIHdoaWNoIElEIGlzICdsYXN0X3VybCcgd2lsbCBiZSBzZW50IGZyb20gdGhlIGlmcmFtZS4K
LSAgICAgIG1lc3NhZ2VfcmVzb2x2ZXJzWydsYXN0X3VybCddID0gcmVzb2x2ZTsKKy8vIFRoZSBk
ZWZhdWx0IHZhcmlhbnQgdGVzdHMgdGhlIHJlcXVlc3QgaW50ZXJjZXB0aW9uIGNoYWluIGFuZAor
Ly8gcmVzdWx0aW5nIGRvY3VtZW50LmxvY2F0aW9uLgorYXN5bmMgZnVuY3Rpb24gZGVmYXVsdF92
YXJpYW50X3Rlc3QodXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhw
ZWN0ZWRfbGFzdF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBl
Y3RlZF9yZXF1ZXN0X2luZm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWUpIHsK
KyAgY29uc3QgZXhwZWN0ZWRfaW50ZXJjZXB0ZWRfdXJscyA9IGV4cGVjdGVkX3JlcXVlc3RfaW5m
b3MubWFwKAorICAgICAgcmVxdWVzdHNfZm9yX3dvcmtlciA9PiB7CisgICAgcmV0dXJuIHJlcXVl
c3RzX2Zvcl93b3JrZXIubWFwKGluZm8gPT4geworICAgICAgcmV0dXJuIGluZm8udXJsOwogICAg
IH0pOwotICByZXR1cm4gd2l0aF9pZnJhbWUodXJsKQotICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsK
LSAgICAgICAgZi5yZW1vdmUoKTsKLSAgICAgICAgcmV0dXJuIGNoZWNrX2FsbF9pbnRlcmNlcHRl
ZF91cmxzKGV4cGVjdGVkX2ludGVyY2VwdGVkX3VybHMpOwotICAgICAgfSkKLSAgICAudGhlbihm
dW5jdGlvbigpIHsgcmV0dXJuIG1lc3NhZ2VfcHJvbWlzZTsgfSkKLSAgICAudGhlbihmdW5jdGlv
bihsYXN0X3VybCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICAgICAgbGFzdF91
cmwsIGV4cGVjdGVkX2xhc3RfdXJsLAotICAgICAgICAgICAgJ0xhc3QgVVJMIHNob3VsZCBtYXRj
aC4nKTsKLSAgICAgIH0pOworICB9KTsKKyAgYXdhaXQgY2hlY2tfYWxsX2ludGVyY2VwdGVkX3Vy
bHMoZXhwZWN0ZWRfaW50ZXJjZXB0ZWRfdXJscyk7CisgIGNvbnN0IGxhc3RfdXJsID0gYXdhaXQg
c2VuZF90b19pZnJhbWUoZnJhbWUsICdnZXRMb2NhdGlvbicpOworICBhc3NlcnRfZXF1YWxzKGxh
c3RfdXJsLCBleHBlY3RlZF9sYXN0X3VybCwgJ0xhc3QgVVJMIHNob3VsZCBtYXRjaC4nKTsKK30K
KworLy8gVGhlICJjbGllbnQiIHZhcmlhbnQgdGVzdHMgdGhlIENsaWVudHMgQVBJIHVzaW5nIHJl
c3VsdGluZ0NsaWVudElkLgorYXN5bmMgZnVuY3Rpb24gY2xpZW50X3ZhcmlhbnRfdGVzdCh1cmws
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2xhc3RfdXJsLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9yZXF1ZXN0X2luZm9z
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9maW5hbF9jbGll
bnRfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25hbWUpIHsK
KyAgLy8gUmVxdWVzdCBpbmZvcyBpcyBhbiBhcnJheSBsaWtlOgorICAvLyBbCisgIC8vICAgW3t1
cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiB0YWcxfV0sCisgIC8vICAgW3t1cmw6IHVy
bDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiB0YWcyfV0sCisgIC8vICAgW3t1cmw6IHVybDM6IHJl
c3VsdGluZ0NsaWVudElkVGFnOiB0YWczfV0KKyAgLy8gXQorICBjb25zdCByZXF1ZXN0SW5mb3Mg
PSBhd2FpdCBnZXRfYWxsX3JlcXVlc3RfaW5mb3MoKTsKKworICAvLyBXZSBjaGVjayB0aGUgYWN0
dWFsIGluZm9zIGFnYWluc3QgdGhlIGV4cGVjdGVkIG9uZXMsIGFuZCBsZWFybiB0aGUKKyAgLy8g
YWN0dWFsIGlkcyBhcyB3ZSBnby4KKyAgY29uc3QgYWN0dWFsX2lkcyA9IHt9OworICBjaGVja19y
ZXN1bHRpbmdfY2xpZW50X2lkcyhyZXF1ZXN0SW5mb3NbMF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkX3JlcXVlc3RfaW5mb3NbMF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdHVhbF9pZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3b3Jr
ZXIwJyk7CisgIGNoZWNrX3Jlc3VsdGluZ19jbGllbnRfaWRzKHJlcXVlc3RJbmZvc1sxXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVxdWVzdF9pbmZvc1sxXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsX2lkcywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3dvcmtlcjEnKTsKKyAgY2hlY2tfcmVzdWx0aW5nX2NsaWVudF9pZHMocmVx
dWVzdEluZm9zWzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9yZXF1
ZXN0X2luZm9zWzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxfaWRzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3Jvc3NPcmlnaW5Xb3JrZXInKTsKKworICAv
LyBOb3cgfGFjdHVhbF9pZHN8IG1hcHMgdGFnIHRvIGFjdHVhbCBpZDoKKyAgLy8ge3g6IGlkMSwg
YjogaWQyLCBjOiBpZDN9CisgIC8vIEFzayBlYWNoIHdvcmtlciB0byB0cnkgdG8gcmVzb2x2ZSB0
aGUgYWN0dWFsIGlkcyB0byBjbGllbnRzLgorICAvLyBPbmx5IHxleHBlY3RlZF9maW5hbF9jbGll
bnRfdGFnfCBzaG91bGQgcmVzb2x2ZSB0byBhIGNsaWVudC4KKyAgY29uc3QgY2xpZW50X2luZm9z
ID0gYXdhaXQgZ2V0X2FsbF9jbGllbnRzKGFjdHVhbF9pZHMpOworCisgIC8vIENsaWVudCBpbmZv
cyBpcyBhbiBvYmplY3QgbGlrZToKKyAgLy8geworICAvLyAgIHdvcmtlcjA6IHt4OiB7Zm91bmQ6
IHRydWUsIGlkOiBpZDEsIHVybDogdXJsMX0sIGI6IHtmb3VuZDogZmFsc2V9fSwKKyAgLy8gICB3
b3JrZXIxOiB7eDoge2ZvdW5kOiB0cnVlLCBpZDogaWQxLCB1cmw6IHVybDF9fSwKKyAgLy8gICBj
cm9zc09yaWdpbldvcmtlcjoge3g6IHtmb3VuZDogZmFsc2V9fSwge2I6IHtmb3VuZDogZmFsc2V9
fQorICAvLyB9CisgIC8vCisgIC8vIE5vdyBjaGVjayBlYWNoIGNsaWVudCBpbmZvLiBjaGVja19j
bGllbnRzKCkgdmVyaWZpZXMgZWFjaCBpbmZvOiBvbmx5CisgIC8vIHxleHBlY3RlZF9maW5hbF9j
bGllbnRfdGFnfCBzaG91bGQgZXZlciBiZSBmb3VuZCBhbmQgdGhlIGZvdW5kIGNsaWVudAorICAv
LyBzaG91bGQgaGF2ZSB0aGUgZXhwZWN0ZWQgdXJsIGFuZCBpZC4gQSB3cmlua2xlIGlzIHRoYXQg
bm90IGFsbCB3b3JrZXJzCisgIC8vIHdpbGwgZmluZCB0aGUgY2xpZW50LCBpZiB0aGV5IGFyZSBj
cm9zcy1vcmlnaW4gdG8gdGhlIGNsaWVudC4gVGhpcworICAvLyBtZWFucyBjaGVja19jbGllbnRz
KCkgdHJpdmlhbGx5IHBhc3NlcyBpZiBubyBjbGllbnRzIGFyZSBmb3VuZC4gU28KKyAgLy8gYWRk
aXRpb25hbGx5IGNoZWNrIHRoYXQgYXQgbGVhc3Qgb25lIHdvcmtlciBmb3VuZCB0aGUgY2xpZW50
ICh8Zm91bmR8KSwKKyAgLy8gaWYgdGhhdCB3YXMgZXhwZWN0ZWQgKHxleHBlY3RfZm91bmR8KS4K
KyAgbGV0IGZvdW5kID0gZmFsc2U7CisgIGNvbnN0IGV4cGVjdF9mb3VuZCA9ICEhZXhwZWN0ZWRf
ZmluYWxfY2xpZW50X3RhZzsKKyAgY29uc3QgZXhwZWN0ZWRfaWQgPSBhY3R1YWxfaWRzW2V4cGVj
dGVkX2ZpbmFsX2NsaWVudF90YWddOworICBmb3VuZCA9IGNoZWNrX2NsaWVudHMoY2xpZW50X2lu
Zm9zLndvcmtlcjAsCisgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9pZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2xhc3RfdXJsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICd3b3JrZXIwJyk7CisgIGZvdW5kID0gY2hlY2tfY2xpZW50cyhjbGllbnRfaW5mb3Mud29ya2Vy
MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2lkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgZXhwZWN0ZWRfbGFzdF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICBleHBl
Y3RlZF9maW5hbF9jbGllbnRfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3dvcmtlcjEn
KSB8fCBmb3VuZDsKKyAgZm91bmQgPSBjaGVja19jbGllbnRzKGNsaWVudF9pbmZvcy5jcm9zc09y
aWdpbldvcmtlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2lkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbGFzdF91cmwsCisgICAgICAgICAgICAgICAgICAg
ICAgICBleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAg
J2Nyb3NzT3JpZ2luV29ya2VyJykgfHwgZm91bmQ7CisgIGFzc2VydF9lcXVhbHMoZm91bmQsIGV4
cGVjdF9mb3VuZCwgJ2NsaWVudCBmb3VuZCcpOworCisgIGlmICghZXhwZWN0X2ZvdW5kKSB7Cisg
ICAgLy8gVE9ETyhmYWxrZW4pOiBBc2sgdGhlIG90aGVyIG9yaWdpbiBmcmFtZSBpZiBpdCBoYXMg
YSBjbGllbnQgb2YgdGhlCisgICAgLy8gZXhwZWN0ZWQgVVJMLgorICB9CiB9CiAKIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25fbWVzc2FnZSwgZmFsc2UpOwpAQCAtMTI4LDM0
MiArMjk4LDUzMSBAQCBmdW5jdGlvbiBvbl9tZXNzYWdlKGUpIHsKIAogZnVuY3Rpb24gc2VuZF90
b19pZnJhbWUoZnJhbWUsIG1lc3NhZ2UpIHsKICAgdmFyIG1lc3NhZ2VfaWQgPSBuZXh0X21lc3Nh
Z2VfaWQrKzsKLSAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKLSAgICAg
IG1lc3NhZ2VfcmVzb2x2ZXJzW21lc3NhZ2VfaWRdID0gcmVzb2x2ZTsKLSAgICAgIGZyYW1lLmNv
bnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoCi0gICAgICAgICAge2lkOiBtZXNzYWdlX2lkLCBtZXNz
YWdlOiBtZXNzYWdlfSwKLSAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4n
XSk7Ci0gICAgfSk7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBtZXNz
YWdlX3Jlc29sdmVyc1ttZXNzYWdlX2lkXSA9IHJlc29sdmU7CisgICAgZnJhbWUuY29udGVudFdp
bmRvdy5wb3N0TWVzc2FnZSgKKyAgICAgICAge2lkOiBtZXNzYWdlX2lkLCBtZXNzYWdlfSwKKyAg
ICAgICAgJyonKTsKKyAgfSk7CiB9CiAKLWZ1bmN0aW9uIGdldF9pbnRlcmNlcHRlZF91cmxzKHdv
cmtlcikgewotICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAg
dmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIGNoYW5uZWwucG9ydDEu
b25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7IHJlc29sdmUobXNnLmRhdGEudXJscyk7IH07Ci0g
ICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9ydDJ9LCBbY2hhbm5lbC5w
b3J0Ml0pOwotICAgIH0pOworYXN5bmMgZnVuY3Rpb24gZ2V0X2FsbF9jbGllbnRzKGFjdHVhbF9p
ZHMpIHsKKyAgY29uc3QgY2xpZW50X2luZm9zID0ge307CisgIGNsaWVudF9pbmZvc1snd29ya2Vy
MCddID0gYXdhaXQgZ2V0X2NsaWVudHMod29ya2Vyc1swXSwgYWN0dWFsX2lkcyk7CisgIGNsaWVu
dF9pbmZvc1snd29ya2VyMSddID0gYXdhaXQgZ2V0X2NsaWVudHMod29ya2Vyc1sxXSwgYWN0dWFs
X2lkcyk7CisgIGNsaWVudF9pbmZvc1snY3Jvc3NPcmlnaW5Xb3JrZXInXSA9CisgICAgICBhd2Fp
dCBzZW5kX3RvX2lmcmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7Y29tbWFuZDogJ2dldF9jbGllbnRzJywgYWN0dWFsX2lkc30pOworICByZXR1cm4g
Y2xpZW50X2luZm9zOwogfQogCi0vLyBOb3JtYWwgcmVkaXJlY3QuCi1wcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1bmN0aW9u
KCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAgICAgICAgIE9VVF9TQ09Q
RSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTEpLAotICAgICAgICAgICAgU0NP
UEUxLAotICAgICAgICAgICAgW1tTQ09QRTFdLCBbXSwgW11dKTsKLSAgICAgIH0pOwotICB9LCAn
Tm9ybWFsIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNjb3BlLicpOwotcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBPVVRfU0NP
UEUgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1NDT1BFKSwKLSAg
ICAgICAgICAgIE9USEVSX09SSUdJTl9TQ09QRSwKLSAgICAgICAgICAgIFtbXSwgW10sIFtPVEhF
Ul9PUklHSU5fU0NPUEVdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ05vcm1hbCByZWRpcmVjdCB0byBv
dGhlci1vcmlnaW4gc2NvcGUuJyk7CitmdW5jdGlvbiBnZXRfY2xpZW50cyh3b3JrZXIsIGFjdHVh
bF9pZHMpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHZhciBjaGFu
bmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2Ug
PSAobXNnKSA9PiB7CisgICAgICByZXNvbHZlKG1zZy5kYXRhLmNsaWVudHMpOworICAgIH07Cisg
ICAgd29ya2VyLnBvc3RNZXNzYWdlKHtjb21tYW5kOiAnZ2V0Q2xpZW50cycsIGFjdHVhbF9pZHMs
IHBvcnQ6IGNoYW5uZWwucG9ydDJ9LAorICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbC5w
b3J0Ml0pOworICB9KTsKK30KKworLy8gUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgVVJMcyB0aGF0
IHx3b3JrZXJ8IHJlY2VpdmVkIGZldGNoIGV2ZW50cyBmb3I6CisvLyAgIFt1cmwxLCB1cmwyXQor
YXN5bmMgZnVuY3Rpb24gZ2V0X2ludGVyY2VwdGVkX3VybHMod29ya2VyKSB7CisgIGNvbnN0IGlu
Zm9zID0gYXdhaXQgZ2V0X3JlcXVlc3RfaW5mb3Mod29ya2VyKTsKKyAgcmV0dXJuIGluZm9zLm1h
cChpbmZvID0+IHsgcmV0dXJuIGluZm8udXJsOyB9KTsKK30KKworLy8gUmV0dXJucyB0aGUgcmVx
dWVzdHMgdGhhdCB8d29ya2VyfCByZWNlaXZlZCBmZXRjaCBldmVudHMgZm9yLiBUaGUgcmV0dXJu
CisvLyB2YWx1ZSBpcyBhbiBhcnJheSBvZiBmb3JtYXQ6CisvLyBbCisvLyAgIHt1cmw6IHVybDEs
IHJlc3VsdGluZ0NsaWVudElkOiBpZH0sCisvLyAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVu
dElkOiBpZH0KKy8vIF0KK2Z1bmN0aW9uIGdldF9yZXF1ZXN0X2luZm9zKHdvcmtlcikgeworICBy
ZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVz
c2FnZUNoYW5uZWwoKTsKKyAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IChtc2cpID0+IHsK
KyAgICAgIHJlc29sdmUobXNnLmRhdGEucmVxdWVzdEluZm9zKTsKKyAgICB9OworICAgIHdvcmtl
ci5wb3N0TWVzc2FnZSh7Y29tbWFuZDogJ2dldFJlcXVlc3RJbmZvcycsIHBvcnQ6IGNoYW5uZWwu
cG9ydDJ9LAorICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOworICB9KTsK
K30KKworLy8gUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgcmVxdWVzdHMgdGhlIHdvcmtlcnMgcmVj
ZWl2ZWQgZmV0Y2ggZXZlbnRzIGZvcjoKKy8vIFsKKy8vICAgLy8gUmVxdWVzdHMgZnJvbSB3b3Jr
ZXJzWzBdLgorLy8gICBbCisvLyAgICAge3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6
IHRhZzF9LAorLy8gICAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiB0YWcxfQor
Ly8gICBdLAorLy8KKy8vICAgLy8gUmVxdWVzdHMgZnJvbSB3b3JrZXJzWzFdLgorLy8gICBbe3Vy
bDogdXJsMywgcmVzdWx0aW5nQ2xpZW50SWRUYWc6IHRhZzJ9XSwKKy8vCisvLyAgIC8vIFJlcXVl
c3RzIGZyb20gdGhlIGNyb3NzLW9yaWdpbiB3b3JrZXIuCisvLyAgIFtdCisvLyBdCithc3luYyBm
dW5jdGlvbiBnZXRfYWxsX3JlcXVlc3RfaW5mb3MoKSAgeworICBjb25zdCByZXF1ZXN0X2luZm9z
ID0gW107CisgIHJlcXVlc3RfaW5mb3MucHVzaChhd2FpdCBnZXRfcmVxdWVzdF9pbmZvcyh3b3Jr
ZXJzWzBdKSk7CisgIHJlcXVlc3RfaW5mb3MucHVzaChhd2FpdCBnZXRfcmVxdWVzdF9pbmZvcyh3
b3JrZXJzWzFdKSk7CisgIHJlcXVlc3RfaW5mb3MucHVzaChhd2FpdCBzZW5kX3RvX2lmcmFtZShv
dGhlcl9vcmlnaW5fZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7Y29tbWFuZDogJ2dldF9yZXF1ZXN0X2luZm9zJ30pKTsKKyAgcmV0dXJuIHJlcXVlc3Rf
aW5mb3M7Cit9CisKK2xldCB1cmw7CitsZXQgdXJsMTsKK2xldCB1cmwyOworCisvLyBOb3JtYWwg
cmVkaXJlY3QgKGZyb20gb3V0LXNjb3BlIHRvIGluLXNjb3BlKS4KK3VybCA9IFNDT1BFMTsKK3Jl
ZGlyZWN0X3Rlc3QoCisgICAgT1VUX1NDT1BFICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50
KHVybCksCisgICAgdXJsLAorICAgIFtbe3VybCwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31d
LCBbXSwgW11dLAorICAgICd4JywKKyAgICAnTm9ybWFsIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2lu
IHNjb3BlLicpOworCisKK3VybCA9IFNDT1BFMSArICcjcmVmJzsKK3JlZGlyZWN0X3Rlc3QoCisg
ICAgT1VUX1NDT1BFICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSkgKyAnI3Jl
ZicsCisgICAgdXJsLAorICAgIFtbe3VybCwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLCBb
XSwgW11dLAorICAgICd4JywKKyAgICAnTm9ybWFsIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNj
b3BlIHdpdGggYSBoYXNoIGZyYWdtZW50LicpOworCit1cmwgPSBTQ09QRTEgKyAnI3JlZjInOwor
cmVkaXJlY3RfdGVzdCgKKyAgICBPVVRfU0NPUEUgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25l
bnQodXJsKSArICcjcmVmJywKKyAgICB1cmwsCisgICAgW1t7dXJsLCByZXN1bHRpbmdDbGllbnRJ
ZFRhZzogJ3gnfV0sIFtdLCBbXV0sCisgICAgJ3gnLAorICAgICdOb3JtYWwgcmVkaXJlY3QgdG8g
c2FtZS1vcmlnaW4gc2NvcGUgd2l0aCBkaWZmZXJlbnQgaGFzaCBmcmFnbWVudHMuJyk7CisKK3Vy
bCA9IE9USEVSX09SSUdJTl9TQ09QRTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgT1VUX1NDT1BFICsg
J3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCksCisgICAgdXJsLAorICAgIFtbXSwgW10s
IFt7dXJsLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV1dLAorICAgICd4JywKKyAgICAnTm9y
bWFsIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBzY29wZS4nKTsKIAogLy8gU1cgZmFsbGJhY2tl
ZCByZWRpcmVjdC4gU1cgZG9lc24ndCBoYW5kbGUgdGhlIGZldGNoIHJlcXVlc3QuCi1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0KS50aGVu
KGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAgICAgICAg
IFNDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVVRfU0NPUEUpLAotICAgICAg
ICAgICAgT1VUX1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVV
UklDb21wb25lbnQoT1VUX1NDT1BFKV0sIFtdLCBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1m
YWxsYmFja2VkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZS4nKTsKLXByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4o
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAg
U0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksCi0gICAgICAgICAg
ICBTQ09QRTEsCi0gICAgICAgICAgICBbW1NDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBv
bmVudChTQ09QRTEpLCBTQ09QRTFdLCBbXSwgW11dKTsKLSAgICAgIH0pOwotICB9LCAnU1ctZmFs
bGJhY2tlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicpOwotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBT
Q09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUyKSwKLSAgICAgICAgICAg
IFNDT1BFMiwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9u
ZW50KFNDT1BFMildLCBbU0NPUEUyXSwgW11dKTsKLSAgICAgIH0pOwotICB9LCAnU1ctZmFsbGJh
Y2tlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBvdGhlci1zY29wZS4nKTsKLXByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NP
UEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUp
LAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX09VVF9TQ09QRSwKLSAgICAgICAgICAgIFtbU0NP
UEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUp
XSwKLSAgICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICBbXV0pOwotICAgICAgfSk7Ci0gIH0s
ICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBvdXQtc2NvcGUuJyk7Ci1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0
KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAg
ICAgICAgIFNDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5f
U0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX1NDT1BFLAotICAgICAgICAgICAgW1tT
Q09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1NDT1BFKV0s
Ci0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW09USEVSX09SSUdJTl9TQ09QRV1dKTsK
LSAgICAgIH0pOwotICB9LCAnU1ctZmFsbGJhY2tlZCByZWRpcmVjdCB0byBvdGhlci1vcmlnaW4g
aW4tc2NvcGUuJyk7Cit1cmwgPSBTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQo
T1VUX1NDT1BFKTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsLAorICAgIE9VVF9TQ09QRSwKKyAg
ICBbW3t1cmwsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwgW10sIFtdXSwKKyAgICAneCcs
CisgICAgJ1NXLWZhbGxiYWNrZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3V0LXNjb3BlLicp
OworCit1cmwxID0gU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSk7
Cit1cmwyID0gU0NPUEUxOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVybDIsCisg
ICAgWworICAgICAgWworICAgICAgICB7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzog
J3gnfSwKKyAgICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J30KKyAg
ICAgIF0sCisgICAgICBbXSwKKyAgICAgIFtdCisgICAgXSwKKyAgICAneCcsCisgICAgJ1NXLWZh
bGxiYWNrZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gc2FtZS1zY29wZS4nKTsKKwordXJsMSA9
IFNDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTEpICsgJyNyZWYnOwor
dXJsMiA9IFNDT1BFMSArICcjcmVmJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1
cmwyLAorICAgIFsKKyAgICAgIFsKKyAgICAgICAge3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50
SWRUYWc6ICd4J30sCisgICAgICAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAn
eCd9CisgICAgICBdLAorICAgICAgW10sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gnLAorICAg
ICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNhbWUtc2NvcGUgd2l0aCBh
IGhhc2ggZnJhZ21lbnQuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklD
b21wb25lbnQoU0NPUEUxICsgJyNyZWYyJykgKyAnI3JlZic7Cit1cmwyID0gU0NPUEUxICsgJyNy
ZWYyJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFsKKyAgICAg
IFsKKyAgICAgICAge3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J30sCisgICAg
ICAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9CisgICAgICBdLAorICAg
ICAgW10sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gnLAorICAgICdTVy1mYWxsYmFja2VkIHJl
ZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNhbWUtc2NvcGUgd2l0aCBkaWZmZXJlbnQgaGFzaCAnICsK
KyAgICAnZnJhZ21lbnRzLicpOworCit1cmwxID0gU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJ
Q29tcG9uZW50KFNDT1BFMik7Cit1cmwyID0gU0NPUEUyOworcmVkaXJlY3RfdGVzdCgKKyAgICB1
cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAgW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVu
dElkVGFnOiAneCd9XSwKKyAgICAgIFt7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzog
J3gnfV0sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gnLAorICAgICdTVy1mYWxsYmFja2VkIHJl
ZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsg
J3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUpOwordXJs
MiA9IE9USEVSX09SSUdJTl9PVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisg
ICAgdXJsMiwKKyAgICBbW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwg
W10sIFtdXSwKKyAgICBudWxsLAorICAgICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRvIG90aGVy
LW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVV
UklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fU0NP
UEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBb
e3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICdhJ31dLAorICAgICAgW10sCisgICAg
ICBbe3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dCisgICAgXSwKKyAgICAn
eCcsCisgICAgJ1NXLWZhbGxiYWNrZWQgcmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGluLXNjb3Bl
LicpOworCisKK3VybDMgPSBTQ09QRTE7Cit1cmwyID0gT1RIRVJfT1JJR0lOX1NDT1BFICsgJ3Vy
bD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybDMpOwordXJsMSA9IFNDT1BFMSArICd1cmw9JyAr
IGVuY29kZVVSSUNvbXBvbmVudCh1cmwyKTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAg
ICB1cmwzLAorICAgIFsKKyAgICAgIFsKKyAgICAgICAge3VybDogdXJsMSwgcmVzdWx0aW5nQ2xp
ZW50SWRUYWc6ICdhJ30sCisgICAgICAgIHt1cmw6IHVybDMsIHJlc3VsdGluZ0NsaWVudElkVGFn
OiAneCd9CisgICAgICBdLAorICAgICAgW10sCisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICdiJ31dCisgICAgXSwKKyAgICAneCcsCisgICAgJ1NXLWZhbGxiYWNrZWQg
cmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGFuZCBiYWNrIHRvIHNhbWUtb3JpZ2luLicpOwogCiAv
LyBTVyBnZW5lcmF0ZWQgcmVkaXJlY3QuCiAvLyBTVzogZXZlbnQucmVzcG9uZFdpdGgoUmVzcG9u
c2UucmVkaXJlY3QocGFyYW1zWyd1cmwnXSkpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
LSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAg
ICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9Z2VuJnVy
bD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9VVF9TQ09QRSksCi0gICAgICAgICAgICBPVVRfU0NP
UEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1nZW4mdXJsPScgKyBlbmNvZGVVUklDb21w
b25lbnQoT1VUX1NDT1BFKV0sIFtdLCBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1nZW5lcmF0
ZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3V0LXNjb3BlLicpOwotcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEg
KyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksCi0gICAgICAgICAg
ICBTQ09QRTEsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1nZW4mdXJsPScgKyBlbmNvZGVV
UklDb21wb25lbnQoU0NPUEUxKSwgU0NPUEUxXSwKLSAgICAgICAgICAgICBbXSwKLSAgICAgICAg
ICAgICBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1nZW5lcmF0ZWQgcmVkaXJlY3QgdG8gc2Ft
ZS1vcmlnaW4gc2FtZS1zY29wZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAg
cmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJl
dHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PWdlbiZ1cmw9JyAr
IGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTIpLAotICAgICAgICAgICAgU0NPUEUyLAotICAgICAg
ICAgICAgW1tTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BF
MildLAotICAgICAgICAgICAgIFtTQ09QRTJdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9
KTsKLSAgfSwgJ1NXLWdlbmVyYXRlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBvdGhlci1zY29w
ZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmly
b25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0
KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PWdlbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVu
dChPVEhFUl9PUklHSU5fT1VUX1NDT1BFKSwKLSAgICAgICAgICAgIE9USEVSX09SSUdJTl9PVVRf
U0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1nZW4mdXJsPScgKwotICAgICAgICAg
ICAgICBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX09VVF9TQ09QRSldLAotICAgICAg
ICAgICAgIFtdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWdlbmVy
YXRlZCByZWRpcmVjdCB0byBvdGhlci1vcmlnaW4gb3V0LXNjb3BlLicpOwotcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09Q
RTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09Q
RSksCi0gICAgICAgICAgICBPVEhFUl9PUklHSU5fU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BF
MSArICdzdz1nZW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1NDT1BF
KV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW09USEVSX09SSUdJTl9TQ09QRV1d
KTsKLSAgICAgIH0pOwotICB9LCAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdp
biBpbi1zY29wZS4nKTsKK3VybDEgPSBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJ
Q29tcG9uZW50KE9VVF9TQ09QRSk7Cit1cmwyID0gT1VUX1NDT1BFOworcmVkaXJlY3RfdGVzdCgK
KyAgICB1cmwxLAorICAgIHVybDIsCisgICAgW1t7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJ
ZFRhZzogJ3gnfV0sIFtdLCBbXV0sCisgICAgJ3gnLAorICAgICdTVy1nZW5lcmF0ZWQgcmVkaXJl
Y3QgdG8gc2FtZS1vcmlnaW4gb3V0LXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PWdl
biZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVVRfU0NPUEUpICsgJyNyZWYnOwordXJsMiA9
IE9VVF9TQ09QRSArICcjcmVmJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwy
LAorICAgIFtbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLCBbXSwgW11d
LAorICAgICd4JywKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91
dC1zY29wZSB3aXRoIGEgaGFzaCBmcmFnbWVudC4nKTsKKwordXJsMSA9IFNDT1BFMSArICdzdz1n
ZW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFICsgJyNyZWYyJykgKyAnI3Jl
Zic7Cit1cmwyID0gT1VUX1NDT1BFICsgJyNyZWYyJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJs
MSwKKyAgICB1cmwyLAorICAgIFtbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4
J31dLCBbXSwgW11dLAorICAgICd4JywKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIHNh
bWUtb3JpZ2luIG91dC1zY29wZSB3aXRoIGRpZmZlcmVudCBoYXNoICcgKworICAgICdmcmFnbWVu
dHMuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9u
ZW50KFNDT1BFMSk7Cit1cmwyID0gU0NPUEUxOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAor
ICAgIHVybDIsCisgICAgWworICAgICAgWworICAgICAgICB7dXJsOiB1cmwxLCByZXN1bHRpbmdD
bGllbnRJZFRhZzogJ3gnfSwKKyAgICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRU
YWc6ICd4J30KKyAgICAgIF0sCisgICAgICBbXSwKKyAgICAgIFtdCisgICAgXSwKKyAgICAneCcs
CisgICAgJ1NXLWdlbmVyYXRlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicp
OworCit1cmwxID0gU0NPUEUxICsgJ3N3PWdlbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChT
Q09QRTIpOwordXJsMiA9IFNDT1BFMjsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1
cmwyLAorICAgIFsKKyAgICAgIFt7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gn
fV0sCisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLAorICAg
ICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIHNh
bWUtb3JpZ2luIG90aGVyLXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PWdlbiZ1cmw9
JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fT1VUX1NDT1BFKTsKK3VybDIgPSBP
VEhFUl9PUklHSU5fT1VUX1NDT1BFOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVy
bDIsCisgICAgW1t7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ2EnfV0sIFtdLCBb
XV0sCisgICAgbnVsbCwKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdp
biBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2Rl
VVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09QRSk7Cit1cmwyID0gT1RIRVJfT1JJR0lOX1ND
T1BFOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAg
W3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwKKyAgICAgIFtdLAorICAg
ICAgW3t1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XQorICAgIF0sCisgICAg
J3gnLAorICAgICdTVy1nZW5lcmF0ZWQgcmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGluLXNjb3Bl
LicpOworCiAKIC8vIFNXIGZldGNoZWQgcmVkaXJlY3QuCiAvLyBTVzogZXZlbnQucmVzcG9uZFdp
dGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAg
ICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAg
cmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJs
PScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKSwKLSAgICAgICAgICAgIE9VVF9TQ09Q
RSwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29t
cG9uZW50KE9VVF9TQ09QRSldLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtdXSk7
Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWZldGNoZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3V0
LXNjb3BlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBf
ZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVk
aXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklD
b21wb25lbnQoU0NPUEUxKSwKLSAgICAgICAgICAgIFNDT1BFMSwKLSAgICAgICAgICAgIFtbU0NP
UEUxICsgJ3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksIFNDT1BF
MV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9
LCAnU1ctZmV0Y2hlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicpOwotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAg
ICAgICBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUy
KSwKLSAgICAgICAgICAgIFNDT1BFMiwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3N3PWZldGNo
JnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMildLAotICAgICAgICAgICAgIFtTQ09Q
RTJdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWZldGNoZWQgcmVk
aXJlY3QgdG8gc2FtZS1vcmlnaW4gb3RoZXItc2NvcGUuJyk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1bmN0aW9uKCkg
ewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAgICAgICAgIFNDT1BFMSArICdz
dz1mZXRjaCZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJ
R0lOX09VVF9TQ09QRSksCi0gICAgICAgICAgICBPVEhFUl9PUklHSU5fT1VUX1NDT1BFLAotICAg
ICAgICAgICAgW1tTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKwotICAgICAgICAgICAgICBlbmNv
ZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX09VVF9TQ09QRSldLAotICAgICAgICAgICAgIFtd
LAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWZldGNoZWQgcmVkaXJl
Y3QgdG8gb3RoZXItb3JpZ2luIG91dC1zY29wZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PWZl
dGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09QRSksCi0gICAg
ICAgICAgICBPVEhFUl9PUklHSU5fU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1m
ZXRjaCZ1cmw9JyArCi0gICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklH
SU5fU0NPUEUpXSwKLSAgICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICBbT1RIRVJfT1JJR0lO
X1NDT1BFXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1mZXRjaGVkIHJlZGlyZWN0IHRvIG90aGVy
LW9yaWdpbiBpbi1zY29wZS4nKTsKK3VybDEgPSBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBl
bmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKQordXJsMiA9IE9VVF9TQ09QRTsKK3JlZGlyZWN0
X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFtbe3VybDogdXJsMSwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICd4J31dLCBbXSwgW11dLAorICAgICd4JywKKyAgICAnU1ctZmV0Y2hlZCBy
ZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAn
c3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUxKTsKK3VybDIgPSBTQ09Q
RTE7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBb
CisgICAgICAgIHt1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9LAorICAgICAg
ICB7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfQorICAgICAgXSwKKyAgICAg
IFtdLAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnU1ctZmV0Y2hlZCByZWRpcmVj
dCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PWZl
dGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMik7Cit1cmwyID0gU0NPUEUyOwor
cmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAgW3t1cmw6
IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwKKyAgICAgIFt7dXJsOiB1cmwyLCBy
ZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV0sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gnLAor
ICAgICdTVy1mZXRjaGVkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNjb3BlLicpOwor
Cit1cmwxID0gU0NPUEUxICsgJ3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9U
SEVSX09SSUdJTl9PVVRfU0NPUEUpOwordXJsMiA9IE9USEVSX09SSUdJTl9PVVRfU0NPUEU7City
ZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbW3t1cmw6IHVybDEsIHJl
c3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwgW10sIFtdXSwKKyAgICBudWxsLAorICAgICdTVy1m
ZXRjaGVkIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBT
Q09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lO
X1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAg
IHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xp
ZW50SWRUYWc6ICdhJ31dLAorICAgICAgW10sCisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICd4J31dCisgICAgXSwKKyAgICAneCcsCisgICAgJ1NXLWZldGNoZWQgcmVk
aXJlY3QgdG8gb3RoZXItb3JpZ2luIGluLXNjb3BlLicpOworCiAKIC8vIE9wYXF1ZSByZWRpcmVj
dC4KIC8vIFNXOiBldmVudC5yZXNwb25kV2l0aChmZXRjaCgKIC8vICAgICAgICAgbmV3IFJlcXVl
c3QoZXZlbnQucmVxdWVzdC51cmwsIHtyZWRpcmVjdDogJ21hbnVhbCd9KSkpOwotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBT
Q09QRTEgKyAnc3c9bWFudWFsJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9VVF9TQ09QRSks
Ci0gICAgICAgICAgICBPVVRfU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1tYW51
YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKV0sCi0gICAgICAgICAgICAg
W10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LCAnUmVkaXJlY3QgdG8gc2Ft
ZS1vcmlnaW4gb3V0LXNjb3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlLicpOwotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAg
ICAgICBTQ09QRTEgKyAnc3c9bWFudWFsJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BF
MSksCi0gICAgICAgICAgICBTQ09QRTEsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1tYW51
YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUxKSwgU0NPUEUxXSwKLSAgICAgICAg
ICAgICBbXSwKLSAgICAgICAgICAgICBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdSZWRpcmVjdCB0
byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlLicp
OwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1l
bnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0g
ICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50
KFNDT1BFMiksCi0gICAgICAgICAgICBTQ09QRTIsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdz
dz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUyKV0sCi0gICAgICAgICAg
ICAgW1NDT1BFMl0sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LCAnUmVkaXJl
Y3QgdG8gc2FtZS1vcmlnaW4gb3RoZXItc2NvcGUgd2l0aCBvcGFxdWUgcmVkaXJlY3QgcmVzcG9u
c2UuJyk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZp
cm9ubWVudCh0KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVj
dCgKLSAgICAgICAgICAgIFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKwotICAgICAgICAgICAg
ZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUpLAotICAgICAgICAgICAg
T1RIRVJfT1JJR0lOX09VVF9TQ09QRSwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3N3PW1hbnVh
bCZ1cmw9JyArCi0gICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5f
T1VUX1NDT1BFKV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAg
IH0pOwotICB9LCAnUmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1
ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAg
cmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJl
dHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PW1hbnVhbCZ1cmw9
JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fU0NPUEUpLAotICAgICAgICAgICAg
T1RIRVJfT1JJR0lOX1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFsJnVy
bD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09Q
RSldLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtPVEhFUl9PUklHSU5fU0NPUEVd
XSk7Ci0gICAgICB9KTsKLSAgfSwgJ1JlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBpbi1zY29wZSB3
aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PW1h
bnVhbCZub0xvY2F0aW9uUmVkaXJlY3QnLAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PW1hbnVh
bCZub0xvY2F0aW9uUmVkaXJlY3QnLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFs
Jm5vTG9jYXRpb25SZWRpcmVjdCddLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtd
XSk7Ci0gICAgICB9KTsKLSAgfSwgJ05vIGxvY2F0aW9uIHJlZGlyZWN0IHJlc3BvbnNlLicpOwor
dXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VU
X1NDT1BFKTsKK3VybDIgPSBPVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisg
ICAgdXJsMiwKKyAgICBbW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwg
W10sIFtdXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29w
ZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKKwordXJsMSA9IFNDT1BFMSArICdz
dz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUxKTsKK3VybDIgPSBTQ09Q
RTE7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBb
CisgICAgICAgIHt1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9LAorICAgICAg
ICB7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfQorICAgICAgXSwKKyAgICAg
IFtdLAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnUmVkaXJlY3QgdG8gc2FtZS1v
cmlnaW4gc2FtZS1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKKwordXJs
MSA9IFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUy
KTsKK3VybDIgPSBTQ09QRTI7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwK
KyAgICBbCisgICAgICBbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLAor
ICAgICAgW3t1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwKKyAgICAgIFtd
CisgICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNj
b3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlLicpOworCit1cmwxID0gU0NPUEUxICsg
J3N3PW1hbnVhbCZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fT1VUX1ND
T1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fT1VUX1NDT1BFOworcmVkaXJlY3RfdGVzdCgKKyAg
ICB1cmwxLAorICAgIHVybDIsCisgICAgW1t7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRh
ZzogJ2EnfV0sIFtdLCBbXV0sCisgICAgbnVsbCwKKyAgICAnUmVkaXJlY3QgdG8gb3RoZXItb3Jp
Z2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKKwordXJsMSA9
IFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJ
R0lOX1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fU0NPUEU7CityZWRpcmVjdF90ZXN0KAor
ICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBbe3VybDogdXJsMSwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICdhJ31dLAorICAgICAgW10sCisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0
aW5nQ2xpZW50SWRUYWc6ICd4J31dCisgICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRv
IG90aGVyLW9yaWdpbiBpbi1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsK
KwordXJsPSBTQ09QRTEgKyAnc3c9bWFudWFsJm5vTG9jYXRpb25SZWRpcmVjdCc7CityZWRpcmVj
dF90ZXN0KAorICAgIHVybCwgdXJsLCBbW3t1cmwsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9
XSwgW10sIFtdXSwKKyAgICAneCcsCisgICAgJ05vIGxvY2F0aW9uIHJlZGlyZWN0IHJlc3BvbnNl
LicpOworCiAKIC8vIE9wYXF1ZSByZWRpcmVjdCBwYXNzZWQgdGhyb3VnaCBDYWNoZS4KIC8vIFNX
IHJlc3BvbmRzIHdpdGggYW4gb3BhcXVlIHJlZGlyZWN0cmVzcG9uc2UgZnJvbSB0aGUgQ2FjaGUg
QVBJLgotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJv
bm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3Qo
Ci0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAg
ICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVVRfU0NPUEUpLAotICAgICAgICAgICAgT1VU
X1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVy
bD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9VVF9TQ09QRSldLAotICAg
ICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwKLSAgJ1Jl
ZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNw
b25zZSB3aGljaCAnICsKLSAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBT
Q09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgIGVuY29k
ZVVSSUNvbXBvbmVudChTQ09QRTEpLAotICAgICAgICAgICAgU0NPUEUxLAotICAgICAgICAgICAg
W1tTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgICAg
ZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksIFNDT1BFMV0sCi0gICAgICAgICAgICAgW10sCi0g
ICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LAotICAnUmVkaXJlY3QgdG8gc2FtZS1v
cmlnaW4gc2FtZS1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3aGljaCAnICsK
LSAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAg
ICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFu
dWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChT
Q09QRTIpLAotICAgICAgICAgICAgU0NPUEUyLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9
bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9u
ZW50KFNDT1BFMildLAotICAgICAgICAgICAgIFtTQ09QRTJdLAotICAgICAgICAgICAgIFtdXSk7
Ci0gICAgICB9KTsKLSAgfSwKLSAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNjb3Bl
IHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlIHdoaWNoICcgKwotICAnaXMgcGFzc2VkIHRo
cm91Z2ggQ2FjaGUuJyk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBz
ZXR1cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVz
dF9yZWRpcmVjdCgKLSAgICAgICAgICAgIFNDT1BFMSArICdzdz1tYW51YWxUaHJvdWdoQ2FjaGUm
dXJsPScgKwotICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRf
U0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX09VVF9TQ09QRSwKLSAgICAgICAgICAg
IFtbU0NPUEUxICsgJ3N3PW1hbnVhbFRocm91Z2hDYWNoZSZ1cmw9JyArCi0gICAgICAgICAgICAg
IGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fT1VUX1NDT1BFKV0sCi0gICAgICAgICAg
ICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LAotICAnUmVkaXJlY3Qg
dG8gb3RoZXItb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3
aGljaCAnICsKLSAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwotcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEg
KyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNv
bXBvbmVudChPVEhFUl9PUklHSU5fU0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX1ND
T1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0n
ICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09QRSld
LAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtPVEhFUl9PUklHSU5fU0NPUEVdXSk7
Ci0gICAgICB9KTsKLSAgfSwKLSAgJ1JlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBpbi1zY29wZSB3
aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3aGljaCAnICsKLSAgJ2lzIHBhc3NlZCB0aHJv
dWdoIENhY2hlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0
dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3Rf
cmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJm5v
TG9jYXRpb25SZWRpcmVjdCcsCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3Vn
aENhY2hlJm5vTG9jYXRpb25SZWRpcmVjdCcsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1t
YW51YWxUaHJvdWdoQ2FjaGUmbm9Mb2NhdGlvblJlZGlyZWN0J10sCi0gICAgICAgICAgICAgW10s
Ci0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LCAnTm8gbG9jYXRpb24gcmVkaXJl
Y3QgcmVzcG9uc2UgdmlhIENhY2hlLicpOwordXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWxUaHJv
dWdoQ2FjaGUmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKTsKK3VybDIgPSBP
VVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbW3t1
cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwgW10sIFtdXSwKKyAgICAneCcs
CisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRp
cmVjdCByZXNwb25zZSB3aGljaCAnICsKKyAgICAnaXMgcGFzc2VkIHRocm91Z2ggQ2FjaGUuJyk7
CisKK3VybDEgPSBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsgZW5jb2Rl
VVJJQ29tcG9uZW50KFNDT1BFMSk7Cit1cmwyID0gU0NPUEUxOworcmVkaXJlY3RfdGVzdCgKKyAg
ICB1cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAgWworICAgICAgICB7dXJsOiB1cmwxLCBy
ZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfSwKKyAgICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICd4J30KKyAgICAgIF0sCisgICAgICBbXSwKKyAgICAgIFtdCisgICAgXSwK
KyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNhbWUtc2NvcGUgd2l0aCBv
cGFxdWUgcmVkaXJlY3QgcmVzcG9uc2Ugd2hpY2ggJyArCisgICAgJ2lzIHBhc3NlZCB0aHJvdWdo
IENhY2hlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PW1hbnVhbFRocm91Z2hDYWNoZSZ1cmw9
JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTIpOwordXJsMiA9IFNDT1BFMjsKK3JlZGlyZWN0
X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFsKKyAgICAgIFt7dXJsOiB1cmwxLCBy
ZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV0sCisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICd4J31dLAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnUmVk
aXJlY3QgdG8gc2FtZS1vcmlnaW4gb3RoZXItc2NvcGUgd2l0aCBvcGFxdWUgcmVkaXJlY3QgcmVz
cG9uc2Ugd2hpY2ggJyArCisgICAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOworCit1cmwx
ID0gU0NPUEUxICsgJ3N3PW1hbnVhbFRocm91Z2hDYWNoZSZ1cmw9JyArCisgICAgICAgZW5jb2Rl
VVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUpOwordXJsMiA9IE9USEVSX09SSUdJ
Tl9PVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBb
W3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwgW10sIFtdXSwKKyAgICBu
dWxsLAorICAgICdSZWRpcmVjdCB0byBvdGhlci1vcmlnaW4gb3V0LXNjb3BlIHdpdGggb3BhcXVl
IHJlZGlyZWN0IHJlc3BvbnNlIHdoaWNoICcgKworICAgICdpcyBwYXNzZWQgdGhyb3VnaCBDYWNo
ZS4nKTsKKwordXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWxUaHJvdWdoQ2FjaGUmdXJsPScgKwor
ICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fU0NPUEUpOwordXJsMiA9IE9U
SEVSX09SSUdJTl9TQ09QRTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAor
ICAgIFsKKyAgICAgIFt7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ2EnfV0sCisg
ICAgICBbXSwKKyAgICAgIFt7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV0s
CisgICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBpbi1zY29w
ZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3aGljaCAnICsKKyAgICAnaXMgcGFzc2Vk
IHRocm91Z2ggQ2FjaGUuJyk7CisKK3VybCA9IFNDT1BFMSArICdzdz1tYW51YWxUaHJvdWdoQ2Fj
aGUmbm9Mb2NhdGlvblJlZGlyZWN0JzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsLAorICAgIHVy
bCwKKyAgICBbW3t1cmwsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwgW10sIFtdXSwKKyAg
ICAneCcsCisgICAgJ05vIGxvY2F0aW9uIHJlZGlyZWN0IHJlc3BvbnNlIHZpYSBDYWNoZS4nKTsK
KworLy8gQ2xlYW4gdXAgdGhlIHRlc3QgZW52aXJvbm1lbnQuIFRoaXMgcHJvbWlzZV90ZXN0KCkg
bmVlZHMgdG8gYmUgdGhlIGxhc3Qgb25lLgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBy
ZWdpc3RyYXRpb25zLmZvckVhY2goYXN5bmMgcmVnaXN0cmF0aW9uID0+IHsKKyAgICBpZiAocmVn
aXN0cmF0aW9uKQorICAgICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgfSk7
CisgIGF3YWl0IHNlbmRfdG9faWZyYW1lKG90aGVyX29yaWdpbl9mcmFtZSwge2NvbW1hbmQ6ICd1
bnJlZ2lzdGVyJ30pOworICBvdGhlcl9vcmlnaW5fZnJhbWUucmVtb3ZlKCk7Cit9LCAnY2xlYW4g
dXAgZ2xvYmFsIHN0YXRlJyk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMjc5ZTcxZTJiMDg0MGY3NWIxYjBiNDFlMTU5NmUxOTgwNTcyMWNhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi10aW1pbmcuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIFNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZWQg
bmF2aWdhdGlvbiB0aW1pbmcgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aW1pbmdbdGltaW5nRXZl
bnRPcmRlcltpXV0nKSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgU2VydmljZSB3b3Jr
ZXIgY29udHJvbGxlZCBuYXZpZ2F0aW9uIHRpbWluZyBuZXR3b3JrIGZhbGxiYWNrIGFzc2VydF91
bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAndGltaW5nW3RpbWluZ0V2ZW50T3JkZXJbaV1dJykgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCitGQUlMIFNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZWQgbmF2aWdhdGlvbiB0
aW1pbmcgcmVkaXJlY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aW1pbmdbdGltaW5nRXZlbnRP
cmRlcltpXV0nKSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvbmF2aWdhdGlvbi10aW1pbmcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWMzNDU2ZTlkMWE5
ODY4YjExZDU1NzE4NjI1NjBhZmRhMGE0NmZlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxMTEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48
L3NjcmlwdD4KKworPHNjcmlwdD4KK2NvbnN0IHRpbWluZ0V2ZW50T3JkZXIgPSBbCisgICAgJ3N0
YXJ0VGltZScsCisgICAgJ3dvcmtlclN0YXJ0JywKKyAgICAnZmV0Y2hTdGFydCcsCisgICAgJ3Jl
cXVlc3RTdGFydCcsCisgICAgJ3Jlc3BvbnNlU3RhcnQnLAorICAgICdyZXNwb25zZUVuZCcsCitd
OworCitmdW5jdGlvbiB2ZXJpZnkodGltaW5nKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0
aW1pbmdFdmVudE9yZGVyLmxlbmd0aCAtIDE7IGkrKykgeworICAgICAgICBhc3NlcnRfdHJ1ZSh0
aW1pbmdbdGltaW5nRXZlbnRPcmRlcltpXV0gPD0gdGltaW5nW3RpbWluZ0V2ZW50T3JkZXJbaSAr
IDFdXSwKKyAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgJHt0aW1pbmdFdmVudE9yZGVyW2ldfSA8
PSAke3RpbWluZ0V2ZW50T3JkZXJbaSArIDFdfWApOworICAgIH0KK30KKworZnVuY3Rpb24gbmF2
aWdhdGVfaW5fZnJhbWUoZnJhbWUsIHVybCkgeworICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9j
YXRpb24gPSB1cmw7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAgICAgICBj
b25zdCB0aW1pbmcgPSBmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eVR5cGUoJ25hdmlnYXRpb24nKVswXTsKKyAgICAgICAgICAgIHJlc29sdmUodGltaW5nKTsKKyAg
ICAgICAgfSk7CisgICAgfSk7Cit9CisKK2NvbnN0IHdvcmtlcl91cmwgPSAncmVzb3VyY2VzL25h
dmlnYXRpb24tdGltaW5nLXdvcmtlci5qcyc7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBj
b25zdCBzY29wZSA9ICdyZXNvdXJjZXMvZW1wdHkuaHRtbCc7CisgICAgbGV0IGZyYW1lOworCisg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtl
cl91cmwsIHNjb3BlKQorICAgICAgLnRoZW4ociA9PiB7CisgICAgICAgIHJldHVybiB3YWl0X2Zv
cl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICAgIH0pCisgICAgICAu
dGhlbigoKSA9PiB3aXRoX2lmcmFtZShzY29wZSkpCisgICAgICAudGhlbihmID0+IHsKKyAgICAg
ICAgZnJhbWUgPSBmOworICAgICAgICByZXR1cm4gbmF2aWdhdGVfaW5fZnJhbWUoZnJhbWUsICdy
ZXNvdXJjZXMvZW1wdHkuaHRtbCcpOworICAgICAgfSkKKyAgICAgIC50aGVuKHRpbWluZyA9PiB7
CisgICAgICAgIHZlcmlmeSh0aW1pbmcpOworICAgICAgfSkKKyAgICAgIC5jYXRjaCh1bnJlYWNo
ZWRfcmVqZWN0aW9uKHQpKQorICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICBpZiAoZnJhbWUp
CisgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgfSk7Cit9LCAnU2VydmljZSB3b3JrZXIg
Y29udHJvbGxlZCBuYXZpZ2F0aW9uIHRpbWluZycpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
ICAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2VtcHR5Lmh0bWw/bmV0d29yay1mYWxsYmFjayc7
CisgICAgbGV0IGZyYW1lOworCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQorICAgICAgLnRoZW4ociA9PiB7Cisg
ICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKKyAgICAgIH0pCisgICAgICAudGhlbigoKSA9PiB3aXRoX2lmcmFtZShzY29wZSkpCisgICAg
ICAudGhlbihmID0+IHsKKyAgICAgICAgZnJhbWUgPSBmOworICAgICAgICByZXR1cm4gbmF2aWdh
dGVfaW5fZnJhbWUoZnJhbWUsICdyZXNvdXJjZXMvZW1wdHkuaHRtbD9uZXR3b3JrLWZhbGxiYWNr
Jyk7CisgICAgICB9KQorICAgICAgLnRoZW4odGltaW5nID0+IHsKKyAgICAgICAgdmVyaWZ5KHRp
bWluZyk7CisgICAgICB9KQorICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpCisg
ICAgICAudGhlbigoKSA9PiB7CisgICAgICAgIGlmIChmcmFtZSkKKyAgICAgICAgICAgIGZyYW1l
LnJlbW92ZSgpOworICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBz
Y29wZSk7CisgICAgICB9KTsKK30sICdTZXJ2aWNlIHdvcmtlciBjb250cm9sbGVkIG5hdmlnYXRp
b24gdGltaW5nIG5ldHdvcmsgZmFsbGJhY2snKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAg
IGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD1lbXB0eS5odG1s
JzsKKyAgICBsZXQgZnJhbWU7CisKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwgc2NvcGUpCisgICAgICAudGhlbihyID0+IHsK
KyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ2FjdGl2YXRl
ZCcpOworICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHdpdGhfaWZyYW1lKHNjb3BlKSkKKyAg
ICAgIC50aGVuKGYgPT4geworICAgICAgICBmcmFtZSA9IGY7CisgICAgICAgIHJldHVybiBuYXZp
Z2F0ZV9pbl9mcmFtZShmcmFtZSwgJ3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD1lbXB0
eS5odG1sJyk7CisgICAgICB9KQorICAgICAgLnRoZW4odGltaW5nID0+IHsKKyAgICAgICAgdmVy
aWZ5KHRpbWluZyk7CisgICAgICAgIC8vIEFkZGl0aW9uYWwgY2hlY2tzIGZvciByZWRpcmVjdGVk
IG5hdmlnYXRpb24uCisgICAgICAgIGFzc2VydF90cnVlKHRpbWluZy5yZWRpcmVjdFN0YXJ0IDw9
IHRpbWluZy5yZWRpcmVjdEVuZCwKKyAgICAgICAgICAgICdFeHBlY3RlZCByZWRpcmVjdFN0YXJ0
IDw9IHJlZGlyZWN0RW5kJyk7CisgICAgICAgIGFzc2VydF90cnVlKHRpbWluZy5yZWRpcmVjdEVu
ZCA8PSB0aW1pbmcuZmV0Y2hTdGFydCwKKyAgICAgICAgICAgICdFeHBlY3RlZCByZWRpcmVjdEVu
ZCA8PSBmZXRjaFN0YXJ0Jyk7CisgICAgICB9KQorICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWpl
Y3Rpb24odCkpCisgICAgICAudGhlbigoKSA9PiB7CisgICAgICAgIGlmIChmcmFtZSkKKyAgICAg
ICAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICB9KTsKK30sICdTZXJ2aWNlIHdvcmtlciBjb250cm9s
bGVkIG5hdmlnYXRpb24gdGltaW5nIHJlZGlyZWN0Jyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL29uYWN0aXZhdGUtc2NyaXB0LWVycm9yLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9vbmFjdGl2YXRlLXNjcmlwdC1lcnJvci5odHRwcy5odG1sCmluZGV4
IDZjMTYzNTdmM2NjNWFiYTE4MWVlMDc5OGFjOWZhZGMyMzg4YzNmM2EuLmY1ZTgwYmI5YTQ1NmJj
NTdmMmE4MjFlMWZkNjkxMTRlNmFlODYzOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L29uYWN0aXZhdGUtc2NyaXB0LWVycm9yLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvb25hY3RpdmF0ZS1zY3JpcHQtZXJyb3IuaHR0cHMuaHRtbApAQCAtMzUsNyArMzUsNyBAQCBm
dW5jdGlvbiBtYWtlX3Rlc3QobmFtZSwgc2NyaXB0KSB7CiAgICAgICAgICAgICByZWdpc3RyYXRp
b24gPSByOwogCiAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIHIudW5yZWdpc3RlcigpOworICAgICAgICAgICAgICAgIHJldHVybiByLnVucmVn
aXN0ZXIoKTsKICAgICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgIHJldHVybiB3YWl0X2Zv
cl9pbnN0YWxsKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdv
cmtlci5odHRwcy5odG1sCmluZGV4IDZkMGE1ZDMyNzRkNDE0YmZjYTAzMzkwNTQwYzI5NDkwYzY2
Mzg4NzguLjExN2RlZjllYjJhNmMxMzJkNGQzZjQ0YjFjYjA3YWRjYjllZWVmNjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29y
a2VyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJvbS13
YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMuaHRtbApAQCAtMTYsMTMgKzE2LDE1IEBAIGZ1bmN0
aW9uIGVjaG8od29ya2VyLCBkYXRhKSB7CiAgIH0pOwogfQogCi1hc3luY190ZXN0KHQgPT4gewor
cHJvbWlzZV90ZXN0KHQgPT4gewogICBsZXQgc2NyaXB0ID0gJ3Jlc291cmNlcy9lY2hvLW1lc3Nh
Z2UtdG8tc291cmNlLXdvcmtlci5qcyc7CiAgIGxldCBzY29wZSA9ICdyZXNvdXJjZXMvY2xpZW50
LXBvc3RtZXNzYWdlLWZyb20td2FpdC1zZXJ2aWNld29ya2VyJzsKICAgbGV0IHJlZ2lzdHJhdGlv
bjsKICAgbGV0IGZyYW1lOwotICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rl
cih0LCBzY3JpcHQsIHNjb3BlKQorICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKICAgICAudGhlbihzd3IgPT4geworICAgICAg
dC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKSk7
CisKICAgICAgIHJlZ2lzdHJhdGlvbiA9IHN3cjsKICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0
ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgIH0pLnRoZW4o
XyA9PiB7CkBAIC00Myw3ICs0NSw2IEBAIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgICBhc3NlcnRf
ZXF1YWxzKGV2dC5zb3VyY2UsIHJlZ2lzdHJhdGlvbi5hY3RpdmUsCiAgICAgICAgICAgICAgICAg
ICAgICdtZXNzYWdlIGV2ZW50IHNvdXJjZSBzaG91bGQgYmUgY29ycmVjdCcpOwogICAgICAgZnJh
bWUucmVtb3ZlKCk7Ci0gICAgfSkudGhlbihfID0+IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX2RvbmUodCwgc2NvcGUpICkKLSAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7
CisgICAgfSk7CiB9LCAnQ2xpZW50LnBvc3RNZXNzYWdlKCkgZnJvbSB3YWl0aW5nIHNlcnZpY2V3
b3JrZXIuJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3Rt
ZXNzYWdlLXRvLWNsaWVudC1tZXNzYWdlLXF1ZXVlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC1tZXNzYWdlLXF1ZXVlLmh0dHBzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTg5MGIwMzlmMzdmZTlhZTA4ZDg4ZTQzYzUyYTAwOGQw
Mjc2NzYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2Ut
dG8tY2xpZW50LW1lc3NhZ2UtcXVldWUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBA
QAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBN
ZXNzYWdlcyBmcm9tIFNlcnZpY2VXb3JrZXIgdG8gQ2xpZW50IG9ubHkgcmVjZWl2ZWQgYWZ0ZXIg
RE9NQ29udGVudExvYWRlZCBldmVudC4gVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBNZXNzYWdlcyBm
cm9tIFNlcnZpY2VXb3JrZXIgdG8gQ2xpZW50IG9ubHkgcmVjZWl2ZWQgYWZ0ZXIgY2FsbGluZyBz
dGFydE1lc3NhZ2VzKCkuIAorTk9UUlVOIE1lc3NhZ2VzIGZyb20gU2VydmljZVdvcmtlciB0byBD
bGllbnQgb25seSByZWNlaXZlZCBhZnRlciBzZXR0aW5nIG9ubWVzc2FnZS4gCitOT1RSVU4gTWlj
cm90YXNrcyBydW4gYmVmb3JlIGRpc3BhdGNoaW5nIG1lc3NhZ2VzIGFmdGVyIGNhbGxpbmcgc3Rh
cnRNZXNzYWdlcygpLiAKK05PVFJVTiBNaWNyb3Rhc2tzIHJ1biBiZWZvcmUgZGlzcGF0Y2hpbmcg
bWVzc2FnZXMgYWZ0ZXIgc2V0dGluZyBvbm1lc3NhZ2UuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9wb3N0bWVzc2FnZS10by1jbGllbnQtbWVzc2FnZS1xdWV1ZS5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2UtcXVldWUu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWE0Zjk0NDVkM2Q4YWQwYWI5MmJhNzM3MTNkYTE3YTMz
YWYxODVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2Ut
dG8tY2xpZW50LW1lc3NhZ2UtcXVldWUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDIxMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IHBvc3RNZXNzYWdlIHRvIENsaWVu
dCAobWVzc2FnZSBxdWV1ZSk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5z
dWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBtZXNz
YWdlIGxpc3RlbmVyIHRoYXQgY2FwdHVyZXMgYWxsIG1lc3NhZ2VzCisvLyBzZW50IHRvIHRoaXMg
d2luZG93IGFuZCBtYXRjaGVzIHRoZW0gd2l0aCBjb3JyZXNwb25kaW5nIHJlcXVlc3RzLgorLy8g
VGhpcyBmcmVlcyB0ZXN0IGNvZGUgZnJvbSBoYXZpbmcgdG8gdXNlIGNsdW5reSBjb25zdHJ1Y3Rz
IGp1c3QgdG8KKy8vIGF2b2lkIHJhY2UgY29uZGl0aW9ucywgc2luY2UgdGhlIHJlbGF0aXZlIG9y
ZGVyIG9mIG1lc3NhZ2UgYW5kCisvLyByZXF1ZXN0IGFycml2YWwgZG9lc24ndCBtYXR0ZXIuCitm
dW5jdGlvbiBjcmVhdGVfbWVzc2FnZV9saXN0ZW5lcih0KSB7CisgICAgY29uc3QgbGlzdGVuZXIg
PSB7CisgICAgICAgIG1lc3NhZ2VzOiBuZXcgU2V0KCksCisgICAgICAgIHJlcXVlc3RzOiBuZXcg
U2V0KCksCisgICAgICAgIHdhaXRGb3I6IGZ1bmN0aW9uKHByZWRpY2F0ZSkgeworICAgICAgICAg
ICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLm1lc3NhZ2VzKSB7CisgICAgICAgICAgICAgICAg
Ly8gSWYgYSBtZXNzYWdlIHNhdGlzZnlpbmcgdGhlIHByZWRpY2F0ZSBoYXMgYWxyZWFkeQorICAg
ICAgICAgICAgICAgIC8vIGFycml2ZWQsIGl0IGdldHMgbWF0Y2hlZCB0byB0aGlzIHJlcXVlc3Qu
CisgICAgICAgICAgICAgICAgaWYgKHByZWRpY2F0ZShldmVudCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5tZXNzYWdlcy5kZWxldGUoZXZlbnQpOworICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGV2ZW50KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIC8vIElmIG5vIG1hdGNoIHdhcyBmb3VuZCwgdGhlIHJlcXVl
c3QgaXMgc3RvcmVkIGFuZCBhCisgICAgICAgICAgICAvLyBwcm9taXNlIGlzIHJldHVybmVkLgor
ICAgICAgICAgICAgY29uc3QgcmVxdWVzdCA9IHsgcHJlZGljYXRlIH07CisgICAgICAgICAgICBj
b25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0LnJlc29sdmUgPSBy
ZXNvbHZlKTsKKyAgICAgICAgICAgIHRoaXMucmVxdWVzdHMuYWRkKHJlcXVlc3QpOworICAgICAg
ICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgICAgIH0KKyAgICB9OworICAgIHdpbmRvdy5vbm1l
c3NhZ2UgPSB0LnN0ZXBfZnVuYyhldmVudCA9PiB7CisgICAgICAgIGZvciAoY29uc3QgcmVxdWVz
dCBvZiBsaXN0ZW5lci5yZXF1ZXN0cykgeworICAgICAgICAgICAgLy8gSWYgdGhlIG5ldyBtZXNz
YWdlIG1hdGNoZXMgYSBzdG9yZWQgcmVxdWVzdCdzCisgICAgICAgICAgICAvLyBwcmVkaWNhdGUs
IHRoZSByZXF1ZXN0J3MgcHJvbWlzZSBpcyByZXNvbHZlZCB3aXRoIHRoaXMKKyAgICAgICAgICAg
IC8vIG1lc3NhZ2UuCisgICAgICAgICAgICBpZiAocmVxdWVzdC5wcmVkaWNhdGUoZXZlbnQpKSB7
CisgICAgICAgICAgICAgICAgbGlzdGVuZXIucmVxdWVzdHMuZGVsZXRlKHJlcXVlc3QpOworICAg
ICAgICAgICAgICAgIHJlcXVlc3QucmVzb2x2ZShldmVudCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIC8vIE5vIG91dHN0YW5k
aW5nIHJlcXVlc3QgZm9yIHRoaXMgbWVzc2FnZSwgc3RvcmUgaXQgaW4gY2FzZQorICAgICAgICAv
LyBpdCdzIHJlcXVlc3RlZCBsYXRlci4KKyAgICAgICAgbGlzdGVuZXIubWVzc2FnZXMuYWRkKGV2
ZW50KTsKKyAgICB9KTsKKyAgICByZXR1cm4gbGlzdGVuZXI7Cit9CisKK2FzeW5jIGZ1bmN0aW9u
IHNlcnZpY2Vfd29ya2VyX3JlZ2lzdGVyX2FuZF9hY3RpdmF0ZSh0LCBzY3JpcHQsIHNjb3BlKSB7
CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9
PiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgICBjb25zdCB3b3JrZXIgPSByZWdpc3Ry
YXRpb24uaW5zdGFsbGluZzsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdh
Y3RpdmF0ZWQnKTsKKyAgICByZXR1cm4gd29ya2VyOworfQorCisvLyBBZGQgYW4gaWZyYW1lIChw
YXJlbnQpIHdob3NlIGRvY3VtZW50IGNvbnRhaW5zIGEgbmVzdGVkIGlmcmFtZQorLy8gKGNoaWxk
KSwgdGhlbiBzZXQgdGhlIGNoaWxkJ3Mgc3JjIGF0dHJpYnV0ZSB0byBjaGlsZF91cmwgYW5kIHJl
dHVybgorLy8gaXRzIFdpbmRvdyAod2l0aG91dCB3YWl0aW5nIGZvciBpdCB0byBmaW5pc2ggbG9h
ZGluZykuCithc3luYyBmdW5jdGlvbiB3aXRoX25lc3RlZF9pZnJhbWVzKHQsIGNoaWxkX3VybCkg
eworICAgIGNvbnN0IHBhcmVudCA9IGF3YWl0IHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMvbmVzdGVk
LWlmcmFtZS1wYXJlbnQuaHRtbD9yb2xlPXBhcmVudCcpOworICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4gcGFyZW50LnJlbW92ZSgpKTsKKyAgICBjb25zdCBjaGlsZCA9IHBhcmVudC5jb250ZW50V2lu
ZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpOworICAgIGNoaWxkLnNldEF0dHJp
YnV0ZSgnc3JjJywgY2hpbGRfdXJsKTsKKyAgICByZXR1cm4gY2hpbGQuY29udGVudFdpbmRvdzsK
K30KKworLy8gUmV0dXJucyBhIHByZWRpY2F0ZSBtYXRjaGluZyBhIGZldGNoIG1lc3NhZ2Ugd2l0
aCB0aGUgc3BlY2lmaWVkCisvLyBrZXkuCitmdW5jdGlvbiBmZXRjaF9tZXNzYWdlKGtleSkgewor
ICAgIHJldHVybiBldmVudCA9PiBldmVudC5kYXRhLnR5cGUgPT09ICdmZXRjaCcgJiYgZXZlbnQu
ZGF0YS5rZXkgPT09IGtleTsKK30KKworLy8gUmV0dXJucyBhIHByZWRpY2F0ZSBtYXRjaGluZyBh
IHBpbmcgbWVzc2FnZSB3aXRoIHRoZSBzcGVjaWZpZWQKKy8vIHBheWxvYWQuCitmdW5jdGlvbiBw
aW5nX21lc3NhZ2UoZGF0YSkgeworICAgIHJldHVybiBldmVudCA9PiBldmVudC5kYXRhLnR5cGUg
PT09ICdwaW5nJyAmJiBldmVudC5kYXRhLmRhdGEgPT09IGRhdGE7Cit9CisKKy8vIEEgY2xpZW50
IG1lc3NhZ2UgcXVldWUgdGVzdCBpcyBhIHRlc3RoYXJuZXNzLmpzIHRlc3Qgd2l0aCBzb21lCisv
LyBhZGRpdGlvbmFsIHNldHVwOgorLy8gMS4gQSBsaXN0ZW5lciAoc2VlIGNyZWF0ZV9tZXNzYWdl
X2xpc3RlbmVyKQorLy8gMi4gQW4gYWN0aXZlIHNlcnZpY2Ugd29ya2VyCisvLyAzLiBUd28gbmVz
dGVkIGlmcmFtZXMKKy8vIDQuIEEgc3RhdGUgdHJhbnNpdGlvbiBmdW5jdGlvbiB0aGF0IGNvbnRy
b2xzIHRoZSBvcmRlciBvZiBldmVudHMKKy8vICAgIGR1cmluZyB0aGUgdGVzdAorZnVuY3Rpb24g
Y2xpZW50X21lc3NhZ2VfcXVldWVfdGVzdCh1cmwsIHRlc3RfZnVuY3Rpb24sIGRlc2NyaXB0aW9u
KSB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgICB0Lmxpc3RlbmVyID0g
Y3JlYXRlX21lc3NhZ2VfbGlzdGVuZXIodCk7CisKKyAgICAgICAgY29uc3Qgc2NyaXB0ID0gJ3Jl
c291cmNlcy9zdGFsbGluZy1zZXJ2aWNlLXdvcmtlci5qcyc7CisgICAgICAgIGNvbnN0IHNjb3Bl
ID0gJ3Jlc291cmNlcy8nOworICAgICAgICB0LnNlcnZpY2Vfd29ya2VyID0gYXdhaXQgc2Vydmlj
ZV93b3JrZXJfcmVnaXN0ZXJfYW5kX2FjdGl2YXRlKHQsIHNjcmlwdCwgc2NvcGUpOworCisgICAg
ICAgIC8vIFdlIGNyZWF0ZSB0d28gbmVzdGVkIGlmcmFtZXMgc3VjaCB0aGF0IGJvdGggYXJlIGNv
bnRyb2xsZWQgYnkKKyAgICAgICAgLy8gdGhlIG5ld2x5IGluc3RhbGxlZCBzZXJ2aWNlIHdvcmtl
ci4KKyAgICAgICAgY29uc3QgY2hpbGRfdXJsID0gdXJsICsgJz9yb2xlPWNoaWxkJzsKKyAgICAg
ICAgdC5mcmFtZSA9IGF3YWl0IHdpdGhfbmVzdGVkX2lmcmFtZXModCwgY2hpbGRfdXJsKTsKKwor
ICAgICAgICB0LnN0YXRlX3RyYW5zaXRpb24gPSBhc3luYyBmdW5jdGlvbihmcm9tLCB0bywgc2Ny
aXB0cykgeworICAgICAgICAgICAgLy8gQSBzdGF0ZSB0cmFuc2l0aW9uIGJlZ2lucyB3aXRoIHRo
ZSBjaGlsZCdzIHBhcnNlcgorICAgICAgICAgICAgLy8gZmV0Y2hpbmcgYSBzY3JpcHQgZHVlIHRv
IGEgPHNjcmlwdD4gdGFnLiBUaGUgcmVxdWVzdAorICAgICAgICAgICAgLy8gYXJyaXZlcyBhdCB0
aGUgc2VydmljZSB3b3JrZXIsIHdoaWNoIG5vdGlmaWVzIHRoZQorICAgICAgICAgICAgLy8gcGFy
ZW50LCB3aGljaCBpbiB0dXJuIG5vdGlmaWVzIHRoZSB0ZXN0LiBOb3RlIHRoYXQgdGhlCisgICAg
ICAgICAgICAvLyBldmVudCBsb29wIGtlZXBzIHNwaW5uaW5nIHdoaWxlIHRoZSBwYXJzZXIgaXMg
d2FpdGluZy4KKyAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLmxpc3RlbmVy
LndhaXRGb3IoZmV0Y2hfbWVzc2FnZSh0bykpOworCisgICAgICAgICAgICAvLyBUaGUgdGVzdCBp
bnN0cnVjdHMgdGhlIHNlcnZpY2Ugd29ya2VyIHRvIHNlbmQgdHdvIHBpbmcKKyAgICAgICAgICAg
IC8vIG1lc3NhZ2VzIHRocm91Z2ggdGhlIENsaWVudCBpbnRlcmZhY2U6IGZpcnN0IHRvIHRoZQor
ICAgICAgICAgICAgLy8gY2hpbGQsIHRoZW4gdG8gdGhlIHBhcmVudC4KKyAgICAgICAgICAgIHRo
aXMuc2VydmljZV93b3JrZXIucG9zdE1lc3NhZ2UoZnJvbSk7CisKKyAgICAgICAgICAgIC8vIFdo
ZW4gdGhlIHBhcmVudCByZWNlaXZlcyB0aGUgcGluZyBtZXNzYWdlLCBpdCBmb3J3YXJkcworICAg
ICAgICAgICAgLy8gaXQgdG8gdGhlIHRlc3QuIEFzc3VtaW5nIHRoYXQgbWVzc2FnZXMgdG8gYm90
aCBjaGlsZAorICAgICAgICAgICAgLy8gYW5kIHBhcmVudCBhcmUgbWFwcGVkIHRvIHRoZSBzYW1l
IHRhc2sgcXVldWUgKHRoaXMgaXMKKyAgICAgICAgICAgIC8vIG5vdCBbeWV0XSByZXF1aXJlZCBi
eSB0aGUgc3BlYyksIHJlY2VpdmluZyB0aGlzIG1lc3NhZ2UKKyAgICAgICAgICAgIC8vIGd1YXJh
bnRlZXMgdGhhdCB0aGUgY2hpbGQgaGFzIGFscmVhZHkgZGlzcGF0Y2hlZCBpdHMKKyAgICAgICAg
ICAgIC8vIG1lc3NhZ2UgaWYgaXQgd2FzIGFsbG93ZWQgdG8gZG8gc28uCisgICAgICAgICAgICBh
d2FpdCB0aGlzLmxpc3RlbmVyLndhaXRGb3IocGluZ19tZXNzYWdlKGZyb20pKTsKKworICAgICAg
ICAgICAgLy8gRmluYWxseSwgcmVwbHkgdG8gdGhlIHNlcnZpY2Ugd29ya2VyJ3MgZmV0Y2gKKyAg
ICAgICAgICAgIC8vIG5vdGlmaWNhdGlvbiB3aXRoIHRoZSBzY3JpcHQgaXQgc2hvdWxkIHVzZSBh
cyB0aGUgZmV0Y2gKKyAgICAgICAgICAgIC8vIHJlcXVlc3QncyByZXNwb25zZS4gVGhpcyBpcyBh
IGRlZmVuc2l2ZSBtZWNoYW5pc20gdGhhdAorICAgICAgICAgICAgLy8gZW5zdXJlcyB0aGUgY2hp
bGQncyBwYXJzZXIgcmVhbGx5IGlzIGJsb2NrZWQgdW50aWwgdGhlCisgICAgICAgICAgICAvLyB0
ZXN0IGlzIHJlYWR5IHRvIGNvbnRpbnVlLgorICAgICAgICAgICAgcmVxdWVzdC5wb3J0c1swXS5w
b3N0TWVzc2FnZShbYHN0YXRlID0gJyR7dG99JztgXS5jb25jYXQoc2NyaXB0cykpOworICAgICAg
ICB9OworCisgICAgICAgIGF3YWl0IHRlc3RfZnVuY3Rpb24odCk7CisgICAgfSwgZGVzY3JpcHRp
b24pOworfQorCitmdW5jdGlvbiBjbGllbnRfbWVzc2FnZV9xdWV1ZV9lbmFibGVfdGVzdCgKKyAg
ICBpbnN0YWxsX3NjcmlwdCwKKyAgICBzdGFydF9zY3JpcHQsCisgICAgZWFybGllc3RfZGlzcGF0
Y2gsCisgICAgZGVzY3JpcHRpb24pCit7CisgICAgZnVuY3Rpb24gbGF0ZXJfc3RhdGUoc3RhdGUx
LCBzdGF0ZTIpIHsKKyAgICAgICAgY29uc3Qgc3RhdGVzID0gWydpbml0JywgJ2luc3RhbGwnLCAn
c3RhcnQnLCAnZmluaXNoJywgJ2xvYWRlZCddOworICAgICAgICBjb25zdCBpbmRleDEgPSBzdGF0
ZXMuaW5kZXhPZihzdGF0ZTEpOworICAgICAgICBjb25zdCBpbmRleDIgPSBzdGF0ZXMuaW5kZXhP
ZihzdGF0ZTIpOworICAgICAgICBjb25zdCBtYXhfaW5kZXggPSBNYXRoLm1heChpbmRleDEsIGlu
ZGV4Mik7CisgICAgICAgIHJldHVybiBzdGF0ZXNbbWF4X2luZGV4XTsKKyAgICB9CisKKyAgICBj
bGllbnRfbWVzc2FnZV9xdWV1ZV90ZXN0KCdlbmFibGUtY2xpZW50LW1lc3NhZ2UtcXVldWUuaHRt
bCcsIGFzeW5jIHQgPT4geworICAgICAgICAvLyBXaGlsZSBwYXJzaW5nIHRoZSBjaGlsZCdzIGRv
Y3VtZW50LCB0aGUgY2hpbGQgdHJhbnNpdGlvbnMKKyAgICAgICAgLy8gZnJvbSB0aGUgJ2luaXQn
IHN0YXRlIGFsbCB0aGUgd2F5IHRvIHRoZSAnZmluaXNoJyBzdGF0ZS4KKyAgICAgICAgLy8gT25j
ZSBwYXJzaW5nIGlzIGZpbmlzaGVkIGl0IHdvdWxkIGVudGVyIHRoZSBmaW5hbCAnbG9hZGVkJwor
ICAgICAgICAvLyBzdGF0ZS4gQWxsIGJ1dCB0aGUgbGFzdCB0cmFuc2l0aW9uIHJlcXVpcmUgYXNz
aXRhbmNlIGZyb20KKyAgICAgICAgLy8gdGhlIHRlc3QuCisgICAgICAgIGF3YWl0IHQuc3RhdGVf
dHJhbnNpdGlvbignaW5pdCcsICdpbnN0YWxsJywgW2luc3RhbGxfc2NyaXB0XSk7CisgICAgICAg
IGF3YWl0IHQuc3RhdGVfdHJhbnNpdGlvbignaW5zdGFsbCcsICdzdGFydCcsIFtzdGFydF9zY3Jp
cHRdKTsKKyAgICAgICAgYXdhaXQgdC5zdGF0ZV90cmFuc2l0aW9uKCdzdGFydCcsICdmaW5pc2gn
LCBbXSk7CisKKyAgICAgICAgLy8gV2FpdCBmb3IgYWxsIG1lc3NhZ2VzIHRvIGdldCBkaXNwYXRj
aGVkIG9uIHRoZSBjaGlsZCdzCisgICAgICAgIC8vIFNlcnZpY2VXb3JrZXJDb250YWluZXIgYW5k
IHRoZW4gdmVyaWZ5IHRoYXQgZWFjaCBtZXNzYWdlCisgICAgICAgIC8vIHdhcyBkaXNwYXRjaGVk
IHdoaWxlIHRoZSBjaGlsZCB3YXMgaW4gdGhlIGNvcnJlY3Qgc3RhdGUuCisgICAgICAgIGNvbnN0
IHJlcG9ydCA9IGF3YWl0IHQuZnJhbWUucmVwb3J0OworICAgICAgICBbJ2luaXQnLCAnaW5zdGFs
bCcsICdzdGFydCddLmZvckVhY2goc3RhdGUgPT4geworICAgICAgICAgICAgY29uc3QgZGlzcGF0
Y2ggPSBsYXRlcl9zdGF0ZShzdGF0ZSwgZWFybGllc3RfZGlzcGF0Y2gpOworICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhyZXBvcnRbc3RhdGVdLCBkaXNwYXRjaCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgYE1lc3NhZ2Ugc2VudCBpbiBzdGF0ZSAnJHtzdGF0ZX0nIGRpc3BhdGNoZWQgaW4g
c3RhdGUgJyR7ZGlzcGF0Y2h9J2ApOworICAgICAgICB9KTsKKyAgICB9LCBkZXNjcmlwdGlvbik7
Cit9CisKK2NvbnN0IGVtcHR5X3NjcmlwdCA9IGBgOworCitjb25zdCBhZGRfZXZlbnRfbGlzdGVu
ZXIgPQorICAgIGBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgaGFuZGxlX21lc3NhZ2UpO2A7CisKK2NvbnN0IHNldF9vbm1lc3NhZ2UgPSBgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gaGFuZGxlX21lc3NhZ2U7YDsKKworY29uc3Qg
c3RhcnRfbWVzc2FnZXMgPSBgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuc3RhcnRNZXNzYWdlcygp
O2A7CisKK2NsaWVudF9tZXNzYWdlX3F1ZXVlX2VuYWJsZV90ZXN0KGFkZF9ldmVudF9saXN0ZW5l
ciwgZW1wdHlfc2NyaXB0LCAnbG9hZGVkJywKKyAgICAnTWVzc2FnZXMgZnJvbSBTZXJ2aWNlV29y
a2VyIHRvIENsaWVudCBvbmx5IHJlY2VpdmVkIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQgZXZlbnQu
Jyk7CisKK2NsaWVudF9tZXNzYWdlX3F1ZXVlX2VuYWJsZV90ZXN0KGFkZF9ldmVudF9saXN0ZW5l
ciwgc3RhcnRfbWVzc2FnZXMsICdzdGFydCcsCisgICAgJ01lc3NhZ2VzIGZyb20gU2VydmljZVdv
cmtlciB0byBDbGllbnQgb25seSByZWNlaXZlZCBhZnRlciBjYWxsaW5nIHN0YXJ0TWVzc2FnZXMo
KS4nKTsKKworY2xpZW50X21lc3NhZ2VfcXVldWVfZW5hYmxlX3Rlc3Qoc2V0X29ubWVzc2FnZSwg
ZW1wdHlfc2NyaXB0LCAnaW5zdGFsbCcsCisgICAgJ01lc3NhZ2VzIGZyb20gU2VydmljZVdvcmtl
ciB0byBDbGllbnQgb25seSByZWNlaXZlZCBhZnRlciBzZXR0aW5nIG9ubWVzc2FnZS4nKTsKKwor
Y29uc3QgcmVzb2x2ZV9tYW51YWxfcHJvbWlzZSA9IGByZXNvbHZlX21hbnVhbF9wcm9taXNlKCk7
YAorCithc3luYyBmdW5jdGlvbiB0ZXN0X21pY3JvdGFza3Nfd2hlbl9jbGllbnRfbWVzc2FnZV9x
dWV1ZV9lbmFibGVkKHQsIHNjcmlwdHMpIHsKKyAgICBhd2FpdCB0LnN0YXRlX3RyYW5zaXRpb24o
J2luaXQnLCAnc3RhcnQnLCBzY3JpcHRzLmNvbmNhdChbcmVzb2x2ZV9tYW51YWxfcHJvbWlzZV0p
KTsKKyAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdC5mcmFtZS5yZXN1bHQ7CisgICAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHRbMF0sICdtaWNyb3Rhc2snLCAnVGhlIG1pY3JvdGFzayB3YXMgZXhlY3V0ZWQg
Zmlyc3QuJyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbMV0sICdtZXNzYWdlJywgJ1RoZSBt
ZXNzYWdlIHdhcyBkaXNwYXRjaGVkLicpOworfQorCitjbGllbnRfbWVzc2FnZV9xdWV1ZV90ZXN0
KCdtZXNzYWdlLXZzLW1pY3JvdGFzay5odG1sJywgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RfbWlj
cm90YXNrc193aGVuX2NsaWVudF9tZXNzYWdlX3F1ZXVlX2VuYWJsZWQodCwgWworICAgICAgICBh
ZGRfZXZlbnRfbGlzdGVuZXIsCisgICAgICAgIHN0YXJ0X21lc3NhZ2VzLAorICAgIF0pOworfSwg
J01pY3JvdGFza3MgcnVuIGJlZm9yZSBkaXNwYXRjaGluZyBtZXNzYWdlcyBhZnRlciBjYWxsaW5n
IHN0YXJ0TWVzc2FnZXMoKS4nKTsKKworY2xpZW50X21lc3NhZ2VfcXVldWVfdGVzdCgnbWVzc2Fn
ZS12cy1taWNyb3Rhc2suaHRtbCcsIHQgPT4geworICAgIHJldHVybiB0ZXN0X21pY3JvdGFza3Nf
d2hlbl9jbGllbnRfbWVzc2FnZV9xdWV1ZV9lbmFibGVkKHQsIFtzZXRfb25tZXNzYWdlXSk7Cit9
LCAnTWljcm90YXNrcyBydW4gYmVmb3JlIGRpc3BhdGNoaW5nIG1lc3NhZ2VzIGFmdGVyIHNldHRp
bmcgb25tZXNzYWdlLicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9wb3N0bWVzc2FnZS10by1jbGllbnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bv
c3RtZXNzYWdlLXRvLWNsaWVudC5odHRwcy5odG1sCmluZGV4IDE1ZDJlODg5MzM3MDc4ODY5ZTNj
M2U5N2QzMTI2NDllNmE4YmQ4YjIuLmY4MzRhNGJmZmUyMGM2OWNiZDU3YWU0YzZiZjkyMjA4M2Qz
NTU0ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVu
dC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVu
dC5odHRwcy5odG1sCkBAIC01LDUwICs1LDM4IEBACiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3Qt
aGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLXByb21pc2VfdGVzdCh0ID0+IHsK
LSAgICB2YXIgc2NyaXB0ID0gJ3Jlc291cmNlcy9wb3N0bWVzc2FnZS10by1jbGllbnQtd29ya2Vy
LmpzJzsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOwotICAgIHZhciB3
OworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVzb3VyY2Vz
L3Bvc3RtZXNzYWdlLXRvLWNsaWVudC13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9ICdyZXNv
dXJjZXMvYmxhbmsuaHRtbCc7CiAKLSAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKLSAgICAgIC50aGVuKHJlZ2lzdHJhdGlv
biA9PiB7Ci0gICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdp
c3RlcigpKTsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9u
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+
IHdpdGhfaWZyYW1lKHNjb3BlKSkKLSAgICAgIC50aGVuKGZyYW1lID0+IHsKLSAgICAgICAgICB0
LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgpKTsKKyAgY29uc3QgcmVnaXN0cmF0aW9u
ID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IHNjcmlwdCwgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHJlZ2lzdHJhdGlvbi51bnJl
Z2lzdGVyKCkpOworICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFs
bGluZywgJ2FjdGl2YXRlZCcpOworICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHNj
b3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBmcmFtZS5yZW1vdmUoKSk7CisgIGNvbnN0IHcg
PSBmcmFtZS5jb250ZW50V2luZG93OwogCi0gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgICAgICAgICAgICB3ID0gZnJhbWUuY29udGVudFdpbmRvdzsKLSAgICAg
ICAgICAgICAgdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByZXNvbHZlOwot
ICAgICAgICAgICAgICB3Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1l
c3NhZ2UoJ3BpbmcnKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KQotICAgICAgLnRoZW4o
ZSA9PiB7Ci0gICAgICAgICAgdmFyIG1lc3NhZ2UgPSBlLmRhdGE7Ci0gICAgICAgICAgYXNzZXJ0
X2VxdWFscyhlLmNvbnN0cnVjdG9yLCB3Lk1lc3NhZ2VFdmVudCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICdtZXNzYWdlIGV2ZW50cyBzaG91bGQgdXNlIE1lc3NhZ2VFdmVudCBpbnRlcmZhY2Uu
Jyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLnR5cGUsICdtZXNzYWdlJywgJ3R5cGUgc2hv
dWxkIGJlICJtZXNzYWdlIi4nKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuYnViYmxlcywg
ZmFsc2UsICdtZXNzYWdlIGV2ZW50cyBzaG91bGQgbm90IGJ1YmJsZS4nKTsKLSAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGUuY2FuY2VsYWJsZSwgZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAnbWVzc2FnZSBldmVudHMgc2hvdWxkIG5vdCBiZSBjYW5jZWxhYmxlLicpOwotICAgICAgICAg
IGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGUub3JpZ2luLCBsb2NhdGlvbi5vcmlnaW4s
Ci0gICAgICAgICAgICAgICdvcmlnaW4gb2YgbWVzc2FnZSBzaG91bGQgYmUgb3JpZ2luIG9mIFNl
cnZpY2UgV29ya2VyLicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5sYXN0RXZlbnRJZCwg
JycsCi0gICAgICAgICAgICAgICAgICAgICAgICAnbGFzdEV2ZW50SWQgc2hvdWxkIGJlIGFuIGVt
cHR5IHN0cmluZy4nKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuc291cmNlLmNvbnN0cnVj
dG9yLCB3LlNlcnZpY2VXb3JrZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlIHNo
b3VsZCB1c2UgU2VydmljZVdvcmtlciBpbnRlcmZhY2UuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2Vx
dWFscygKLSAgICAgICAgICAgICAgZS5zb3VyY2UsIHcubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
Y29udHJvbGxlciwKLSAgICAgICAgICAgICAgJ3NvdXJjZSBzaG91bGQgYmUgdGhlIHNlcnZpY2Ug
d29ya2VyIHRoYXQgc2VudCB0aGUgbWVzc2FnZS4nKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGUucG9ydHMubGVuZ3RoLCAwLCAncG9ydHMgc2hvdWxkIGJlIGFuIGVtcHR5IGFycmF5LicpOwot
ICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZSwgJ1NlbmRpbmcgbWVzc2FnZSB2aWEgY2xp
ZW50cycpOwotICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAg
ICAgICAgICAgdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByZXNvbHZlOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihlID0+IHsgYXNzZXJ0X2Vx
dWFscyhlLmRhdGEsICdxdWl0Jyk7IH0pOwotICB9LCAncG9zdE1lc3NhZ2UgZnJvbSBTZXJ2aWNl
V29ya2VyIHRvIENsaWVudC4nKTsKKyAgdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9s
bGVyLnBvc3RNZXNzYWdlKCdwaW5nJyk7CisgIGxldCBlID0gYXdhaXQgbmV3IFByb21pc2UociA9
PiB3Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IHIpOworCisgIGFzc2VydF9l
cXVhbHMoZS5jb25zdHJ1Y3Rvciwgdy5NZXNzYWdlRXZlbnQsCisgICAgICAgICAgICAgICAgJ21l
c3NhZ2UgZXZlbnRzIHNob3VsZCB1c2UgTWVzc2FnZUV2ZW50IGludGVyZmFjZS4nKTsKKyAgYXNz
ZXJ0X2VxdWFscyhlLnR5cGUsICdtZXNzYWdlJywgJ3R5cGUgc2hvdWxkIGJlICJtZXNzYWdlIi4n
KTsKKyAgYXNzZXJ0X2ZhbHNlKGUuYnViYmxlcywgJ21lc3NhZ2UgZXZlbnRzIHNob3VsZCBub3Qg
YnViYmxlLicpOworICBhc3NlcnRfZmFsc2UoZS5jYW5jZWxhYmxlLCAnbWVzc2FnZSBldmVudHMg
c2hvdWxkIG5vdCBiZSBjYW5jZWxhYmxlLicpOworICBhc3NlcnRfZXF1YWxzKGUub3JpZ2luLCBs
b2NhdGlvbi5vcmlnaW4sCisgICAgICAgICAgICAgICAgJ29yaWdpbiBvZiBtZXNzYWdlIHNob3Vs
ZCBiZSBvcmlnaW4gb2YgU2VydmljZSBXb3JrZXIuJyk7CisgIGFzc2VydF9lcXVhbHMoZS5sYXN0
RXZlbnRJZCwgJycsCisgICAgICAgICAgICAgICAgJ2xhc3RFdmVudElkIHNob3VsZCBiZSBhbiBl
bXB0eSBzdHJpbmcuJyk7CisgIGFzc2VydF9lcXVhbHMoZS5zb3VyY2UuY29uc3RydWN0b3IsIHcu
U2VydmljZVdvcmtlciwKKyAgICAgICAgICAgICAgICAnc291cmNlIHNob3VsZCB1c2UgU2Vydmlj
ZVdvcmtlciBpbnRlcmZhY2UuJyk7CisgIGFzc2VydF9lcXVhbHMoZS5zb3VyY2UsIHcubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciwKKyAgICAgICAgICAgICAgICAnc291cmNlIHNo
b3VsZCBiZSB0aGUgc2VydmljZSB3b3JrZXIgdGhhdCBzZW50IHRoZSBtZXNzYWdlLicpOworICBh
c3NlcnRfZXF1YWxzKGUucG9ydHMubGVuZ3RoLCAwLCAncG9ydHMgc2hvdWxkIGJlIGFuIGVtcHR5
IGFycmF5LicpOworICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJ1NlbmRpbmcgbWVzc2FnZSB2aWEg
Y2xpZW50cycpOworCisgIGUgPSBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHcubmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIub25tZXNzYWdlID0gcik7CisgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAncXVp
dCcpOworfSwgJ3Bvc3RNZXNzYWdlIGZyb20gU2VydmljZVdvcmtlciB0byBDbGllbnQuJyk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCA5OWI4YmU4OTNmYjYyYzVkODQ1Nzc1M2M4YjViOWJlYTI1ODk2YjI2Li41
NjE1NDFiNjc3ZGM2NDk2MzU4MWFlYzMwMjk1M2FjYzBkYzljZGNlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0yLDQgKzIsNSBA
QAogUEFTUyBwb3N0TWVzc2FnZSB0byBhIFNlcnZpY2VXb3JrZXIgKGFuZCBiYWNrIHZpYSBNZXNz
YWdlUG9ydCkgCiBQQVNTIHBvc3RNZXNzYWdlIGEgdHJhbnNmZXJhYmxlIEFycmF5QnVmZmVyIGJl
dHdlZW4gU2VydmljZVdvcmtlciBhbmQgQ2xpZW50IAogUEFTUyBwb3N0TWVzc2FnZSBhIHRyYW5z
ZmVyYWJsZSBBcnJheUJ1ZmZlciBiZXR3ZWVuIFNlcnZpY2VXb3JrZXIgYW5kIENsaWVudCBvdmVy
IE1lc3NhZ2VQb3J0IAorRkFJTCBwb3N0TWVzc2FnZSB3aXRoIGRpY3Rpb25hcnkgYSB0cmFuc2Zl
cmFibGUgQXJyYXlCdWZmZXIgYmV0d2VlbiBTZXJ2aWNlV29ya2VyIGFuZCBDbGllbnQgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2Fn
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMuaHRtbApp
bmRleCAzYTY0ODdlYTE3YTYzZDhhZTc3MTBlZTZlMWRkYjViYzY2MjZmOTE5Li5iMWYzMzQyYThj
MTRlNzA3MDk3YmY2YzkwZTVmNGZlZTVmZDE5YTRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9wb3N0bWVzc2FnZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3Rt
ZXNzYWdlLmh0dHBzLmh0bWwKQEAgLTEzNiw0ICsxMzYsNDYgQEAgcHJvbWlzZV90ZXN0KHQgPT4g
ewogICAgICAgICB9KTsKICAgfSwgJ3Bvc3RNZXNzYWdlIGEgdHJhbnNmZXJhYmxlIEFycmF5QnVm
ZmVyIGJldHdlZW4gU2VydmljZVdvcmtlciBhbmQgQ2xpZW50JyArCiAgICAgICcgb3ZlciBNZXNz
YWdlUG9ydCcpOworCisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICB2YXIgc2NyaXB0ID0gJ3Jl
c291cmNlcy9wb3N0bWVzc2FnZS1kaWN0aW9uYXJ5LXRyYW5zZmVyYWJsZXMtd29ya2VyLmpzJzsK
KyAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOworICAgIHZhciBzdyA9IG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyOworCisgICAgdmFyIG1lc3NhZ2UgPSAnSGVsbG8sIHdvcmxk
ISc7CisgICAgdmFyIHRleHRfZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcjsKKyAgICB2YXIgdGV4
dF9kZWNvZGVyID0gbmV3IFRleHREZWNvZGVyOworCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHNjcmlwdCwgc2NvcGUpCisgICAgICAudGhlbihy
ID0+IHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHIudW5yZWdpc3RlcigpKTsKKwor
ICAgICAgICAgIHZhciBhYiA9IHRleHRfZW5jb2Rlci5lbmNvZGUobWVzc2FnZSk7CisgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhhYi5ieXRlTGVuZ3RoLCBtZXNzYWdlLmxlbmd0aCk7CisgICAgICAg
ICAgci5pbnN0YWxsaW5nLnBvc3RNZXNzYWdlKGFiLCB7dHJhbnNmZXI6IFthYi5idWZmZXJdfSk7
CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXh0X2RlY29kZXIuZGVjb2RlKGFiKSwgJycpOwor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWIuYnl0ZUxlbmd0aCwgMCk7CisKKyAgICAgICAgICBy
ZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7IHN3Lm9ubWVzc2FnZSA9IHJlc29sdmU7IH0p
OworICAgICAgICB9KQorICAgICAgLnRoZW4oZSA9PiB7CisgICAgICAgICAgLy8gVmVyaWZ5IHRo
ZSBpbnRlZ3JpdHkgb2YgdGhlIHRyYW5zZmVycmVkIGFycmF5IGJ1ZmZlci4KKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGUuZGF0YS5jb250ZW50LCBtZXNzYWdlKTsKKyAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGUuZGF0YS5ieXRlTGVuZ3RoLCBtZXNzYWdlLmxlbmd0aCk7CisgICAgICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geyBzdy5vbm1lc3NhZ2UgPSByZXNvbHZlOyB9KTsK
KyAgICAgICAgfSkKKyAgICAgIC50aGVuKGUgPT4geworICAgICAgICAgIC8vIFZlcmlmeSB0aGUg
aW50ZWdyaXR5IG9mIHRoZSBhcnJheSBidWZmZXIgc2VudCBiYWNrIGZyb20KKyAgICAgICAgICAv
LyBTZXJ2aWNlV29ya2VyIHZpYSBDbGllbnQucG9zdE1lc3NhZ2UuCisgICAgICAgICAgYXNzZXJ0
X2VxdWFscyh0ZXh0X2RlY29kZXIuZGVjb2RlKGUuZGF0YSksIG1lc3NhZ2UpOworICAgICAgICAg
IGFzc2VydF9lcXVhbHMoZS5kYXRhLmJ5dGVMZW5ndGgsIG1lc3NhZ2UubGVuZ3RoKTsKKyAgICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7IHN3Lm9ubWVzc2FnZSA9IHJlc29s
dmU7IH0pOworICAgICAgICB9KQorICAgICAgLnRoZW4oZSA9PiB7CisgICAgICAgICAgLy8gVmVy
aWZ5IHRoYXQgdGhlIGFycmF5IGJ1ZmZlciBvbiBTZXJ2aWNlV29ya2VyIGlzIG5ldXRlcmVkLgor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLmNvbnRlbnQsICcnKTsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGUuZGF0YS5ieXRlTGVuZ3RoLCAwKTsKKyAgICAgICAgfSk7CisgIH0sICdw
b3N0TWVzc2FnZSB3aXRoIGRpY3Rpb25hcnkgYSB0cmFuc2ZlcmFibGUgQXJyYXlCdWZmZXIgYmV0
d2VlbiBTZXJ2aWNlV29ya2VyIGFuZCBDbGllbnQnKTsKKwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDZjNjUyMDc2YTlmMDI1MTNlMWNhOWRkMWU0N2NjZjk1MGY1NzBlNDMuLjlkMmYy
NzA2Y2FmZWViNzQwMzA1OWNiMzcwNmYzNDkwNWMyZGY5MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0yOCw2ICsyOCw3IEBAIFBBU1MgbW9kZTogImVycm9yIiwgZ2VuZXJhdGVkIHJlZGlyZWN0IHJl
c3BvbnNlCiBQQVNTIG1vZGU6ICJtYW51YWwiLCBnZW5lcmF0ZWQgcmVkaXJlY3QgcmVzcG9uc2Ug
CiBQQVNTIEZldGNoIHNob3VsZCBmb2xsb3cgdGhlIHJlZGlyZWN0IHJlc3BvbnNlIDIwIHRpbWVz
IAogUEFTUyBGZXRjaCBzaG91bGQgbm90IGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgMjEg
dGltZXMuIAorUEFTUyBUaGUgVVJMIGZvciB0aGUgc2VydmljZSB3b3JrZXIgcmVkaXJlY3RlZCBy
ZXF1ZXN0IHNob3VsZCBiZSBwcm9wYWdhdGVkIHRvIHJlc3BvbnNlLiAKIFBBU1MgcmVzdG9yZSBn
bG9iYWwgc3RhdGUgKHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbikgCiBQQVNTIHJlc3RvcmUg
Z2xvYmFsIHN0YXRlIChjYWNoZXMpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRpcmVj
dGVkLXJlc3BvbnNlLmh0dHBzLmh0bWwKaW5kZXggZjczNzBlMDIzYjFhYjQ0NTRiODM5YmM2ZGFh
NDMyY2Y1MzllMWQ3Zi4uMTc2ZmNiNDk0YjY2NGJhZTQzZmViYTBjNzkzZTUyODQ1ZGYzNTI1NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMuaHRt
bApAQCAtMzMsNiArMzMsMTEgQEAgZnVuY3Rpb24gcmVkaXJlY3RlZF90ZXN0KG9wdGlvbnMpIHsK
ICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIGNsb25lZF9yZXNwb25zZS5yZWRp
cmVjdGVkLCBvcHRpb25zLmV4cGVjdGVkX3JlZGlyZWN0ZWQsCiAgICAgICAgICAgICAnVGhlIHJl
ZGlyZWN0ZWQgZmxhZyBvZiBjbG9uZWQgcmVzcG9uc2UgbXVzdCBtYXRjaC4gVVJMOiAnICsgb3B0
aW9ucy51cmwpOworICAgICAgICBpZiAob3B0aW9ucy5leHBlY3RlZF9yZXNwb25zZV91cmwpIHsK
KyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICAgICAgY2xvbmVkX3Jlc3Bv
bnNlLnVybCwgb3B0aW9ucy5leHBlY3RlZF9yZXNwb25zZV91cmwsCisgICAgICAgICAgICAgICAg
J1RoZSBVUkwgZG9lcyBub3QgbWVldCBleHBlY3RhdGlvbi4gVVJMOiAnICsgb3B0aW9ucy51cmwp
OworICAgICAgICB9CiAgICAgICAgIHJldHVybiBjYWNoZS5wdXQob3B0aW9ucy51cmwsIHJlc3Bv
bnNlKTsKICAgICAgIH0pCiAgICAgLnRoZW4oXyA9PiBjYWNoZS5tYXRjaChvcHRpb25zLnVybCkp
CkBAIC00OSwxMiArNTQsMTUgQEAgZnVuY3Rpb24gcmVkaXJlY3RlZF90ZXN0KG9wdGlvbnMpIHsK
ICAgICAgIH0pOwogfQogCi1mdW5jdGlvbiB0YWtlX2ludGVyY2VwdGVkX3VybHMoKSB7Ci0gIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgbGV0IGNoYW5uZWwgPSBuZXcg
TWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gbXNnID0+
IHsgcmVzb2x2ZShtc2cuZGF0YS51cmxzKTsgfTsKLSAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7
cG9ydDogY2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7Ci0gICAgfSk7Cithc3luYyBm
dW5jdGlvbiB0YWtlX2ludGVyY2VwdGVkX3VybHMoKSB7CisgIGNvbnN0IG1lc3NhZ2UgPSBuZXcg
UHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgIGxldCBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFu
bmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBtc2cgPT4geyByZXNvbHZlKG1z
Zy5kYXRhLnJlcXVlc3RJbmZvcyk7IH07CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKHtjb21tYW5k
OiAnZ2V0UmVxdWVzdEluZm9zJywgcG9ydDogY2hhbm5lbC5wb3J0Mn0sCisgICAgICAgICAgICAg
ICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CisgIH0pOworICBjb25zdCByZXF1ZXN0X2luZm9z
ID0gYXdhaXQgbWVzc2FnZTsKKyAgcmV0dXJuIHJlcXVlc3RfaW5mb3MubWFwKGluZm8gPT4geyBy
ZXR1cm4gaW5mby51cmw7IH0pOwogfQogCiBmdW5jdGlvbiBjaGVja19pbnRlcmNlcHRlZF91cmxz
KGV4cGVjdGVkX3VybHMpIHsKQEAgLTM0NSw0ICszNTMsMjMgQEAgcHJvbWlzZV90ZXN0KHQgPT4g
c2V0dXBfYW5kX2NsZWFuKCkKICAgICAgICAgfSk7CiAgICAgfSksCiAgICdGZXRjaCBzaG91bGQg
bm90IGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgMjEgdGltZXMuJyk7CisKKy8vID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy8vIEEg
dGVzdCBmb3IgdmVyaWZ5aW5nIHRoZSB1cmwgb2YgYSBzZXJ2aWNlLXdvcmtlci1yZWRpcmVjdGVk
IHJlcXVlc3QgaXMKKy8vIHByb3BhZ2F0ZWQgdG8gdGhlIG91dGVyIHJlc3BvbnNlLgorLy8gPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorcHJv
bWlzZV90ZXN0KHQgPT4gc2V0dXBfYW5kX2NsZWFuKCkKKyAgICAudGhlbigoKSA9PiB7CisgICAg
ICBjb25zdCB1cmwgPSBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsgYmFzZV9wYXRoKCkgKyAn
ZHVtbXk/dXJsPScgKworICAgICAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KFRBUkdF
VF9VUkwpICsnJnN3PWZldGNoLXVybCc7CisgICAgICByZXR1cm4gcmVkaXJlY3RlZF90ZXN0KHt1
cmw6IHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoX29wdGlvbjoge30s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaF9tZXRob2Q6IGZyYW1lLmNvbnRl
bnRXaW5kb3cuZmV0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF90
eXBlOiAnYmFzaWMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVk
aXJlY3RlZDogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9p
bnRlcmNlcHRlZF91cmxzOiBbdXJsXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
cGVjdGVkX3Jlc3BvbnNlX3VybDogVEFSR0VUX1VSTH0pOworICAgIH0pLAorICAnVGhlIFVSTCBm
b3IgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZGlyZWN0ZWQgcmVxdWVzdCBzaG91bGQgYmUgcHJvcGFn
YXRlZCB0byAnICsKKyAgJ3Jlc3BvbnNlLicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZWZlcmVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWZl
cmVyLmh0dHBzLmh0bWwKaW5kZXggNDNmY2NiYWQ1NmNmNDUwNGU5ZTlkZGE5NzQyYzFjODY5YmIw
YTU1OS4uMDk1N2U0YzUzMzAxNjhiMDgyMzZmZjdjNDMxNzA2YTFkOTJjYzFhNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJlci5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3JlZmVyZXIuaHR0cHMuaHRtbApAQCAtNSwyNiArNSwzNiBAQAogPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJl
c291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3NjcmlwdD4KIDxzY3JpcHQ+
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAg
ICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9yZWZlcmVyLWlmcmFtZS5odG1sJzsKICAgICB2YXIg
U0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci5qcyc7CiAgICAgdmFyIGhv
c3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRoZW4o
ZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwg
U0NPUEUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3Rh
dGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkK
ICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUpOyB9KQog
ICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKICAgICAgICAgICB2YXIgY2hhbm5lbCA9IG5l
dyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0g
dC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUu
ZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlv
bigpIHsKICAgICAgICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgICAgIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwogICAgICAgICAgICAgfSk7
CisKKyAgICAgICAgICB2YXIgb25Nc2cgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7
CisgICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICAg
ICAgICAgIH0pOworCiAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7
fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfaW5mb1sn
SFRUUFNfT1JJR0lOJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbY2hhbm5lbC5wb3J0Ml0pOworICAgICAgICAgIHJldHVybiBvbk1zZzsKICAgICAgICAgfSkK
LSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgIC50aGVuKGZ1bmN0
aW9uKGUpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNo
Jyk7CisgICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHRoZSByZWZlcmVyJyk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZmVycmVyLXBvbGljeS1oZWFkZXIuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5LWhlYWRl
ci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmNlMDE0MGFhYTM1ZjVmNmQ3OTMzZGMzNzQ5NmZm
NmM1N2Q2MWFlNy4uODEyYjQ2ZmVjOWE5MDZiMTBkMDkxZjRhNWIxZDA2ZWYxYzNjYTdlMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5LWhlYWRlci5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5LWhlYWRl
ci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw3IEBACiAKLUZBSUwgVmVyaWZ5IHRoZSBy
ZWZlcmVyIHdpdGggYSBSZWZlcnJlciBQb2xpY3kgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZp
bmlzaCIgYnV0IGdvdCAiZmFpbHVyZTpSZWZlcmVyIGZvciByZXF1ZXN0LWhlYWRlcnMucHk/dXJs
PXJlcXVlc3QtaGVhZGVycy5weSBtdXN0IGJlIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvIGJ1dCBn
b3QgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2VyLXJlZmVycmVyLXBvbGljeS5qcyIKKworUEFT
UyBJbml0aWFsaXplIGdsb2JhbCBzdGF0ZSAoc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uKSAK
K0ZBSUwgUmVmZXJyZXIgZm9yIGEgbWFpbiByZXNvdXJjZSByZWRpcmVjdGVkIHdpdGggcmVmZXJy
ZXItcG9saWN5IChvcmlnaW4pIHNob3VsZCBvbmx5IGhhdmUgb3JpZ2luLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8iIGJ1dCBnb3QgImh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZmVycmVyLXBvbGlj
eS1oZWFkZXIuaHR0cHMuaHRtbCIKK0ZBSUwgUmVmZXJyZXIgZm9yIGZldGNoIHJlcXVlc3RzIGlu
aXRpYXRlZCBmcm9tIGEgc2VydmljZSB3b3JrZXIgd2l0aCByZWZlcnJlci1wb2xpY3kgKG9yaWdp
bikgc2hvdWxkIG9ubHkgaGF2ZSBvcmlnaW4uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmaW5p
c2giIGJ1dCBnb3QgImZhaWx1cmU6UmVmZXJlciBmb3IgcmVxdWVzdC1oZWFkZXJzLnB5P3VybD1y
ZXF1ZXN0LWhlYWRlcnMucHkgbXVzdCBiZSBodHRwczovL2xvY2FsaG9zdDo5NDQzLyBidXQgZ290
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci1yZWZlcnJlci1wb2xpY3kuanMiCitQQVNTIFJl
bW92ZSByZWdpc3RyYXRpb24gYXMgYSBjbGVhbnVwIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZWZlcnJlci1wb2xpY3ktaGVhZGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZWZlcnJlci1wb2xpY3ktaGVhZGVyLmh0dHBzLmh0bWwKaW5kZXggZjJlOTFkNDcyYzBh
ZmYzNGFmOGJiNTE5NTJkMTVkYWZmY2Y2MTM2Yi4uMDVkNzczZTMxNDRkY2EyYzc2MzllNGVmNTIw
YTU1ZDBlYWNmNjc1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9s
aWN5LWhlYWRlci5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZmVycmVyLXBv
bGljeS1oZWFkZXIuaHR0cHMuaHRtbApAQCAtNSwzOSArNSw0MSBAQAogPHNjcmlwdCBzcmM9Ii9j
b21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291
cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1wcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvcmVmZXJyZXItcG9s
aWN5LWlmcmFtZS5odG1sJzsKLSAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXdy
aXRlLXdvcmtlci1yZWZlcnJlci1wb2xpY3kuanMnOwotICAgIHZhciBob3N0X2luZm8gPSBnZXRf
aG9zdF9pbmZvKCk7Ci0gICAgdmFyIGJvZHksIHVucmVnaXN0ZXI7CiAKLSAgICBib2R5ID0gc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSkKLSAg
ICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgIHVucmVnaXN0ZXIg
PSByZWdpc3RyYXRpb24udW5yZWdpc3Rlci5iaW5kKHJlZ2lzdHJhdGlvbik7Ci0gICAgICAgICAg
cmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZh
dGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdpdGhf
aWZyYW1lKFNDT1BFKTsgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7Ci0gICAgICAg
ICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAgICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAg
ICAgICAgIH0pOworY29uc3QgU0NPUEUgPSAncmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1pZnJh
bWUuaHRtbCc7Citjb25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2Vy
LXJlZmVycmVyLXBvbGljeS5qcyc7CiAKLSAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9
IHJlc29sdmU7Ci0gICAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uo
e30sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9p
bmZvWydIVFRQU19PUklHSU4nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0p
Ci0gICAgICAudGhlbihmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmRh
dGEucmVzdWx0cywgJ2ZpbmlzaCcpOwotICAgICAgICB9KTsKK3Byb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPQorICAgICAgICBhd2FpdCBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKTsKKyAgICBhd2Fp
dCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcp
OworICAgIHByb21pc2VfdGVzdCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpLAorICAg
ICAgICAgICAgICAgICAnUmVtb3ZlIHJlZ2lzdHJhdGlvbiBhcyBhIGNsZWFudXAnKTsKK30sICdJ
bml0aWFsaXplIGdsb2JhbCBzdGF0ZSAoc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uKScpOwog
Ci0gICAgICAvLyBTY2hlZHVsZSB1bi1yZWdpc3RyYXRpb24gdG8gb2NjdXIgYWZ0ZXIgdGVzdCBl
eGVjdXRpb24gaGFzIGNvbXBsZXRlZCwKLSAgICAgIC8vIHdpdGhvdXQgaGlkaW5nIHRlc3QgZmFp
bHVyZS4KLSAgICAgIHJldHVybiBib2R5Ci0gICAgICAgIC50aGVuKHVucmVnaXN0ZXIsIHVucmVn
aXN0ZXIpCi0gICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gYm9keTsgfSk7Ci0gIH0s
ICdWZXJpZnkgdGhlIHJlZmVyZXIgd2l0aCBhIFJlZmVycmVyIFBvbGljeScpOworcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IGZ1bGxfc2NvcGVfdXJsID0gbmV3IFVSTChTQ09Q
RSwgbG9jYXRpb24uaHJlZik7CisgICAgY29uc3QgcmVkaXJlY3RfdG8gPSBgJHtmdWxsX3Njb3Bl
X3VybC5ocmVmfT9pZ25vcmU9dHJ1ZWA7CisgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lm
cmFtZSgKKyAgICAgICAgYCR7U0NPUEV9P3BpcGU9c3RhdHVzKDMwMil8aGVhZGVyKExvY2F0aW9u
LCR7cmVkaXJlY3RfdG99KXxgICsKKyAgICAgICAgJ2hlYWRlcihSZWZlcnJlci1Qb2xpY3ksb3Jp
Z2luKScpOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LnJlZmVycmVy
LAorICAgICAgICAgICAgICAgICAgZnVsbF9zY29wZV91cmwub3JpZ2luICsgJy8nKTsKKyAgICB0
LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgpKTsKK30sICdSZWZlcnJlciBmb3IgYSBt
YWluIHJlc291cmNlIHJlZGlyZWN0ZWQgd2l0aCByZWZlcnJlci1wb2xpY3kgKG9yaWdpbikgJyAr
CisgICAnc2hvdWxkIG9ubHkgaGF2ZSBvcmlnaW4uJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBjb25zdCBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7CisgICAgY29uc3Qg
ZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShTQ09QRSk7CisgICAgY29uc3QgY2hhbm5lbCA9IG5l
dyBNZXNzYWdlQ2hhbm5lbCgpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gZnJhbWUucmVtb3Zl
KCkpOworICAgIGNvbnN0IGUgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
ICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSByZXNvbHZlOworICAgICAgICBmcmFtZS5jb250
ZW50V2luZG93LnBvc3RNZXNzYWdlKAorICAgICAgICAgICAge30sIGhvc3RfaW5mb1snSFRUUFNf
T1JJR0lOJ10sIFtjaGFubmVsLnBvcnQyXSk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOworfSwgJ1JlZmVycmVyIGZvciBmZXRjaCByZXF1ZXN0
cyBpbml0aWF0ZWQgZnJvbSBhIHNlcnZpY2Ugd29ya2VyIHdpdGggJyArCisgICAncmVmZXJyZXIt
cG9saWN5IChvcmlnaW4pIHNob3VsZCBvbmx5IGhhdmUgb3JpZ2luLicpOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tZXZlbnRzLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tZXZlbnRzLmh0dHBzLmh0bWwKaW5k
ZXggOTcyY2U3NDEwYjk5MjJlZGI3MDUyZWE1YmU3NDBmOGVmNDg5MmYxOS4uNWJjZmQ2Njg0NmJj
ZTViOTNiZjA5ZDA1YjY1YzJlMzUyYjUxZmZhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVnaXN0cmF0aW9uLWV2ZW50cy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3JlZ2lzdHJhdGlvbi1ldmVudHMuaHR0cHMuaHRtbApAQCAtNCwxNSArNCwxNyBAQAogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+
Ci12YXIgdCA9IGFzeW5jX3Rlc3QoJ1JlZ2lzdHJhdGlvbjogZXZlbnRzJyk7Ci10LnN0ZXAoZnVu
Y3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBzY29wZSA9ICdy
ZXNvdXJjZXMvaW4tc2NvcGUvJzsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9y
ZWdpc3RlcigKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0
ZXIoCiAgICAgICAgIHQsICdyZXNvdXJjZXMvZXZlbnRzLXdvcmtlci5qcycsIHNjb3BlKQotICAg
ICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAg
b25SZWdpc3RlcihyZWdpc3RyYXRpb24uaW5zdGFsbGluZyk7Ci0gICAgICAgIH0pKQotICAgICAg
LmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24ocmVn
aXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAg
ICAgICAgIH0pOworCisgICAgICAgICAgcmV0dXJuIG9uUmVnaXN0ZXIocmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcpOworICAgICAgICB9KTsKIAogICAgIGZ1bmN0aW9uIHNlbmRNZXNzYWdlUG9ydCh3
b3JrZXIsIGZyb20pIHsKICAgICAgICAgdmFyIG1lc3NhZ2VDaGFubmVsID0gbmV3IE1lc3NhZ2VD
aGFubmVsKCk7CkBAIC0yMSwxNyArMjMsMjAgQEAgdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgIH0K
IAogICAgIGZ1bmN0aW9uIG9uUmVnaXN0ZXIoc3cpIHsKLSAgICAgICAgc3cub25zdGF0ZWNoYW5n
ZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHN3LnN0YXRlICE9
PSAnYWN0aXZhdGVkJykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgICAgIHNl
bmRNZXNzYWdlUG9ydChzdywgJ3JlZ2lzdGVyaW5nIGRvYycpLm9ubWVzc2FnZSA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uIChlKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7CisgICAgICAgICAgICBzdy5vbnN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHN3LnN0YXRlID09PSAnYWN0aXZhdGVkJykKKyAgICAgICAgICAg
ICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSkudGhlbihmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7CisgICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2VQb3J0KHN3LCAncmVnaXN0ZXJpbmcgZG9j
Jykub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KS50aGVu
KGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGUuZGF0
YS5ldmVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2luc3RhbGwn
LCAnYWN0aXZhdGUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dvcmtl
ciBzaG91bGQgc2VlIGluc3RhbGwgdGhlbiBhY3RpdmF0ZSBldmVudHMnKTsKLSAgICAgICAgICAg
ICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAg
ICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9Ci19KTsKK30sICdSZWdpc3RyYXRpb246IGV2
ZW50cycpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Ry
YXRpb24taWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24t
aWZyYW1lLmh0dHBzLmh0bWwKaW5kZXggOTE3NTY2NjZlOTBiN2Q2YjY4NjcyZDBiMDZmZmM5YjA2
ZmJjMGNhYS4uYWUzOWRkZmVhM2U1MTg2YmRlYTRjNmExYTVkOWYwYzdlNmNiYzIxMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLWlmcmFtZS5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1pZnJhbWUuaHR0cHMuaHRtbApAQCAt
MSwxMCArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiA8
dGl0bGU+U2VydmljZSBXb3JrZXI6IFJlZ2lzdHJhdGlvbiBmb3IgaWZyYW1lPC90aXRsZT4KLTxi
b2R5PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzxi
b2R5PgogPHNjcmlwdD4KIAogLy8gU2V0IHNjcmlwdCB1cmwgYW5kIHNjb3BlIHVybCByZWxhdGl2
ZSB0byB0aGUgaWZyYW1lJ3MgZG9jdW1lbnQncyB1cmwuIEFzc2VydApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IDUzN2EyZjdiZDYyMTI0Y2E0OTFiZWYxYTZmODZhZWI5Zjg4MjUxZmYuLmRi
NzJiYWZhZjdiOTRjZTBlMmI5Y2M3ZjBiMjc0ZWViYzcyZDgzODAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1taW1lLXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tbWltZS10eXBlcy5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsOCArMSw4IEBACiAKIFBBU1MgUmVnaXN0ZXJpbmcgc2NyaXB0IHdpdGgg
bm8gTUlNRSB0eXBlIAogUEFTUyBSZWdpc3RlcmluZyBzY3JpcHQgd2l0aCBiYWQgTUlNRSB0eXBl
IAotRkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgdGhhdCBpbXBvcnRzIHNjcmlwdCB3aXRoIG5vIE1J
TUUgdHlwZSBhc3NlcnRfdGhyb3dzOiBSZWdpc3RyYXRpb24gb2Ygbm8gTUlNRSB0eXBlIGltcG9y
dGVkIHNjcmlwdCBzaG91bGQgZmFpbC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9
IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogTmV0d29ya0Vycm9yOiBtaW1lIHR5cGUgaXMgbm90
IGEgc3VwcG9ydGVkIEphdmFTY3JpcHQgbWltZSB0eXBlIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2Vw
dGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVk
LCBleHBlY3RlZCAxOAotRkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgdGhhdCBpbXBvcnRzIHNjcmlw
dCB3aXRoIGJhZCBNSU1FIHR5cGUgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9mIHBsYWlu
IHRleHQgaW1wb3J0ZWQgc2NyaXB0IHNob3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkg
eyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBOZXR3b3JrRXJyb3I6IG1pbWUg
dHlwZSBpcyBub3QgYSBzdXBwb3J0ZWQgSmF2YVNjcmlwdCBtaW1lIHR5cGUiIHRoYXQgaXMgbm90
IGEgRE9NRXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0
byB1bmRlZmluZWQsIGV4cGVjdGVkIDE4CitQQVNTIFJlZ2lzdGVyaW5nIHNjcmlwdCB0aGF0IGlt
cG9ydHMgc2NyaXB0IHdpdGggbm8gTUlNRSB0eXBlIAorUEFTUyBSZWdpc3RlcmluZyBzY3JpcHQg
dGhhdCBpbXBvcnRzIHNjcmlwdCB3aXRoIGJhZCBNSU1FIHR5cGUgCiBQQVNTIFJlZ2lzdGVyaW5n
IHNjcmlwdCB3aXRoIGdvb2QgTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQgCiBQQVNT
IFJlZ2lzdGVyaW5nIHNjcmlwdCB0aGF0IGltcG9ydHMgc2NyaXB0IHdpdGggZ29vZCBNSU1FIHR5
cGUgYXBwbGljYXRpb24vZWNtYXNjcmlwdCAKIFBBU1MgUmVnaXN0ZXJpbmcgc2NyaXB0IHdpdGgg
Z29vZCBNSU1FIHR5cGUgYXBwbGljYXRpb24vamF2YXNjcmlwdCAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY29wZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NvcGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IGQ0YTVhYjFhODZiOWJjMzFlNmUxZDg3MzJiZjhkZWJkMWNjZDVmYTIuLmFkYzk1OWFiZTAxOGRh
YzNjNWI3ZDE0YjQxMGQyNDEyYmY5ZWE0YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3JlZ2lzdHJhdGlvbi1zY29wZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVnaXN0cmF0aW9uLXNjb3BlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNiw1ICs2LDUg
QEAgUEFTUyBTY29wZSBpbmNsdWRpbmcgbm9uLWVzY2FwZWQgbXVsdGlieXRlIGNoYXJhY3RlcnMK
IFBBU1MgU2NvcGUgaW5jbHVkaW5nIHNlbGYtcmVmZXJlbmNlIAogUEFTUyBTY29wZSBpbmNsdWRp
bmcgcGFyZW50LXJlZmVyZW5jZSAKIFBBU1MgU2NvcGUgaW5jbHVkaW5nIGNvbnNlY3V0aXZlIHNs
YXNoZXMgCi1GQUlMIFNjb3BlIFVSTCBpcyBzYW1lLW9yaWdpbiBmaWxlc3lzdGVtOiBVUkwgYXNz
ZXJ0X3Rocm93czogUmVnaXN0ZXJpbmcgd2l0aCB0aGUgc2NvcGUgdGhhdCBoYXMgc2FtZS1vcmln
aW4gZmlsZXN5c3RlbTogVVJMIHNob3VsZCBmYWlsIHdpdGggU2VjdXJpdHlFcnJvci4gZnVuY3Rp
b24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogU2Nv
cGUgVVJMIHByb3ZpZGVkIHRvIHNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoKSBtdXN0IGJlIGVpdGhl
ciBIVFRQIG9yIEhUVFBTIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9y
OiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxOAorUEFT
UyBTY29wZSBVUkwgaXMgc2FtZS1vcmlnaW4gZmlsZXN5c3RlbTogVVJMIAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0LXVybC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0LXVybC5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggZTc2YTYxNmViNGU4NmU1YjM3NjE4ZTVmNzUyOTk0Mzc4NzkxZDQy
My4uZTM2Nzc1NTQ4ZWM1N2QyMWNmOTQxMmViYmFlMDM1MjViOTg2OGYyOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC11cmwuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQtdXJsLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgUEFTUyBTY3JpcHQgVVJMIGluY2x1ZGluZyBV
UkwtZW5jb2RlZCBzbGFzaAogUEFTUyBTY3JpcHQgVVJMIGluY2x1ZGluZyB1cHBlcmNhc2UgVVJM
LWVuY29kZWQgc2xhc2ggCiBQQVNTIFNjcmlwdCBVUkwgaW5jbHVkaW5nIFVSTC1lbmNvZGVkIGJh
Y2tzbGFzaCAKIFBBU1MgU2NyaXB0IFVSTCBpbmNsdWRpbmcgdXBwZXJjYXNlIFVSTC1lbmNvZGVk
IGJhY2tzbGFzaCAKK1BBU1MgU2NyaXB0IFVSTCBpcyBhIGRhdGEgVVJMIAogUEFTUyBTY3JpcHQg
VVJMIGluY2x1ZGluZyBzZWxmLXJlZmVyZW5jZSAKIFBBU1MgU2NyaXB0IFVSTCBpbmNsdWRpbmcg
cGFyZW50LXJlZmVyZW5jZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0
cmF0aW9uLXNlY3VyaXR5LWVycm9yLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3JlZ2lzdHJhdGlvbi1zZWN1cml0eS1lcnJvci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
MGVlYmNiMmRiNDM2NDRiMjY2ZDJjNGNiNmZhMjZlMjZkYTNlZWQyMi4uMzhkMDY3OGZhZjMxNDFk
NGJjYWU1MWYzNWIzNmU1ZGI3NGZkYTkyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVnaXN0cmF0aW9uLXNlY3VyaXR5LWVycm9yLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2VjdXJpdHktZXJyb3IuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0zLDggKzMsOCBAQCBQQVNTIFJlZ2lzdGVyaW5nIHNhbWUgc2NvcGUgYXMgdGhlIHNj
cmlwdCBkaXJlY3Rvcnkgd2l0aG91dCB0aGUgbGFzdCBzbGFzaAogUEFTUyBSZWdpc3RyYXRpb24g
c2NvcGUgb3V0c2lkZSB0aGUgc2NyaXB0IGRpcmVjdG9yeSAKIFBBU1MgUmVnaXN0ZXJpbmcgc2Nv
cGUgb3V0c2lkZSBkb21haW4gCiBQQVNTIFJlZ2lzdGVyaW5nIHNjcmlwdCBvdXRzaWRlIGRvbWFp
biAKLUZBSUwgUmVnaXN0ZXJpbmcgcmVkaXJlY3RlZCBzY3JpcHQgYXNzZXJ0X3Rocm93czogUmVn
aXN0cmF0aW9uIG9mIHJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBTY3JpcHQgVVJM
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD0lMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNl
LXdvcmtlciUyRnJlc291cmNlcyUyRnJlZ2lzdHJhdGlvbi13b3JrZXIuanMgZmV0Y2ggcmVzdWx0
ZWQgaW4gZXJyb3I6IE5vdCBhbGxvd2VkIHRvIGZvbGxvdyBhIHJlZGlyZWN0aW9uIHdoaWxlIGxv
YWRpbmcgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGcmVnaXN0cmF0aW9uLXdvcmtlci5qcyIgdGhhdCBp
cyBub3QgYSBET01FeGNlcHRpb24gU2VjdXJpdHlFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVx
dWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTgKK0ZBSUwgUmVnaXN0ZXJpbmcgcmVkaXJlY3Rl
ZCBzY3JpcHQgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9mIHJlZGlyZWN0ZWQgc2NyaXB0
IHNob3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9i
amVjdCAiVHlwZUVycm9yOiBTY3JpcHQgVVJMIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD0l
MkZyZXNvdXJjZXMlMkZyZWdpc3RyYXRpb24td29ya2VyLmpzIGZldGNoIHJlc3VsdGVkIGluIGVy
cm9yOiBOb3QgYWxsb3dlZCB0byBmb2xsb3cgYSByZWRpcmVjdGlvbiB3aGlsZSBsb2FkaW5nIGh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD0lMkZyZXNvdXJjZXMlMkZyZWdpc3RyYXRpb24td29y
a2VyLmpzIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0
eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxOAogUEFTUyBTY29wZSBp
bmNsdWRpbmcgcGFyZW50LXJlZmVyZW5jZSBhbmQgbm90IHVuZGVyIHRoZSBzY3JpcHQgZGlyZWN0
b3J5IAogUEFTUyBTY3JpcHQgVVJMIGluY2x1ZGluZyBjb25zZWN1dGl2ZSBzbGFzaGVzIAotRkFJ
TCBTY3JpcHQgVVJMIGlzIHNhbWUtb3JpZ2luIGZpbGVzeXN0ZW06IFVSTCBhc3NlcnRfdGhyb3dz
OiBSZWdpc3RlcmluZyBhIHNjcmlwdCB3aGljaCBoYXMgc2FtZS1vcmlnaW4gZmlsZXN5c3RlbTog
VVJMIHNob3VsZCBmYWlsIHdpdGggU2VjdXJpdHlFcnJvci4gZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogc2VydmljZVdvcmtlci5yZWdp
c3RlcigpIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzY3JpcHQgVVJMIHdob3NlIHByb3RvY29sIGlz
IGVpdGhlciBIVFRQIG9yIEhUVFBTIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0
eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAx
OAorUEFTUyBTY3JpcHQgVVJMIGlzIHNhbWUtb3JpZ2luIGZpbGVzeXN0ZW06IFVSTCAKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNlcnZpY2Utd29ya2VyLWF0
dHJpYnV0ZXMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zZXJ2
aWNlLXdvcmtlci1hdHRyaWJ1dGVzLmh0dHBzLmh0bWwKaW5kZXggOGZkNTY2ZGFkYzYyYTc4ZWYw
ODM2YmJjNjMwMDA0NzNmODg0ZDdjNy4uZjdiNTJkNWRkY2VkMTg2MTNjYTIyNTM4NmJiNTdmMjhi
OWJhY2Q2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNlcnZp
Y2Utd29ya2VyLWF0dHJpYnV0ZXMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWdpc3RyYXRpb24tc2VydmljZS13b3JrZXItYXR0cmlidXRlcy5odHRwcy5odG1sCkBAIC0xNCw3
ICsxNCw3IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQogICAg
ICAgLnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgIHIudW5yZWdpc3RlcigpOworICAgICAgICAgICAgICByZXR1cm4g
ci51bnJlZ2lzdGVyKCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICByZWdpc3RyYXRpb24g
PSByOwogICAgICAgICAgIG5ld2VzdF93b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi11cGRhdGV2aWFjYWNo
ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tdXBk
YXRldmlhY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDgyMDFhMDE1MDVjYmIxYTNkYjMw
ZTRiNTc4MTAxMjUzMmUyOThhNGEuLmM5MGQwOTQyZDRkNDY2MjFlMWU1ZGJjYWE1MTEwZWM4MjAw
OWU2NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi11cGRhdGV2
aWFjYWNoZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0
cmF0aW9uLXVwZGF0ZXZpYWNhY2hlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTksNCArMTksOCBA
QCBQQVNTIHJlZ2lzdGVyLXdpdGgtdXBkYXRlVmlhQ2FjaGUtbm9uZS10aGVuLXVuZGVmaW5lZAog
UEFTUyByZWdpc3Rlci13aXRoLXVwZGF0ZVZpYUNhY2hlLW5vbmUtdGhlbi1pbXBvcnRzIAogUEFT
UyByZWdpc3Rlci13aXRoLXVwZGF0ZVZpYUNhY2hlLW5vbmUtdGhlbi1hbGwgCiBQQVNTIHJlZ2lz
dGVyLXdpdGgtdXBkYXRlVmlhQ2FjaGUtbm9uZS10aGVuLW5vbmUgCitQQVNTIGFjY2Vzcy11cGRh
dGVWaWFDYWNoZS1hZnRlci11bnJlZ2lzdGVyLXVuZGVmaW5lZCAKK1BBU1MgYWNjZXNzLXVwZGF0
ZVZpYUNhY2hlLWFmdGVyLXVucmVnaXN0ZXItaW1wb3J0cyAKK1BBU1MgYWNjZXNzLXVwZGF0ZVZp
YUNhY2hlLWFmdGVyLXVucmVnaXN0ZXItYWxsIAorUEFTUyBhY2Nlc3MtdXBkYXRlVmlhQ2FjaGUt
YWZ0ZXItdW5yZWdpc3Rlci1ub25lIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWdpc3RyYXRpb24tdXBkYXRldmlhY2FjaGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3JlZ2lzdHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCmluZGV4IGIxZmQ5MDI5OTRm
MTY0YjA4NzRjZjkxMWRhMWMzYmVmYzMzOGZkMWMuLmRiY2M2ZWFiMWY4MmE2YjMzZWQ3ZDg4OWNi
YTUxYmU1Yjk4NGI2MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlv
bi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lz
dHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCkBAIC0xLDUgKzEsNiBAQAogPCFET0NU
WVBFIGh0bWw+CiA8dGl0bGU+U2VydmljZSBXb3JrZXI6IFJlZ2lzdHJhdGlvbi11cGRhdGVWaWFD
YWNoZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvdGVzdGhhcm5lc3MtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CkBAIC0xMDAsMTMg
KzEwMSwxOCBAQAogICAgICAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCBzdywgJ2FjdGl2YXRl
ZCcpOwogICAgICAgICBjb25zdCB2YWx1ZXMgPSBhd2FpdCBnZXRTY3JpcHRUaW1lcyhzdywgdGVz
dE5hbWUpOwogCisgICAgICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoU0NPUEUp
OworICAgICAgICBjb25zdCByZWdfaW5fZnJhbWUgPSBhd2FpdCBmcmFtZS5jb250ZW50V2luZG93
Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihub3JtYWxpemVVUkwoU0NP
UEUpKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdfaW5fZnJhbWUudXBkYXRlVmlhQ2FjaGUs
IHVwZGF0ZVZpYUNhY2hlMSB8fCAnaW1wb3J0cycsICJyZWdfaW5fZnJhbWUudXBkYXRlVmlhQ2Fj
aGUiKTsKKwogICAgICAgICBvcHRzID0ge3Njb3BlOiBTQ09QRX07CiAgICAgICAgIGlmICh1cGRh
dGVWaWFDYWNoZTIpIG9wdHMudXBkYXRlVmlhQ2FjaGUgPSB1cGRhdGVWaWFDYWNoZTI7CiAKICAg
ICAgICAgYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoZnVsbFNjcmlwdFVy
bCwgb3B0cyk7CiAKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWcudXBkYXRlVmlhQ2FjaGUsIHVw
ZGF0ZVZpYUNhY2hlMiB8fCAnaW1wb3J0cycsICJyZWcudXBkYXRlVmlhQ2FjaGUgdXBkYXRlZCIp
OworICAgICAgICBjb25zdCBleHBlY3RlZF91cGRhdGVWaWFDYWNoZSA9IHVwZGF0ZVZpYUNhY2hl
MiB8fCAnaW1wb3J0cyc7CiAKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWcudXBkYXRlVmlhQ2Fj
aGUsIGV4cGVjdGVkX3VwZGF0ZVZpYUNhY2hlLCAicmVnLnVwZGF0ZVZpYUNhY2hlIHVwZGF0ZWQi
KTsKICAgICAgICAgLy8gSWYgdGhlIHVwZGF0ZSBoYXBwZW5zIHZpYSB0aGUgY2FjaGUsIHRoZSBz
Y3JpcHRzIHdpbGwgY29tZSBiYWNrIGJ5dGUtaWRlbnRpY2FsLgogICAgICAgICAvLyBXZSBieXBh
c3MgdGhlIGJ5dGUtaWRlbnRpY2FsIGNoZWNrIGlmIHRoZSBzY3JpcHQgVVJMIGhhcyBjaGFuZ2Vk
LCBidXQgbm90IGlmCiAgICAgICAgIC8vIG9ubHkgdGhlIHVwZGF0ZVZpYUNhY2hlIHZhbHVlIGhh
cyBjaGFuZ2VkLgpAQCAtMTM4LDkgKzE0NCw0NCBAQAogICAgICAgICAgIH0KICAgICAgICAgfQog
CisgICAgICAgIC8vIFdhaXQgZm9yIGFsbCByZWdpc3RyYXRpb24gcmVsYXRlZCB0YXNrcyBvbiB8
ZnJhbWV8IHRvIGNvbXBsZXRlLgorICAgICAgICBhd2FpdCB3YWl0X2Zvcl9hY3RpdmF0aW9uX29u
X2R1bW15X3Njb3BlKHQsIGZyYW1lLmNvbnRlbnRXaW5kb3cpOworICAgICAgICAvLyBUaGUgdXBk
YXRlVmlhQ2FjaGUgY2hhbmdlIHNob3VsZCBoYXZlIGJlZW4gcHJvcGFnYXRlZCB0byBhbGwKKyAg
ICAgICAgLy8gY29ycmVzcG9uZGluZyBKUyByZWdpc3RyYXRpb24gb2JqZWN0cy4KKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhyZWdfaW5fZnJhbWUudXBkYXRlVmlhQ2FjaGUsIGV4cGVjdGVkX3VwZGF0
ZVZpYUNhY2hlLCAicmVnX2luX2ZyYW1lLnVwZGF0ZVZpYUNhY2hlIHVwZGF0ZWQiKTsKKyAgICAg
ICAgZnJhbWUucmVtb3ZlKCk7CisKICAgICAgICAgYXdhaXQgY2xlYW51cCgpOwogICAgICAgfSwg
dGVzdE5hbWUpOwogICAgIH0KICAgfQogCisgIC8vIFRlc3QgYWNjZXNzaW5nIHVwZGF0ZVZpYUNh
Y2hlIG9mIGFuIHVucmVnaXN0ZXJlZCByZWdpc3RyYXRpb24uCisgIGZvciAoY29uc3QgdXBkYXRl
VmlhQ2FjaGUgb2YgVVBEQVRFX1ZJQV9DQUNIRV9WQUxVRVMpIHsKKyAgICBjb25zdCB0ZXN0TmFt
ZSA9IGBhY2Nlc3MtdXBkYXRlVmlhQ2FjaGUtYWZ0ZXItdW5yZWdpc3Rlci0ke3VwZGF0ZVZpYUNh
Y2hlfWA7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhd2FpdCBjbGVh
bnVwKCk7CisKKyAgICAgIGNvbnN0IG9wdHMgPSB7c2NvcGU6IFNDT1BFfTsKKworICAgICAgaWYg
KHVwZGF0ZVZpYUNhY2hlKSBvcHRzLnVwZGF0ZVZpYUNhY2hlID0gdXBkYXRlVmlhQ2FjaGU7CisK
KyAgICAgIGNvbnN0IHJlZyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KAorICAgICAgICBgJHtTQ1JJUFRfVVJMfT90ZXN0PSR7dGVzdE5hbWV9YCwKKyAgICAgICAgb3B0
cworICAgICAgKTsKKworICAgICAgY29uc3QgZXhwZWN0ZWRfdXBkYXRlVmlhQ2FjaGUgPSB1cGRh
dGVWaWFDYWNoZSB8fCAnaW1wb3J0cyc7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlZy51cGRhdGVW
aWFDYWNoZSwgZXhwZWN0ZWRfdXBkYXRlVmlhQ2FjaGUsICJyZWcudXBkYXRlVmlhQ2FjaGUiKTsK
KworICAgICAgYXdhaXQgcmVnLnVucmVnaXN0ZXIoKTsKKworICAgICAgLy8gS2VlcCB0aGUgb3Jp
Z2luYWwgdmFsdWUuCisgICAgICBhc3NlcnRfZXF1YWxzKHJlZy51cGRhdGVWaWFDYWNoZSwgZXhw
ZWN0ZWRfdXBkYXRlVmlhQ2FjaGUsICJyZWcudXBkYXRlVmlhQ2FjaGUiKTsKKworICAgICAgYXdh
aXQgY2xlYW51cCgpOworICAgIH0sIHRlc3ROYW1lKTsKKyAgfQorCiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlLXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLWNyb3Nz
LW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIxMmM1MGRhZWIzNDgwYzky
OGZmYTgxNjYwMzE2YmMyYjY5MGUwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlLXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCisKK0ZBSUwgVGVzdCB0aGF0IHRpbWluZyBhbGxvdyBjaGVjayBmYWlscyB3
aGVuIHNlcnZpY2Ugd29ya2VyIGNoYW5nZXMgb3JpZ2luIGZyb20gc2FtZSB0byBjcm9zcyBvcmln
aW4uIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxz
OiBkZWNvZGVkQm9keVNpemUgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuIGV4
cGVjdGVkIChudW1iZXIpIDAgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
LXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlLXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Mjc2ODhkZjAx
MWVhOWJlMjE2YTc0MTRiMTYxZGJiNzMwZjFiOTc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLWNyb3NzLW9yaWdpbi5odHRwcy5odG1sCkBAIC0w
LDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgUmVzb3VyY2UgVGltaW5n
IGZvciBjcm9zcyBvcmlnaW4gY29udGVudCBmZXRjaGVkIGJ5IFNlcnZpY2UgV29ya2VyIGZyb20g
YW4gb3JpZ2luYWxseSBzYW1lLW9yaWdpbiBVUkwuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVz
dC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPHNjcmlwdD4K
K2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGNvbnN0IHdvcmtlcl91cmwgPSAncmVzb3Vy
Y2VzL3dvcmtlci1mZXRjaGluZy1jcm9zcy1vcmlnaW4uanMnOworICAgIGNvbnN0IHNjb3BlID0g
J3Jlc291cmNlcy9pZnJhbWUtd2l0aC1pbWFnZS5odG1sJzsKKyAgICBsZXQgcmVnaXN0cmF0aW9u
OworICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91
cmwsIHNjb3BlKQorICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgcmVnaXN0cmF0aW9u
ID0gcjsKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ2Fj
dGl2YXRlZCcpOworICAgIH0pCisgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVy
biB3aXRoX2lmcmFtZShzY29wZSk7CisgICAgfSkKKyAgICAudGhlbihmdW5jdGlvbihmcmFtZSkg
eworICAgICAgICBjb25zdCBmcmFtZV9wZXJmb3JtYW5jZSA9IGZyYW1lLmNvbnRlbnRXaW5kb3cu
cGVyZm9ybWFuY2U7CisgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlcmUgaXMgb25lIGVudHJ5IGZv
ciB3aGljaCB0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSBmYWlsZWQuCisgICAgICAg
IGNvbnN0IGVudHJpZXMgPSBmcmFtZV9wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNv
dXJjZScpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAg
ICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5
LnJlZGlyZWN0U3RhcnQsIDAsICdyZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSAwIGluIGNyb3NzLW9y
aWdpbiByZXF1ZXN0LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5k
LCAwLCAncmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuJyk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwU3RhcnQsIDAsICdkb21h
aW5Mb29rdXBTdGFydCBzaG91bGQgYmUgMCBpbiBjcm9zcy1vcmlnaW4gcmVxdWVzdC4nKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5kb21haW5Mb29rdXBFbmQsIDAsICdkb21haW5Mb29r
dXBFbmQgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuJyk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cnkuY29ubmVjdFN0YXJ0LCAwLCAnY29ubmVjdFN0YXJ0IHNob3VsZCBi
ZSAwIGluIGNyb3NzLW9yaWdpbiByZXF1ZXN0LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5LmNvbm5lY3RFbmQsIDAsICdjb25uZWN0RW5kIHNob3VsZCBiZSAwIGluIGNyb3NzLW9yaWdp
biByZXF1ZXN0LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LnJlcXVlc3RTdGFydCwg
MCwgJ3JlcXVlc3RTdGFydCBzaG91bGQgYmUgMCBpbiBjcm9zcy1vcmlnaW4gcmVxdWVzdC4nKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5yZXNwb25zZVN0YXJ0LCAwLCAncmVzcG9uc2VT
dGFydCBzaG91bGQgYmUgMCBpbiBjcm9zcy1vcmlnaW4gcmVxdWVzdC4nKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyeS5zZWN1cmVDb25uZWN0aW9uU3RhcnQsIDAsICdzZWN1cmVDb25uZWN0
aW9uU3RhcnQgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuJyk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cnkuZGVjb2RlZEJvZHlTaXplLCAwLCAnZGVjb2RlZEJvZHlTaXpl
IHNob3VsZCBiZSAwIGluIGNyb3NzLW9yaWdpbiByZXF1ZXN0LicpOworICAgICAgICBmcmFtZS5y
ZW1vdmUoKTsKKyAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAg
ICB9KQorICAgIC50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0p
CisgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworfSwgJ1Rlc3QgdGhhdCB0aW1p
bmcgYWxsb3cgY2hlY2sgZmFpbHMgd2hlbiBzZXJ2aWNlIHdvcmtlciBjaGFuZ2VzIG9yaWdpbiBm
cm9tIHNhbWUgdG8gY3Jvc3Mgb3JpZ2luLicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCBlYmJjZWExODYzNjdiNDc0OWM4YzI0NWEzMWRhNGIyMWFjMjZkMDIwLi5m
OTY3NzAyZjYxZmQ4YTg5Y2E4ZmE4MjZlODhmYTNkOTE0Nzc4MjFjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw5IEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxv
Y2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3F1
YXJlLnBuZwogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21pc3Np
bmcuanBnCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cxLmxvY2Fs
aG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3F1YXJl
LnBuZwogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21pc3Npbmcu
anBnCiAKIAotRkFJTCBDb250cm9sbGVkIHJlc291cmNlIGxvYWRzIGFzc2VydF91bnJlYWNoZWQ6
IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZ3JlYXRlcl90aGFuOiBHZW5lcmF0ZWQgcmVz
cG9uc2UgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAwIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQorRkFJTCBDb250cm9sbGVkIHJlc291cmNlIGxvYWRzIGFzc2VydF9l
cXVhbHM6IEdlbmVyYXRlZCByZXNwb25zZSBleHBlY3RlZCAxIGJ1dCBnb3QgMgogUEFTUyBOb24t
Y29udHJvbGxlZCByZXNvdXJjZSBsb2FkcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2UtdGltaW5nLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZS10aW1pbmcuaHR0cHMuaHRtbAppbmRleCBkYTg5OGUyYmY2ZGMwMWE3Zjc1YzI4NDFmZDQzYjRi
OTFjZDcxZjk0Li4xMjNiYmM4N2M1N2U4NTdhNTE3YWI3OTI3MTdmMWNmNjViOWEzYTE2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbApAQCAtMTIsMzcg
KzEyLDQ1IEBAIGZ1bmN0aW9uIGNyb3NzT3JpZ2luVXJsKHBhdGgpIHsKICAgICByZXR1cm4gZ2V0
X2hvc3RfaW5mbygpWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKSArIHBhdGg7
CiB9CiAKLWZ1bmN0aW9uIHZlcmlmeShwZXJmb3JtYW5jZSwgcmVzb3VyY2UsIG1vZGUsIGRlc2Ny
aXB0aW9uKSB7Ci0gICAgdmFyIHVybCA9IG1vZGUgPT09ICdjcm9zcy1vcmlnaW4nID8gY3Jvc3NP
cmlnaW5VcmwocmVzb3VyY2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogcmVzb3VyY2VVcmwocmVzb3VyY2UpOwotICAgIHZhciBlbnRyeUxpc3QgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzKCk7Ci0gICAgdmFyIGVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZSh1cmwpWzBdOwotICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkud29ya2VyU3RhcnQs
IDAsIGRlc2NyaXB0aW9uKTsKLSAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5Lndv
cmtlclN0YXJ0LCBlbnRyeS5zdGFydFRpbWUsIGRlc2NyaXB0aW9uKTsKLSAgICBhc3NlcnRfbGVz
c190aGFuX2VxdWFsKGVudHJ5LndvcmtlclN0YXJ0LCBlbnRyeS5mZXRjaFN0YXJ0LCBkZXNjcmlw
dGlvbik7Ci0gICAgaWYgKG1vZGUgPT09ICdjcm9zcy1vcmlnaW4nKSB7Ci0gICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJ5LnJlc3BvbnNlU3RhcnQsIDAsIGRlc2NyaXB0aW9uKTsKLSAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LmZldGNoU3RhcnQs
IGRlc2NyaXB0aW9uKTsKK2Z1bmN0aW9uIHZlcmlmeShvcHRpb25zKSB7CisgICAgY29uc3QgdXJs
ID0gb3B0aW9ucy5tb2RlID09PSAnY3Jvc3Mtb3JpZ2luJyA/IGNyb3NzT3JpZ2luVXJsKG9wdGlv
bnMucmVzb3VyY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVz
b3VyY2VVcmwob3B0aW9ucy5yZXNvdXJjZSk7CisgICAgY29uc3QgZW50cnlMaXN0ID0gb3B0aW9u
cy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgICAgaWYgKG9wdGlvbnMuc2hv
dWxkX25vX3BlcmZvcm1hbmNlX2VudHJ5KSB7CisgICAgICAgIC8vIFRoZSBwZXJmb3JtYW5jZSB0
aW1lbGluZSBtYXkgbm90IGhhdmUgYW4gZW50cnkgZm9yIGEgcmVzb3VyY2UKKyAgICAgICAgLy8g
d2hpY2ggZmFpbGVkIHRvIGxvYWQuCisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlMaXN0Lmxl
bmd0aCwgMCwgb3B0aW9ucy5kZXNjcmlwdGlvbik7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyeUxpc3QubGVuZ3RoLCAxLCBvcHRpb25zLmRlc2NyaXB0aW9u
KTsKKyAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdFswXTsKKyAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5LmVudHJ5VHlwZSwgJ3Jlc291cmNlJywgb3B0aW9ucy5kZXNjcmlwdGlvbik7CisgICAgYXNz
ZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS53b3JrZXJTdGFydCwgMCwgb3B0aW9ucy5kZXNjcmlwdGlv
bik7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS53b3JrZXJTdGFydCwgZW50
cnkuc3RhcnRUaW1lLCBvcHRpb25zLmRlc2NyaXB0aW9uKTsKKyAgICBhc3NlcnRfbGVzc190aGFu
X2VxdWFsKGVudHJ5LndvcmtlclN0YXJ0LCBlbnRyeS5mZXRjaFN0YXJ0LCBvcHRpb25zLmRlc2Ny
aXB0aW9uKTsKKyAgICBpZiAob3B0aW9ucy5tb2RlID09PSAnY3Jvc3Mtb3JpZ2luJykgeworICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5yZXNwb25zZVN0YXJ0LCAwLCBvcHRpb25zLmRlc2NyaXB0
aW9uKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VFbmQs
IGVudHJ5LmZldGNoU3RhcnQsIG9wdGlvbnMuZGVzY3JpcHRpb24pOwogICAgIH0gZWxzZSB7Ci0g
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlU3RhcnQsIGVudHJ5
LmZldGNoU3RhcnQsIGRlc2NyaXB0aW9uKTsKLSAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1
YWwoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsIGRlc2NyaXB0aW9uKTsK
KyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VTdGFydCwgZW50
cnkuZmV0Y2hTdGFydCwgb3B0aW9ucy5kZXNjcmlwdGlvbik7CisgICAgICBhc3NlcnRfZ3JlYXRl
cl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlRW5kLCBlbnRyeS5yZXNwb25zZVN0YXJ0LCBvcHRp
b25zLmRlc2NyaXB0aW9uKTsKICAgICB9Ci0gICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5y
ZXNwb25zZUVuZCwgZW50cnkuZmV0Y2hTdGFydCwgZGVzY3JpcHRpb24pOwotICAgIGFzc2VydF9n
cmVhdGVyX3RoYW4oZW50cnkuZHVyYXRpb24sIDAsIGRlc2NyaXB0aW9uKTsKLSAgICBpZiAocmVz
b3VyY2UuaW5kZXhPZigncmVkaXJlY3QucHknKSAhPSAtMSkgeworICAgIGFzc2VydF9ncmVhdGVy
X3RoYW4oZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LmZldGNoU3RhcnQsIG9wdGlvbnMuZGVzY3Jp
cHRpb24pOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuZHVyYXRpb24sIDAsIG9wdGlv
bnMuZGVzY3JpcHRpb24pOworICAgIGlmIChvcHRpb25zLnJlc291cmNlLmluZGV4T2YoJ3JlZGly
ZWN0LnB5JykgIT0gLTEpIHsKICAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbChlbnRyeS53
b3JrZXJTdGFydCwgZW50cnkucmVkaXJlY3RTdGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkZXNjcmlwdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0
aW9ucy5kZXNjcmlwdGlvbik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCBkZXNjcmlwdGlvbik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cnkucmVkaXJlY3RTdGFydCwgMCwgb3B0aW9ucy5kZXNjcmlwdGlvbik7CiAgICAgfQog
fQogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgd29ya2VyX3VybCA9ICdyZXNv
dXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5qcyc7Ci0gICAgdmFyIHNjb3BlID0gJ3Jlc291
cmNlcy9yZXNvdXJjZS10aW1pbmctaWZyYW1lLnN1Yi5odG1sJzsKLSAgICB2YXIgcmVnaXN0cmF0
aW9uOworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBjb25zdCB3b3JrZXJfdXJsID0g
J3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctd29ya2VyLmpzJzsKKyAgICBjb25zdCBzY29wZSA9
ICdyZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWlmcmFtZS5zdWIuaHRtbCc7CisgICAgbGV0IHJl
Z2lzdHJhdGlvbjsKIAotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVy
KHQsIHdvcmtlcl91cmwsIHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXJfdXJsLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0
aW9uKHIpIHsKICAgICAgICAgICByZWdpc3RyYXRpb24gPSByOwogICAgICAgICAgIHJldHVybiB3
YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKQEAgLTUxLDMzICs1
OSw4NSBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICByZXR1cm4gd2l0aF9p
ZnJhbWUoc2NvcGUpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsK
LSAgICAgICAgICB2YXIgcGVyZm9ybWFuY2UgPSBmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1h
bmNlOwotICAgICAgICAgIHZlcmlmeShwZXJmb3JtYW5jZSwgJ3Jlc291cmNlcy9kdW1teS5qcycs
ICdzYW1lLW9yaWdpbicsCi0gICAgICAgICAgICAgICAgICdHZW5lcmF0ZWQgcmVzcG9uc2UnKTsK
LSAgICAgICAgICB2ZXJpZnkocGVyZm9ybWFuY2UsICdyZXNvdXJjZXMvZW1wdHkuanMnLCAnc2Ft
ZS1vcmlnaW4nLAotICAgICAgICAgICAgICAgICAnTmV0d29yayBmYWxsYmFjaycpOwotICAgICAg
ICAgIHZlcmlmeShwZXJmb3JtYW5jZSwgJ3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD1l
bXB0eS5qcycsCi0gICAgICAgICAgICAgICAgICdzYW1lLW9yaWdpbicsICdSZWRpcmVjdCcpOwot
ICAgICAgICAgIHZlcmlmeShwZXJmb3JtYW5jZSwgJ3Jlc291cmNlcy9taXNzaW5nLmpwZycsICdz
YW1lLW9yaWdpbicsCi0gICAgICAgICAgICAgICAgICdOZXR3b3JrIGZhbGxiYWNrIGltYWdlJyk7
Ci0KKyAgICAgICAgICBjb25zdCBwZXJmb3JtYW5jZSA9IGZyYW1lLmNvbnRlbnRXaW5kb3cucGVy
Zm9ybWFuY2U7CisgICAgICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVyZm9ybWFuY2U6
IHBlcmZvcm1hbmNlLAorICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNlcy9kdW1teS5q
cycsCisgICAgICAgICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsCisgICAgICAgICAgICAgIGRl
c2NyaXB0aW9uOiAnR2VuZXJhdGVkIHJlc3BvbnNlJywKKyAgICAgICAgICB9KTsKKyAgICAgICAg
ICB2ZXJpZnkoeworICAgICAgICAgICAgICBwZXJmb3JtYW5jZTogcGVyZm9ybWFuY2UsCisgICAg
ICAgICAgICAgIHJlc291cmNlOiAncmVzb3VyY2VzL2VtcHR5LmpzJywKKyAgICAgICAgICAgICAg
bW9kZTogJ3NhbWUtb3JpZ2luJywKKyAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXR3b3Jr
IGZhbGxiYWNrJywKKyAgICAgICAgICB9KTsKKyAgICAgICAgICB2ZXJpZnkoeworICAgICAgICAg
ICAgICBwZXJmb3JtYW5jZTogcGVyZm9ybWFuY2UsCisgICAgICAgICAgICAgIHJlc291cmNlOiAn
cmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PWVtcHR5LmpzJywKKyAgICAgICAgICAgICAg
bW9kZTogJ3NhbWUtb3JpZ2luJywKKyAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdSZWRpcmVj
dCcsCisgICAgICAgICAgfSk7CisgICAgICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVy
Zm9ybWFuY2U6IHBlcmZvcm1hbmNlLAorICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNl
cy9zcXVhcmUucG5nJywKKyAgICAgICAgICAgICAgbW9kZTogJ3NhbWUtb3JpZ2luJywKKyAgICAg
ICAgICAgICAgZGVzY3JpcHRpb246ICdOZXR3b3JrIGZhbGxiYWNrIGltYWdlJywKKyAgICAgICAg
ICB9KTsKICAgICAgICAgICAvLyBUZXN0IHRoYXQgd29ya2VyIHN0YXJ0IGlzIGF2YWlsYWJsZSBv
biBjcm9zcy1vcmlnaW4gbm8tY29ycwogICAgICAgICAgIC8vIHN1YnJlc291cmNlcy4KLSAgICAg
ICAgICB2ZXJpZnkocGVyZm9ybWFuY2UsICdyZXNvdXJjZXMvbWlzc2luZy5qcGcnLCAnY3Jvc3Mt
b3JpZ2luJywKLSAgICAgICAgICAgICAgICAgJ05ldHdvcmsgZmFsbGJhY2sgY3Jvc3Mtb3JpZ2lu
IGltYWdlJyk7CisgICAgICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVyZm9ybWFuY2U6
IHBlcmZvcm1hbmNlLAorICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNlcy9zcXVhcmUu
cG5nJywKKyAgICAgICAgICAgICAgbW9kZTogJ2Nyb3NzLW9yaWdpbicsCisgICAgICAgICAgICAg
IGRlc2NyaXB0aW9uOiAnTmV0d29yayBmYWxsYmFjayBjcm9zcy1vcmlnaW4gaW1hZ2UnLAorICAg
ICAgICAgIH0pOworCisgICAgICAgICAgLy8gVGVzdHMgZm9yIHJlc291Y2VzIHdoaWNoIGZhaWxl
ZCB0byBsb2FkLgorICAgICAgICAgIHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNl
OiBwZXJmb3JtYW5jZSwKKyAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvbWlzc2lu
Zy5qcGcnLAorICAgICAgICAgICAgICBtb2RlOiAnc2FtZS1vcmlnaW4nLAorICAgICAgICAgICAg
ICBkZXNjcmlwdGlvbjogJ05ldHdvcmsgZmFsbGJhY2sgbG9hZCBmYWlsdXJlJywKKyAgICAgICAg
ICAgICAgc2hvdWxkX25vX3BlcmZvcm1hbmNlX2VudHJ5OiB0cnVlLAorICAgICAgICAgIH0pOwor
ICAgICAgICAgIHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJmb3JtYW5j
ZSwKKyAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvbWlzc2luZy5qcGcnLAorICAg
ICAgICAgICAgICBtb2RlOiAnY3Jvc3Mtb3JpZ2luJywKKyAgICAgICAgICAgICAgZGVzY3JpcHRp
b246ICdOZXR3b3JrIGZhbGxiYWNrIGNyb3NzLW9yaWdpbiBsb2FkIGZhaWx1cmUnLAorICAgICAg
ICAgICAgICBzaG91bGRfbm9fcGVyZm9ybWFuY2VfZW50cnk6IHRydWUsCisgICAgICAgICAgfSk7
CisgICAgICAgICAgLy8gVGVzdHMgZm9yIHJlc3BvbmRXaXRoKGZldGNoKCkpLgorICAgICAgICAg
IHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJmb3JtYW5jZSwKKyAgICAg
ICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvbWlzc2luZy5qcGc/U1dSZXNwb25kc1dpdGhG
ZXRjaCcsCisgICAgICAgICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsCisgICAgICAgICAgICAg
IGRlc2NyaXB0aW9uOiAnUmVzb3VyY2UgaW4gaWZyYW1lLCBub25leGlzdGVudCBidXQgcmVzcG9u
ZGVkIHdpdGggZmV0Y2ggdG8gYW5vdGhlci4nLAorICAgICAgICAgIH0pOworICAgICAgICAgIHZl
cmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJmb3JtYW5jZSwKKyAgICAgICAg
ICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvZHVtbXkudHh0P1NXRmV0Y2hlZCcsCisgICAgICAg
ICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsCisgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAn
UmVzb3VyY2UgZmV0Y2hlZCBhcyByZXNwb25zZSBmcm9tIG1pc3NpbmcuanBnP1NXUmVzcG9uZHNX
aXRoRmV0Y2guJywKKyAgICAgICAgICAgICAgc2hvdWxkX25vX3BlcmZvcm1hbmNlX2VudHJ5OiB0
cnVlLAorICAgICAgICAgIH0pOworICAgICAgICAgIC8vIFRlc3QgZm9yIGEgbm9ybWFsIHJlc291
cmNlIHRoYXQgaXMgdW5hZmZlY3RlZCBieSB0aGUgU2VydmljZSBXb3JrZXIuCisgICAgICAgICAg
dmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVyZm9ybWFuY2U6IHBlcmZvcm1hbmNlLAorICAgICAg
ICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnLAorICAgICAgICAg
ICAgICBtb2RlOiAnc2FtZS1vcmlnaW4nLAorICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1Jl
c291cmNlIHVudG91Y2hlZCBieSB0aGUgU2VydmljZSBXb3JrZXIuJywKKyAgICAgICAgICB9KTsK
IAogICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgIHJldHVybiByZWdpc3RyYXRp
b24udW5yZWdpc3RlcigpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3Jl
amVjdGlvbih0KSk7CisgICAgICB9KTsKIH0sICdDb250cm9sbGVkIHJlc291cmNlIGxvYWRzJyk7
CiAKLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHVybCA9IHJlc291cmNlVXJsKCdyZXNvdXJj
ZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcycpOwotICAgIHZhciBlbnRyeSA9IHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKHVybClbMF07Cit0ZXN0KCgpID0+IHsKKyAgICBjb25zdCB1
cmwgPSByZXNvdXJjZVVybCgncmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMnKTsKKyAgICBj
b25zdCBlbnRyeSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHVybClbMF07
CiAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS53b3JrZXJTdGFydCwgMCwgJ05vbi1jb250cm9sbGVk
Jyk7CiB9LCAnTm9uLWNvbnRyb2xsZWQgcmVzb3VyY2UgbG9hZHMnKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LWJsYW5r
LWR5bmFtaWMtbmVzdGVkLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
YWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmstZHluYW1pYy1uZXN0ZWQtZnJhbWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xZTBjNjIwOWJmYzBiZGY2NDkzMTYzOTVjODU1MjkxMmFlZWIxNDNjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJl
cGxhY2VtZW50LWJsYW5rLWR5bmFtaWMtbmVzdGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwyMSBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG5l
c3RlZExvYWRlZCgpIHsKKyAgcGFyZW50LnBvc3RNZXNzYWdlKHsgdHlwZTogJ05FU1RFRF9MT0FE
RUQnIH0sICcqJyk7Cit9CisKKy8vIGR5bmFtaWNhbGx5IGFkZCBhbiBhYm91dDpibGFuayBpZnJh
bWUKK3ZhciBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CitmLm9ubG9hZCA9
IG5lc3RlZExvYWRlZDsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZik7CisKKy8vIEhlbHBl
ciByb3V0aW5lIHRvIG1ha2UgaXQgc2xpZ2h0bHkgZWFzaWVyIGZvciBvdXIgcGFyZW50IHRvIGZp
bmQKKy8vIHRoZSBuZXN0ZWQgZnJhbWUuCitmdW5jdGlvbiBuZXN0ZWQoKSB7CisgIHJldHVybiBm
LmNvbnRlbnRXaW5kb3c7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFuay1yZXBsYWNlbWVudC1i
bGFuay1uZXN0ZWQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91
dC1ibGFuay1yZXBsYWNlbWVudC1ibGFuay1uZXN0ZWQtZnJhbWUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
OWQwN2E0OGNkYTVlYTgyYWJiZTJiZTc3N2FlZGZjYjRkMWRkYmRlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LWJs
YW5rLW5lc3RlZC1mcmFtZS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBuZXN0ZWRMb2FkZWQoKSB7CisgIHBh
cmVudC5wb3N0TWVzc2FnZSh7IHR5cGU6ICdORVNURURfTE9BREVEJyB9LCAnKicpOworfQorPC9z
Y3JpcHQ+Cis8aWZyYW1lIGlkPSJuZXN0ZWQiIG9ubG9hZD0ibmVzdGVkTG9hZGVkKCkiPjwvaWZy
YW1lPgorPHNjcmlwdD4KKy8vIEhlbHBlciByb3V0aW5lIHRvIG1ha2UgaXQgc2xpZ2h0bHkgZWFz
aWVyIGZvciBvdXIgcGFyZW50IHRvIGZpbmQKKy8vIHRoZSBuZXN0ZWQgZnJhbWUuCitmdW5jdGlv
biBuZXN0ZWQoKSB7CisgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmVzdGVkJyku
Y29udGVudFdpbmRvdzsKK30KKworLy8gTk9URTogTWFrZSBzdXJlIG5vdCB0byB0b3VjaCB0aGUg
aWZyYW1lIGRpcmVjdGx5IGhlcmUuICBXZSB3YW50IHRvCisvLyAgICAgICB0ZXN0IHRoZSBjYXNl
IHdoZXJlIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50IGlzIG5vdAorLy8gICAgICAg
ZGlyZWN0bHkgYWNjZXNzZWQgYmVmb3JlIGxvYWQuCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFuay1y
ZXBsYWNlbWVudC1waW5nLWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fi
b3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHkKaW5kZXggNThmYjQ0MDNmOWM2NTk3
ZDI3MDdiMWUzMjQxMTU1ZmVjMDcxODlhOC4uYmIwN2MyNDFhZDQ5YTc1MzViYTYyZWU4NjY0YTc1
YzhjNTljZDY0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0
LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHkKQEAgLTQxLDYg
KzQxLDcgQEAgaWYgKHdpbi5sb2NhdGlvbi5ocmVmICE9PSAnYWJvdXQ6YmxhbmsnKSB7CiAgICAg
ICB9KTsKICAgICB9CiAgIH0pOworICB3aW4ubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuc3RhcnRN
ZXNzYWdlcygpOwogfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtcG9wdXAtZnJhbWUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtcG9w
dXAtZnJhbWUucHkKaW5kZXggYmU1Mjk0NTM5ODMzYzc2ZmQwZmY4MzNjNjc3NzJhZDk0NWFmZTM3
NC4uZjBiOGNkNTc4ZTNlMDVlMzBlNzJjZGZjMzQzZWQ4OWY2MDY3MGE3YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBvcHVw
LWZyYW1lLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFuay1y
ZXBsYWNlbWVudC1wb3B1cC1mcmFtZS5weQpAQCAtMTIsMTIgKzEyLDE1IEBAIGRlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKIDxzY3JpcHQ+CiBmdW5jdGlvbiBuZXN0ZWRMb2FkZWQoKSB7CiAg
IHBhcmVudC5wb3N0TWVzc2FnZSh7IHR5cGU6ICdORVNURURfTE9BREVEJyB9LCAnKicpOwotICBw
b3B1cC5jbG9zZSgpOwogfQogCiBsZXQgcG9wdXAgPSB3aW5kb3cub3BlbignP25lc3RlZD10cnVl
Jyk7CiBwb3B1cC5vbmxvYWQgPSBuZXN0ZWRMb2FkZWQ7CiAKK2FkZEV2ZW50TGlzdGVuZXIoJ3Vu
bG9hZCcsIGV2dCA9PiB7CisgIHBvcHVwLmNsb3NlKCk7Cit9LCB7IG9uY2U6IHRydWUgfSk7CisK
IC8vIEhlbHBlciByb3V0aW5lIHRvIG1ha2UgaXQgc2xpZ2h0bHkgZWFzaWVyIGZvciBvdXIgcGFy
ZW50IHRvIGZpbmQKIC8vIHRoZSBuZXN0ZWQgcG9wdXAgd2luZG93LgogZnVuY3Rpb24gbmVzdGVk
KCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5r
LXJlcGxhY2VtZW50LXNyY2RvYy1uZXN0ZWQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9hYm91dC1ibGFuay1yZXBsYWNlbWVudC1zcmNkb2MtbmVzdGVkLWZyYW1lLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDEyMmEwMGFhNDMyZjk4NzZhYTM0NzZiMDY1MDkzOTE4MzY1NDM4Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFu
ay1yZXBsYWNlbWVudC1zcmNkb2MtbmVzdGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwyMiBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9uIG5lc3Rl
ZExvYWRlZCgpIHsKKyAgcGFyZW50LnBvc3RNZXNzYWdlKHsgdHlwZTogJ05FU1RFRF9MT0FERUQn
IH0sICcqJyk7Cit9Cis8L3NjcmlwdD4KKzxpZnJhbWUgaWQ9Im5lc3RlZCIgc3JjZG9jPSI8ZGl2
PjwvZGl2PiIgb25sb2FkPSJuZXN0ZWRMb2FkZWQoKSI+PC9pZnJhbWU+Cis8c2NyaXB0PgorLy8g
SGVscGVyIHJvdXRpbmUgdG8gbWFrZSBpdCBzbGlnaHRseSBlYXNpZXIgZm9yIG91ciBwYXJlbnQg
dG8gZmluZAorLy8gdGhlIG5lc3RlZCBmcmFtZS4KK2Z1bmN0aW9uIG5lc3RlZCgpIHsKKyAgcmV0
dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXN0ZWQnKS5jb250ZW50V2luZG93OworfQor
CisvLyBOT1RFOiBNYWtlIHN1cmUgbm90IHRvIHRvdWNoIHRoZSBpZnJhbWUgZGlyZWN0bHkgaGVy
ZS4gIFdlIHdhbnQgdG8KKy8vICAgICAgIHRlc3QgdGhlIGNhc2Ugd2hlcmUgdGhlIGluaXRpYWwg
YWJvdXQ6YmxhbmsgZG9jdW1lbnQgaXMgbm90CisvLyAgICAgICBkaXJlY3RseSBhY2Nlc3NlZCBi
ZWZvcmUgbG9hZC4KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLW5lc3RlZC13b3JrZXItZmV0Y2gtaWZyYW1l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xhaW0tbmVzdGVkLXdvcmtlci1m
ZXRjaC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmExNWRiNjFkOWNlNjc0MmYwNzdlNzJiOTg2
MjlmNDllMGI3MzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2NsYWltLW5lc3RlZC13b3JrZXItZmV0Y2gtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxNiBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0PgorLy8gQW4gaWZyYW1lIHRoYXQgc3RhcnRzIGEg
bmVzdGVkIHdvcmtlci4gT3VyIHBhcmVudCBmcmFtZSAodGhlIHRlc3QgcGFnZSkgY2FsbHMKKy8v
IGZldGNoX2luX3dvcmtlcigpIHRvIGFzayB0aGUgbmVzdGVkIHdvcmtlciB0byBwZXJmb3JtIGEg
ZmV0Y2ggdG8gc2VlIHdoZXRoZXIKKy8vIGl0J3MgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29y
a2VyLgordmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJy4vY2xhaW0tbmVzdGVkLXdvcmtlci1mZXRj
aC1wYXJlbnQtd29ya2VyLmpzJyk7CisKK2Z1bmN0aW9uIGZldGNoX2luX3dvcmtlcih1cmwpIHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgd29ya2VyLm9ubWVzc2Fn
ZSA9IChldmVudCkgPT4geworICAgICAgcmVzb2x2ZShldmVudC5kYXRhKTsKKyAgICB9OworICAg
IHdvcmtlci5wb3N0TWVzc2FnZSh1cmwpOworICB9KTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLW5lc3RlZC13b3JrZXItZmV0Y2gt
cGFyZW50LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS1uZXN0
ZWQtd29ya2VyLWZldGNoLXBhcmVudC13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVmZjdjMjM0YjQy
YzYwMjIwZjdmOTRjMDYwZGU2MzRjMTU0ZTQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS1uZXN0ZWQtd29ya2VyLWZldGNoLXBhcmVudC13b3Jr
ZXIuanMKQEAgLTAsMCArMSwxMiBAQAordHJ5IHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIo
Jy4vY2xhaW0td29ya2VyLWZldGNoLXdvcmtlci5qcycpOworCisgIHNlbGYub25tZXNzYWdlID0g
KGV2ZW50KSA9PiB7CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICB9Cisg
IHdvcmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNzYWdlKGV2
ZW50LmRhdGEpOworICB9OworfSBjYXRjaCAoZSkgeworICBzZWxmLnBvc3RNZXNzYWdlKCJGYWls
OiAiICsgZS5kYXRhKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9jbGFzc2ljLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFzc2lj
LXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmEzMmIxYTFmODRkYWFhYzI1MDMyMjYxYzgwZDE3M2Nl
N2JhODk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Ns
YXNzaWMtd29ya2VyLmpzCkBAIC0wLDAgKzEgQEAKK2ltcG9ydFNjcmlwdHMoJy4vaW1wb3J0ZWQt
Y2xhc3NpYy1zY3JpcHQuanMnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9jbGllbnQtbmF2aWdhdGUtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKaW5kZXggMDlkMTFmZTYxODFkMzNmNDNjNTVi
MGRhNDE4NjI3MTQyYjRjNjQ2Zi4uYWZmMmIzN2FlMDJhMGIzZTNmZjc0ZGI1NGVjNDc0NWJlYzQy
N2ZiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudC1uYXZp
Z2F0ZS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudC1u
YXZpZ2F0ZS13b3JrZXIuanMKQEAgLTUsMTEgKzUsNiBAQCBpbXBvcnRTY3JpcHRzKCJ0ZXN0aGFy
bmVzcy1oZWxwZXJzLmpzIikKIAogc2VsZi5vbmZldGNoID0gZnVuY3Rpb24oZSkgewogICBpZiAo
ZS5yZXF1ZXN0LnVybC5pbmRleE9mKCJjbGllbnQtbmF2aWdhdGUtZnJhbWUuaHRtbCIpID49IDAp
IHsKLSAgICBpZiAoZS5jbGllbnRJZCA9PT0gbnVsbCkgewotICAgICAgZS5yZXNwb25kV2l0aChm
ZXRjaChlLnJlcXVlc3QpKTsKLSAgICB9IGVsc2UgewotICAgICAgZS5yZXNwb25kV2l0aChSZXNw
b25zZS5lcnJvcigpKTsKLSAgICB9CiAgICAgcmV0dXJuOwogICB9CiAgIGUucmVzcG9uZFdpdGgo
bmV3IFJlc3BvbnNlKGUuY2xpZW50SWQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9jbGllbnRzLWdldC1jcm9zcy1vcmlnaW4tZnJhbWUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1jcm9zcy1vcmlnaW4tZnJhbWUuaHRtbApp
bmRleCBlYWFkZTMyN2JjNTlkOGYyZTM4YzU2NzY2YzM5OTczZjFlYzQxNDI2Li5lMTZiYjExMTZk
YzgxMGQyNzUwNzNlMzYzZmEwZDdiNGZmYTQ2NjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtY3Jvc3Mtb3JpZ2luLWZyYW1lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LWNyb3NzLW9yaWdpbi1mcmFt
ZS5odG1sCkBAIC0zOCwxNiArMzgsMTMgQEAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3Nh
Z2UnLCBmdW5jdGlvbihlKSB7CiAgICAgICB9KQogICAgIC50aGVuKGZ1bmN0aW9uKGlmcmFtZSkg
ewogICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsgaWZyYW1lLnJl
bW92ZSgpOyB9KTsKLSAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsK
LSAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgICAgICAg
IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsKICAgICAg
ICAgICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAgICAgICAgIHdpbmRvdy5wYXJlbnQu
cG9zdE1lc3NhZ2UoCiAgICAgICAgICAgICB7IHR5cGU6ICdjbGllbnRJZCcsIHZhbHVlOiBlLmRh
dGEgfSwgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXQogICAgICAgICAgICk7CiAgICAgICAgIH07
Ci0gICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNv
bnRyb2xsZXIucG9zdE1lc3NhZ2UoCi0gICAgICAgICAgICB7cG9ydDpjaGFubmVsLnBvcnQyLCBj
bGllbnRJZHM6IGNyb3NzX29yaWdpbl9jbGllbnRfaWRzfSwKLSAgICAgICAgICAgIFtjaGFubmVs
LnBvcnQyXSk7CisgICAgICAgIHJlZ2lzdHJhdGlvbi5hY3RpdmUucG9zdE1lc3NhZ2Uoe2NsaWVu
dElkczogY3Jvc3Nfb3JpZ2luX2NsaWVudF9pZHN9KTsKICAgICAgIH0pOwogfSk7CiA8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1y
ZXN1bHRpbmdDbGllbnRJZC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
Y2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhNDZm
ZjljZjQ0MDEwYzVmOTM3NWJiYjdiMjg0OTMyYmQyMWNjYTcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQt
d29ya2VyLmpzCkBAIC0wLDAgKzEsNjAgQEAKK2xldCBzYXZlZFBvcnQgPSBudWxsOworbGV0IHNh
dmVkUmVzdWx0aW5nQ2xpZW50SWQgPSBudWxsOworCithc3luYyBmdW5jdGlvbiBnZXRUZXN0aW5n
UGFnZSgpIHsKKyAgY29uc3QgY2xpZW50TGlzdCA9IGF3YWl0IHNlbGYuY2xpZW50cy5tYXRjaEFs
bCh7IHR5cGU6ICd3aW5kb3cnLCBpbmNsdWRlVW5jb250cm9sbGVkOiB0cnVlIH0pOworICBmb3Ig
KGxldCBjIG9mIGNsaWVudExpc3QpIHsKKyAgICBpZiAoYy51cmwuZW5kc1dpdGgoJ2NsaWVudHMt
Z2V0Lmh0dHBzLmh0bWwnKSkgeworICAgICAgYy5mb2N1cygpOworICAgICAgcmV0dXJuIGM7Cisg
ICAgfQorICB9CisgIHJldHVybiBudWxsOworfQorCithc3luYyBmdW5jdGlvbiBkZXN0cm95UmVz
dWx0aW5nQ2xpZW50KHRlc3RpbmdQYWdlKSB7CisgIGNvbnN0IGRlc3Ryb3llZFByb21pc2UgPSBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3Nh
Z2UnLCBlID0+IHsKKyAgICAgIGlmIChlLmRhdGEubXNnID09ICdyZXN1bHRpbmdDbGllbnREZXN0
cm95ZWQnKSB7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0KKyAgICB9LCB7b25jZTogdHJ1
ZX0pOworICB9KTsKKyAgdGVzdGluZ1BhZ2UucG9zdE1lc3NhZ2UoeyBtc2c6ICdkZXN0cm95UmVz
dWx0aW5nQ2xpZW50JyB9KTsKKyAgcmV0dXJuIGRlc3Ryb3llZFByb21pc2U7Cit9CisKK3NlbGYu
YWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBhc3luYyAoZSkgPT4geworICBsZXQgeyByZXN1bHRp
bmdDbGllbnRJZCB9ID0gZTsKKyAgc2F2ZWRSZXN1bHRpbmdDbGllbnRJZCA9IHJlc3VsdGluZ0Ns
aWVudElkOworCisgIGlmIChlLnJlcXVlc3QudXJsLmVuZHNXaXRoKCdzaW1wbGUuaHRtbD9mYWls
JykpIHsKKyAgICBlLndhaXRVbnRpbCgoYXN5bmMgKCkgPT4geworICAgICAgY29uc3QgdGVzdGlu
Z1BhZ2UgPSBhd2FpdCBnZXRUZXN0aW5nUGFnZSgpOworICAgICAgYXdhaXQgZGVzdHJveVJlc3Vs
dGluZ0NsaWVudCh0ZXN0aW5nUGFnZSk7CisgICAgICB0ZXN0aW5nUGFnZS5wb3N0TWVzc2FnZSh7
IG1zZzogJ3Jlc3VsdGluZ0NsaWVudERlc3Ryb3llZEFjaycsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdGluZ0Rlc3Ryb3llZENsaWVudElkOiBzYXZlZFJlc3VsdGluZ0Ns
aWVudElkIH0pOworICAgIH0pKCkpOworICAgIHJldHVybjsKKyAgfQorCisgIGUucmVzcG9uZFdp
dGgoZmV0Y2goZS5yZXF1ZXN0KSk7Cit9KTsKKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgKGUpID0+IHsKKyAgbGV0IHsgbXNnLCByZXN1bHRpbmdDbGllbnRJZCB9ID0gZS5kYXRh
OworICBlLndhaXRVbnRpbCgoYXN5bmMgKCkgPT4geworICAgIGlmIChtc2cgPT0gJ2dldElzUmVz
dWx0aW5nQ2xpZW50VW5kZWZpbmVkJykgeworICAgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgc2Vs
Zi5jbGllbnRzLmdldChyZXN1bHRpbmdDbGllbnRJZCk7CisgICAgICBsZXQgaXNVbmRlZmluZWQg
PSB0eXBlb2YgY2xpZW50ID09ICd1bmRlZmluZWQnOworICAgICAgZS5zb3VyY2UucG9zdE1lc3Nh
Z2UoeyBtc2c6ICdnZXRJc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCcsCisgICAgICAgIGlzUmVz
dWx0aW5nQ2xpZW50VW5kZWZpbmVkOiBpc1VuZGVmaW5lZCB9KTsKKyAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgaWYgKG1zZyA9PSAnZ2V0UmVzdWx0aW5nQ2xpZW50SWQnKSB7CisgICAgICBlLnNv
dXJjZS5wb3N0TWVzc2FnZSh7IG1zZzogJ2dldFJlc3VsdGluZ0NsaWVudElkJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVzdWx0aW5nQ2xpZW50SWQ6IHNhdmVkUmVzdWx0aW5nQ2xp
ZW50SWQgfSk7CisgICAgICByZXR1cm47CisgICAgfQorICB9KSgpKTsKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC13b3JrZXIuanMKaW5kZXggOWYz
YWYyMWFiZTdiMmYwMmUwMzEzZjA1NjZmZmJjOTRkYjkxODU3MC4uOGVmZmE1NmM5OGM5ZjkyMTIw
MTU1MzEyMTMwODU5MWU3NDMxYTIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvY2xpZW50cy1nZXQtd29ya2VyLmpzCkBAIC00LDEzICs0LDYgQEAKIC8vIHRoZSBgZXZl
bnRgIG9iamVjdC4gSW4gdGhlIGNhc2Ugb2YgdGhlIGBvbm1lc3NhZ2VgIGhhbmRsZXIsIGl0IHBy
b3ZpZGVzIHRoZQogLy8gQ2xpZW50IGluc3RhbmNlIGF0dHJpYnV0ZXMgb2YgdGhlIHJlcXVlc3Rl
ZCBjbGllbnRzLgogc2VsZi5vbmZldGNoID0gZnVuY3Rpb24oZSkgewotICBpZiAoZS5yZXF1ZXN0
Lm1vZGUgPT09ICduYXZpZ2F0ZScgJiYgZS5jbGllbnRJZCAhPT0gIiIpIHsKLSAgICBlLnJlc3Bv
bmRXaXRoKFJlc3BvbnNlLmVycm9yKAotICAgICAgJ2BjbGllbnRJZGAgaW5jb3JyZWN0bHkgc2V0
IHRvIG5vbi1lbXB0eSB2YWx1ZSBmb3IgcmVxdWVzdCB3aXRoIG1vZGUgYG5hdmlnYXRlYCcKLSAg
ICApKTsKLSAgICByZXR1cm47Ci0gIH0KLQogICBpZiAoL1wvY2xpZW50SWQkLy50ZXN0KGUucmVx
dWVzdC51cmwpKSB7CiAgICAgZS5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoZS5jbGllbnRJZCkp
OwogICAgIHJldHVybjsKQEAgLTE4LDcgKzExLDYgQEAgc2VsZi5vbmZldGNoID0gZnVuY3Rpb24o
ZSkgewogfTsKIAogc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7Ci0gIHZhciBwb3J0ID0g
ZS5kYXRhLnBvcnQ7CiAgIHZhciBjbGllbnRfaWRzID0gZS5kYXRhLmNsaWVudElkczsKICAgdmFy
IG1lc3NhZ2UgPSBbXTsKIApAQCAtMzAsNyArMjIsNyBAQCBzZWxmLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKGUpIHsKICAgICAgICAgICAvLyBObyBtYXRjaGluZyBjbGllbnQgZm9yIGEgZ2l2ZW4gaWQg
b3IgYSBtYXRjaGVkIGNsaWVudCBpcyBvZmYtb3JpZ2luCiAgICAgICAgICAgLy8gZnJvbSB0aGUg
c2VydmljZSB3b3JrZXIuCiAgICAgICAgICAgaWYgKGNsaWVudHMubGVuZ3RoID09IDEgJiYgY2xp
ZW50c1swXSA9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoY2xp
ZW50c1swXSk7CisgICAgICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShjbGllbnRzWzBdKTsK
ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgY2xpZW50cy5mb3JFYWNoKGZ1bmN0aW9u
KGNsaWVudCkgewogICAgICAgICAgICAgICAgIGlmIChjbGllbnQgaW5zdGFuY2VvZiBDbGllbnQp
IHsKQEAgLTQzLDcgKzM1LDcgQEAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CiAgICAg
ICAgICAgICAgICAgICBtZXNzYWdlLnB1c2goY2xpZW50KTsKICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShtZXNzYWdlKTsK
KyAgICAgICAgICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwogICAgICAgICAgIH0K
ICAgICAgICAgfSkpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9jb3JzLWFwcHJvdmVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jb3JzLWFw
cHJvdmVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2Q4OWJiMTRkNjA3N2YwN2JhZDM2MDc3MzdlZDhmNjMy
NjhjMjcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Nv
cnMtYXBwcm92ZWQudHh0CkBAIC0wLDAgKzEgQEAKK3BsYWludGV4dApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NvcnMtYXBwcm92ZWQudHh0LmhlYWRlcnMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY29ycy1hcHByb3ZlZC50eHQuaGVhZGVycwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mNzk4NWZkOWJkNTJhODA1YmM2NzE1NDRhOWJmNWE3ZWVmZTliZjM5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NvcnMtYXBwcm92ZWQudHh0Lmhl
YWRlcnMKQEAgLTAsMCArMSwzIEBACitDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KK0FjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbjogKgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvY29ycy1kZW5pZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Nv
cnMtZGVuaWVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjMzM2JkOTdkYTRjNjk0OWEzMTQyYWM4Nzg5Y2Iy
ZTQ1ZDQxYjg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2NvcnMtZGVuaWVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3RoaXMgZmlsZSBpcyBzZXJ2ZWQgd2l0
aG91dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVycyBzbyBpdCBzaG91bGQgbm90
CitiZSByZWFkYWJsZSBmcm9tIGNyb3NzLW9yaWdpbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9kdW1teS1zaGFyZWQtd29ya2VyLWludGVyY2VwdG9yLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJjZXB0b3Iu
anMKaW5kZXggODJiMjQ0NTliNGZlMzA3YWVhODBhMDg2ODllMTE1ZGRkYmRhNTM4ZS4uZTk5NmRh
NmIyYjdmNDkxODIwZGRhYjE2OGU5ZDJmMmQ2ZjZjZWEzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJjZXB0b3IuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJj
ZXB0b3IuanMKQEAgLTEsNyArMSw5IEBACiB2YXIgd29ya2VyX3RleHQgPSAnb25jb25uZWN0ID0g
ZnVuY3Rpb24oZSkgeyBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKCJ3b3JrZXIgbG9hZGluZyBpbnRl
cmNlcHRlZCBieSBzZXJ2aWNlIHdvcmtlciIpOyB9Oyc7CiAKIHNlbGYub25mZXRjaCA9IGZ1bmN0
aW9uKGV2ZW50KSB7Ci0gIGlmIChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdkdW1teS1zaGFy
ZWQtd29ya2VyLmpzJykgIT0gLTEpCi0gICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNl
KHdvcmtlcl90ZXh0KSk7CisgIGlmIChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdkdW1teS1z
aGFyZWQtd29ya2VyLmpzJykgIT0gLTEpIHsKKyAgICBldmVudC5yZXNwb25kV2l0aChuZXcgUmVz
cG9uc2UoCisgICAgICAgIHdvcmtlcl90ZXh0LCB7aGVhZGVyczogeyJDb250ZW50LVR5cGUiOiAi
YXBwbGljYXRpb24vamF2YXNjcmlwdCJ9fSkpOworICB9CiB9OwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZHVtbXktc2hhcmVkLXdvcmtlci1pbnRlcmNlcHRvci5q
cy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3Jr
ZXItaW50ZXJjZXB0b3IuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTdhOWEzYTEyY2VmZTg4M2E1
ZDRkZWU0ZDVhNDViZWYxMjBkMDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJjZXB0b3IuanMuaGVhZGVycwpA
QCAtMCwwICsxIEBACitDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lY2hvLWNvbnRlbnQucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0MGVm
MGNmMmJiYmQ0MzVjYWE2OGZjYTgxMjA0MzQyY2ExZGMxMjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5CkBAIC0wLDAgKzEsMTQg
QEAKKyMgVGhpcyBpcyBhIGNvcHkgb2YgZmV0Y2gvYXBpL3Jlc291cmNlcy9lY2hvLWNvbnRlbnQu
cHkgc2luY2UgaXQncyBtb3JlCisjIGNvbnZlbmllbnQgaW4gdGhpcyBkaXJlY3RvcnkgZHVlIHRv
IHNlcnZpY2Ugd29ya2VyJ3MgcGF0aCByZXN0cmljdGlvbi4KK2RlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKKworICAgIGhlYWRlcnMgPSBbKCJYLVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5t
ZXRob2QpLAorICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgiLCByZXF1
ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LUxlbmd0aCIsICJOTyIpKSwKKyAgICAgICAgICAgICAg
ICgiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNvbnRlbnQt
VHlwZSIsICJOTyIpKSwKKworICAgICAgICAgICAgICAgIyBBdm9pZCBhbnkga2luZCBvZiBjb250
ZW50IHNuaWZmaW5nIG9uIHRoZSByZXNwb25zZS4KKyAgICAgICAgICAgICAgICgiQ29udGVudC1U
eXBlIiwgInRleHQvcGxhaW4iKV0KKworICAgIGNvbnRlbnQgPSByZXF1ZXN0LmJvZHkKKworICAg
IHJldHVybiBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkLXdvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50
ZXJjZXB0ZWQtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmY2RiNzUxMjg4OGZmZGIxMDZlMDRmZmEz
N2YxYjdiODRiODAwZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkLXdvcmtlci5qcwpAQCAt
MCwwICsxLDE0IEBACisvLyBUaGlzIHdvcmtlciBpbnRlcmNlcHRzIGEgcmVxdWVzdCBmb3IgRU1C
RUQvT0JKRUNUIGFuZCByZXNwb25kcyB3aXRoIGEKKy8vIHJlc3BvbnNlIHRoYXQgaW5kaWNhdGVz
IHRoYXQgaW50ZXJjZXB0aW9uIG9jY3VycmVkLiBUaGUgdGVzdHMgZXhwZWN0CisvLyB0aGF0IGlu
dGVyY2VwdGlvbiBkb2VzIG5vdCBvY2N1ci4KK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gn
LCBlID0+IHsKKyAgICBpZiAoZS5yZXF1ZXN0LnVybC5pbmRleE9mKCdlbWJlZGRlZC1jb250ZW50
LWZyb20tc2VydmVyLmh0bWwnKSAhPSAtMSkgeworICAgICAgZS5yZXNwb25kV2l0aChmZXRjaCgn
ZW1iZWRkZWQtY29udGVudC1mcm9tLXNlcnZpY2Utd29ya2VyLmh0bWwnKSk7CisgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKGUucmVxdWVzdC51cmwuaW5kZXhPZignZ3JlZW4ucG5nJykg
IT0gLTEpIHsKKyAgICAgIGUucmVzcG9uZFdpdGgoUHJvbWlzZS5yZWplY3QoJ25ldHdvcmsgZXJy
b3IgdG8gc2hvdyBpbnRlcmNlcHRpb24gb2NjdXJyZWQnKSk7CisgICAgICByZXR1cm47CisgICAg
fQorICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZC1p
bWFnZS1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZW1iZWQtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdiOGIyNTcyMDNhMjIyY2NlMTU4ZmI2ZDk5NTZhMTg2YWQ0NjYxYmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWQtaW1hZ2UtaXMtbm90
LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPmlmcmFtZSBmb3IgZW1iZWQtYW5kLW9i
amVjdC1hcmUtbm90LWludGVyY2VwdGVkIHRlc3Q8L3RpdGxlPgorPGJvZHk+Cis8ZW1iZWQgdHlw
ZT0iaW1hZ2UvcG5nIiBzcmM9Ii9pbWFnZXMvZ3JlZW4ucG5nIj48L2VtYmVkPgorPHNjcmlwdD4K
Ky8vIE91ciBwYXJlbnQgKHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxsIGV4YW1pbmUg
dGhpcyB0byBnZXQgdGhlIHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBpZiAoIW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIp
CisgICAgICByZXNvbHZlKCdGQUlMOiB0aGlzIGlmcmFtZSBpcyBub3QgY29udHJvbGxlZCcpOwor
CisgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VtYmVkJyk7CisgICAg
ZWxlbS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZSA9PiB7CisgICAgICAgIHJlc29sdmUoJ3Jl
cXVlc3Qgd2FzIG5vdCBpbnRlcmNlcHRlZCcpOworICAgICAgfSk7CisgICAgZWxlbS5hZGRFdmVu
dExpc3RlbmVyKCdlcnJvcicsIGUgPT4geworICAgICAgICByZXNvbHZlKCdGQUlMOiByZXF1ZXN0
IHdhcyBpbnRlcmNlcHRlZCcpOworICAgICAgfSk7CisgIH0pOworPC9zY3JpcHQ+Cis8L2JvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWQtaXMtbm90LWlu
dGVyY2VwdGVkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVk
LWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTE0OTkxNWNjNTcz
YjNmOGE1ZTBlMDFhMTA3Mjk0OTRhZWM1OWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbApA
QCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5pZnJhbWUgZm9yIGVtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZCB0
ZXN0PC90aXRsZT4KKzxib2R5PgorPHNjcmlwdD4KKy8vIFRoZSBFTUJFRCBlbGVtZW50IHdpbGwg
Y2FsbCB0aGlzIHdpdGggdGhlIHJlc3VsdCBhYm91dCB3aGV0aGVyIHRoZSBFTUJFRAorLy8gcmVx
dWVzdCB3YXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLgordmFyIHJlcG9ydF9y
ZXN1bHQ7CisKKy8vIE91ciBwYXJlbnQgKHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxs
IGV4YW1pbmUgdGhpcyB0byBnZXQgdGhlIHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICByZXBvcnRfcmVzdWx0ID0gcmVzb2x2ZTsKKyAgfSk7
Cis8L3NjcmlwdD4KKworPGVtYmVkIHNyYz0iZW1iZWRkZWQtY29udGVudC1mcm9tLXNlcnZlci5o
dG1sIj48L2VtYmVkPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2VtYmVkZGVkLWNvbnRlbnQtZnJvbS1zZXJ2ZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmY1MGE5Yzc1MjY5MGQ2NzI2ZDBjZDZkOTgyMDk0N2YxYmM1ZDRiMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20t
c2VydmVyLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbWJlZCBmb3IgZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWlu
dGVyY2VwdGVkIHRlc3Q8L3RpdGxlPgorPHNjcmlwdD4KK3dpbmRvdy5wYXJlbnQucmVwb3J0X3Jl
c3VsdCgncmVxdWVzdCBmb3IgZW1iZWRkZWQgY29udGVudCB3YXMgbm90IGludGVyY2VwdGVkJyk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJl
ZGRlZC1jb250ZW50LWZyb20tc2VydmljZS13b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmljZS13b3JrZXIuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZTJiOTIzNjA4MmQ3YWUyZjgwYzFhNzRmYjBhODQ4MjNjOTZkMTYyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVkZGVkLWNvbnRlbnQt
ZnJvbS1zZXJ2aWNlLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+ZW1iZWQgZm9yIGVtYmVkLWFuZC1vYmpl
Y3QtYXJlLW5vdC1pbnRlcmNlcHRlZCB0ZXN0PC90aXRsZT4KKzxzY3JpcHQ+Cit3aW5kb3cucGFy
ZW50LnJlcG9ydF9yZXN1bHQoJ3JlcXVlc3QgZm9yIGVtYmVkZGVkIGNvbnRlbnQgd2FzIGludGVy
Y2VwdGVkIGJ5IHNlcnZpY2Ugd29ya2VyJyk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VuYWJsZS1jbGllbnQtbWVzc2FnZS1xdWV1ZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VuYWJsZS1jbGllbnQtbWVzc2FnZS1xdWV1
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUxMmJkMTRiYzY3ZDQ2YjkwMmU2OGViODc3MzEwN2RlNTI5Y2M3
OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW5hYmxl
LWNsaWVudC1tZXNzYWdlLXF1ZXVlLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0PgorICAvLyBUaGUgc3RhdGUgdmFyaWFibGUgaXMgdXNlZCBieSBoYW5kbGVf
bWVzc2FnZSB0byByZWNvcmQgdGhlIHRpbWUKKyAgLy8gYXQgd2hpY2ggYSBtZXNzYWdlIHdhcyBo
YW5kbGVkLiBJdCdzIHVwZGF0ZWQgYnkgdGhlIHNjcmlwdHMKKyAgLy8gbG9hZGVkIGJ5IHRoZSA8
c2NyaXB0PiB0YWdzIGF0IHRoZSBib3R0b20gb2YgdGhlIGZpbGUgYXMgd2VsbCBhcworICAvLyBi
eSB0aGUgZXZlbnQgbGlzdGVuZXIgYWRkZWQgaGVyZS4KKyAgdmFyIHN0YXRlID0gJ2luaXQnOwor
ICBhZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4gc3RhdGUgPSAnbG9h
ZGVkJyk7CisKKyAgLy8gV2UgZXhwZWN0IHRvIGdldCB0aHJlZSBwaW5nIG1lc3NhZ2VzIGZyb20g
dGhlIHNlcnZpY2Ugd29ya2VyLgorICBjb25zdCBleHBlY3RlZCA9IFsnaW5pdCcsICdpbnN0YWxs
JywgJ3N0YXJ0J107CisgIGxldCBwcm9taXNlcyA9IHt9OworICBsZXQgcmVzb2x2ZXJzID0ge307
CisgIGV4cGVjdGVkLmZvckVhY2gobmFtZSA9PiB7CisgICAgcHJvbWlzZXNbbmFtZV0gPSBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmVyc1tuYW1lXSA9IHJlc29sdmUpOworICB9KTsKKwor
ICAvLyBPbmNlIGFsbCBtZXNzYWdlcyBoYXZlIGJlZW4gZGlzcGF0Y2hlZCwgdGhlIHN0YXRlIGlu
IHdoaWNoIGVhY2gKKyAgLy8gb2YgdGhlbSB3YXMgZGlzcGF0Y2hlZCBpcyByZWNvcmRlZCBpbiB0
aGUgZHJhZnQuIEF0IHRoYXQgcG9pbnQKKyAgLy8gdGhlIGRyYWZ0IGJlY29tZXMgdGhlIGZpbmFs
IHJlcG9ydC4KKyAgdmFyIGRyYWZ0ID0ge307CisgIHZhciByZXBvcnQgPSBQcm9taXNlLmFsbChP
YmplY3QudmFsdWVzKHByb21pc2VzKSkudGhlbigoKSA9PiB3aW5kb3cuZHJhZnQpOworCisgIC8v
IFRoaXMgbWVzc2FnZSBoYW5kbGVyIGlzIGluc3RhbGxlZCBieSB0aGUgJ2luc3RhbGwnIHNjcmlw
dC4KKyAgZnVuY3Rpb24gaGFuZGxlX21lc3NhZ2UoZXZlbnQpIHsKKyAgICBjb25zdCBkYXRhID0g
ZXZlbnQuZGF0YS5kYXRhOworICAgIGRyYWZ0W2RhdGFdID0gc3RhdGU7CisgICAgcmVzb2x2ZXJz
W2RhdGFdKCk7CisgIH0KKzwvc2NyaXB0PgorCis8IS0tCisgIFRoZSBjb250cm9sbGluZyBzZXJ2
aWNlIHdvcmtlciB3aWxsIGRlbGF5IHRoZSByZXNwb25zZSB0byB0aGVzZQorICBmZXRjaCByZXF1
ZXN0cyB1bnRpbCB0aGUgdGVzdCBpbnN0cnVjdHMgaXQgaG93IHRvIHJlcGx5LiBOb3RlIHRoYXQK
KyAgdGhlIGV2ZW50IGxvb3Aga2VlcHMgc3Bpbm5pbmcgd2hpbGUgdGhlIHBhcnNlciBpcyBibG9j
a2VkLgorLS0+Cis8c2NyaXB0IHNyYz0iZW1wdHkuanM/a2V5PWluc3RhbGwiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9ImVtcHR5LmpzP2tleT1zdGFydCI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
ZW1wdHkuanM/a2V5PWZpbmlzaCI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkKaW5kZXggOTNlYTBlMGFkNjZlNzJl
YzI1MTA5YjNmNGNlNGIxNDdmN2ExMDNjNy4uNjFiODljYmQ5NWI0YjkxMDY3MGU0Nzk1Y2IyNTE4
YzUxYWJlYzEyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weQpAQCAtMSw1ICsxLDcgQEAKIGltcG9ydCBiYXNlNjQKIGltcG9y
dCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKIAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9u
c2UpOgogICAgIGhlYWRlcnMgPSBbXQpAQCAtMzEsNiArMzMsNDMgQEAgZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiakJvQUFx
TUdETHdCREF3QUVzb0NURld1bm1RQUFBQUFTVVZPUks1Q1lJST0iKQogICAgICAgICByZXR1cm4g
aGVhZGVycywgYm9keQogCisgICAgaWYgIlZJREVPIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAg
aGVhZGVycy5hcHBlbmQoKCJDb250ZW50LVR5cGUiLCAidmlkZW8vd2VibSIpKQorICAgICAgICBi
b2R5ID0gb3Blbihvcy5wYXRoLmpvaW4ocmVxdWVzdC5kb2Nfcm9vdCwgIm1lZGlhIiwgIm1vdmll
XzUub2d2IiksICJyYiIpLnJlYWQoKQorICAgICAgICBsZW5ndGggPSBsZW4oYm9keSkKKyAgICAg
ICAgIyBJZiAiUGFydGlhbENvbnRlbnQiIGlzIHNwZWNpZmllZCwgdGhlIHJlcXVlc3RvciB3YW50
cyB0byB0ZXN0IHJhbmdlCisgICAgICAgICMgcmVxdWVzdHMuIEZvciB0aGUgaW5pdGlhbCByZXF1
ZXN0LCByZXNwb25kIHdpdGggIjIwNiBQYXJ0aWFsIENvbnRlbnQiCisgICAgICAgICMgYW5kIGRv
bid0IHNlbmQgdGhlIGVudGlyZSBjb250ZW50LiBUaGVuIGV4cGVjdCBzdWJzZXF1ZW50IHJlcXVl
c3RzIHRvCisgICAgICAgICMgaGF2ZSBhICJSYW5nZSIgaGVhZGVyIHdpdGggYSBieXRlIHJhbmdl
LiBSZXNwb25kIHdpdGggdGhhdCByYW5nZS4KKyAgICAgICAgaWYgIlBhcnRpYWxDb250ZW50IiBp
biByZXF1ZXN0LkdFVDoKKyAgICAgICAgICBpZiBsZW5ndGggPCAxOgorICAgICAgICAgICAgcmV0
dXJuIDUwMCwgaGVhZGVycywgImZpbGUgaXMgdG9vIHNtYWxsIGZvciByYW5nZSByZXF1ZXN0cyIK
KyAgICAgICAgICBzdGFydCA9IDAKKyAgICAgICAgICBlbmQgPSBsZW5ndGggLSAxCisgICAgICAg
ICAgaWYgIlJhbmdlIiBpbiByZXF1ZXN0LmhlYWRlcnM6CisgICAgICAgICAgICByYW5nZV9oZWFk
ZXIgPSByZXF1ZXN0LmhlYWRlcnNbIlJhbmdlIl0KKyAgICAgICAgICAgIHByZWZpeCA9ICJieXRl
cz0iCisgICAgICAgICAgICBzcGxpdF9oZWFkZXIgPSByYW5nZV9oZWFkZXJbbGVuKHByZWZpeCk6
XS5zcGxpdCgiLSIpCisgICAgICAgICAgICAjIFRoZSBmaXJzdCByZXF1ZXN0IG1pZ2h0IGJlICJi
eXRlcz0wLSIuIFdlIHdhbnQgdG8gZm9yY2UgYSByYW5nZQorICAgICAgICAgICAgIyByZXF1ZXN0
LCBzbyBqdXN0IHJldHVybiB0aGUgZmlyc3QgYnl0ZS4KKyAgICAgICAgICAgIGlmIHNwbGl0X2hl
YWRlclswXSA9PSAiMCIgYW5kIHNwbGl0X2hlYWRlclsxXSA9PSAiIjoKKyAgICAgICAgICAgICAg
ZW5kID0gc3RhcnQKKyAgICAgICAgICAgICMgT3RoZXJ3aXNlLCBpdCBpcyBhIHJhbmdlIHJlcXVl
c3QuIFJlc3BlY3QgdGhlIHZhbHVlcyBzZW50LgorICAgICAgICAgICAgaWYgc3BsaXRfaGVhZGVy
WzBdICE9ICIiOgorICAgICAgICAgICAgICBzdGFydCA9IGludChzcGxpdF9oZWFkZXJbMF0pCisg
ICAgICAgICAgICBpZiBzcGxpdF9oZWFkZXJbMV0gIT0gIiI6CisgICAgICAgICAgICAgIGVuZCA9
IGludChzcGxpdF9oZWFkZXJbMV0pCisgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgVGhl
IHJlcXVlc3QgZG9lc24ndCBoYXZlIGEgcmFuZ2UuIEZvcmNlIGEgcmFuZ2UgcmVxdWVzdCBieQor
ICAgICAgICAgICAgIyByZXR1cm5pbmcgdGhlIGZpcnN0IGJ5dGUuCisgICAgICAgICAgICBlbmQg
PSBzdGFydAorCisgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJBY2NlcHQtUmFuZ2VzIiwgImJ5
dGVzIikpCisgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJDb250ZW50LUxlbmd0aCIsIHN0cihl
bmQgLXN0YXJ0ICsgMSkpKQorICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQ29udGVudC1SYW5n
ZSIsICJieXRlcyAlZC0lZC8lZCIgJSAoc3RhcnQsIGVuZCwgbGVuZ3RoKSkpCisgICAgICAgICAg
Y2h1bmsgPSBib2R5W3N0YXJ0OihlbmQgKyAxKV0KKyAgICAgICAgICByZXR1cm4gMjA2LCBoZWFk
ZXJzLCBjaHVuaworICAgICAgICByZXR1cm4gaGVhZGVycywgYm9keQogCiAgICAgdXNlcm5hbWUg
PSByZXF1ZXN0LmF1dGgudXNlcm5hbWUgaWYgcmVxdWVzdC5hdXRoLnVzZXJuYW1lIGVsc2UgInVu
ZGVmaW5lZCIKICAgICBwYXNzd29yZCA9IHJlcXVlc3QuYXV0aC5wYXNzd29yZCBpZiByZXF1ZXN0
LmF1dGgudXNlcm5hbWUgZWxzZSAidW5kZWZpbmVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1kb3VibGUtd3JpdGUtd29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1k
b3VibGUtd3JpdGUtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3NzIzZGNkZGEyZjJmYWRiOWFiMGFi
NGEwMGIyOGMyNGI4MTUyMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJsZS13cml0ZS13b3JrZXIuanMKQEAg
LTAsMCArMSw3IEBACitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgKGV2ZW50KSA9PiB7
CisgIHVybCA9IG5ldyBVUkwoZXZlbnQucmVxdWVzdC51cmwpOworICBpZiAodXJsLnNlYXJjaCA9
PSAnP1BOR0lNQUdFJykgeworICAgIGxvY2FsVXJsID0gbmV3IFVSTCh1cmwucGF0aG5hbWUgKyB1
cmwuc2VhcmNoLCBzZWxmLmxvY2F0aW9uKTsKKyAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChs
b2NhbFVybCkpOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWlmcmFtZS5odG1sCmluZGV4IDNhNzNi
N2U3N2U4NmFmNTM1MDVkMjZmY2JhODQyNTY1ZjE2ZThhZjIuLmE2NWQyNTAxYTg1MDhhZGRmM2Vj
MmI2ZDJkYWYwMGIxYmRjNGFmMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1pZnJhbWUuaHRtbApAQCAtMSwz
MjEgKzEsNjkgQEAKLTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3Nj
cmlwdD4KKzxodG1sPgorPHRpdGxlPmlmcmFtZSBmb3IgZmV0Y2ggY2FudmFzIHRhaW50aW5nIHRl
c3Q8L3RpdGxlPgogPHNjcmlwdD4KLXZhciBpbWFnZV9wYXRoID0gYmFzZV9wYXRoKCkgKyAnZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UnOwotdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0
X2luZm8oKTsKLXZhciBwYXJhbXMgPSBnZXRfcXVlcnlfcGFyYW1zKGxvY2F0aW9uLmhyZWYpOwot
Ci12YXIgTk9UX1RBSU5URUQgPSAnTk9UX1RBSU5URUQnOwotdmFyIFRBSU5URUQgPSAnVEFJTlRF
RCc7Ci12YXIgTE9BRF9FUlJPUiA9ICdMT0FEX0VSUk9SJzsKLXZhciBUSU1FT1VUX0VSUk9SID0g
J1RJTUVPVVRfRVJST1InOwotCi1mdW5jdGlvbiBnZXRfcXVlcnlfcGFyYW1zKHVybCkgewotICB2
YXIgc2VhcmNoID0gKG5ldyBVUkwodXJsKSkuc2VhcmNoOwotICBpZiAoIXNlYXJjaCkgewotICAg
IHJldHVybiB7fTsKLSAgfQotICB2YXIgcmV0ID0ge307Ci0gIHZhciBwYXJhbXMgPSBzZWFyY2gu
c3Vic3RyaW5nKDEpLnNwbGl0KCcmJyk7Ci0gIHBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFt
KSB7Ci0gICAgICB2YXIgZWxlbWVudCA9IHBhcmFtLnNwbGl0KCc9Jyk7Ci0gICAgICByZXRbZGVj
b2RlVVJJQ29tcG9uZW50KGVsZW1lbnRbMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChlbGVtZW50
WzFdKTsKLSAgICB9KTsKLSAgcmV0dXJuIHJldDsKLX0KK2NvbnN0IE5PVF9UQUlOVEVEID0gJ05P
VF9UQUlOVEVEJzsKK2NvbnN0IFRBSU5URUQgPSAnVEFJTlRFRCc7Citjb25zdCBMT0FEX0VSUk9S
ID0gJ0xPQURfRVJST1InOwogCisvLyBDcmVhdGVzIGFuIGltYWdlL3ZpZGVvIGVsZW1lbnQgd2l0
aCBzcmM9fHVybHwgYW5kIGFuIG9wdGlvbmFsIHxjcm9zc19vcmlnaW58CisvLyBhdHRpYnV0ZS4g
VHJpZXMgdG8gcmVhZCBmcm9tIHRoZSBpbWFnZS92aWRlbyB1c2luZyBhIGNhbnZhcyBlbGVtZW50
LiBSZXR1cm5zCisvLyBOT1RfVEFJTlRFRCBpZiBpdCBjb3VsZCBiZSByZWFkLCBUQUlOVEVEIGlm
IGl0IGNvdWxkIG5vdCBiZSByZWFkLCBhbmQKKy8vIExPQURfRVJST1IgaWYgbG9hZGluZyB0aGUg
aW1hZ2UvdmlkZW8gZmFpbGVkLgogZnVuY3Rpb24gY3JlYXRlX3Rlc3RfY2FzZV9wcm9taXNlKHVy
bCwgY3Jvc3Nfb3JpZ2luKSB7Ci0gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZl
KSB7Ci0gICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7Ci0gICAgICBpZiAoY3Jvc3Nfb3JpZ2lu
ICE9ICcnKSB7Ci0gICAgICAgIGltZy5jcm9zc09yaWdpbiA9IGNyb3NzX29yaWdpbjsKLSAgICAg
IH0KLSAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7Ci0gICAg
ICAgICAgY2FudmFzLndpZHRoID0gMTAwOwotICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSAxMDA7
Ci0gICAgICAgICAgdmFyIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKLSAgICAg
ICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWcsIDAsIDApOwotICAgICAgICAgIGNvbnRleHQuZ2V0
SW1hZ2VEYXRhKDAsIDAsIDEwMCwgMTAwKTsKLSAgICAgICAgICByZXNvbHZlKE5PVF9UQUlOVEVE
KTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgIHJlc29sdmUoVEFJTlRFRCk7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIGlmICh1cmwuaW5kZXhPZign
UE5HSU1BR0UnKSAhPSAtMSkgeworICAgICAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdpbWcnKTsKKyAgICAgICAgaWYgKGNyb3NzX29yaWdpbiAhPSAnJykgeworICAgICAg
ICAgIGltZy5jcm9zc09yaWdpbiA9IGNyb3NzX29yaWdpbjsKICAgICAgICAgfQotICAgICAgfTsK
LSAgICAgIGltZy5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJlc29sdmUoTE9BRF9F
UlJPUik7CisgICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2Fu
dmFzJyk7CisgICAgICAgICAgICBjYW52YXMud2lkdGggPSAxMDA7CisgICAgICAgICAgICBjYW52
YXMuaGVpZ2h0ID0gMTAwOworICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRD
b250ZXh0KCcyZCcpOworICAgICAgICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsK
KyAgICAgICAgICAgIGNvbnRleHQuZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgMTAwKTsKKyAgICAg
ICAgICAgIHJlc29sdmUoTk9UX1RBSU5URUQpOworICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgICAgICAgIHJlc29sdmUoVEFJTlRFRCk7CisgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHJlc29sdmUoTE9BRF9F
UlJPUik7CisgICAgICAgIH0KKyAgICAgICAgaW1nLnNyYyA9IHVybDsKKyAgICAgICAgcmV0dXJu
OwogICAgICAgfQotICAgICAgaW1nLnNyYyA9IHVybDsKLSAgICAgIHNldFRpbWVvdXQoKCkgPT4g
eyByZXNvbHZlKFRJTUVPVVRfRVJST1IpOyB9LCA1MDAwKTsKLSAgICB9KTsKLX0KIAotdmFyIHJl
c3VsdHMgPSBbXTsKKyAgICAgIGlmICh1cmwuaW5kZXhPZignVklERU8nKSAhPSAtMSkgeworICAg
ICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7CisgICAg
ICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKKyAgICAgICAgaWYgKGNyb3NzX29yaWdpbiAhPSAn
JykgeworICAgICAgICAgIHZpZGVvLmNyb3NzT3JpZ2luID0gY3Jvc3Nfb3JpZ2luOworICAgICAg
ICB9CisgICAgICAgIHZpZGVvLm9ucGxheSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHRyeSB7
CisgICAgICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52
YXMnKTsKKyAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IDEwMDsKKyAgICAgICAgICAgIGNhbnZh
cy5oZWlnaHQgPSAxMDA7CisgICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoJzJkJyk7CisgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZSh2aWRlbywgMCwgMCk7
CisgICAgICAgICAgICBjb250ZXh0LmdldEltYWdlRGF0YSgwLCAwLCAxMDAsIDEwMCk7CisgICAg
ICAgICAgICByZXNvbHZlKE5PVF9UQUlOVEVEKTsKKyAgICAgICAgICB9IGNhdGNoIChlKSB7Cisg
ICAgICAgICAgICByZXNvbHZlKFRBSU5URUQpOworICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAg
ICAgICAgdmlkZW8ub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHJlc29sdmUoTE9B
RF9FUlJPUik7CisgICAgICAgIH0KKyAgICAgICAgdmlkZW8uc3JjID0gdXJsOworICAgICAgICBy
ZXR1cm47CisgICAgICB9CiAKLWZ1bmN0aW9uIGNyZWF0ZV90ZXN0X3Byb21pc2UodXJsLCBjcm9z
c19vcmlnaW4sIGV4cGVjdGVkX3Jlc3VsdCkgewotICAgIGlmIChwYXJhbXNbJ2NhY2hlJ10pIHsK
LSAgICAgICAgdXJsICs9ICImY2FjaGUiOwotICAgIH0KLSAgICByZXR1cm4gY3JlYXRlX3Rlc3Rf
Y2FzZV9wcm9taXNlKHVybCwgY3Jvc3Nfb3JpZ2luKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewot
ICAgICAgICBsZXQgdGVzdF9uYW1lID0gdXJsICsgIiAtICIgKyAoY3Jvc3Nfb3JpZ2luID8gY3Jv
c3Nfb3JpZ2luIDogImRlZmF1bHQiKTsKLSAgICAgICAgbGV0IHRlc3RfcmVzdWx0ID0gKHJlc3Vs
dCA9PSBleHBlY3RlZF9yZXN1bHQpID8gJ1BBU1MnIDogJ1Jlc3VsdCBvZiB1cmw6JyArIHVybCAr
ICcgJyArICcgY3Jvc3Nfb3JpZ2luOiAnICsgY3Jvc3Nfb3JpZ2luICsgJyBtdXN0IGJlICcgKyBl
eHBlY3RlZF9yZXN1bHQgKyAnIGJ1dCAnICsgcmVzdWx0OwotICAgICAgICByZXN1bHRzLnB1c2go
e25hbWU6IHRlc3RfbmFtZSwgcmVzdWx0OiB0ZXN0X3Jlc3VsdH0pOwotICAgIH0pOworICAgICAg
cmVzb2x2ZSgndW5rbm93biByZXNvdXJjZSB0eXBlJyk7CisgIH0pOwogfQotCi13aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGV2dCkgewotICAgIHJlc3VsdHMgPSBb
XTsKLSAgICB2YXIgcG9ydCA9IGV2dC5wb3J0c1swXTsKLSAgICB2YXIgaW1hZ2VfdXJsID0gaG9z
dF9pbmZvWydIVFRQU19PUklHSU4nXSArIGltYWdlX3BhdGg7Ci0gICAgdmFyIHJlbW90ZV9pbWFn
ZV91cmwgPSBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4nXSArIGltYWdlX3BhdGg7Ci0g
ICAgLy8gUmVqZWN0IHRlc3RzCi0gICAgY3JlYXRlX3Rlc3RfcHJvbWlzZShpbWFnZV91cmwgKyAn
JnJlamVjdCcsICcnLCBMT0FEX0VSUk9SKS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNy
ZWF0ZV90ZXN0X3Byb21pc2UoaW1hZ2VfdXJsICsgJyZyZWplY3QnLCAnYW5vbnltb3VzJywgTE9B
RF9FUlJPUikKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0
X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFnZV91cmwgKyAnJnJlamVjdCcsICd1c2UtY3JlZGVu
dGlhbHMnLCBMT0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICAvLyBGYWxs
YmFjayB0ZXN0cwotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAg
ICAgIGltYWdlX3VybCArICcmaWdub3JlJywKLSAgICAgICAgICAgICcnLAotICAgICAgICAgICAg
Tk9UX1RBSU5URUQpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVf
dGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArICcmaWdub3JlJywK
LSAgICAgICAgICAgICcnLAotICAgICAgICAgICAgVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+
IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1v
dGVfaW1hZ2VfdXJsICsgJyZpZ25vcmUnLAotICAgICAgICAgICAgJ2Fub255bW91cycsCi0gICAg
ICAgICAgICBMT0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4g
Y3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJkFD
QU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArCi0gICAgICAgICAgICAnJmln
bm9yZScsCi0gICAgICAgICAgICAnYW5vbnltb3VzJywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVE
KQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlz
ZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJmlnbm9yZScsCi0gICAgICAgICAg
ICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIExPQURfRVJST1IpCi0gICAgfSkudGhl
bigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAg
ICAgcmVtb3RlX2ltYWdlX3VybCArICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09S
SUdJTiddICsKLSAgICAgICAgICAgICcmaWdub3JlJywKLSAgICAgICAgICAgICd1c2UtY3JlZGVu
dGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJPUikKLSAgICB9KS50aGVuKCgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1h
Z2VfdXJsICsgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10gKwotICAg
ICAgICAgICAgJyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZScsCi0gICAgICAgICAgICAndXNl
LWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVEKQotICAgIH0pLnRoZW4oKCkg
PT4gewotCi0gICAgICAgIC8vIENyZWRlbnRpYWwgdGVzdCAoZmFsbGJhY2spCi0gICAgICAgIHJl
dHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgaW1hZ2VfdXJsICsgJyZBdXRo
Jmlnbm9yZScsCi0gICAgICAgICAgICAnJywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVEKQotICAg
IH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAg
ICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJkF1dGgmaWdub3JlJywKLSAgICAgICAgICAg
ICcnLAotICAgICAgICAgICAgVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAg
cmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJs
ICsgJyZBdXRoJmlnbm9yZScsCi0gICAgICAgICAgICAnYW5vbnltb3VzJywKLSAgICAgICAgICAg
IExPQURfRVJST1IpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVf
dGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArICcmQXV0aCZpZ25v
cmUnLAotICAgICAgICAgICAgJ3VzZS1jcmVkZW50aWFscycsCi0gICAgICAgICAgICBMT0FEX0VS
Uk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJv
bWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJkF1dGgmQUNBT3JpZ2luPScg
KyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsKLSAgICAgICAgICAgICcmaWdub3JlJywKLSAg
ICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJPUikKLSAg
ICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0g
ICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsgJyZBdXRoJkFDQU9yaWdpbj0nICsgaG9zdF9p
bmZvWydIVFRQU19PUklHSU4nXSArCi0gICAgICAgICAgICAnJkFDQUNyZWRlbnRpYWxzPXRydWUm
aWdub3JlJywKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTk9U
X1RBSU5URUQpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0KLSAgICAgICAgLy8gQmFzaWMgcmVzcG9u
c2UKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFn
ZV91cmwgKwotICAgICAgICAgICAgJyZtb2RlPXNhbWUtb3JpZ2luJnVybD0nICsgZW5jb2RlVVJJ
Q29tcG9uZW50KGltYWdlX3VybCksCi0gICAgICAgICAgICAnJywKLSAgICAgICAgICAgIE5PVF9U
QUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3Rf
cHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAgICAnJm1vZGU9c2Ft
ZS1vcmlnaW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoaW1hZ2VfdXJsKSwKLSAgICAgICAg
ICAgICdhbm9ueW1vdXMnLAotICAgICAgICAgICAgTk9UX1RBSU5URUQpCi0gICAgfSkudGhlbigo
KSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAg
aW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArIGVuY29k
ZVVSSUNvbXBvbmVudChpbWFnZV91cmwpLAotICAgICAgICAgICAgJ3VzZS1jcmVkZW50aWFscycs
Ci0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAg
cmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJs
ICsKLSAgICAgICAgICAgICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBv
bmVudChpbWFnZV91cmwpLAotICAgICAgICAgICAgJycsCi0gICAgICAgICAgICBOT1RfVEFJTlRF
RCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21p
c2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1z
YW1lLW9yaWdpbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbWFnZV91cmwpLAotICAgICAg
ICAgICAgJ2Fub255bW91cycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVu
KCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAg
ICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9
JyArIGVuY29kZVVSSUNvbXBvbmVudChpbWFnZV91cmwpLAotICAgICAgICAgICAgJ3VzZS1jcmVk
ZW50aWFscycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsK
LQotICAgICAgICAvLyBPcGFxdWUgcmVzcG9uc2UKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0
X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFnZV91cmwgKwotICAgICAgICAgICAgJyZtb2RlPW5v
LWNvcnMmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX2ltYWdlX3VybCksCi0gICAg
ICAgICAgICAnJywKLSAgICAgICAgICAgIFRBSU5URUQpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0g
ICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgaW1hZ2VfdXJs
ICsKLSAgICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50
KHJlbW90ZV9pbWFnZV91cmwpLAotICAgICAgICAgICAgJ2Fub255bW91cycsCi0gICAgICAgICAg
ICBMT0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRl
X3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAgICAnJm1v
ZGU9bm8tY29ycyZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1hZ2VfdXJsKSwK
LSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJPUikK
LSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2Uo
Ci0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1uby1j
b3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9pbWFnZV91cmwpLAotICAgICAg
ICAgICAgJycsCi0gICAgICAgICAgICBUQUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAg
ICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFn
ZV91cmwgKwotICAgICAgICAgICAgJyZtb2RlPW5vLWNvcnMmdXJsPScgKyBlbmNvZGVVUklDb21w
b25lbnQocmVtb3RlX2ltYWdlX3VybCksCi0gICAgICAgICAgICAnYW5vbnltb3VzJywKLSAgICAg
ICAgICAgIExPQURfRVJST1IpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBj
cmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArCi0gICAg
ICAgICAgICAnJm1vZGU9bm8tY29ycyZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVf
aW1hZ2VfdXJsKSwKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAg
TE9BRF9FUlJPUikKLSAgICB9KS50aGVuKCgpID0+IHsKLQotICAgICAgICAvLyBDT1JTIHJlc3Bv
bnNlCi0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgaW1h
Z2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAgICAgIGVu
Y29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSksCi0g
ICAgICAgICAgICAnJywKLSAgICAgICAgICAgIExPQURfRVJST1IpICAvLyBXZSBleHBlY3QgTE9B
RF9FUlJPUiBzaW5jZSB0aGUgc2VydmVyIGRvZXNuJ3QgcmVzcG9uZAotICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIHdpdGggYW4gQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaGVh
ZGVyLgotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJv
bWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAgICAnJm1vZGU9Y29ycyZj
cmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21w
b25lbnQocmVtb3RlX2ltYWdlX3VybCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pLAotICAgICAgICAgICAg
JycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAg
ICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFnZV91cmwgKwot
ICAgICAgICAgICAgJyZtb2RlPWNvcnMmdXJsPScgKwotICAgICAgICAgICAgZW5jb2RlVVJJQ29t
cG9uZW50KHJlbW90ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAgICAgICAgICAg
ICdhbm9ueW1vdXMnLAotICAgICAgICAgICAgTk9UX1RBSU5URUQpCi0gICAgfSkudGhlbigoKSA9
PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgaW1h
Z2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAgICAgIGVu
Y29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSksCi0g
ICAgICAgICAgICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIExPQURfRVJST1IpICAv
LyBXZSBleHBlY3QgTE9BRF9FUlJPUiBzaW5jZSB0aGUgc2VydmVyIGRvZXNuJ3QgcmVzcG9uZAot
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYW4gQWNjZXNzLUNvbnRyb2wtQWxsb3ct
Q3JlZGVudGlhbHMgaGVhZGVyLgotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4g
Y3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAg
ICAnJm1vZGU9Y29ycyZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoCi0g
ICAgICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArCi0gICAgICAgICAgICAgICAgJyZBQ0FD
cmVkZW50aWFscz10cnVlJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSks
Ci0gICAgICAgICAgICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVE
KQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlz
ZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgJyZtb2RlPWNv
cnMmdXJsPScgKwotICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9pbWFnZV91
cmwgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcmQUNBT3JpZ2luPScgKyBob3N0
X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAgICAgICAgICAgICcnLAotICAgICAgICAgICAgTE9B
RF9FUlJPUikgIC8vIFdlIGV4cGVjdCBMT0FEX0VSUk9SIHNpbmNlIHRoZSBzZXJ2ZXIgZG9lc24n
dCByZXNwb25kCi0gICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2l0aCBhbiBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1DcmVkZW50aWFscyBoZWFkZXIuCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAg
ICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdl
X3VybCArCi0gICAgICAgICAgICAnJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1
cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX2ltYWdlX3VybCAr
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5m
b1snSFRUUFNfT1JJR0lOJ10pLAotICAgICAgICAgICAgJycsCi0gICAgICAgICAgICBOT1RfVEFJ
TlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3By
b21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9k
ZT1jb3JzJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1h
Z2VfdXJsICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsg
aG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSksCi0gICAgICAgICAgICAnYW5vbnltb3VzJywKLSAg
ICAgICAgICAgIE5PVF9UQUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1
cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKwot
ICAgICAgICAgICAgJyZtb2RlPWNvcnMmdXJsPScgKwotICAgICAgICAgICAgZW5jb2RlVVJJQ29t
cG9uZW50KHJlbW90ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAgICAgICAgICAg
ICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJPUikgLy8gV2UgZXhwZWN0
IExPQURfRVJST1Igc2luY2UgdGhlIHNlcnZlciBkb2Vzbid0IHJlc3BvbmQKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyB3aXRoIGFuIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxz
IGhlYWRlci4KLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0
X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcm
bW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudCgKLSAgICAg
ICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAgICAnJkFDQUNyZWRl
bnRpYWxzPXRydWUmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAg
ICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTk9UX1RBSU5URUQpCi0g
ICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoe3Jlc3VsdHM6IHJl
c3VsdHN9KTsKLSAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7Ci0gICAgICAgIHBvcnQucG9zdE1l
c3NhZ2Uoe3Jlc3VsdHM6ICdmYWlsdXJlOicgKyBlfSk7Ci0gICAgfSk7Ci0gIH0sIGZhbHNlKTsK
IDwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctdGVzdHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmFhZGEz
NjY5ZWZmODllZjM3MWJhYWUyNzczZTc1MGIzMWVlMzdhOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctdGVzdHMuanMK
QEAgLTAsMCArMSwyNDEgQEAKKy8vIFRoaXMgaXMgdGhlIG1haW4gZHJpdmVyIG9mIHRoZSBjYW52
YXMgdGFpbnRpbmcgdGVzdHMuCitjb25zdCBOT1RfVEFJTlRFRCA9ICdOT1RfVEFJTlRFRCc7Citj
b25zdCBUQUlOVEVEID0gJ1RBSU5URUQnOworY29uc3QgTE9BRF9FUlJPUiA9ICdMT0FEX0VSUk9S
JzsKKworbGV0IGZyYW1lOworCisvLyBDcmVhdGVzIGEgc2luZ2xlIHByb21pc2VfdGVzdC4KK2Z1
bmN0aW9uIGNhbnZhc190YWludF90ZXN0KHVybCwgY3Jvc3Nfb3JpZ2luLCBleHBlY3RlZF9yZXN1
bHQpIHsKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICAgICAgcmV0dXJuIGZyYW1lLmNvbnRlbnRX
aW5kb3cuY3JlYXRlX3Rlc3RfY2FzZV9wcm9taXNlKHVybCwgY3Jvc3Nfb3JpZ2luKQorICAgICAg
ICAudGhlbihyZXN1bHQgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCBleHBl
Y3RlZF9yZXN1bHQpOworICAgICAgICB9KTsKKyAgICB9LCAndXJsICInICsgdXJsICsgJyIgd2l0
aCBjcm9zc09yaWdpbiAiJyArIGNyb3NzX29yaWdpbiArICciIHNob3VsZCBiZSAnICsKKyAgICAg
ICAgICAgZXhwZWN0ZWRfcmVzdWx0KTsKK30KKworCisvLyBSdW5zIGFsbCB0aGUgdGVzdHMuIFRo
ZSBnaXZlbiB8cGFyYW1zfCBoYXMgdGhlc2UgcHJvcGVydGllczoKKy8vICogfHJlc291cmNlX3Bh
dGh8OiB0aGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgKGltYWdlL3ZpZGVvKSByZXNvdXJjZSB0byB0
ZXN0LgorLy8gKiB8Y2FjaGV8OiB3aGVuIHRydWUsIHRoZSBzZXJ2aWNlIHdvcmtlciBib3VuY2Vz
IHJlc3BvbnNlcyBpbnRvCisvLyAgIENhY2hlIFN0b3JhZ2UgYW5kIGJhY2sgb3V0IGJlZm9yZSBy
ZXNwb25kaW5nIHdpdGggdGhlbS4KK2Z1bmN0aW9uIGRvX2NhbnZhc190YWludGluZ190ZXN0cyhw
YXJhbXMpIHsKKyAgY29uc3QgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOworICBsZXQgcmVz
b3VyY2VfcGF0aCA9IHBhcmFtcy5yZXNvdXJjZV9wYXRoOworICBpZiAocGFyYW1zLmNhY2hlKQor
ICAgIHJlc291cmNlX3BhdGggKz0gIiZjYWNoZT10cnVlIjsKKyAgY29uc3QgcmVzb3VyY2VfdXJs
ID0gaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArIHJlc291cmNlX3BhdGg7CisgIGNvbnN0IHJl
bW90ZV9yZXNvdXJjZV91cmwgPSBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4nXSArIHJl
c291cmNlX3BhdGg7CisKKyAgLy8gU2V0IHVwIHRoZSBzZXJ2aWNlIHdvcmtlciBhbmQgdGhlIGZy
YW1lLgorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAgY29uc3QgU0NPUEUgPSAn
cmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1pZnJhbWUuaHRtbCc7CisgICAgICBjb25z
dCBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2VyLmpzJzsKKyAgICAgIGNv
bnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKworICAgICAgLy8gbG9naW5faHR0cHMo
KSBpcyBuZWVkZWQgYmVjYXVzZSBzb21lIHRlc3QgY2FzZXMgdXNlIGNyZWRlbnRpYWxzLgorICAg
ICAgcmV0dXJuIGxvZ2luX2h0dHBzKHQpCisgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IFNDUklQVCwgU0NPUEUpOworICAgICAgICAgIH0pCisgICAgICAgIC50aGVuKGZ1bmN0aW9uKHJl
Z2lzdHJhdGlvbikgeworICAgICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICAgICAg
ICAgICAgICBpZiAoZnJhbWUpCisgICAgICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgICAgICAg
ICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7CisKKyAgICAgICAgICAgIHJldHVybiB3
YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwor
ICAgICAgICAgIH0pCisgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJh
bWUoU0NPUEUpOyB9KQorICAgICAgICAudGhlbihmID0+IHsKKyAgICAgICAgICAgIGZyYW1lID0g
ZjsKKyAgICAgICAgICB9KTsKKyAgICB9LCAnaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUnKTsKKwor
ICAvLyBSZWplY3QgdGVzdHMuIEFkZCAnJnJlamVjdCcgc28gdGhlIHNlcnZpY2Ugd29ya2VyIHJl
c3BvbmRzIHdpdGggYSByZWplY3RlZCBwcm9taXNlLgorICAvLyBBIGxvYWQgZXJyb3IgaXMgZXhw
ZWN0ZWQuCisgIGNhbnZhc190YWludF90ZXN0KHJlc291cmNlX3VybCArICcmcmVqZWN0JywgJycs
IExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdChyZXNvdXJjZV91cmwgKyAnJnJlamVj
dCcsICdhbm9ueW1vdXMnLCBMT0FEX0VSUk9SKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QocmVzb3Vy
Y2VfdXJsICsgJyZyZWplY3QnLCAndXNlLWNyZWRlbnRpYWxzJywgTE9BRF9FUlJPUik7CisKKyAg
Ly8gRmFsbGJhY2sgdGVzdHMuIEFkZCAnJmlnbm9yZScgc28gdGhlIHNlcnZpY2Ugd29ya2VyIGRv
ZXMgbm90IHJlc3BvbmQgdG8gdGhlIGZldGNoCisgIC8vIHJlcXVlc3QsIGFuZCB3ZSBmYWxsIGJh
Y2sgdG8gbmV0d29yay4KKyAgY2FudmFzX3RhaW50X3Rlc3QocmVzb3VyY2VfdXJsICsgJyZpZ25v
cmUnLCAnJywgTk9UX1RBSU5URUQpOworICBjYW52YXNfdGFpbnRfdGVzdChyZW1vdGVfcmVzb3Vy
Y2VfdXJsICsgJyZpZ25vcmUnLCAnJywgVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KHJl
bW90ZV9yZXNvdXJjZV91cmwgKyAnJmlnbm9yZScsICdhbm9ueW1vdXMnLCBMT0FEX0VSUk9SKTsK
KyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsgJyZBQ0FP
cmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10gKworICAgICAgICAgICcmaWdub3Jl
JywKKyAgICAgICdhbm9ueW1vdXMnLAorICAgICAgTk9UX1RBSU5URUQpOworICBjYW52YXNfdGFp
bnRfdGVzdChyZW1vdGVfcmVzb3VyY2VfdXJsICsgJyZpZ25vcmUnLCAndXNlLWNyZWRlbnRpYWxz
JywgTE9BRF9FUlJPUik7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAgcmVtb3RlX3Jlc291
cmNlX3VybCArICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsKKyAg
ICAgICAgICAnJmlnbm9yZScsCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIExPQURf
RVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwg
KyAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArCisgICAgICAgICAg
JyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZScsCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywK
KyAgICAgIE5PVF9UQUlOVEVEKTsKKworICAvLyBDcmVkZW50aWFsIHRlc3RzICh3aXRoIGZhbGxi
YWNrKS4gQWRkICcmQXV0aCcgc28gdGhlIHNlcnZlciByZXF1aXJlcyBhdXRoZW50aWNhdGlvbi4K
KyAgLy8gRnVydGhlcm1vcmUsIGFkZCAnJmlnbm9yZScgc28gdGhlIHNlcnZpY2Ugd29ya2VyIGZh
bGxzIGJhY2sgdG8gbmV0d29yay4KKyAgY2FudmFzX3RhaW50X3Rlc3QocmVzb3VyY2VfdXJsICsg
JyZBdXRoJmlnbm9yZScsICcnLCBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KHJl
bW90ZV9yZXNvdXJjZV91cmwgKyAnJkF1dGgmaWdub3JlJywgJycsIFRBSU5URUQpOworICBjYW52
YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJkF1dGgmaWdub3Jl
JywgJ2Fub255bW91cycsIExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAg
IHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJkF1dGgmaWdub3JlJywKKyAgICAgICd1c2UtY3JlZGVu
dGlhbHMnLAorICAgICAgTE9BRF9FUlJPUik7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAg
cmVtb3RlX3Jlc291cmNlX3VybCArICcmQXV0aCZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRU
UFNfT1JJR0lOJ10gKworICAgICAgJyZpZ25vcmUnLAorICAgICAgJ3VzZS1jcmVkZW50aWFscycs
CisgICAgICBMT0FEX0VSUk9SKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVf
cmVzb3VyY2VfdXJsICsgJyZBdXRoJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklH
SU4nXSArCisgICAgICAnJkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlJywKKyAgICAgICd1c2Ut
Y3JlZGVudGlhbHMnLAorICAgICAgTk9UX1RBSU5URUQpOworCisgIC8vIEluIHRoZSBmb2xsb3dp
bmcgdGVzdHMsIHRoZSBzZXJ2aWNlIHdvcmtlciBwcm92aWRlcyBhIHJlc3BvbnNlLgorICAvLyBB
ZGQgJyZ1cmwnIHNvIHRoZSBzZXJ2aWNlIHdvcmtlciByZXNwb25kcyB3aXRoIGZldGNoKHVybCku
CisgIC8vIEFkZCAnJm1vZGUnIHRvIGNvbmZpZ3VyZSB0aGUgZmV0Y2ggcmVxdWVzdCBvcHRpb25z
LgorCisgIC8vIEJhc2ljIHJlc3BvbnNlIHRlc3RzLiBTZXQgJnVybCB0byB0aGUgb3JpZ2luYWwg
dXJsLgorICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlc291cmNlX3VybCArICcmbW9kZT1z
YW1lLW9yaWdpbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZXNvdXJjZV91cmwpLAorICAg
ICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAg
cmVzb3VyY2VfdXJsICsgJyZtb2RlPXNhbWUtb3JpZ2luJnVybD0nICsgZW5jb2RlVVJJQ29tcG9u
ZW50KHJlc291cmNlX3VybCksCisgICAgICAnYW5vbnltb3VzJywKKyAgICAgIE5PVF9UQUlOVEVE
KTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJjZV91cmwgKyAnJm1vZGU9c2Ft
ZS1vcmlnaW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VfdXJsKSwKKyAgICAg
ICd1c2UtY3JlZGVudGlhbHMnLAorICAgICAgTk9UX1RBSU5URUQpOworICBjYW52YXNfdGFpbnRf
dGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJm1vZGU9c2FtZS1vcmlnaW4mdXJs
PScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZXNvdXJjZV91cmwpLAorICAgICAg
JycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAgcmVt
b3RlX3Jlc291cmNlX3VybCArICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArCisgICAgICAgICAg
ZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlX3VybCksCisgICAgICAnYW5vbnltb3VzJywKKyAg
ICAgIE5PVF9UQUlOVEVEKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVz
b3VyY2VfdXJsICsgJyZtb2RlPXNhbWUtb3JpZ2luJnVybD0nICsKKyAgICAgICAgICBlbmNvZGVV
UklDb21wb25lbnQocmVzb3VyY2VfdXJsKSwKKyAgICAgICd1c2UtY3JlZGVudGlhbHMnLAorICAg
ICAgTk9UX1RBSU5URUQpOworCisgIC8vIE9wYXF1ZSByZXNwb25zZSB0ZXN0cy4gU2V0ICZ1cmwg
dG8gdGhlIGNyb3NzLW9yaWdpbiBVUkwsIGFuZCAmbW9kZSB0bworICAvLyAnbm8tY29ycycgc28g
d2UgZXhwZWN0IGFuIG9wYXF1ZSByZXNwb25zZS4KKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAg
ICByZXNvdXJjZV91cmwgKworICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2Rl
VVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwpLAorICAgICAgJycsCisgICAgICBUQUlO
VEVEKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJjZV91cmwgKworICAgICAg
ICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNv
dXJjZV91cmwpLAorICAgICAgJ2Fub255bW91cycsCisgICAgICBMT0FEX0VSUk9SKTsKKyAgY2Fu
dmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJjZV91cmwgKworICAgICAgICAgICcmbW9kZT1u
by1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwpLAor
ICAgICAgJ3VzZS1jcmVkZW50aWFscycsCisgICAgICBMT0FEX0VSUk9SKTsKKyAgY2FudmFzX3Rh
aW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAgICAnJm1vZGU9
bm8tY29ycyZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJsKSwK
KyAgICAgICcnLAorICAgICAgVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAg
cmVtb3RlX3Jlc291cmNlX3VybCArCisgICAgICAgICAgJyZtb2RlPW5vLWNvcnMmdXJsPScgKyBl
bmNvZGVVUklDb21wb25lbnQocmVtb3RlX3Jlc291cmNlX3VybCksCisgICAgICAnYW5vbnltb3Vz
JywKKyAgICAgIExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90
ZV9yZXNvdXJjZV91cmwgKworICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2Rl
VVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwpLAorICAgICAgJ3VzZS1jcmVkZW50aWFs
cycsCisgICAgICBMT0FEX0VSUk9SKTsKKworICAvLyBDT1JTIHJlc3BvbnNlIHRlc3RzLiBTZXQg
JnVybCB0byB0aGUgY3Jvc3Mtb3JpZ2luIFVSTCwgYW5kICZtb2RlCisgIC8vIHRvICdjb3JzJyB0
byBhdHRlbXB0IGEgQ09SUyByZXF1ZXN0LgorICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJl
c291cmNlX3VybCArICcmbW9kZT1jb3JzJnVybD0nICsKKyAgICAgICAgICBlbmNvZGVVUklDb21w
b25lbnQocmVtb3RlX3Jlc291cmNlX3VybCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKKyAgICAgICcnLAor
ICAgICAgTE9BRF9FUlJPUik7IC8vIFdlIGV4cGVjdCBMT0FEX0VSUk9SIHNpbmNlIHRoZSBzZXJ2
ZXIgZG9lc24ndCByZXNwb25kCisgICAgICAgICAgICAgICAgICAgLy8gd2l0aCBhbiBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBoZWFkZXIuCisgIGNhbnZhc190YWludF90ZXN0KAor
ICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNvcnMmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4m
dXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJs
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5m
b1snSFRUUFNfT1JJR0lOJ10pLAorICAgICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNh
bnZhc190YWludF90ZXN0KAorICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNvcnMmdXJsPScg
KworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRU
UFNfT1JJR0lOJ10pLAorICAgICAgJ2Fub255bW91cycsCisgICAgICBOT1RfVEFJTlRFRCk7Cisg
IGNhbnZhc190YWludF90ZXN0KAorICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNvcnMmdXJs
PScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJsICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1sn
SFRUUFNfT1JJR0lOJ10pLAorICAgICAgJ3VzZS1jcmVkZW50aWFscycsCisgICAgICBMT0FEX0VS
Uk9SKTsgLy8gV2UgZXhwZWN0IExPQURfRVJST1Igc2luY2UgdGhlIHNlcnZlciBkb2Vzbid0IHJl
c3BvbmQKKyAgICAgICAgICAgICAgICAgICAvLyB3aXRoIGFuIEFjY2Vzcy1Db250cm9sLUFsbG93
LUNyZWRlbnRpYWxzIGhlYWRlci4KKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJj
ZV91cmwgKyAnJm1vZGU9Y29ycyZ1cmw9JyArCisgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50
KAorICAgICAgICAgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAgICAgICAgJyZB
Q0FDcmVkZW50aWFscz10cnVlJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4n
XSksCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIE5PVF9UQUlOVEVEKTsKKyAgY2Fu
dmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNvcnMm
dXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJs
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5m
b1snSFRUUFNfT1JJR0lOJ10pLAorICAgICAgJycsCisgICAgICBMT0FEX0VSUk9SKTsgLy8gV2Ug
ZXhwZWN0IExPQURfRVJST1Igc2luY2UgdGhlIHNlcnZlciBkb2Vzbid0IHJlc3BvbmQKKyAgICAg
ICAgICAgICAgICAgICAvLyB3aXRoIGFuIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxz
IGhlYWRlci4KKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJs
ICsgJyZtb2RlPWNvcnMmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4mdXJsPScgKworICAgICAgICAg
IGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10p
LAorICAgICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAor
ICAgICAgcmVtb3RlX3Jlc291cmNlX3VybCArICcmbW9kZT1jb3JzJnVybD0nICsKKyAgICAgICAg
ICBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX3Jlc291cmNlX3VybCArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTidd
KSwKKyAgICAgICdhbm9ueW1vdXMnLAorICAgICAgTk9UX1RBSU5URUQpOworICBjYW52YXNfdGFp
bnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJm1vZGU9Y29ycyZ1cmw9JyAr
CisgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQ
U19PUklHSU4nXSksCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIExPQURfRVJST1Ip
OyAvLyBXZSBleHBlY3QgTE9BRF9FUlJPUiBzaW5jZSB0aGUgc2VydmVyIGRvZXNuJ3QgcmVzcG9u
ZAorICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYW4gQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHMgaGVhZGVyLgorICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNv
dXJjZV91cmwgKyAnJm1vZGU9Y29ycyZ1cmw9JyArCisgICAgICAgICAgZW5jb2RlVVJJQ29tcG9u
ZW50KAorICAgICAgICAgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAgICAgICAg
JyZBQ0FDcmVkZW50aWFscz10cnVlJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklH
SU4nXSksCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIE5PVF9UQUlOVEVEKTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1jb3JzLWV4cG9z
ZWQtaGVhZGVyLW5hbWVzLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNDU5
NTJhMjJjZjAzMWU1MDU0MTJmY2Y3ZDQwZDU5ZDUyN2Y3NWRjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFt
ZXMtd29ya2VyLmpzCkBAIC0wLDAgKzEsMyBAQAorc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRj
aCcsIChlKSA9PiB7CisgICAgZS5yZXNwb25kV2l0aChmZXRjaChlLnJlcXVlc3QpKTsKKyAgfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtbmV0
d29yay1mYWxsYmFjay13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtZXZlbnQtbmV0d29yay1mYWxsYmFjay13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFhMjAwYzJi
YWRiODI5NjRjYzM1MDY5OTgzMmE3MzBiNTJjOTFhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1uZXR3b3JrLWZhbGxiYWNrLXdvcmtl
ci5qcwpAQCAtMCwwICsxLDMgQEAKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCAoKSA9
PiB7CisgICAgLy8gRG8gbm90aGluZy4KKyAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWN1c3RvbS1yZXNwb25zZS13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9u
ZC13aXRoLWN1c3RvbS1yZXNwb25zZS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmYyNGFlZDEyODJj
OGNmNjliODAxY2I0ODQxNTk0YWVmMTlkYjYxMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3Bv
bnNlLXdvcmtlci5qcwpAQCAtMCwwICsxLDQ1IEBACisndXNlIHN0cmljdCc7CisKK2FkZEV2ZW50
TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKGV2ZW50
LnJlcXVlc3QudXJsKTsKKyAgY29uc3QgdHlwZSA9IHVybC5zZWFyY2hQYXJhbXMuZ2V0KCd0eXBl
Jyk7CisKKyAgaWYgKCF0eXBlKSByZXR1cm47CisKKyAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7
CisgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKCdQQVNTJykpOworICB9CisgIGVs
c2UgaWYgKHR5cGUgPT09ICdibG9iJykgeworICAgIGV2ZW50LnJlc3BvbmRXaXRoKAorICAgICAg
bmV3IFJlc3BvbnNlKG5ldyBCbG9iKFsnUEFTUyddKSkKKyAgICApOworICB9CisgIGVsc2UgaWYg
KHR5cGUgPT09ICdidWZmZXItdmlldycpIHsKKyAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRF
bmNvZGVyKCk7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICBuZXcgUmVzcG9uc2UoZW5j
b2Rlci5lbmNvZGUoJ1BBU1MnKSkKKyAgICApOworICB9CisgIGVsc2UgaWYgKHR5cGUgPT09ICdi
dWZmZXInKSB7CisgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpOworICAgIGV2
ZW50LnJlc3BvbmRXaXRoKAorICAgICAgbmV3IFJlc3BvbnNlKGVuY29kZXIuZW5jb2RlKCdQQVNT
JykuYnVmZmVyKQorICAgICk7CisgIH0KKyAgZWxzZSBpZiAodHlwZSA9PT0gJ2Zvcm0tZGF0YScp
IHsKKyAgICBjb25zdCBib2R5ID0gbmV3IEZvcm1EYXRhKCk7CisgICAgYm9keS5zZXQoJ3Jlc3Vs
dCcsICdQQVNTJyk7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICBuZXcgUmVzcG9uc2Uo
Ym9keSkKKyAgICApOworICB9CisgIGVsc2UgaWYgKHR5cGUgPT09ICdzZWFyY2gtcGFyYW1zJykg
eworICAgIGNvbnN0IGJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7CisgICAgYm9keS5zZXQo
J3Jlc3VsdCcsICdQQVNTJyk7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICBuZXcgUmVz
cG9uc2UoYm9keSwgeworICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAndGV4dC9w
bGFpbicgfQorICAgICAgfSkKKyAgICApOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUtc3Ry
ZWFtLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50
LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0taWZyYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDE5MDRkNzU2NTdkNTc4MTUyMGIwODkyNjE3ODhkMjYwZDEyMmNmZjYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJl
YW0taWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLQotZmV0Y2goJ2JvZHktc3RyZWFtJykudGhl
bihyZXNwID0+IHsKLSAgICByZXR1cm4gcmVzcC50ZXh0KCk7Ci0gIH0pLnRoZW4odGV4dCA9PiBw
YXJlbnQuZG9uZSh0ZXh0KSkKLSAgLmNhdGNoKGUgPT4gcGFyZW50LmRvbmUoJ0ZBSUw6ICcgKyBl
KSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUtc3RyZWFtLXdvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUt
c3RyZWFtLXdvcmtlci5qcwppbmRleCBkZGFiYTU1ZmE3YmE1MmY5M2I4MDdhZDE2ZjM1NzgxMDRk
ZGIyOTUzLi5hYWFiZGMzOTFhOWU1ZWQ0MjZiNTY5OGMzNGEwOTA3ZTJjNjE0NzBhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRo
LXJlYWRhYmxlLXN0cmVhbS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0td29ya2VyLmpzCkBA
IC0xLDEzICsxLDM3IEBACiAndXNlIHN0cmljdCc7CitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7CiAKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVu
dCA9PiB7Ci0gICAgaWYgKCFldmVudC5yZXF1ZXN0LnVybC5tYXRjaCgvYm9keS1zdHJlYW0kLykp
Ci0gICAgICByZXR1cm47CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoZXZlbnQucmVxdWVzdC51cmwp
OworICBpZiAoIXVybC5zZWFyY2hQYXJhbXMuaGFzKCdzdHJlYW0nKSkgcmV0dXJuOwogCi0gICAg
Y29uc3Qgc3RyZWFtID0gbmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydDogY29udHJvbGxlciA9PiB7
Ci0gICAgICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTsKKyAgaWYgKHVybC5z
ZWFyY2hQYXJhbXMuaGFzKCd1c2UtZmV0Y2gtc3RyZWFtJykpIHsKKyAgICBldmVudC5yZXNwb25k
V2l0aChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0
Y2goJ3Bhc3MudHh0Jyk7CisgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlc3BvbnNlLmJvZHkp
OworICAgIH0oKSk7CisgICAgcmV0dXJuOworICB9CisKKyAgY29uc3QgZGVsYXlFbnF1ZXVlID0g
dXJsLnNlYXJjaFBhcmFtcy5oYXMoJ2RlbGF5Jyk7CisKKyAgY29uc3Qgc3RyZWFtID0gbmV3IFJl
YWRhYmxlU3RyZWFtKHsKKyAgICBzdGFydChjb250cm9sbGVyKSB7CisgICAgICBjb25zdCBlbmNv
ZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7CisKKyAgICAgIGNvbnN0IHBvcHVsYXRlID0gKCkgPT4g
ewogICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoJ1BBU1MnKSk7CiAg
ICAgICAgIGNvbnRyb2xsZXIuY2xvc2UoKTsKLSAgICAgIH19KTsKLSAgICBldmVudC5yZXNwb25k
V2l0aChuZXcgUmVzcG9uc2Uoc3RyZWFtKSk7CisgICAgICB9CisKKyAgICAgIGlmIChkZWxheUVu
cXVldWUpIHsKKyAgICAgICAgc3RlcF90aW1lb3V0KHBvcHVsYXRlLCAxNik7CisgICAgICB9Cisg
ICAgICBlbHNlIHsKKyAgICAgICAgcG9wdWxhdGUoKTsKKyAgICAgIH0KKyAgICB9CiAgIH0pOwor
CisgIGV2ZW50LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZShzdHJlYW0pKTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qtd29ya2Vy
LmpzCmluZGV4IDY1MDI1ZDkzNDA5M2FlOGNhYjMwYWI0M2IwMTEzZjAxNTEzYTQ1MTAuLjBhNTJh
ODIwMWVhOTZkNTBkM2ZhNmVlMzAyZjZhYTkwYjQ0MzVkYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMKQEAgLTM3
LDYgKzM3LDE2IEBAIGZ1bmN0aW9uIGhhbmRsZUNsaWVudElkKGV2ZW50KSB7CiAgIGV2ZW50LnJl
c3BvbmRXaXRoKG5ldyBSZXNwb25zZShib2R5KSk7CiB9CiAKK2Z1bmN0aW9uIGhhbmRsZVJlc3Vs
dGluZ0NsaWVudElkKGV2ZW50KSB7CisgIHZhciBib2R5OworICBpZiAoZXZlbnQucmVzdWx0aW5n
Q2xpZW50SWQgIT09ICIiKSB7CisgICAgYm9keSA9ICdSZXN1bHRpbmcgQ2xpZW50IElEIEZvdW5k
OiAnICsgZXZlbnQucmVzdWx0aW5nQ2xpZW50SWQ7CisgIH0gZWxzZSB7CisgICAgYm9keSA9ICdS
ZXN1bHRpbmcgQ2xpZW50IElEIE5vdCBGb3VuZCc7CisgIH0KKyAgZXZlbnQucmVzcG9uZFdpdGgo
bmV3IFJlc3BvbnNlKGJvZHkpKTsKK30KKwogZnVuY3Rpb24gaGFuZGxlTnVsbEJvZHkoZXZlbnQp
IHsKICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKCkpOwogfQpAQCAtMTI5LDYgKzEz
OSwyMiBAQCBmdW5jdGlvbiBoYW5kbGVLZWVwYWxpdmUoZXZlbnQpIHsKICAgZXZlbnQucmVzcG9u
ZFdpdGgobmV3IFJlc3BvbnNlKGV2ZW50LnJlcXVlc3Qua2VlcGFsaXZlKSk7CiB9CiAKK2Z1bmN0
aW9uIGhhbmRsZUlzUmVsb2FkTmF2aWdhdGlvbihldmVudCkgeworICBjb25zdCByZXF1ZXN0ID0g
ZXZlbnQucmVxdWVzdDsKKyAgY29uc3QgYm9keSA9CisgICAgYG1ldGhvZCA9ICR7cmVxdWVzdC5t
ZXRob2R9LCBgICsKKyAgICBgaXNSZWxvYWROYXZpZ2F0aW9uID0gJHtyZXF1ZXN0LmlzUmVsb2Fk
TmF2aWdhdGlvbn1gOworICBldmVudC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoYm9keSkpOwor
fQorCitmdW5jdGlvbiBoYW5kbGVJc0hpc3RvcnlOYXZpZ2F0aW9uKGV2ZW50KSB7CisgIGNvbnN0
IHJlcXVlc3QgPSBldmVudC5yZXF1ZXN0OworICBjb25zdCBib2R5ID0KKyAgICBgbWV0aG9kID0g
JHtyZXF1ZXN0Lm1ldGhvZH0sIGAgKworICAgIGBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gJHtyZXF1
ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb259YDsKKyAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3Bv
bnNlKGJvZHkpKTsKK30KKwogc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgdmFyIHVybCA9IGV2ZW50LnJlcXVlc3QudXJsOwogICAgIHZhciBoYW5k
bGVycyA9IFsKQEAgLTEzOSw2ICsxNjUsNyBAQCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNo
JywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgIHsgcGF0dGVybjogJz9yZWZlcnJlclBvbGljeScs
IGZuOiBoYW5kbGVSZWZlcnJlclBvbGljeSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP3JlZmVycmVy
JywgZm46IGhhbmRsZVJlZmVycmVyIH0sCiAgICAgICB7IHBhdHRlcm46ICc/Y2xpZW50SWQnLCBm
bjogaGFuZGxlQ2xpZW50SWQgfSwKKyAgICAgIHsgcGF0dGVybjogJz9yZXN1bHRpbmdDbGllbnRJ
ZCcsIGZuOiBoYW5kbGVSZXN1bHRpbmdDbGllbnRJZCB9LAogICAgICAgeyBwYXR0ZXJuOiAnP2ln
bm9yZScsIGZuOiBmdW5jdGlvbigpIHt9IH0sCiAgICAgICB7IHBhdHRlcm46ICc/bnVsbCcsIGZu
OiBoYW5kbGVOdWxsQm9keSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP2ZldGNoJywgZm46IGhhbmRs
ZUZldGNoIH0sCkBAIC0xNTEsNiArMTc4LDggQEAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRj
aCcsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICB7IHBhdHRlcm46ICc/aW50ZWdyaXR5JywgZm46
IGhhbmRsZUludGVncml0eSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP3JlcXVlc3QtYm9keScsIGZu
OiBoYW5kbGVSZXF1ZXN0Qm9keSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP2tlZXBhbGl2ZScsIGZu
OiBoYW5kbGVLZWVwYWxpdmUgfSwKKyAgICAgIHsgcGF0dGVybjogJz9pc1JlbG9hZE5hdmlnYXRp
b24nLCBmbjogaGFuZGxlSXNSZWxvYWROYXZpZ2F0aW9uIH0sCisgICAgICB7IHBhdHRlcm46ICc/
aXNIaXN0b3J5TmF2aWdhdGlvbicsIGZuOiBoYW5kbGVJc0hpc3RvcnlOYXZpZ2F0aW9uIH0sCiAg
ICAgXTsKIAogICAgIHZhciBoYW5kbGVyID0gbnVsbDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVj
ay1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0
LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay1pZnJhbWUuaHRtbAppbmRleCBkY2I4Mjg3MTM1
NGUwZGY3Yzk0NDVkNDE3M2FiOTk1NjdjYjcxMzJmLi45YTRhZGVkYjg0ZDQ2NmUxYTdkYjQxYWRh
ZTc2N2E3YTNhZjBhMWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2staWZyYW1lLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9y
aWdpbi1taW1lLWNoZWNrLWlmcmFtZS5odG1sCkBAIC01LDExICs1LDExIEBACiAjc2FtZU9yaWdp
bkh0bWwgeyBjb2xvcjogcmVkOyB9CiAjc3ludGhldGljIHsgY29sb3I6IHJlZDsgfQogPC9zdHls
ZT4KLTxsaW5rIGhyZWY9Ii4vY3Jvc3Mtb3JpZ2luLWNzcy5jc3MiIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiPgotPGxpbmsgaHJlZj0iLi9jcm9zcy1vcmlnaW4taHRtbC5jc3MiIHJl
bD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgorPGxpbmsgaHJlZj0iLi9jcm9zcy1vcmln
aW4tY3NzLmNzcz9taW1lPW5vIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KKzxs
aW5rIGhyZWY9Ii4vY3Jvc3Mtb3JpZ2luLWh0bWwuY3NzP21pbWU9bm8iIHJlbD0ic3R5bGVzaGVl
dCIgdHlwZT0idGV4dC9jc3MiPgogPGxpbmsgaHJlZj0iLi9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9z
cy1vcmlnaW4tbWltZS1jaGVjay1zYW1lLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyI+CiA8bGluayBocmVmPSIuL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1l
LWNoZWNrLXNhbWUuaHRtbCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+Ci08bGlu
ayBocmVmPSIuL3N5bnRoZXRpYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3Mi
PgorPGxpbmsgaHJlZj0iLi9zeW50aGV0aWMuY3NzP21pbWU9bm8iIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiPgogPGgxIGlkPWNyb3NzT3JpZ2luQ3NzPkkgc2hvdWxkIGJlIGJsdWU8
L2gxPgogPGgxIGlkPWNyb3NzT3JpZ2luSHRtbD5JIHNob3VsZCBiZSBibHVlPC9oMT4KIDxoMSBp
ZD1zYW1lT3JpZ2luQ3NzPkkgc2hvdWxkIGJlIGJsdWU8L2gxPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1l
LWNoZWNrLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1
ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay13b3JrZXIuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDI3NDE0MmY1Y2U0NDAwMTZiYjUzYjRjZThjZWNjNDRjOGFkYjViODUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNo
ZWNrLXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLWltcG9ydFNjcmlw
dHMoJy9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMnKTsKLWltcG9ydFNjcmlwdHMoJ3Rlc3Qt
aGVscGVycy5zdWIuanMnKTsKLQotc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGZ1bmN0
aW9uKGV2ZW50KSB7Ci0gICAgaWYgKGV2ZW50LnJlcXVlc3QudXJsLmluZGV4T2YoJ2Nyb3NzLW9y
aWdpbi1jc3MuY3NzJykgIT0gLTEpIHsKLSAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKGZldGNoKAot
ICAgICAgICAgIGdldF9ob3N0X2luZm8oKVsnSFRUUFNfUkVNT1RFX09SSUdJTiddICsgYmFzZV9w
YXRoKCkgKwotICAgICAgICAgICdmZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1j
aGVjay1jcm9zcy5jc3MnLAotICAgICAgICAgIHttb2RlOiAnbm8tY29ycyd9KSk7Ci0gICAgfSBl
bHNlIGlmIChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdjcm9zcy1vcmlnaW4taHRtbC5jc3Mn
KSAhPSAtMSkgewotICAgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goCi0gICAgICAgICAgZ2V0
X2hvc3RfaW5mbygpWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKSArCi0gICAg
ICAgICAgJ2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLWNyb3NzLmh0
bWwnLAotICAgICAgICAgIHttb2RlOiAnbm8tY29ycyd9KSk7Ci0gICAgfSBlbHNlIGlmIChldmVu
dC5yZXF1ZXN0LnVybC5pbmRleE9mKCdzeW50aGV0aWMuY3NzJykgIT0gLTEpIHsKLSAgICAgIGV2
ZW50LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZSgiI3N5bnRoZXRpYyB7IGNvbG9yOiBibHVlOyB9
IikpOwotICAgIH0gZWxzZSB7Ci0gICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChldmVudC5y
ZXF1ZXN0KSk7Ci0gICAgfQotICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tcmVhZC1jb250ZW50cy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9y
aWdpbi1yZWFkLWNvbnRlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzkwMjM2NmIwMjNhY2NkNjExZDUy
Y2QxYzM0ZTZiN2M1MzhmNWNjNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tcmVhZC1jb250ZW50cy5o
dG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPmlmcmFtZTogY3Jvc3Mtb3JpZ2luIENTUyB2aWEgc2VydmljZSB3b3JrZXI8
L3RpdGxlPgorCis8IS0tIFNlcnZpY2Ugd29ya2VyIHJlc3BvbmRzIHdpdGggYSBjcm9zcy1vcmln
aW4gb3BhcXVlIHJlc3BvbnNlLiAtLT4KKzxsaW5rIGhyZWY9ImNyb3NzLW9yaWdpbi1jc3MuY3Nz
IiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KKworPCEtLSBTZXJ2aWNlIHdvcmtl
ciByZXNwb25kcyB3aXRoIGEgY3Jvc3Mtb3JpZ2luIENPUlMgYXBwcm92ZWQgcmVzcG9uc2UuIC0t
PgorPGxpbmsgaHJlZj0iY3Jvc3Mtb3JpZ2luLWNzcy5jc3M/Y29ycyIgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyI+CisKKzwhLS0gU2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0byBu
ZXR3b3JrLiBUaGlzIGlzIGEgc2FtZS1vcmlnaW4gcmVzcG9uc2UuIC0tPgorPGxpbmsgaHJlZj0i
ZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2stc2FtZS5jc3MiIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgorCis8IS0tIFNlcnZpY2Ugd29ya2VyIHJlc3Bv
bmRzIHdpdGggYSBuZXcgUmVzcG9uc2UoKSBzeW50aGV0aWMgcmVzcG9uc2UuIC0tPgorPGxpbmsg
aHJlZj0ic3ludGhldGljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3Mt
Y3Jvc3Mtb3JpZ2luLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4td29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MWU5MTIx
NmMxMDg5M2RhZmI3MmZkMDFkZTgyMmVmMjllNDBlNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLXdv
cmtlci5qcwpAQCAtMCwwICsxLDY1IEBACitpbXBvcnRTY3JpcHRzKCcvY29tbW9uL2dldC1ob3N0
LWluZm8uc3ViLmpzJyk7CitpbXBvcnRTY3JpcHRzKCd0ZXN0LWhlbHBlcnMuc3ViLmpzJyk7CisK
K2NvbnN0IEhPU1RfSU5GTyA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IFJFTU9URV9PUklHSU4g
PSBIT1NUX0lORk8uSFRUUFNfUkVNT1RFX09SSUdJTjsKK2NvbnN0IEJBU0VfUEFUSCA9IGJhc2Vf
cGF0aCgpOworY29uc3QgQ1NTX0ZJTEUgPSAnZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2lu
LW1pbWUtY2hlY2stY3Jvc3MuY3NzJzsKK2NvbnN0IEhUTUxfRklMRSA9ICdmZXRjaC1yZXF1ZXN0
LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay1jcm9zcy5odG1sJzsKKworZnVuY3Rpb24gYWRk
X3BpcGVfaGVhZGVyKHVybF9zdHIsIGhlYWRlcikgeworICBpZiAodXJsX3N0ci5pbmRleE9mKCc/
cGlwZT0nKSA9PSAtMSkgeworICAgIHVybF9zdHIgKz0gJz9waXBlPSc7CisgIH0gZWxzZSB7Cisg
ICAgdXJsX3N0ciArPSAnfCc7CisgIH0KKyAgdXJsX3N0ciArPSBgaGVhZGVyJHtoZWFkZXJ9YDsK
KyAgcmV0dXJuIHVybF9zdHI7Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBm
dW5jdGlvbihldmVudCkgeworICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoZXZlbnQucmVxdWVzdC51
cmwpOworCisgICAgY29uc3QgdXNlX21pbWUgPQorICAgICAgICAodXJsLnNlYXJjaFBhcmFtcy5n
ZXQoJ21pbWUnKSAhPSAnbm8nKTsKKyAgICBjb25zdCBtaW1lX2hlYWRlciA9ICcoQ29udGVudC1U
eXBlLCB0ZXh0L2NzcyknOworCisgICAgY29uc3QgdXNlX2NvcnMgPQorICAgICAgICAodXJsLnNl
YXJjaFBhcmFtcy5oYXMoJ2NvcnMnKSk7CisgICAgY29uc3QgY29yc19oZWFkZXIgPSAnKEFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiwgKiknOworCisgICAgY29uc3QgZmlsZSA9IHVybC5wYXRo
bmFtZS5zdWJzdHJpbmcodXJsLnBhdGhuYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKTsKKworICAg
IC8vIFJlc3BvbmQgd2l0aCBhIGNyb3NzLW9yaWdpbiBDU1MgcmVzb3VyY2UsIHVzaW5nIENPUlMg
aWYgZGVzaXJlZC4KKyAgICBpZiAoZmlsZSA9PSAnY3Jvc3Mtb3JpZ2luLWNzcy5jc3MnKSB7Cisg
ICAgICBsZXQgZmV0Y2hfdXJsID0gIFJFTU9URV9PUklHSU4gKyBCQVNFX1BBVEggKyBDU1NfRklM
RTsKKyAgICAgIGlmICh1c2VfbWltZSkKKyAgICAgICAgZmV0Y2hfdXJsID0gYWRkX3BpcGVfaGVh
ZGVyKGZldGNoX3VybCwgbWltZV9oZWFkZXIpOworICAgICAgaWYgKHVzZV9jb3JzKQorICAgICAg
ICBmZXRjaF91cmwgPSBhZGRfcGlwZV9oZWFkZXIoZmV0Y2hfdXJsLCBjb3JzX2hlYWRlcik7Cisg
ICAgICBjb25zdCBtb2RlID0gdXNlX2NvcnMgPyAnY29ycycgOiAnbm8tY29ycyc7CisgICAgICBl
dmVudC5yZXNwb25kV2l0aChmZXRjaChmZXRjaF91cmwsIHsnbW9kZSc6IG1vZGV9KSk7CisgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgLy8gUmVzcG9uZCB3aXRoIGEgY3Jvc3Mtb3JpZ2luIENT
UyByZXNvdXJjZSB3aXRoIGFuIEhUTUwgbmFtZS4gVGhpcyBpcyBvbmx5CisgICAgLy8gdXNlZCBp
biB0aGUgTUlNRSBzbmlmZmluZyB0ZXN0LCBzbyBNSU1FIGlzIG5ldmVyIGFkZGVkLgorICAgIGlm
IChmaWxlID09ICdjcm9zcy1vcmlnaW4taHRtbC5jc3MnKSB7CisgICAgICBjb25zdCBmZXRjaF91
cmwgPSBSRU1PVEVfT1JJR0lOICsgQkFTRV9QQVRIICsgSFRNTF9GSUxFOworICAgICAgZXZlbnQu
cmVzcG9uZFdpdGgoZmV0Y2goZmV0Y2hfdXJsLCB7bW9kZTogJ25vLWNvcnMnfSkpOworICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIC8vIFJlc3BvbmQgd2l0aCBzeW50aGV0aWMgQ1NTLgorICAg
IGlmIChmaWxlID09ICdzeW50aGV0aWMuY3NzJykgeworICAgICAgbGV0IGhlYWRlcnMgPSB7fTsK
KyAgICAgIGlmICh1c2VfbWltZSkgeworICAgICAgICBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9
ICd0ZXh0L2Nzcyc7CisgICAgICB9CisKKyAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKG5ldyBSZXNw
b25zZSgiI3N5bnRoZXRpYyB7IGNvbG9yOiBibHVlOyB9Iiwge2hlYWRlcnN9KSk7CisgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gT3RoZXJ3aXNlLCBmYWxsYmFjayB0byBuZXR3b3JrLgor
ICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1
ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMtaWZyYW1lLmh0bWwK
aW5kZXggNjhhMWE4Njg3NjBiYmMzYzk2NjhiNjIyMjRiN2Y5NDBjNWRjZmZjMy4uZTZlOTM4MGJh
NjIyNzY2MzhhYjZiNzcxZDVkNTliNmI2MzJiNTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMtaWZyYW1l
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8t
ZnJlc2huZXNzLWhlYWRlcnMtaWZyYW1lLmh0bWwKQEAgLTEgKzEgQEAKLTxzY3JpcHQgc3JjPSJl
bXB0eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNo
bmVzcy1oZWFkZXJzLXNjcmlwdC5weSI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1uby1mcmVzaG5lc3MtaGVhZGVycy1zY3Jp
cHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1uby1mcmVz
aG5lc3MtaGVhZGVycy1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTZhMzkyYzg2M2UzM2U2NTg0ODhl
OWM3YTEwYzVhNDZkYzRhZDQ4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXNjcmlwdC5weQpA
QCAtMCwwICsxLDYgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBoZWFkZXJz
ID0gW10KKyAgICAjIFNldHMgYW4gRVRhZyBoZWFkZXIgdG8gY2hlY2sgdGhlIGNhY2hlIHJldmFs
aWRhdGlvbiBiZWhhdmlvci4KKyAgICBoZWFkZXJzLmFwcGVuZCgoIkVUYWciLCAiYWJjMTIzIikp
CisgICAgaGVhZGVycy5hcHBlbmQoKCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2NyaXB0Iikp
CisgICAgcmV0dXJuIGhlYWRlcnMsICIvKiBlbXB0eSBzY3JpcHQgKi8iCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1yZWRpcmVjdC1pZnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJlZGlyZWN0
LWlmcmFtZS5odG1sCmluZGV4IDRjNTJjYTkxNzc5NzQ2OTIwOThkNmYyMzNkYThmNGEwYjUwYTQ1
ZTEuLmZmZDc2YmZjNDk5MDhiOWIyNWQxMGQ1NjcxYzlkZGI3MDk1ZWE3NTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJlZGlyZWN0LWlmcmFt
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJl
ZGlyZWN0LWlmcmFtZS5odG1sCkBAIC0yMCw3ICsyMCw2IEBAIGZ1bmN0aW9uIGxvYWRfaW1hZ2Uo
dXJsKSB7CiAgICAgICBpbWcub25sb2FkID0gcmVzb2x2ZTsKICAgICAgIGltZy5vbmVycm9yID0g
cmVqZWN0OwogICAgICAgaW1nLnNyYyA9IHVybDsKLSAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBy
ZWplY3QoImltYWdlIGxvYWQgdGltZWQgb3V0IikgfSwgNTAwMCk7CiAgICAgfSk7CiB9CiAKQEAg
LTMxLDcgKzMwLDYgQEAgZnVuY3Rpb24gbG9hZF9hdWRpbyh1cmwpIHsKICAgICAgIGF1ZGlvLm9u
Y2FucGxheSA9IHJlc29sdmU7CiAgICAgICBhdWRpby5vbmVycm9yID0gcmVqZWN0OwogICAgICAg
YXVkaW8uc3JjID0gdXJsOwotICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHJlamVjdCgiYXVkaW8g
bG9hZCB0aW1lZCBvdXQiKSB9LCA1MDAwKTsKICAgICB9KTsKIH0KIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QteGhyLWlmcmFt
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qt
eGhyLWlmcmFtZS5odHRwcy5odG1sCmluZGV4IGFiM2UyYTEyODBiOTE3NTVkNGQwY2Y4MWU0MDc5
YjhmNGRmNjYxMzEuLjY1ZmE1MTcxYjNkNDMwYjA3YWNjZjkxNzE4MTAzM2Q2ZmNhYTNkZjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci1p
ZnJhbWUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gt
cmVxdWVzdC14aHItaWZyYW1lLmh0dHBzLmh0bWwKQEAgLTE5LDI0ICsxOSw2IEBAIGZ1bmN0aW9u
IGdldF9ib3VuZGFyeShoZWFkZXJzKSB7CiAgIHJldHVybiAnJzsKIH0KIAotZnVuY3Rpb24gY3Jl
YXRlX2ZpbGVfc3lzdGVtX2ZpbGUoZmlsZV9uYW1lLCBkYXRhKSB7Ci0gIHJldHVybiBuZXcgUHJv
bWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHdlYmtpdFJlcXVlc3RGaWxl
U3lzdGVtKFRFTVBPUkFSWSwgMTAyNCwgZnVuY3Rpb24oZnMpIHsKLSAgICAgICAgICBmcy5yb290
LmdldEZpbGUoCi0gICAgICAgICAgICBmaWxlX25hbWUsIHtjcmVhdGU6IHRydWUsIGV4Y2x1c2l2
ZTogdHJ1ZX0sCi0gICAgICAgICAgICBmdW5jdGlvbihmaWxlRW50cnkpIHsKLSAgICAgICAgICAg
ICAgZmlsZUVudHJ5LmNyZWF0ZVdyaXRlcihmdW5jdGlvbihmaWxlV3JpdGVyKSB7Ci0gICAgICAg
ICAgICAgICAgICBmaWxlV3JpdGVyLm9ud3JpdGVlbmQgPSBmdW5jdGlvbihlKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGZpbGVFbnRyeS5maWxlKGZ1bmN0aW9uKGZpbGUpIHsgcmVzb2x2ZShmaWxl
KTsgfSk7Ci0gICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgdmFyIGJsb2Ig
PSBuZXcgQmxvYihbZGF0YV0sIHt0eXBlOiAndGV4dC9wbGFpbid9KTsKLSAgICAgICAgICAgICAg
ICAgIGZpbGVXcml0ZXIud3JpdGUoYmxvYik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAg
ICAgICB9LCBmdW5jdGlvbihlKSB7IHJlamVjdChlKTsgfSk7Ci0gICAgICAgIH0sIGZ1bmN0aW9u
KGUpIHsgcmVqZWN0KGUpOyB9KTsKLSAgICB9KTsKLX0KLQogZnVuY3Rpb24geGhyX3NlbmQodXJs
X2Jhc2UsIG1ldGhvZCwgZGF0YSwgd2l0aF9jcmVkZW50aWFscykgewogICByZXR1cm4gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtcmVxdWVzdC14aHItc3luYy1vbi13b3JrZXItd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLXdvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wZDI0ZmZjMWYzMzMzMGZiNTk5OTZjM2E2NWI3NTMwY2VkMGY2ODA2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVl
c3QteGhyLXN5bmMtb24td29ya2VyLXdvcmtlci5qcwpAQCAtMCwwICsxLDQxIEBACisndXNlIHN0
cmljdCc7CisKK3NlbGYub25mZXRjaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgIGlmIChldmVudC5y
ZXF1ZXN0LnVybC5pbmRleE9mKCdub24tZXhpc3RlbnQtZmlsZS50eHQnKSAhPT0gLTEpIHsKKyAg
ICBldmVudC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoJ1Jlc3BvbnNlIGZyb20gc2VydmljZSB3
b3JrZXInKSk7CisgIH0gZWxzZSBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignL2lmcmFt
ZV9wYWdlJykgIT09IC0xKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKAor
ICAgICAgICAnPCFET0NUWVBFIGh0bWw+XG4nICsKKyAgICAgICAgJzxzY3JpcHQ+XG4nICsKKyAg
ICAgICAgJ2Z1bmN0aW9uIHBlcmZvcm1TeW5jWEhST25Xb3JrZXIodXJsKSB7XG4nICsKKyAgICAg
ICAgJyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4nICsKKyAgICAgICAgJyAg
ICB2YXIgd29ya2VyID1cbicgKworICAgICAgICAnICAgICAgICBuZXcgV29ya2VyKFwnLi93b3Jr
ZXJfc2NyaXB0XCcpO1xuJyArCisgICAgICAgICcgICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIo
XCdtZXNzYWdlXCcsIChtc2cpID0+IHtcbicgKworICAgICAgICAnICAgICAgcmVzb2x2ZShtc2cu
ZGF0YSk7XG4nICsKKyAgICAgICAgJyAgICB9KTtcbicgKworICAgICAgICAnICAgIHdvcmtlci5w
b3N0TWVzc2FnZSh7XG4nICsKKyAgICAgICAgJyAgICAgIHVybDogdXJsXG4nICsKKyAgICAgICAg
JyAgICB9KTtcbicgKworICAgICAgICAnICB9KTtcbicgKworICAgICAgICAnfVxuJyArCisgICAg
ICAgICc8L3NjcmlwdD4nLAorICAgICAgICB7CisgICAgICAgICAgaGVhZGVyczogW1snY29udGVu
dC10eXBlJywgJ3RleHQvaHRtbCddXQorICAgICAgICB9KSk7CisgIH0gZWxzZSBpZiAoZXZlbnQu
cmVxdWVzdC51cmwuaW5kZXhPZignL3dvcmtlcl9zY3JpcHQnKSAhPT0gLTEpIHsKKyAgICBldmVu
dC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoCisgICAgICAgICdzZWxmLm9ubWVzc2FnZSA9ICht
c2cpID0+IHsnICsKKyAgICAgICAgJyAgY29uc3Qgc3luY1hociA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOycgKworICAgICAgICAnICBzeW5jWGhyLm9wZW4oXCdHRVRcJywgbXNnLmRhdGEudXJsLCBm
YWxzZSk7JyArCisgICAgICAgICcgIHN5bmNYaHIuc2VuZCgpOycgKworICAgICAgICAnICBzZWxm
LnBvc3RNZXNzYWdlKHsnICsKKyAgICAgICAgJyAgICBzdGF0dXM6IHN5bmNYaHIuc3RhdHVzLCcg
KworICAgICAgICAnICAgIHJlc3BvbnNlVGV4dDogc3luY1hoci5yZXNwb25zZVRleHQnICsKKyAg
ICAgICAgJyAgfSk7JyArCisgICAgICAgICd9JywKKyAgICAgICAgeworICAgICAgICAgIGhlYWRl
cnM6IFtbJ2NvbnRlbnQtdHlwZScsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0J11dCisgICAgICAg
IH0pKTsKKyAgfQorfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1yZXF1ZXN0LXhoci13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtcmVxdWVzdC14aHItd29ya2VyLmpzCmluZGV4IDhiNGZkNmJmOTFlNDkyMDBhYWU5YWFm
MjMxMzQ1YjM5NGFhYzRlZGUuLjkxYjNhYmIxNGQ5YzY3NWEwYmQ4ODYzNDRhMjY0ODJmMzZiYjU3
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0
LXhoci13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJl
cXVlc3QteGhyLXdvcmtlci5qcwpAQCAtMTYsNyArMTYsNyBAQCBzZWxmLmFkZEV2ZW50TGlzdGVu
ZXIoJ2ZldGNoJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIGNyZWRlbnRp
YWxzOiBldmVudC5yZXF1ZXN0LmNyZWRlbnRpYWxzLAogICAgICAgICAgICAgICAgICAgaGVhZGVy
czogaGVhZGVycywKICAgICAgICAgICAgICAgICAgIGJvZHk6IHJlc3VsdAotICAgICAgICAgICAg
ICAgIH0pLCB7IGhlYWRlcnMgOiBbWyJDYWNoZS1Db250cm9sIiwgIm5vLWNhY2hlIl1dIH0gKSk7
CisgICAgICAgICAgICAgICAgfSkpKTsKICAgICAgICAgICAgIH0pOwogICAgICAgfSkpOwogICB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXdyaXRl
LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXdyaXRlLXdv
cmtlci5qcwppbmRleCA1ZDc0Y2IzOWQ3NmRhZjBjZDI5ZjczYjkxOWY2MmI4OTVkYTc5MmU2Li5m
MmQ0OWUyNzA2YTQwZmI1NWYwOThmNWUzM2RjNmMxN2E5M2JmMWNiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmV3cml0ZS13b3JrZXIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2VyLmpzCkBAIC0xLDMg
KzEsMTEgQEAKKy8vIEJ5IGRlZmF1bHQsIHRoaXMgd29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2
ZW50cyB3aXRoCisvLyByZXNwb25kV2l0aChmZXRjaChyZXF1ZXN0KSkuIEFkZGl0aW9uYWxseSwg
aWYgdGhlIHJlcXVlc3QgaGFzIGEgJnVybAorLy8gcGFyYW1ldGVyLCBpdCBmZXRjaGVzIHRoZSBw
cm92aWRlZCBVUkwgaW5zdGVhZC4gQmVjYXVzZSBpdCBmb3J3YXJkcyBmZXRjaAorLy8gZXZlbnRz
IHRvIHRoaXMgb3RoZXIgVVJMLCBpdCBpcyBjYWxsZWQgdGhlICJmZXRjaCByZXdyaXRlIiB3b3Jr
ZXIuCisvLworLy8gVGhlIHdvcmtlciBhbHNvIGxvb2tzIGZvciBvdGhlciBwYXJhbXMgb24gdGhl
IHJlcXVlc3QgdG8gZG8gbW9yZSBjdXN0b20KKy8vIGJlaGF2aW9yLCBsaWtlIGZhbGxpbmcgYmFj
ayB0byBuZXR3b3JrIG9yIHRocm93aW5nIGFuIGVycm9yLgorCiBmdW5jdGlvbiBnZXRfcXVlcnlf
cGFyYW1zKHVybCkgewogICB2YXIgc2VhcmNoID0gKG5ldyBVUkwodXJsKSkuc2VhcmNoOwogICBp
ZiAoIXNlYXJjaCkgewpAQCAtMTI1LDYgKzEzMyw3IEBAIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcign
ZmV0Y2gnLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgfQogICAgICAgICAgIH0KIAor
ICAgICAgICAgIC8vIHxjYWNoZXwgbWVhbnMgdG8gYm91bmNlIHJlc3BvbnNlcyB0aHJvdWdoIENh
Y2hlIFN0b3JhZ2UgYW5kIGJhY2suCiAgICAgICAgICAgaWYgKHBhcmFtc1snY2FjaGUnXSkgewog
ICAgICAgICAgICAgdmFyIGNhY2hlTmFtZSA9ICJjYWNoZWQtZmV0Y2hlcy0iICsgcGVyZm9ybWFu
Y2Uubm93KCkgKyAiLSIgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnJlcXVl
c3QudXJsOwpAQCAtMTM3LDEzICsxNDYsOSBAQCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNo
JywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlLm1hdGNoKHJl
cXVlc3QpOwogICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbihjYWNoZWQpIHsKICAgICAgICAg
ICAgICAgY2FjaGVkUmVzcG9uc2UgPSBjYWNoZWQ7Ci0gICAgICAgICAgICAgIHJldHVybiBjYWNo
ZS5kZWxldGUocmVxdWVzdC51cmwpOwotICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmRlbGV0ZShjYWNoZU5hbWUpOwogICAg
ICAgICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgcmVzb2x2ZShjYWNo
ZWRSZXNwb25zZSk7Ci0gICAgICAgICAgICB9KS5jYXRjaCgoZSkgPT4gewotICAgICAgICAgICAg
ICByZWplY3QoZSk7CisgICAgICAgICAgICAgICByZXNvbHZlKGNhY2hlZFJlc3BvbnNlKTsKICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICByZXNvbHZlKHJl
c3BvbnNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9odHRwLXRv
LWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9odHRwLXRvLWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci1pZnJhbWUu
aHRtbAppbmRleCA4YzQ4YTE4Y2VlNDU3NDY5ZDE4NzhjMDhhMTE2ZjYxMzY3ZWRiNTMzLi5iY2Fi
MzUzNjRkZmY2ZjQ0OTRkNzNhZGZhMTUwZDgwMGVmYzZiZjcwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvaHR0cC10by1odHRwcy1yZWRpcmVjdC1hbmQtcmVnaXN0ZXIt
aWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2h0dHAtdG8taHR0
cHMtcmVkaXJlY3QtYW5kLXJlZ2lzdGVyLWlmcmFtZS5odG1sCkBAIC00LDE4ICs0LDIyIEBACiA8
c2NyaXB0PgogJ3VzZSBzdHJpY3QnOwogCi1uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rl
cignZW1wdHktd29ya2VyLmpzJywge3Njb3BlOiAnc2NvcGUtcmVnaXN0ZXInfSkKLSAgLnRoZW4o
Ci0gICAgcmVnaXN0cmF0aW9uID0+IHsKLSAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIo
KS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoJ09L
JywgJyonKTsKLSAgICAgICAgICB9KTsKLSAgICAgIH0sCi0gICAgZXJyb3IgPT4gewotICAgICAg
ICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCdGQUlMOiAnICsgZXJyb3IubmFtZSwgJyonKTsK
LSAgICAgIH0pCi0gIC5jYXRjaChlcnJvciA9PiB7Ci0gICAgICB3aW5kb3cub3BlbmVyLnBvc3RN
ZXNzYWdlKCdFUlJPUjogJyArIGVycm9yLm5hbWUsICcqJyk7Ci0gICAgfSk7CitpZiAoIW5hdmln
YXRvci5zZXJ2aWNlV29ya2VyKSB7CisgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoJ0ZBSUw6
IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlzIHVuZGVmaW5lZCcsICcqJyk7Cit9IGVsc2Ugewor
ICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignZW1wdHktd29ya2VyLmpzJywge3Nj
b3BlOiAnc2NvcGUtcmVnaXN0ZXInfSkKKyAgICAudGhlbigKKyAgICAgIHJlZ2lzdHJhdGlvbiA9
PiB7CisgICAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgnT0snLCAnKicpOworICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0sCisgICAgICBlcnJvciA9PiB7CisgICAgICAgICAgd2luZG93
Lm9wZW5lci5wb3N0TWVzc2FnZSgnRkFJTDogJyArIGVycm9yLm5hbWUsICcqJyk7CisgICAgICAg
IH0pCisgICAgLmNhdGNoKGVycm9yID0+IHsKKyAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVz
c2FnZSgnRVJST1I6ICcgKyBlcnJvci5uYW1lLCAnKicpOworICAgICAgfSk7Cit9CiA8L3Njcmlw
dD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pZnJh
bWUtd2l0aC1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lmcmFtZS13
aXRoLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U3ODg0MGNiMjgzMTA5NDdmMzkyMzJhY2Q4N2Zi
YTBjMDI2MmYwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9pZnJhbWUtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEsMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aW1nIHNyYz0ic3F1YXJlIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVzLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVzLXdvcmtlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yYzU4NWFjMTA2MGE4OGM0ZjNlZWFjNmI2YTgxYmJiNGUwYzMwMjgwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRzLW1pbWUt
dHlwZXMtd29ya2VyLmpzCkBAIC0wLDAgKzEsNDkgQEAKK2NvbnN0IGJhZE1pbWVUeXBlcyA9IFsK
KyAgbnVsbCwgIC8vIG5vIE1JTUUgdHlwZQorICAndGV4dC9wbGFpbicsCitdOworCitjb25zdCB2
YWxpZE1pbWVUeXBlcyA9IFsKKyAgJ2FwcGxpY2F0aW9uL2VjbWFzY3JpcHQnLAorICAnYXBwbGlj
YXRpb24vamF2YXNjcmlwdCcsCisgICdhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQnLAorICAnYXBw
bGljYXRpb24veC1qYXZhc2NyaXB0JywKKyAgJ3RleHQvZWNtYXNjcmlwdCcsCisgICd0ZXh0L2ph
dmFzY3JpcHQnLAorICAndGV4dC9qYXZhc2NyaXB0MS4wJywKKyAgJ3RleHQvamF2YXNjcmlwdDEu
MScsCisgICd0ZXh0L2phdmFzY3JpcHQxLjInLAorICAndGV4dC9qYXZhc2NyaXB0MS4zJywKKyAg
J3RleHQvamF2YXNjcmlwdDEuNCcsCisgICd0ZXh0L2phdmFzY3JpcHQxLjUnLAorICAndGV4dC9q
c2NyaXB0JywKKyAgJ3RleHQvbGl2ZXNjcmlwdCcsCisgICd0ZXh0L3gtZWNtYXNjcmlwdCcsCisg
ICd0ZXh0L3gtamF2YXNjcmlwdCcsCitdOworCitmdW5jdGlvbiBpbXBvcnRTY3JpcHRzV2l0aE1p
bWVUeXBlKG1pbWVUeXBlKSB7CisgIGltcG9ydFNjcmlwdHMoYC4vbWltZS10eXBlLXdvcmtlci5w
eSR7bWltZVR5cGUgPyAnP21pbWU9JyArIG1pbWVUeXBlIDogJyd9YCk7Cit9CisKK2ltcG9ydFNj
cmlwdHMoJy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnKTsKKworZm9yIChjb25zdCBtaW1lVHlw
ZSBvZiBiYWRNaW1lVHlwZXMpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgYXNzZXJ0X3Rocm93cygK
KyAgICAgICdOZXR3b3JrRXJyb3InLAorICAgICAgKCkgPT4geyBpbXBvcnRTY3JpcHRzV2l0aE1p
bWVUeXBlKG1pbWVUeXBlKTsgfSwKKyAgICAgIGBpbXBvcnRTY3JpcHRzIHdpdGggJHttaW1lVHlw
ZSA/ICdiYWQnIDogJ25vJ30gTUlNRSB0eXBlICR7bWltZVR5cGUgfHwgJyd9IHRocm93cyBOZXR3
b3JrRXJyb3JgLAorICAgICk7CisgIH0sIGBJbXBvcnRpbmcgc2NyaXB0IHdpdGggJHttaW1lVHlw
ZSA/ICdiYWQnIDogJ25vJ30gTUlNRSB0eXBlICR7bWltZVR5cGUgfHwgJyd9YCk7Cit9CisKK2Zv
ciAoY29uc3QgbWltZVR5cGUgb2YgdmFsaWRNaW1lVHlwZXMpIHsKKyAgdGVzdCgoKSA9PiB7Cisg
ICAgdHJ5IHsKKyAgICAgIGltcG9ydFNjcmlwdHNXaXRoTWltZVR5cGUobWltZVR5cGUpOworICAg
IH0gY2F0Y2ggeworICAgICAgYXNzZXJ0X3VucmVhY2hlZChgaW1wb3J0U2NyaXB0cyB3aXRoIE1J
TUUgdHlwZSAke21pbWVUeXBlfSBzaG91bGQgbm90IHRocm93YCk7CisgICAgfQorICB9LCBgSW1w
b3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlICR7bWltZVR5cGV9
YCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNj
cmlwdHMtdXBkYXRlZC1mbGFnLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWctd29ya2VyLmpzCmluZGV4IDBmNTAwNWQ5YWY0
MWQ5NWM5MjQzMDk2NDc4ZDJlMzVjNjUzYzk2NjAuLmUwMTY2NDY2MmVmMTc4YTFkZmU1MWM1OTcw
MzkyZDBmYjY2YzcyMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9p
bXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWctd29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWctd29ya2VyLmpzCkBAIC00
LDYgKzQsNyBAQCBsZXQgZWNob19vdXRwdXQgPSBudWxsOwogCiAvLyBUZXN0cyBpbXBvcnRpbmcg
YSBzY3JpcHQgdGhhdCBzZXRzIHxlY2hvX291dHB1dHwgdG8gdGhlIHF1ZXJ5IHN0cmluZy4KIGZ1
bmN0aW9uIHRlc3RfaW1wb3J0KHN0cikgeworICBlY2hvX291dHB1dCA9IG51bGw7CiAgIGltcG9y
dFNjcmlwdHMoJ2ltcG9ydC1zY3JpcHRzLWVjaG8ucHk/bXNnPScgKyBzdHIpOwogICBhc3NlcnRf
ZXF1YWxzKGVjaG9fb3V0cHV0LCBzdHIpOwogfQpAQCAtMTgsNiArMTksNyBAQCBzZWxmLmFkZEV2
ZW50TGlzdGVuZXIoJ2luc3RhbGwnLCAoKSA9PiB7CiAKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcign
bWVzc2FnZScsIGUgPT4gewogICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgZWNob19vdXRwdXQg
PSBudWxsOwogCiAgICAgdHJ5IHsKICAgICAgIGltcG9ydFNjcmlwdHMoJ2ltcG9ydC1zY3JpcHRz
LWVjaG8ucHk/bXNnPScgKyBlLmRhdGEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ltcG9ydGVkLWNsYXNzaWMtc2NyaXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ltcG9ydGVkLWNsYXNzaWMtc2NyaXB0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmYzUyMDQw
NTEzNWUyMTUyOTBlYmZlZTAwOGY5ZjcxOTYwOTU1YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtY2xhc3NpYy1zY3JpcHQuanMKQEAgLTAs
MCArMSBAQAorY29uc3QgaW1wb3J0ZWQgPSAnQSBjbGFzc2ljIHNjcmlwdC4nOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydGVkLW1vZHVsZS1zY3JpcHQuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtbW9kdWxlLXNjcmlwdC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NmQxOTZkZjA0MGY5YWRiOTk5Yzk0NDMyOWU2ZjE1NjlhYzg3NmZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydGVkLW1vZHVs
ZS1zY3JpcHQuanMKQEAgLTAsMCArMSBAQAorZXhwb3J0IGNvbnN0IGltcG9ydGVkID0gJ0EgbW9k
dWxlIHNjcmlwdC4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lu
c3RhbGwtd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW5zdGFsbC13
b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDIwY2Q0ZGNhNmExNGU0MjdiOTA3YTFkNTE0N2M4ODU5
NmJiMWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lu
c3RhbGwtd29ya2VyLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxib2R5PgorPHA+TG9hZGluZy4uLjwvcD4KKzxzY3JpcHQ+Cithc3luYyBmdW5jdGlvbiBp
bnN0YWxsKCkgeworICBsZXQgc2NyaXB0OworICBmb3IgKGNvbnN0IHEgb2YgbG9jYXRpb24uc2Vh
cmNoLnNsaWNlKDEpLnNwbGl0KCcmJykpIHsKKyAgICBpZiAocS5zcGxpdCgnPScpWzBdID09PSAn
c2NyaXB0JykgeworICAgICAgc2NyaXB0ID0gcS5zcGxpdCgnPScpWzFdOworICAgIH0KKyAgfQor
ICBjb25zdCBzY29wZSA9IGxvY2F0aW9uLmhyZWY7CisgIGNvbnN0IHJlZyA9IGF3YWl0IG5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwge3Njb3BlfSk7CisgIGF3YWl0IG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlYWR5OworICBsb2NhdGlvbi5yZWxvYWQoKTsKK30KKwor
aW5zdGFsbCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxzLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ludGVyZmFjZXMtaWRscy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWY1YzVlZDk2NzVhMTBjMWQ2NmYzOWZmYTI3YWZkYTlkYjYwOGFmMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICsw
LDAgQEAKLXZhciBpZGxzID0ge307Ci1pZGxzLnVudGVzdGVkID0gYAotW0V4cG9zZWQ9V29ya2Vy
XQotaW50ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHt9OwotCi1bVHJlYXROb25PYmplY3RBc051
bGxdCi1jYWxsYmFjayBFdmVudEhhbmRsZXJOb25OdWxsID0gYW55IChFdmVudCBldmVudCk7Ci10
eXBlZGVmIEV2ZW50SGFuZGxlck5vbk51bGw/IEV2ZW50SGFuZGxlcjsKLQotW05vSW50ZXJmYWNl
T2JqZWN0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBBYnN0cmFjdFdvcmtl
ciB7Ci0gIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKLX07Ci1gOwotaWRscy50ZXN0
ZWQgPSBgCi1bR2xvYmFsPShXb3JrZXIsU2VydmljZVdvcmtlciksIEV4cG9zZWQ9U2VydmljZVdv
cmtlcl0KLWludGVyZmFjZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgOiBXb3JrZXJHbG9iYWxT
Y29wZSB7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQ2xpZW50cyBjbGllbnRz
OwotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24gcmVnaXN0cmF0aW9uOwotCi0gIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gc2tpcFdh
aXRpbmcoKTsKLQotICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uaW5zdGFsbDsKLSAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbmFjdGl2YXRlOwotICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
ZmV0Y2g7Ci0KLSAgLy8gZXZlbnQKLSAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3NhZ2U7
IC8vIGV2ZW50LnNvdXJjZSBvZiB0aGUgbWVzc2FnZSBldmVudHMgaXMgQ2xpZW50IG9iamVjdAot
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZWVycm9yOwotfTsKLQotW0V4cG9zZWQ9
U2VydmljZVdvcmtlcl0KLWludGVyZmFjZSBDbGllbnQgewotICByZWFkb25seSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHVybDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIENsaWVudFR5cGUgdHlwZTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gcmVzZXJ2ZWQ7Ci0gIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFs
IHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7Ci19OwotCi1bRXhwb3NlZD1TZXJ2aWNl
V29ya2VyXQotaW50ZXJmYWNlIFdpbmRvd0NsaWVudCA6IENsaWVudCB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSBWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRlOwotICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBmb2N1c2VkOwotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IEZyb3plbkFycmF5PFVTVlN0cmluZz4gYW5jZXN0b3JPcmlnaW5zOwotICBbTmV3T2JqZWN0XSBQ
cm9taXNlPFdpbmRvd0NsaWVudD4gZm9jdXMoKTsKLSAgW05ld09iamVjdF0gUHJvbWlzZTxXaW5k
b3dDbGllbnQ+IG5hdmlnYXRlKFVTVlN0cmluZyB1cmwpOwotfTsKLQotW0V4cG9zZWQ9U2Vydmlj
ZVdvcmtlcl0KLWludGVyZmFjZSBDbGllbnRzIHsKLSAgLy8gVGhlIG9iamVjdHMgcmV0dXJuZWQg
d2lsbCBiZSBuZXcgaW5zdGFuY2VzIGV2ZXJ5IHRpbWUKLSAgW05ld09iamVjdF0gUHJvbWlzZTxh
bnk+IGdldChET01TdHJpbmcgaWQpOwotICBbTmV3T2JqZWN0XSBQcm9taXNlPHNlcXVlbmNlPENs
aWVudD4+IG1hdGNoQWxsKG9wdGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAg
W05ld09iamVjdF0gUHJvbWlzZTxXaW5kb3dDbGllbnQ/PiBvcGVuV2luZG93KFVTVlN0cmluZyB1
cmwpOwotICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGNsYWltKCk7Ci19OwotCi1bU2VjdXJl
Q29udGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCi1pbnRlcmZhY2UgU2VydmljZVdvcmtl
ciA6IEV2ZW50VGFyZ2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBzY3JpcHRV
Ukw7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGU7Ci0gIHZv
aWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIHNlcXVlbmNlPG9iamVjdD4gdHJh
bnNmZXIgPSBbXSk7Ci0KLSAgLy8gZXZlbnQKLSAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnN0
YXRlY2hhbmdlOwotfTsKLVNlcnZpY2VXb3JrZXIgaW1wbGVtZW50cyBBYnN0cmFjdFdvcmtlcjsK
LQotZW51bSBTZXJ2aWNlV29ya2VyU3RhdGUgewotICAiaW5zdGFsbGluZyIsCi0gICJpbnN0YWxs
ZWQiLAotICAiYWN0aXZhdGluZyIsCi0gICJhY3RpdmF0ZWQiLAotICAicmVkdW5kYW50IgotfTsK
LQotZW51bSBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgewotICAgICJpbXBvcnRzIiwKLSAg
ICAiYWxsIiwKLSAgICAibm9uZSIKLX07Ci0KLVtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5k
b3csV29ya2VyKV0KLWludGVyZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIDogRXZlbnRU
YXJnZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlcj8gaW5zdGFsbGluZzsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXI/IHdhaXRpbmc7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyPyBhY3RpdmU7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIG5hdmlnYXRpb25QcmVsb2FkOwot
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgc2NvcGU7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGU7Ci0KLSAgW05l
d09iamVjdF0gUHJvbWlzZTx2b2lkPiB1cGRhdGUoKTsKLSAgW05ld09iamVjdF0gUHJvbWlzZTxi
b29sZWFuPiB1bnJlZ2lzdGVyKCk7Ci0KLSAgLy8gZXZlbnQKLSAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbnVwZGF0ZWZvdW5kOwotfTsKLQotW0NvbnN0cnVjdG9yKCksIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpXQotaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgdm9pZCBhZGRFdmVudExpc3Rl
bmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyPyBjYWxsYmFjaywgb3B0aW9uYWwgKEFk
ZEV2ZW50TGlzdGVuZXJPcHRpb25zIG9yIGJvb2xlYW4pIG9wdGlvbnMpOwotICB2b2lkIHJlbW92
ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBv
cHRpb25hbCAoRXZlbnRMaXN0ZW5lck9wdGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyk7Ci0gIGJv
b2xlYW4gZGlzcGF0Y2hFdmVudChFdmVudCBldmVudCk7Ci19OwotCi1bU2VjdXJlQ29udGV4dCwg
RXhwb3NlZD0oV2luZG93LFdvcmtlcildCi1pbnRlcmZhY2UgTmF2aWdhdGlvblByZWxvYWRNYW5h
Z2VyIHsKLSAgUHJvbWlzZTx2b2lkPiBlbmFibGUoKTsKLSAgUHJvbWlzZTx2b2lkPiBkaXNhYmxl
KCk7Ci0gIFByb21pc2U8dm9pZD4gc2V0SGVhZGVyVmFsdWUoQnl0ZVN0cmluZyB2YWx1ZSk7Ci0g
IFByb21pc2U8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gZ2V0U3RhdGUoKTsKLX07Ci0KLVtTZWN1
cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBDYWNoZSB7Ci0g
IFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRp
b25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAgW05ld09iamVjdF0gUHJvbWlzZTxz
ZXF1ZW5jZTxSZXNwb25zZT4+IG1hdGNoQWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJlcXVlc3Qs
IG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwotICBbTmV3T2JqZWN0XSBQcm9t
aXNlPHZvaWQ+IGFkZChSZXF1ZXN0SW5mbyByZXF1ZXN0KTsKLSAgW05ld09iamVjdF0gUHJvbWlz
ZTx2b2lkPiBhZGRBbGwoc2VxdWVuY2U8UmVxdWVzdEluZm8+IHJlcXVlc3RzKTsKLSAgW05ld09i
amVjdF0gUHJvbWlzZTx2b2lkPiBwdXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgUmVzcG9uc2UgcmVz
cG9uc2UpOwotICBbTmV3T2JqZWN0XSBQcm9taXNlPGJvb2xlYW4+IGRlbGV0ZShSZXF1ZXN0SW5m
byByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAgW05ld09i
amVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxSZXF1ZXN0Pj4ga2V5cyhvcHRpb25hbCBSZXF1ZXN0SW5m
byByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLX07Ci0KLVtT
ZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBDYWNoZVN0
b3JhZ2UgewotICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdEluZm8gcmVx
dWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7Ci0gIFtOZXdPYmplY3Rd
IFByb21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOwotICBbTmV3T2JqZWN0
XSBQcm9taXNlPENhY2hlPiBvcGVuKERPTVN0cmluZyBjYWNoZU5hbWUpOwotICBbTmV3T2JqZWN0
XSBQcm9taXNlPGJvb2xlYW4+IGRlbGV0ZShET01TdHJpbmcgY2FjaGVOYW1lKTsKLSAgW05ld09i
amVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7Ci19OwotYDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbnRlcmZhY2VzLXdvcmtlci5zdWIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy13b3JrZXIuc3ViLmpz
CmluZGV4IDdiZGYxMDE2MjE1NTcxZWZkNDI3MTExYmQyMWUwODQxNmExYmY0ZGMuLjU2YmM4YWY0
NDVkNWU3OTAwYjQ1NzNjMzVlNmQ2ODBlZmYxNmM2NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9pbnRlcmZhY2VzLXdvcmtlci5zdWIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ludGVyZmFjZXMtd29ya2VyLnN1Yi5qcwpAQCAtMSwxNCArMSwz
MyBAQAogJ3VzZSBzdHJpY3QnOwogCi1pbXBvcnRTY3JpcHRzKCdpbnRlcmZhY2VzLWlkbHMuanMn
KTsKIGltcG9ydFNjcmlwdHMoJ3dvcmtlci10ZXN0aGFybmVzcy5qcycpOwogaW1wb3J0U2NyaXB0
cygnL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMnKTsKIGltcG9ydFNjcmlwdHMoJy9yZXNvdXJj
ZXMvaWRsaGFybmVzcy5qcycpOwogCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKLWlk
bEFycmF5LmFkZF91bnRlc3RlZF9pZGxzKGlkbHMudW50ZXN0ZWQpOwotaWRsQXJyYXkuYWRkX2lk
bHMoaWRscy50ZXN0ZWQpOwotaWRsQXJyYXkuYWRkX29iamVjdHMoeworcHJvbWlzZV90ZXN0KGFz
eW5jICh0KSA9PiB7CisgIGNvbnN0IHNyY3MgPSBbJ2RvbScsICdodG1sJywgJ3NlcnZpY2Utd29y
a2VycycsICdkZWRpY2F0ZWQtd29ya2VycyddOworICBjb25zdCBbZG9tLCBodG1sLCBzZXJ2aWNl
V29ya2VySWRsLCBkZWRpY2F0ZWRdID0gYXdhaXQgUHJvbWlzZS5hbGwoCisgICAgc3Jjcy5tYXAo
aSA9PiBmZXRjaChgL2ludGVyZmFjZXMvJHtpfS5pZGxgKS50aGVuKHIgPT4gci50ZXh0KCkpKSk7
CisKKyAgdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7CisgIGlkbEFycmF5LmFkZF9pZGxz
KHNlcnZpY2VXb3JrZXJJZGwsIHsgb25seTogWworICAgICdTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUnLAorICAgICdDbGllbnQnLAorICAgICdXaW5kb3dDbGllbnQnLAorICAgICdDbGllbnRzJywK
KyAgICAnU2VydmljZVdvcmtlcicsCisgICAgJ1NlcnZpY2VXb3JrZXJTdGF0ZScsCisgICAgJ1Nl
cnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZScsCisgICAgJ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24nLAorICAgICdFdmVudFRhcmdldCcsCisgICAgJ05hdmlnYXRpb25QcmVsb2FkTWFuYWdlcics
CisgICAgJ0NhY2hlJywKKyAgICAnQ2FjaGVTdG9yYWdlJywKKyAgXX0pOworICBpZGxBcnJheS5h
ZGRfZGVwZW5kZW5jeV9pZGxzKGRlZGljYXRlZCk7CisgIGlkbEFycmF5LmFkZF9kZXBlbmRlbmN5
X2lkbHMoZG9tKTsKKyAgaWRsQXJyYXkuYWRkX2RlcGVuZGVuY3lfaWRscyhodG1sKTsKKyAgaWRs
QXJyYXkuYWRkX29iamVjdHMoewogICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTogWydzZWxm
J10sCiAgICAgQ2xpZW50czogWydzZWxmLmNsaWVudHMnXSwKICAgICBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOiBbJ3NlbGYucmVnaXN0cmF0aW9uJ10sCkBAIC0xNywxNiArMzYsMTQgQEAgaWRs
QXJyYXkuYWRkX29iamVjdHMoewogICAgIC8vIENsaWVudDogWydzZWxmLmNsaWVudEluc3RhbmNl
J10sCiAgICAgLy8gV2luZG93Q2xpZW50OiBbJ3NlbGYud2luZG93Q2xpZW50SW5zdGFuY2UnXQog
ICB9KTsKKyAgcmV0dXJuIGNyZWF0ZV90ZW1wb3JhcnlfY2FjaGUodCkKKyAgICAudGhlbihmdW5j
dGlvbihjYWNoZSkgeworICAgICAgICBzZWxmLmNhY2hlSW5zdGFuY2UgPSBjYWNoZTsKIAotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gY3JlYXRlX3RlbXBvcmFyeV9jYWNo
ZSh0KQotICAgICAgLnRoZW4oZnVuY3Rpb24oY2FjaGUpIHsKLSAgICAgICAgICBzZWxmLmNhY2hl
SW5zdGFuY2UgPSBjYWNoZTsKLQotICAgICAgICAgIGlkbEFycmF5LmFkZF9vYmplY3RzKHsgQ2Fj
aGU6IFsnc2VsZi5jYWNoZUluc3RhbmNlJ10gfSk7Ci0gICAgICAgICAgaWRsQXJyYXkudGVzdCgp
OwotICAgICAgICB9KTsKLSAgfSwgJ3Rlc3Qgc2V0dXAgKGNhY2hlIGNyZWF0aW9uKScpOworICAg
ICAgICBpZGxBcnJheS5hZGRfb2JqZWN0cyh7IENhY2hlOiBbJ3NlbGYuY2FjaGVJbnN0YW5jZSdd
IH0pOworICAgICAgICBpZGxBcnJheS50ZXN0KCk7CisgICAgICB9KTsKK30sICd0ZXN0IHNldHVw
IChjYWNoZSBjcmVhdGlvbiknKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICB2YXIgcmVxID0g
bmV3IFJlcXVlc3QoJ2h0dHA6Ly97e2hvc3R9fS8nLApAQCAtNzYsMyArOTMsNyBAQCB0ZXN0KGZ1
bmN0aW9uKCkgewogdGVzdCgoKSA9PiB7CiAgICAgYXNzZXJ0X2ZhbHNlKCdYTUxIdHRwUmVxdWVz
dCcgaW4gc2VsZik7CiAgIH0sICd4aHIgaXMgbm90IGV4cG9zZWQnKTsKKwordGVzdCgoKSA9PiB7
CisgICAgYXNzZXJ0X2ZhbHNlKCdjcmVhdGVPYmplY3RVUkwnIGluIHNlbGYuVVJMKTsKKyAgfSwg
J1VSTC5jcmVhdGVPYmplY3RVUkwgaXMgbm90IGV4cG9zZWQnKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXItZnJhbWUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250
cm9sbGVyLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMzMWY4OGQ0NzE3OWVmMTVkM2YyNjM0Zjg0
ZDZhMjc5MTAwMTkzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwx
MzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c2NyaXB0PgorCitjb25zdCBmZXRjaFVS
TCA9IG5ldyBVUkwoJ2R1bW15LnR4dCcsIHdpbmRvdy5sb2NhdGlvbikuaHJlZjsKKworY29uc3Qg
ZnJhbWVDb250cm9sbGVyVGV4dCA9CitgPHNjcmlwdD4KKyAgbGV0IHQgPSBudWxsOworICB0cnkg
eworICAgIGlmIChuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyKSB7CisgICAgICB0
ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5zY3JpcHRVUkw7CisgICAgfQor
ICB9IGNhdGNoIChlKSB7CisgICAgdCA9IGUubWVzc2FnZTsKKyAgfSBmaW5hbGx5IHsKKyAgICBw
YXJlbnQucG9zdE1lc3NhZ2UoeyBkYXRhOiB0IH0sICcqJyk7CisgIH0KKzwvYCArIGBzY3JpcHQ+
YDsKKworY29uc3QgZnJhbWVGZXRjaFRleHQgPQorYDxzY3JpcHQ+CisgIGZldGNoKCcke2ZldGNo
VVJMfScsIHsgbW9kZTogJ25vLWNvcnMnIH0pLnRoZW4ocmVzcG9uc2UgPT4geworICAgIHJldHVy
biByZXNwb25zZS50ZXh0KCk7CisgIH0pLnRoZW4odGV4dCA9PiB7CisgICAgcGFyZW50LnBvc3RN
ZXNzYWdlKHsgZGF0YTogdGV4dCB9LCAnKicpOworICB9KS5jYXRjaChlID0+IHsKKyAgICBwYXJl
bnQucG9zdE1lc3NhZ2UoeyBkYXRhOiBlLm1lc3NhZ2UgfSwgJyonKTsKKyAgfSk7Cis8L2AgKyBg
c2NyaXB0PmA7CisKK2NvbnN0IHdvcmtlckNvbnRyb2xsZXJUZXh0ID0KK2BsZXQgdCA9IG5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIKKyAgICAgICA/IG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLmNvbnRyb2xsZXIuc2NyaXB0VVJMCisgICAgICAgOiBudWxsOworc2VsZi5wb3N0TWVz
c2FnZSh0KTtgOworCitjb25zdCB3b3JrZXJGZXRjaFRleHQgPQorYGZldGNoKCcke2ZldGNoVVJM
fScsIHsgbW9kZTogJ25vLWNvcnMnIH0pLnRoZW4ocmVzcG9uc2UgPT4geworICByZXR1cm4gcmVz
cG9uc2UudGV4dCgpOworfSkudGhlbih0ZXh0ID0+IHsKKyAgc2VsZi5wb3N0TWVzc2FnZSh0ZXh0
KTsKK30pLmNhdGNoKGUgPT4geworICBzZWxmLnBvc3RNZXNzYWdlKGUubWVzc2FnZSk7Cit9KTtg
CisKK2Z1bmN0aW9uIGdldENoaWxkVGV4dChvcHRzKSB7CisgIGlmIChvcHRzLmNoaWxkID09PSAn
aWZyYW1lJykgeworICAgIGlmIChvcHRzLmNoZWNrID09PSAnY29udHJvbGxlcicpIHsKKyAgICAg
IHJldHVybiBmcmFtZUNvbnRyb2xsZXJUZXh0OworICAgIH0KKworICAgIGlmIChvcHRzLmNoZWNr
ID09PSAnZmV0Y2gnKSB7CisgICAgICByZXR1cm4gZnJhbWVGZXRjaFRleHQ7CisgICAgfQorCisg
ICAgdGhyb3coJ3VuZXhwZWN0ZWQgZmVhdHVyZSB0byBjaGVjazogJyArIG9wdHMuY2hlY2spOwor
ICB9CisKKyAgaWYgKG9wdHMuY2hpbGQgPT09ICd3b3JrZXInKSB7CisgICAgaWYgKG9wdHMuY2hl
Y2sgPT09ICdjb250cm9sbGVyJykgeworICAgICAgcmV0dXJuIHdvcmtlckNvbnRyb2xsZXJUZXh0
OworICAgIH0KKworICAgIGlmIChvcHRzLmNoZWNrID09PSAnZmV0Y2gnKSB7CisgICAgICByZXR1
cm4gd29ya2VyRmV0Y2hUZXh0OworICAgIH0KKworICAgIHRocm93KCd1bmV4cGVjdGVkIGZlYXR1
cmUgdG8gY2hlY2s6ICcgKyBvcHRzLmNoZWNrKTsKKyAgfQorCisgIHRocm93KCd1bmV4cGVjdGVk
IGNoaWxkIHR5cGUgJyArIG9wdHMuY2hpbGQpOworfQorCitmdW5jdGlvbiBtYWtlVVJMKG9wdHMp
IHsKKyAgbGV0IG1pbWV0eXBlID0gb3B0cy5jaGlsZCA9PT0gJ2lmcmFtZScgPyAndGV4dC9odG1s
JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0L2phdmFz
Y3JpcHQnOworCisgIGlmIChvcHRzLnNjaGVtZSA9PT0gJ2Jsb2InKSB7CisgICAgbGV0IGJsb2Ig
PSBuZXcgQmxvYihbZ2V0Q2hpbGRUZXh0KG9wdHMpXSwgeyB0eXBlOiBtaW1ldHlwZSB9KTsKKyAg
ICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKKyAgfQorCisgIGlmIChvcHRzLnNj
aGVtZSA9PT0gJ2RhdGEnKSB7CisgICAgcmV0dXJuIGBkYXRhOiR7bWltZXR5cGV9LCR7Z2V0Q2hp
bGRUZXh0KG9wdHMpfWA7CisgIH0KKworICB0aHJvdyhgdW5leHBlY3RlZCBVUkwgc2NoZW1lICR7
b3B0cy5zY2hlbWV9YCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RXb3JrZXJDaGlsZCh1cmwpIHsKKyAg
bGV0IHcgPSBuZXcgV29ya2VyKHVybCk7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7CisgICAgdy5vbm1lc3NhZ2UgPSByZXNvbHZlOworICAgIHcub25lcnJvciA9
IGV2dCA9PiB7CisgICAgICByZWplY3QoZXZ0Lm1lc3NhZ2UpOworICAgIH0KKyAgfSk7Cit9CisK
K2Z1bmN0aW9uIHRlc3RJZnJhbWVDaGlsZCh1cmwpIHsKKyAgbGV0IGZyYW1lID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgIGZyYW1lLnNyYyA9IHVybDsKKyAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgIGFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBldnQgPT4geworICAgICAgcmVz
b2x2ZShldnQuZGF0YSk7CisgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworICB9KTsKK30KKworZnVu
Y3Rpb24gdGVzdFVSTChvcHRzLCB1cmwpIHsKKyAgaWYgKG9wdHMuY2hpbGQgPT09ICd3b3JrZXIn
KSB7CisgICAgcmV0dXJuIHRlc3RXb3JrZXJDaGlsZCh1cmwpOworICB9CisKKyAgaWYgKG9wdHMu
Y2hpbGQgPT09ICdpZnJhbWUnKSB7CisgICAgcmV0dXJuIHRlc3RJZnJhbWVDaGlsZCh1cmwpOwor
ICB9CisKKyAgdGhyb3coYHVuZXhwZWN0ZWQgY2hpbGQgdHlwZSAke29wdHMuY2hpbGR9YCk7Cit9
CisKK2Z1bmN0aW9uIGNoZWNrQ2hpbGRDb250cm9sbGVyKG9wdHMpIHsKKyAgbGV0IHVybCA9IG1h
a2VVUkwob3B0cyk7CisgIHJldHVybiB0ZXN0VVJMKG9wdHMsIHVybCk7Cit9Cis8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11
cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
ZDg5NTVmMTExZjZmMzYyNGRhOGEzMWUwMzM1NDRlNzM4YmEyNzUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xs
ZXItd29ya2VyLmpzCkBAIC0wLDAgKzEsNSBAQAorYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBl
dnQgPT4geworICBpZiAoZXZ0LnJlcXVlc3QudXJsLmluY2x1ZGVzKCdkdW1teScpKSB7CisgICAg
ZXZ0LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZSgnaW50ZXJjZXB0ZWQnKSk7CisgIH0KK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21hbGZvcm1lZC1odHRwLXJl
c3BvbnNlLmFzaXMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbWFsZm9ybWVkLWh0dHAt
cmVzcG9uc2UuYXNpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzNjNjhkNDZkNTMwZjMxOGU1ZDZlOTE0MGEyNDUx
OTcyNGNmMjMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L21hbGZvcm1lZC1odHRwLXJlc3BvbnNlLmFzaXMKQEAgLTAsMCArMSBAQAorSEFIQUhBIFRISVMg
SVMgTk9UIEhUVFAgQU5EIFRIRSBCUk9XU0VSIFNIT1VMRCBDT05TSURFUiBJVCBBIE5FVFdPUksg
RVJST1IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tZXNzYWdlLXZz
LW1pY3JvdGFzay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21lc3NhZ2UtdnMt
bWljcm90YXNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM0NWM1OWE0NzVhZTliMmU2YmMxNjhkYzc1YjMx
ZWFiOWQyMzFmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9tZXNzYWdlLXZzLW1pY3JvdGFzay5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHNjcmlwdD4KKyAgbGV0IGRyYWZ0ID0gW107CisgIHZhciByZXNvbHZlX21hbnVhbF9w
cm9taXNlOworICBsZXQgbWFudWFsX3Byb21pc2UgPQorICAgIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gcmVzb2x2ZV9tYW51YWxfcHJvbWlzZSA9IHJlc29sdmUpLnRoZW4oKCkgPT4gZHJhZnQucHVz
aCgnbWljcm90YXNrJykpOworCisgIGxldCByZXNvbHZlX21lc3NhZ2VfcHJvbWlzZTsKKyAgbGV0
IG1lc3NhZ2VfcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZV9tZXNzYWdl
X3Byb21pc2UgPSByZXNvbHZlKTsKKyAgZnVuY3Rpb24gaGFuZGxlX21lc3NhZ2UoZXZlbnQpIHsK
KyAgICBkcmFmdC5wdXNoKCdtZXNzYWdlJyk7CisgICAgcmVzb2x2ZV9tZXNzYWdlX3Byb21pc2Uo
KTsKKyAgfQorCisgIHZhciByZXN1bHQgPSBQcm9taXNlLmFsbChbbWFudWFsX3Byb21pc2UsIG1l
c3NhZ2VfcHJvbWlzZV0pLnRoZW4oKCkgPT4gZHJhZnQpOworPC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPSJlbXB0eS5qcz9rZXk9c3RhcnQiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL21vZHVsZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvbW9kdWxlLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODVmZTcxMDE1MDNjYjRjN2Nh
NzdlOTVlMDIzNDU5YjI5MjY3NzQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL21vZHVsZS13b3JrZXIuanMKQEAgLTAsMCArMSBAQAoraW1wb3J0ICogYXMg
bW9kdWxlIGZyb20gJy4vaW1wb3J0ZWQtbW9kdWxlLXNjcmlwdC5qcyc7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLWlmcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL211bHRpcGFydC1pbWFnZS1pZnJhbWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNTliOTU1OTRmZjUwNTkxM2U4NTYzNzc0NTllYmEyOGIwMGI4YzZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL211bHRpcGFydC1pbWFn
ZS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8c2NyaXB0PgorZnVuY3Rpb24gbG9hZF9t
dWx0aXBhcnRfaW1hZ2Uoc3JjKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCBy
ZWplY3QpID0+IHsKKyAgICAgICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW1nJyk7CisgICAgICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gcmVzb2x2
ZShpbWcpKTsKKyAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUpID0+IHJl
amVjdChuZXcgRE9NRXhjZXB0aW9uKCdsb2FkIGZhaWxlZCcsICdOZXR3b3JrRXJyb3InKSkpOwor
ICAgICAgICBpbWcuc3JjID0gc3JjOworICAgIH0pOworfQorCitmdW5jdGlvbiBnZXRfaW1hZ2Vf
ZGF0YShpbWcpIHsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdj
YW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7Cisg
ICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgICAvLyBXaGVuIHxpbWcuc3JjfCBp
cyBjcm9zcyBvcmlnaW4sIHRoaXMgc2hvdWxkIHRocm93IGEgU2VjdXJpdHlFcnJvci4KKyAgICBj
b25zdCBpbWFnZURhdGEgPSBjb250ZXh0LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKKyAgICBy
ZXR1cm4gaW1hZ2VEYXRhOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2Utd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzOGZl
NTRkMzRmY2IxZDI3YmMzNTBiY2ZhNzUwMDc0OTc3NzZhMDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdvcmtlci5qcwpAQCAt
MCwwICsxLDIxIEBACitpbXBvcnRTY3JpcHRzKCcvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Jyk7CitpbXBvcnRTY3JpcHRzKCd0ZXN0LWhlbHBlcnMuc3ViLmpzJyk7CisKK2NvbnN0IGhvc3Rf
aW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKworY29uc3QgbXVsdGlwYXJ0X2ltYWdlX3BhdGggPSBi
YXNlX3BhdGgoKSArICdtdWx0aXBhcnQtaW1hZ2UucHknOworY29uc3Qgc2FtZW9yaWdpbl91cmwg
PSBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsgbXVsdGlwYXJ0X2ltYWdlX3BhdGg7Citjb25z
dCBjcm9zc19vcmlnaW5fdXJsID0gaG9zdF9pbmZvWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBt
dWx0aXBhcnRfaW1hZ2VfcGF0aDsKKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGV2
ZW50ID0+IHsKKyAgICBjb25zdCB1cmwgPSBldmVudC5yZXF1ZXN0LnVybDsKKyAgICBpZiAodXJs
LmluZGV4T2YoJ2Nyb3NzLW9yaWdpbi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1uby1jb3JzJykgPj0g
MCkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5fdXJsLCB7
bW9kZTogJ25vLWNvcnMnfSkpOworICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YoJ2Nyb3NzLW9y
aWdpbi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1jb3JzLXJlamVjdGVkJykgPj0gMCkgeworICAgICAg
ICBldmVudC5yZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5fdXJsLCB7bW9kZTogJ2NvcnMn
fSkpOworICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YoJ2Nyb3NzLW9yaWdpbi1tdWx0aXBhcnQt
aW1hZ2Utd2l0aC1jb3JzLWFwcHJvdmVkJykgPj0gMCkgeworICAgICAgICBldmVudC5yZXNwb25k
V2l0aChmZXRjaChjcm9zc19vcmlnaW5fdXJsICsgJz9hcHByb3ZlY29ycycsIHttb2RlOiAnY29y
cyd9KSk7CisgICAgfSBlbHNlIGlmICh1cmwuaW5kZXhPZignc2FtZS1vcmlnaW4tbXVsdGlwYXJ0
LWltYWdlJykgPj0gMCkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChzYW1lb3Jp
Z2luX3VybCkpOworICAgIH0KK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL211bHRpcGFydC1pbWFnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9t
dWx0aXBhcnQtaW1hZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk0ZWUxYzY0ZmQ5YmVjMGJlOTg3OWRmOGE0
YzE2NmU5ZmE1ZTBmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9tdWx0aXBhcnQtaW1hZ2UucHkKQEAgLTAsMCArMSwyMyBAQAorIyBBIHJlcXVlc3QgaGFu
ZGxlciB0aGF0IHNlcnZlcyBhIG11bHRpcGFydCBpbWFnZS4KKworaW1wb3J0IG9zCisKKworQk9V
TkRBUlkgPSAnY3V0SGVyZScKKworCitkZWYgY3JlYXRlX3BhcnQocGF0aCk6CisgICAgd2l0aCBv
cGVuKHBhdGgsICdyYicpIGFzIGY6CisgICAgICAgIHJldHVybiAnQ29udGVudC1UeXBlOiBpbWFn
ZS9wbmdcclxuXHJcbicgKyBmLnJlYWQoKSArICctLSVzJyAlIEJPVU5EQVJZCisKKworZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnRfdHlwZSA9ICdtdWx0aXBhcnQveC1t
aXhlZC1yZXBsYWNlOyBib3VuZGFyeT0lcycgJSBCT1VOREFSWQorICAgIGhlYWRlcnMgPSBbKCdD
b250ZW50LVR5cGUnLCBjb250ZW50X3R5cGUpXQorICAgIGlmICdhcHByb3ZlY29ycycgaW4gcmVx
dWVzdC5HRVQ6CisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgnQWNjZXNzLUNvbnRyb2wtQWxsb3ct
T3JpZ2luJywgJyonKSkKKworICAgIGltYWdlX3BhdGggPSBvcy5wYXRoLmpvaW4ocmVxdWVzdC5k
b2Nfcm9vdCwgJ2ltYWdlcycpCisgICAgYm9keSA9IGNyZWF0ZV9wYXJ0KG9zLnBhdGguam9pbihp
bWFnZV9wYXRoLCAncmVkLnBuZycpKQorICAgIGJvZHkgPSBib2R5ICsgY3JlYXRlX3BhcnQob3Mu
cGF0aC5qb2luKGltYWdlX3BhdGgsICdyZWQtMTZ4MTYucG5nJykpCisgICAgcmV0dXJuIGhlYWRl
cnMsIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0
aW9uLXJlZGlyZWN0LW90aGVyLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3RoZXItb3JpZ2luLmh0bWwKaW5kZXggYTk0ODNjNjUz
NDU3OWFjMmYzNTQ5ZDc5Yzc0ODhmZWVmMTFhNWM2OS4uZDgyNTcxZDFhM2M3MWUyMzI3NDAwOWQx
NDdlNDEwYjEwZmU4ZDI0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L25hdmlnYXRpb24tcmVkaXJlY3Qtb3RoZXItb3JpZ2luLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3RoZXItb3JpZ2luLmh0bWwKQEAg
LTMzLDExICszMywyOCBAQCBmdW5jdGlvbiBzZW5kX3Jlc3VsdChtZXNzYWdlX2lkLCByZXN1bHQp
IHsKICAgICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pOwogfQogCi1mdW5jdGlvbiBnZXRf
aW50ZXJjZXB0ZWRfdXJscyh3b3JrZXIpIHsKK2Z1bmN0aW9uIGdldF9yZXF1ZXN0X2luZm9zKHdv
cmtlcikgeworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgIHZh
ciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1l
c3NhZ2UgPSAobXNnKSA9PiB7CisgICAgICByZXNvbHZlKG1zZy5kYXRhLnJlcXVlc3RJbmZvcyk7
CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe2NvbW1hbmQ6ICdnZXRSZXF1ZXN0SW5m
b3MnLCBwb3J0OiBjaGFubmVsLnBvcnQyfSwKKyAgICAgICAgICAgICAgICAgICAgICAgW2NoYW5u
ZWwucG9ydDJdKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGdldF9jbGllbnRzKHdvcmtlciwgYWN0
dWFsX2lkcykgewogICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAg
ICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIGNoYW5uZWwucG9y
dDEub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7IHJlc29sdmUobXNnLmRhdGEudXJscyk7IH07
Ci0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9ydDJ9LCBbY2hhbm5l
bC5wb3J0Ml0pOworICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSAobXNnKSA9PiB7Cisg
ICAgICAgIHJlc29sdmUobXNnLmRhdGEuY2xpZW50cyk7CisgICAgICB9OworICAgICAgd29ya2Vy
LnBvc3RNZXNzYWdlKHsKKyAgICAgICAgY29tbWFuZDogJ2dldENsaWVudHMnLAorICAgICAgICBh
Y3R1YWxfaWRzLAorICAgICAgICBwb3J0OiBjaGFubmVsLnBvcnQyCisgICAgICB9LCBbY2hhbm5l
bC5wb3J0Ml0pOwogICAgIH0pOwogfQogCkBAIC00OCwxNCArNjUsMjAgQEAgZnVuY3Rpb24gb25f
bWVzc2FnZShlKSB7CiAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCBvcmlnaW46ICcgKyBlLm9y
aWdpbik7CiAgICAgcmV0dXJuOwogICB9Ci0gIGlmIChlLmRhdGEubWVzc2FnZSA9PSAnd2FpdF9m
b3Jfd29ya2VyJykgeworICBjb25zdCBjb21tYW5kID0gZS5kYXRhLm1lc3NhZ2UuY29tbWFuZDsK
KyAgaWYgKGNvbW1hbmQgPT0gJ3dhaXRfZm9yX3dvcmtlcicpIHsKICAgICB3YWl0X2Zvcl93b3Jr
ZXJfcHJvbWlzZS50aGVuKGZ1bmN0aW9uKCkgeyBzZW5kX3Jlc3VsdChlLmRhdGEuaWQsICdvaycp
OyB9KTsKLSAgfSBlbHNlIGlmIChlLmRhdGEubWVzc2FnZSA9PSAnZ2V0X2ludGVyY2VwdGVkX3Vy
bHMnKSB7Ci0gICAgZ2V0X2ludGVyY2VwdGVkX3VybHMod29ya2VyKQotICAgICAgLnRoZW4oZnVu
Y3Rpb24odXJscykgewotICAgICAgICAgIHNlbmRfcmVzdWx0KGUuZGF0YS5pZCwgdXJscyk7Cisg
IH0gZWxzZSBpZiAoY29tbWFuZCA9PSAnZ2V0X3JlcXVlc3RfaW5mb3MnKSB7CisgICAgZ2V0X3Jl
cXVlc3RfaW5mb3Mod29ya2VyKQorICAgICAgLnRoZW4oZnVuY3Rpb24oZGF0YSkgeworICAgICAg
ICAgIHNlbmRfcmVzdWx0KGUuZGF0YS5pZCwgZGF0YSk7CisgICAgICAgIH0pOworICB9IGVsc2Ug
aWYgKGNvbW1hbmQgPT0gJ2dldF9jbGllbnRzJykgeworICAgIGdldF9jbGllbnRzKHdvcmtlciwg
ZS5kYXRhLm1lc3NhZ2UuYWN0dWFsX2lkcykKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGRhdGEpIHsK
KyAgICAgICAgICBzZW5kX3Jlc3VsdChlLmRhdGEuaWQsIGRhdGEpOwogICAgICAgICB9KTsKLSAg
fSBlbHNlIGlmIChlLmRhdGEubWVzc2FnZSA9PSAndW5yZWdpc3RlcicpIHsKKyAgfSBlbHNlIGlm
IChjb21tYW5kID09ICd1bnJlZ2lzdGVyJykgewogICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVy
KCkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgIHNlbmRfcmVzdWx0KGUuZGF0
YS5pZCwgJ29rJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2
aWdhdGlvbi1yZWRpcmVjdC1vdXQtc2NvcGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1vdXQtc2NvcGUucHkKaW5kZXggOTA3Y2VmYTNiMWFmYTk2
YTU1ZDU0OTM1YWQ4MzU3YjIzMjExOGY5Yi4uMTY4NTA3MjNmOTY4ZmQzZmFjNTFhMzNjNmU5ODNj
NGYwMTNhODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmln
YXRpb24tcmVkaXJlY3Qtb3V0LXNjb3BlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW91dC1zY29wZS5weQpAQCAtMTEsMTAgKzExLDEyIEBA
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICByZXR1cm4gc3RhdHVzLCBbKCJjb250
ZW50LXR5cGUiLCAidGV4dC9odG1sIildLCAnJycKIDwhRE9DVFlQRSBodG1sPgogPHNjcmlwdD4K
K29ubWVzc2FnZSA9IGV2ZW50ID0+IHsKICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgKICAg
ICAgIHsKLSAgICAgICAgaWQ6ICdsYXN0X3VybCcsCisgICAgICAgIGlkOiBldmVudC5kYXRhLmlk
LAogICAgICAgICByZXN1bHQ6IGxvY2F0aW9uLmhyZWYKICAgICAgIH0sICcqJyk7Cit9OwogPC9z
Y3JpcHQ+CiAnJycKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZp
Z2F0aW9uLXJlZGlyZWN0LXNjb3BlMS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9u
YXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMS5weQppbmRleCA5MDdjZWZhM2IxYWZhOTZhNTVkNTQ5
MzVhZDgzNTdiMjMyMTE4ZjliLi4xNjg1MDcyM2Y5NjhmZDNmYWM1MWEzM2M2ZTk4M2M0ZjAxM2E4
ODIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi1y
ZWRpcmVjdC1zY29wZTEucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmln
YXRpb24tcmVkaXJlY3Qtc2NvcGUxLnB5CkBAIC0xMSwxMCArMTEsMTIgQEAgZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgogICAgIHJldHVybiBzdGF0dXMsIFsoImNvbnRlbnQtdHlwZSIsICJ0
ZXh0L2h0bWwiKV0sICcnJwogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0Pgorb25tZXNzYWdlID0g
ZXZlbnQgPT4gewogICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKAogICAgICAgewotICAgICAg
ICBpZDogJ2xhc3RfdXJsJywKKyAgICAgICAgaWQ6IGV2ZW50LmRhdGEuaWQsCiAgICAgICAgIHJl
c3VsdDogbG9jYXRpb24uaHJlZgogICAgICAgfSwgJyonKTsKK307CiA8L3NjcmlwdD4KICcnJwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJl
Y3Qtc2NvcGUyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tcmVk
aXJlY3Qtc2NvcGUyLnB5CmluZGV4IDkwN2NlZmEzYjFhZmE5NmE1NWQ1NDkzNWFkODM1N2IyMzIx
MThmOWIuLjE2ODUwNzIzZjk2OGZkM2ZhYzUxYTMzYzZlOTgzYzRmMDEzYTg4MjMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3Bl
Mi5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVj
dC1zY29wZTIucHkKQEAgLTExLDEwICsxMSwxMiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6CiAgICAgcmV0dXJuIHN0YXR1cywgWygiY29udGVudC10eXBlIiwgInRleHQvaHRtbCIpXSwg
JycnCiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Citvbm1lc3NhZ2UgPSBldmVudCA9PiB7CiAg
IHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoCiAgICAgICB7Ci0gICAgICAgIGlkOiAnbGFzdF91
cmwnLAorICAgICAgICBpZDogZXZlbnQuZGF0YS5pZCwKICAgICAgICAgcmVzdWx0OiBsb2NhdGlv
bi5ocmVmCiAgICAgICB9LCAnKicpOworfTsKIDwvc2NyaXB0PgogJycnCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi10aW1pbmctd29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tdGltaW5nLXdvcmtlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44NTM5YjQwMDY2ZGQ5MWJiZmFmN2VmMjQwYjgxMDRkY2IyYWIzYjI3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tdGlt
aW5nLXdvcmtlci5qcwpAQCAtMCwwICsxLDE1IEBACitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2Zl
dGNoJywgKGV2ZW50KSA9PiB7CisgICAgY29uc3QgdXJsID0gZXZlbnQucmVxdWVzdC51cmw7CisK
KyAgICAvLyBOZXR3b3JrIGZhbGxiYWNrLgorICAgIGlmICh1cmwuaW5kZXhPZignbmV0d29yay1m
YWxsYmFjaycpID49IDApIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIERvbid0
IGludGVyY2VwdCByZWRpcmVjdC4KKyAgICBpZiAodXJsLmluZGV4T2YoJ3JlZGlyZWN0LnB5Jykg
Pj0gMCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZXZlbnQucmVzcG9uZFdpdGgo
ZmV0Y2godXJsKSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9uZXN0ZWQtaWZyYW1lLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L25lc3RlZC1pZnJhbWUtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE1YWIyNmUxMjIxMDI0YjMw
MzEzNTY5ZjQ4NDk0MmIxMGY2ZGJhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9uZXN0ZWQtaWZyYW1lLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsNSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1l
c3NhZ2UgPSBldmVudCA9PiBwYXJlbnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSwgJyonLCBldmVu
dC5wb3J0cyk7Cis8L3NjcmlwdD4KKzxpZnJhbWUgaWQ9J2NoaWxkJz48L2lmcmFtZT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uZXN0ZWRfbG9hZF93b3JrZXIuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmVzdGVkX2xvYWRfd29ya2VyLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZlMmU5ZWRjNGQ4YjM1ZTAzZjVhYTRiMjk5NjY4MTJhZGRmNDM0NDQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmVzdGVkX2xvYWRfd29ya2Vy
LmpzCkBAIC0wLDAgKzEsOSBAQAordmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoImxvYWRfd29ya2Vy
LmpzIik7CisKK3NlbGYub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICB3b3JrZXIucG9z
dE1lc3NhZ2UoZXZ0LmRhdGEpOworfTsKKword29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChl
dnQpIHsKKyAgc2VsZi5wb3N0TWVzc2FnZShldnQuZGF0YSk7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWltYWdlLWlzLW5vdC1pbnRlcmNlcHRlZC1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vYmplY3QtaW1hZ2UtaXMt
bm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMjBhNThhYjE2OTA2ZjQy
YjA1ZmQ4MGNjZjIyMDI0ZDU5ZGUyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvb2JqZWN0LWltYWdlLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRt
bApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5pZnJhbWUgZm9yIGVtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRl
ZCB0ZXN0PC90aXRsZT4KKzxib2R5PgorPG9iamVjdCB0eXBlPSJpbWFnZS9wbmciIGRhdGE9Ii9p
bWFnZXMvZ3JlZW4ucG5nIj48L2VtYmVkPgorPHNjcmlwdD4KKy8vIE91ciBwYXJlbnQgKHRoZSBy
b290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxsIGV4YW1pbmUgdGhpcyB0byBnZXQgdGhlIHJlc3Vs
dC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAo
IW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpCisgICAgICByZXNvbHZlKCdGQUlM
OiB0aGlzIGlmcmFtZSBpcyBub3QgY29udHJvbGxlZCcpOworCisgICAgY29uc3QgZWxlbSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpOworICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIGUgPT4geworICAgICAgICByZXNvbHZlKCdyZXF1ZXN0IHdhcyBub3QgaW50ZXJj
ZXB0ZWQnKTsKKyAgICAgIH0pOworICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBl
ID0+IHsKKyAgICAgICAgcmVzb2x2ZSgnRkFJTDogcmVxdWVzdCB3YXMgaW50ZXJjZXB0ZWQnKTsK
KyAgICAgIH0pOworICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL29iamVjdC1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWlzLW5vdC1pbnRlcmNlcHRl
ZC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWViODE5NTFlZGU0OGM2Mjc4MGZlNzIzMDEzYjJh
ZDc3ZmZlMzM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L29iamVjdC1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+aWZyYW1lIGZv
ciBlbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJjZXB0ZWQgdGVzdDwvdGl0bGU+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisvLyBUaGUgT0JKRUNUIGVsZW1lbnQgd2lsbCBjYWxsIHRoaXMgd2l0aCB0
aGUgcmVzdWx0IGFib3V0IHdoZXRoZXIgdGhlIE9CSkVDVAorLy8gcmVxdWVzdCB3YXMgaW50ZXJj
ZXB0ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLgordmFyIHJlcG9ydF9yZXN1bHQ7CisKKy8vIE91
ciBwYXJlbnQgKHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxsIGV4YW1pbmUgdGhpcyB0
byBnZXQgdGhlIHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKKyAgICByZXBvcnRfcmVzdWx0ID0gcmVzb2x2ZTsKKyAgfSk7Cis8L3NjcmlwdD4KKwor
PG9iamVjdCBkYXRhPSJlbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWwiPjwvb2JqZWN0
PgorPC9ib2R5PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcGFz
cy10aHJvdWdoLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLXRo
cm91Z2gtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlYWY0OGQ1ODg3ZDExOWUwMGIwZGI5ZDRhZGI3
YWRhNDJiMzc4NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvcGFzcy10aHJvdWdoLXdvcmtlci5qcwpAQCAtMCwwICsxLDMgQEAKK2FkZEV2ZW50TGlzdGVu
ZXIoJ2ZldGNoJywgZXZ0ID0+IHsKKyAgZXZ0LnJlc3BvbmRXaXRoKGZldGNoKGV2dC5yZXF1ZXN0
KSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYy
MmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bhc3MudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wZXJmb3JtYW5jZS10aW1l
bGluZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcGVyZm9ybWFuY2Ut
dGltZWxpbmUtd29ya2VyLmpzCmluZGV4IDZmN2RmNzVlOTIxNzg2MTA4N2YwNDE5ZTk4NDlkNGJj
NTg5M2FiMjQuLmNhYzMyN2MzNGJmOWRmMTg0OTEzYzU2MWI1ODRiMDM4ZjM1MDRjOTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wZXJmb3JtYW5jZS10aW1lbGluZS13
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3BlcmZvcm1hbmNlLXRp
bWVsaW5lLXdvcmtlci5qcwpAQCAtNDUsMTEgKzQ1LDE1IEBAIHByb21pc2VfdGVzdChmdW5jdGlv
bih0ZXN0KSB7CiAgICAgICAgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkucmVzcG9u
c2VFbmQsIGVudHJ5LnN0YXJ0VGltZSk7CiAgICAgICAgICAgfQogICAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICAgICAgICAgIHBlcmZvcm1hbmNl
Lm9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsID0gcmVzb2x2ZTsKKyAgICAgICAgICAgICAgcGVy
Zm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgPSBfID0+IHsKKyAgICAgICAgICAg
ICAgICByZXNvbHZlKCdidWZmZXJmdWxsJyk7CisgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKGV4cGVjdGVkUmVzb3Vy
Y2VzLmxlbmd0aCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgZmV0Y2goJ2R1bW15
LnR4dCcpOworICAgICAgICAgIH0pOwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7CisgICAgICAudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHJlc3VsdCwgJ2J1ZmZlcmZ1bGwnKTsKICAgICAgICAgICBwZXJmb3JtYW5jZS5jbGVhclJl
c291cmNlVGltaW5ncygpOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5sZW5ndGgsIDApOwogICAgICAgICB9KQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bvc3RtZXNzYWdlLWRpY3Rpb25hcnkt
dHJhbnNmZXJhYmxlcy13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcG9z
dG1lc3NhZ2UtZGljdGlvbmFyeS10cmFuc2ZlcmFibGVzLXdvcmtlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
N2E0NTAwZDc1NGFiMDI0NjVlMTA5ODk5ZTdmMWZmZGMwYmRjYTUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bvc3RtZXNzYWdlLWRpY3Rpb25hcnktdHJh
bnNmZXJhYmxlcy13b3JrZXIuanMKQEAgLTAsMCArMSwyNCBAQAordmFyIG1lc3NhZ2VIYW5kbGVy
ID0gZnVuY3Rpb24ocG9ydCwgZSkgeworICAgIHZhciB0ZXh0X2RlY29kZXIgPSBuZXcgVGV4dERl
Y29kZXI7CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7CisgICAgICBjb250ZW50OiB0ZXh0X2RlY29k
ZXIuZGVjb2RlKGUuZGF0YSksCisgICAgICBieXRlTGVuZ3RoOiBlLmRhdGEuYnl0ZUxlbmd0aAor
ICAgIH0pOworCisgICAgLy8gU2VuZCBiYWNrIHRoZSBhcnJheSBidWZmZXIgdmlhIENsaWVudC5w
b3N0TWVzc2FnZS4KKyAgICBwb3J0LnBvc3RNZXNzYWdlKGUuZGF0YSwge3RyYW5zZmVyOiBbZS5k
YXRhLmJ1ZmZlcl19KTsKKworICAgIHBvcnQucG9zdE1lc3NhZ2UoeworICAgICAgY29udGVudDog
dGV4dF9kZWNvZGVyLmRlY29kZShlLmRhdGEpLAorICAgICAgYnl0ZUxlbmd0aDogZS5kYXRhLmJ5
dGVMZW5ndGgKKyAgICB9KTsKK307CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScs
IGUgPT4geworICAgIGlmIChlLnBvcnRzWzBdKSB7CisgICAgICAvLyBXYWl0IGZvciBtZXNzYWdl
cyBzZW50IHZpYSBNZXNzYWdlUG9ydC4KKyAgICAgIGUucG9ydHNbMF0ub25tZXNzYWdlID0gbWVz
c2FnZUhhbmRsZXIuYmluZChudWxsLCBlLnBvcnRzWzBdKTsKKyAgICAgIHJldHVybjsKKyAgICB9
CisgICAgbWVzc2FnZUhhbmRsZXIoZS5zb3VyY2UsIGUpOworICB9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yYW5nZS1yZXF1ZXN0LXRvLWRpZmZlcmVudC1vcmln
aW5zLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yYW5nZS1yZXF1ZXN0
LXRvLWRpZmZlcmVudC1vcmlnaW5zLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWI2MDU4MzM5MDU4
Zjg1NjcxOTQ4ZTBkOTIwYWI0OTM0MzY3ZDBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3JhbmdlLXJlcXVlc3QtdG8tZGlmZmVyZW50LW9yaWdpbnMtd29y
a2VyLmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8vIFRoaXMgd29ya2VyIGlzIG1lYW50IHRvIHRlc3Qg
cmFuZ2UgcmVxdWVzdHMgd2hlcmUgdGhlIHJlc3BvbnNlcyBjb21lIGZyb20KKy8vIG11bHRpcGxl
IG9yaWdpbnMuIEl0IGZvcndhcmRzIHRoZSBmaXJzdCByZXF1ZXN0IHRvIGEgY3Jvc3Mtb3JpZ2lu
IFVSTAorLy8gKGdlbmVyYXRpbmcgYW4gb3BhcXVlIHJlc3BvbnNlKS4gVGhlIHNlcnZlciBpcyBl
eHBlY3RlZCB0byByZXR1cm4gYSAyMDYKKy8vIFBhcnRpYWwgQ29udGVudCByZXNwb25zZS4gIFRo
ZW4gdGhlIHdvcmtlciBsZXRzIHN1YnNlcXVlbnQgcmFuZ2UgcmVxdWVzdHMKKy8vIGZhbGwgYmFj
ayB0byBuZXR3b3JrIChnZW5lcmF0aW5nIHNhbWUtb3JpZ2luIHJlc3BvbnNlcykuIFRoZSBpbnRl
bnQgaXMgdG8gdHJ5CisvLyB0byB0cmljayB0aGUgYnJvd3NlciBpbnRvIHRyZWF0aW5nIHRoZSBy
ZXNvdXJjZSBhcyBzYW1lLW9yaWdpbi4KKy8vCisvLyBJdCB3b3VsZCBhbHNvIGJlIGludGVyZXN0
aW5nIHRvIGRvIHRoZSByZXZlcnNlIHRlc3Qgd2hlcmUgdGhlIGZpcnN0IHJlcXVlc3QKKy8vIGdv
ZXMgdG8gdGhlIHNhbWUtb3JpZ2luIFVSTCwgYW5kIHN1YnNlcXVlbnQgcmFuZ2UgcmVxdWVzdHMg
Z28gY3Jvc3Mtb3JpZ2luIGluCisvLyAnbm8tY29ycycgbW9kZSB0byByZWNlaXZlIG9wYXF1ZSBy
ZXNwb25zZXMuIEJ1dCB0aGUgc2VydmljZSB3b3JrZXIgY2Fubm90IGRvCisvLyB0aGlzLCBiZWNh
dXNlIGluICduby1jb3JzJyBtb2RlIHRoZSAncmFuZ2UnIEhUVFAgaGVhZGVyIGlzIGRpc2FsbG93
ZWQuCisKK2ltcG9ydFNjcmlwdHMoJy9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMnKQorCits
ZXQgaW5pdGlhbCA9IHRydWU7CitmdW5jdGlvbiBpc19pbml0aWFsX3JlcXVlc3QoKSB7CisgIGNv
bnN0IG9sZCA9IGluaXRpYWw7CisgIGluaXRpYWwgPSBmYWxzZTsKKyAgcmV0dXJuIG9sZDsKK30K
Kworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGUgPT4geworICAgIGNvbnN0IHVybCA9
IG5ldyBVUkwoZS5yZXF1ZXN0LnVybCk7CisgICAgaWYgKHVybC5zZWFyY2guaW5kZXhPZignVklE
RU8nKSA9PSAtMSkgeworICAgICAgLy8gRmFsbCBiYWNrIGZvciBub24tdmlkZW8uCisgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gTWFrZSB0aGUgZmlyc3QgcmVxdWVzdCBnbyBjcm9zcy1v
cmlnaW4uCisgICAgaWYgKGlzX2luaXRpYWxfcmVxdWVzdCgpKSB7CisgICAgICBjb25zdCBjcm9z
c19vcmlnaW5fdXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4gKworICAg
ICAgICAgIHVybC5wYXRobmFtZSArIHVybC5zZWFyY2g7CisgICAgICBjb25zdCBjcm9zc19vcmln
aW5fcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KGNyb3NzX29yaWdpbl91cmwsCisgICAgICAgICAge21v
ZGU6ICduby1jb3JzJywgaGVhZGVyczogZS5yZXF1ZXN0LmhlYWRlcnN9KTsKKyAgICAgIGUucmVz
cG9uZFdpdGgoZmV0Y2goY3Jvc3Nfb3JpZ2luX3JlcXVlc3QpKTsKKyAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICAvLyBGYWxsIGJhY2sgdG8gc2FtZSBvcmlnaW4gZm9yIHN1YnNlcXVlbnQgcmFu
Z2UgcmVxdWVzdHMuCisgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3JhbmdlLXJlcXVlc3Qtd2l0aC1kaWZmZXJlbnQtY29ycy1tb2Rlcy13b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmFuZ2UtcmVxdWVzdC13aXRoLWRpZmZlcmVudC1j
b3JzLW1vZGVzLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTgwYjBiNjhhOTVlNzQyOWFkZWM5ZTM3
ZTE4MGEwNmI1M2NhMTVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3JhbmdlLXJlcXVlc3Qtd2l0aC1kaWZmZXJlbnQtY29ycy1tb2Rlcy13b3JrZXIuanMK
QEAgLTAsMCArMSw2MCBAQAorLy8gVGhpcyB3b3JrZXIgaXMgbWVhbnQgdG8gdGVzdCByYW5nZSBy
ZXF1ZXN0cyB3aGVyZSB0aGUgcmVzcG9uc2VzIGFyZSBhIG1peCBvZgorLy8gb3BhcXVlIG9uZXMg
YW5kIG5vbi1vcGFxdWUgb25lcy4gSXQgZm9yd2FyZHMgdGhlIGZpcnN0IHJlcXVlc3QgdG8gYQor
Ly8gY3Jvc3Mtb3JpZ2luIFVSTCAoZ2VuZXJhdGluZyBhbiBvcGFxdWUgcmVzcG9uc2UpLiBUaGUg
c2VydmVyIGlzIGV4cGVjdGVkIHRvCisvLyByZXR1cm4gYSAyMDYgUGFydGlhbCBDb250ZW50IHJl
c3BvbnNlLiAgVGhlbiB0aGUgd29ya2VyIGZvcndhcmRzIHN1YnNlcXVlbnQKKy8vIHJhbmdlIHJl
cXVlc3RzIHRvIHRoYXQgVVJMLCB3aXRoIENPUlMgc2hhcmluZyBnZW5lcmF0aW5nIGEgbm9uLW9w
YXF1ZQorLy8gcmVzcG9uc2VzLiBUaGUgaW50ZW50IGlzIHRvIHRyeSB0byB0cmljayB0aGUgYnJv
d3NlciBpbnRvIHRyZWF0aW5nIHRoZQorLy8gcmVzb3VyY2UgYXMgbm9uLW9wYXF1ZS4KKy8vCisv
LyBJdCB3b3VsZCBhbHNvIGJlIGludGVyZXN0aW5nIHRvIGRvIHRoZSByZXZlcnNlIHRlc3Qgd2hl
cmUgdGhlIGZpcnN0IHJlcXVlc3QKKy8vIHVzZXMgJ2NvcnMnLCBhbmQgc3Vic2VxdWVudCByYW5n
ZSByZXF1ZXN0cyB1c2UgJ25vLWNvcnMnIG1vZGUuIEJ1dCB0aGUKKy8vIHNlcnZpY2Ugd29ya2Vy
IGNhbm5vdCBkbyB0aGlzLCBiZWNhdXNlIGluICduby1jb3JzJyBtb2RlIHRoZSAncmFuZ2UnIEhU
VFAKKy8vIGhlYWRlciBpcyBkaXNhbGxvd2VkLgorCitpbXBvcnRTY3JpcHRzKCcvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzJykKKworbGV0IGluaXRpYWwgPSB0cnVlOworZnVuY3Rpb24gaXNf
aW5pdGlhbF9yZXF1ZXN0KCkgeworICBjb25zdCBvbGQgPSBpbml0aWFsOworICBpbml0aWFsID0g
ZmFsc2U7CisgIHJldHVybiBvbGQ7Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gn
LCBlID0+IHsKKyAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGUucmVxdWVzdC51cmwpOworICAgIGlm
ICh1cmwuc2VhcmNoLmluZGV4T2YoJ1ZJREVPJykgPT0gLTEpIHsKKyAgICAgIC8vIEZhbGwgYmFj
ayBmb3Igbm9uLXZpZGVvLgorICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBjcm9zc19v
cmlnaW5fdXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4gKworICAgICAg
ICB1cmwucGF0aG5hbWUgKyB1cmwuc2VhcmNoOworCisgICAgLy8gVGhlIGZpcnN0IHJlcXVlc3Qg
aXMgbm8tY29ycy4KKyAgICBpZiAoaXNfaW5pdGlhbF9yZXF1ZXN0KCkpIHsKKyAgICAgIGNvbnN0
IGluaXQgPSB7IG1vZGU6ICduby1jb3JzJywgaGVhZGVyczogZS5yZXF1ZXN0LmhlYWRlcnMgfTsK
KyAgICAgIGNvbnN0IGNyb3NzX29yaWdpbl9yZXF1ZXN0ID0gbmV3IFJlcXVlc3QoY3Jvc3Nfb3Jp
Z2luX3VybCwgaW5pdCk7CisgICAgICBlLnJlc3BvbmRXaXRoKGZldGNoKGNyb3NzX29yaWdpbl9y
ZXF1ZXN0KSk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gU3Vic2VxdWVudCByYW5n
ZSByZXF1ZXN0cyBhcmUgY29ycy4KKworICAgIC8vIENvcHkgaGVhZGVycyBuZWVkZWQgZm9yIHJh
bmdlIHJlcXVlc3RzLgorICAgIGxldCBteV9oZWFkZXJzID0gbmV3IEhlYWRlcnM7CisgICAgaWYg
KGUucmVxdWVzdC5oZWFkZXJzLmdldCgnYWNjZXB0JykpCisgICAgICBteV9oZWFkZXJzLmFwcGVu
ZCgnYWNjZXB0JywgZS5yZXF1ZXN0LmhlYWRlcnMuZ2V0KCdhY2NlcHQnKSk7CisgICAgaWYgKGUu
cmVxdWVzdC5oZWFkZXJzLmdldCgncmFuZ2UnKSkKKyAgICBteV9oZWFkZXJzLmFwcGVuZCgncmFu
Z2UnLCBlLnJlcXVlc3QuaGVhZGVycy5nZXQoJ3JhbmdlJykpOworCisgICAgLy8gQWRkICZBQ0FP
cmlnaW4gdG8gYWxsb3cgQ09SUy4KKyAgICBjcm9zc19vcmlnaW5fdXJsICs9ICcmQUNBT3JpZ2lu
PScgKyBnZXRfaG9zdF9pbmZvKCkuSFRUUFNfT1JJR0lOOworICAgIC8vIEFkZCAmQUNBSGVhZGVy
cyB0byBhbGxvdyByYW5nZSByZXF1ZXN0cy4KKyAgICBjcm9zc19vcmlnaW5fdXJsICs9ICcmQUNB
SGVhZGVycz1hY2NlcHQscmFuZ2UnOworCisgICAgLy8gTWFrZSB0aGUgQ09SUyByZXF1ZXN0Lgor
ICAgIGNvbnN0IGluaXQgPSB7IG1vZGU6ICdjb3JzJywgaGVhZGVyczogbXlfaGVhZGVycyB9Owor
ICAgIGNvbnN0IGNyb3NzX29yaWdpbl9yZXF1ZXN0ID0gbmV3IFJlcXVlc3QoY3Jvc3Nfb3JpZ2lu
X3VybCwgaW5pdCk7CisgICAgZS5yZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5fcmVxdWVz
dCkpOworICB9KTsKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jl
ZGlyZWN0LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRpcmVjdC13
b3JrZXIuanMKaW5kZXggN2U1ZWFkMTk0MTllMmM5YmRmNmJmMjIzZWM4NGU2OTJlNTdjOGZlMi4u
ZGRjYzJjZjU0Nzg5NDIyOTJkYzhjNWUzMGQxNTZkYzQyODg2MzY1ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXdvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVkaXJlY3Qtd29ya2VyLmpzCkBAIC01LDIwICs1LDgwIEBA
IHZhciBjYWNoZU5hbWUgPSAndXJscy0nICsgc2VsZi5yZWdpc3RyYXRpb24uc2NvcGU7CiAKIHZh
ciB3YWl0VW50aWxQcm9taXNlTGlzdCA9IFtdOwogCi1zZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21l
c3NhZ2UnLCBmdW5jdGlvbihldmVudCkgewotICAgIHZhciB1cmxzOwotICAgIGV2ZW50LndhaXRV
bnRpbChQcm9taXNlLmFsbCh3YWl0VW50aWxQcm9taXNlTGlzdCkudGhlbihmdW5jdGlvbigpIHsK
LSAgICAgIHdhaXRVbnRpbFByb21pc2VMaXN0ID0gW107Ci0gICAgICByZXR1cm4gY2FjaGVzLm9w
ZW4oY2FjaGVOYW1lKTsKLSAgICB9KS50aGVuKGZ1bmN0aW9uKGNhY2hlKSB7Ci0gICAgICByZXR1
cm4gY2FjaGUua2V5cygpOwotICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVxdWVzdExpc3QpIHsKLSAg
ICAgIHVybHMgPSByZXF1ZXN0TGlzdC5tYXAoZnVuY3Rpb24ocmVxdWVzdCkgeyByZXR1cm4gcmVx
dWVzdC51cmw7IH0pOwotICAgICAgcmV0dXJuIGNhY2hlcy5kZWxldGUoY2FjaGVOYW1lKTsKLSAg
ICB9KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgZXZlbnQuZGF0YS5wb3J0LnBvc3RNZXNzYWdl
KHt1cmxzOiB1cmxzfSk7Ci0gICAgfSkpOwotICB9KTsKKy8vIFNlbmRzIHRoZSByZXF1ZXN0cyBz
ZWVuIGJ5IHRoaXMgd29ya2VyLiBUaGUgb3V0cHV0IGlzOgorLy8geworLy8gICByZXF1ZXN0SW5m
b3M6IFsKKy8vICAgICB7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZDogaWQxfSwKKy8vICAg
ICB7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZDogaWQyfSwKKy8vICAgXQorLy8gfQorYXN5
bmMgZnVuY3Rpb24gZ2V0UmVxdWVzdEluZm9zKGV2ZW50KSB7CisgIC8vIFdhaXQgZm9yIGZldGNo
IGV2ZW50cyB0byBmaW5pc2guCisgIGF3YWl0IFByb21pc2UuYWxsKHdhaXRVbnRpbFByb21pc2VM
aXN0KTsKKyAgd2FpdFVudGlsUHJvbWlzZUxpc3QgPSBbXTsKKworICAvLyBHZW5lcmF0ZSB0aGUg
bWVzc2FnZS4KKyAgY29uc3QgY2FjaGUgPSBhd2FpdCBjYWNoZXMub3BlbihjYWNoZU5hbWUpOwor
ICBjb25zdCByZXF1ZXN0TGlzdCA9IGF3YWl0IGNhY2hlLmtleXMoKTsKKyAgY29uc3QgcmVxdWVz
dEluZm9zID0gW107CisgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVxdWVzdExpc3QubGVuZ3RoOyBp
KyspIHsKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNhY2hlLm1hdGNoKHJlcXVlc3RMaXN0
W2ldKTsKKyAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpOworICAgIHJlcXVl
c3RJbmZvc1tpXSA9IHsKKyAgICAgIHVybDogcmVxdWVzdExpc3RbaV0udXJsLAorICAgICAgcmVz
dWx0aW5nQ2xpZW50SWQ6IGJvZHkucmVzdWx0aW5nQ2xpZW50SWQKKyAgICB9OworICB9CisgIGF3
YWl0IGNhY2hlcy5kZWxldGUoY2FjaGVOYW1lKTsKKworICBldmVudC5kYXRhLnBvcnQucG9zdE1l
c3NhZ2Uoe3JlcXVlc3RJbmZvc30pOworfQorCisvLyBTZW5kcyB0aGUgcmVzdWx0cyBvZiBjbGll
bnRzLmdldChpZCkgZnJvbSB0aGlzIHdvcmtlci4gVGhlCisvLyBpbnB1dCBpczoKKy8vIHsKKy8v
ICAgYWN0dWFsX2lkczoge2E6IGlkMSwgYjogaWQyLCB4OiBpZDN9CisvLyB9CisvLworLy8gVGhl
IG91dHB1dCBpczoKKy8vIHsKKy8vICAgY2xpZW50czogeworLy8gICAgIGE6IHtmb3VuZDogZmFs
c2V9LAorLy8gICAgIGI6IHtmb3VuZDogZmFsc2V9LAorLy8gICAgIHg6IHsKKy8vICAgICAgIGlk
OiBpZDMsCisvLyAgICAgICB1cmw6IHVybDEsCisvLyAgICAgICBmb3VuZDogdHJ1ZQorLy8gICAg
fQorLy8gICB9CisvLyB9Cithc3luYyBmdW5jdGlvbiBnZXRDbGllbnRzKGV2ZW50KSB7CisgIC8v
IHxhY3R1YWxfaWRzfCBpcyBsaWtlOgorICAvLyB7YTogaWQxLCBiOiBpZDIsIHg6IGlkM30KKyAg
Y29uc3QgYWN0dWFsX2lkcyA9IGV2ZW50LmRhdGEuYWN0dWFsX2lkczsKKyAgY29uc3QgcmVzdWx0
ID0ge30KKyAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKGFjdHVhbF9pZHMpKSB7CisgICAg
Y29uc3QgaWQgPSBhY3R1YWxfaWRzW2tleV07CisgICAgY29uc3QgY2xpZW50ID0gYXdhaXQgc2Vs
Zi5jbGllbnRzLmdldChpZCk7CisgICAgaWYgKGNsaWVudCA9PT0gdW5kZWZpbmVkKQorICAgICAg
cmVzdWx0W2tleV0gPSB7Zm91bmQ6IGZhbHNlfTsKKyAgICBlbHNlCisgICAgICByZXN1bHRba2V5
XSA9IHtmb3VuZDogdHJ1ZSwgdXJsOiBjbGllbnQudXJsLCBpZDogY2xpZW50LmlkfTsKKyAgfQor
ICBldmVudC5kYXRhLnBvcnQucG9zdE1lc3NhZ2Uoe2NsaWVudHM6IHJlc3VsdH0pOworfQorCitz
ZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3luYyBmdW5jdGlvbihldmVudCkgewor
ICBpZiAoZXZlbnQuZGF0YS5jb21tYW5kID09ICdnZXRSZXF1ZXN0SW5mb3MnKSB7CisgICAgZXZl
bnQud2FpdFVudGlsKGdldFJlcXVlc3RJbmZvcyhldmVudCkpOworICAgIHJldHVybjsKKyAgfQor
CisgIGlmIChldmVudC5kYXRhLmNvbW1hbmQgPT0gJ2dldENsaWVudHMnKSB7CisgICAgZXZlbnQu
d2FpdFVudGlsKGdldENsaWVudHMoZXZlbnQpKTsKKyAgICByZXR1cm47CisgIH0KK30pOwogCiBm
dW5jdGlvbiBnZXRfcXVlcnlfcGFyYW1zKHVybCkgewogICB2YXIgc2VhcmNoID0gKG5ldyBVUkwo
dXJsKSkuc2VhcmNoOwpAQCAtMzYsNyArOTYsMTEgQEAgZnVuY3Rpb24gZ2V0X3F1ZXJ5X3BhcmFt
cyh1cmwpIHsKIAogc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGZ1bmN0aW9uKGV2ZW50
KSB7CiAgICAgdmFyIHdhaXRVbnRpbFByb21pc2UgPSBjYWNoZXMub3BlbihjYWNoZU5hbWUpLnRo
ZW4oZnVuY3Rpb24oY2FjaGUpIHsKLSAgICAgIHJldHVybiBjYWNoZS5wdXQoZXZlbnQucmVxdWVz
dCwgbmV3IFJlc3BvbnNlKCkpOworICAgICAgY29uc3QgcmVzcG9uc2VCb2R5ID0ge307CisgICAg
ICByZXNwb25zZUJvZHlbJ3Jlc3VsdGluZ0NsaWVudElkJ10gPSBldmVudC5yZXN1bHRpbmdDbGll
bnRJZDsKKyAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7J0NvbnRlbnQtVHlwZSc6
ICdhcHBsaWNhdGlvbi9qc29uJ30pOworICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9u
c2UoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VCb2R5KSwge2hlYWRlcnN9KTsKKyAgICAgIHJldHVy
biBjYWNoZS5wdXQoZXZlbnQucmVxdWVzdCwgcmVzcG9uc2UpOwogICAgIH0pOwogICAgIGV2ZW50
LndhaXRVbnRpbCh3YWl0VW50aWxQcm9taXNlKTsKIApAQCAtNTAsMjggKzExNCwyNSBAQCBzZWxm
LmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBldmVudC5yZXNwb25kV2l0aCh3YWl0VW50aWxQcm9taXNlLnRoZW4o
ZnVuY3Rpb24oKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgod2FpdFVudGlsUHJvbWlzZS50aGVu
KGFzeW5jICgpID0+IHsKICAgICAgIGlmIChwYXJhbXNbJ3N3J10gPT0gJ2dlbicpIHsKICAgICAg
ICAgcmV0dXJuIFJlc3BvbnNlLnJlZGlyZWN0KHBhcmFtc1sndXJsJ10pOwogICAgICAgfSBlbHNl
IGlmIChwYXJhbXNbJ3N3J10gPT0gJ2ZldGNoJykgewogICAgICAgICByZXR1cm4gZmV0Y2goZXZl
bnQucmVxdWVzdCk7CisgICAgICB9IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnZmV0Y2gtdXJs
JykgeworICAgICAgICByZXR1cm4gZmV0Y2gocGFyYW1zWyd1cmwnXSk7CiAgICAgICB9IGVsc2Ug
aWYgKHBhcmFtc1snc3cnXSA9PSAnZm9sbG93JykgewogICAgICAgICByZXR1cm4gZmV0Y2gobmV3
IFJlcXVlc3QoZXZlbnQucmVxdWVzdC51cmwsIHtyZWRpcmVjdDogJ2ZvbGxvdyd9KSk7CiAgICAg
ICB9IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnbWFudWFsJykgewogICAgICAgICByZXR1cm4g
ZmV0Y2gobmV3IFJlcXVlc3QoZXZlbnQucmVxdWVzdC51cmwsIHtyZWRpcmVjdDogJ21hbnVhbCd9
KSk7CiAgICAgICB9IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnbWFudWFsVGhyb3VnaENhY2hl
JykgewotICAgICAgICB2YXIgdXJsID0gZXZlbnQucmVxdWVzdC51cmw7Ci0gICAgICAgIHZhciBj
YWNoZTsKLSAgICAgICAgcmV0dXJuIGNhY2hlcy5kZWxldGUodXJsKQotICAgICAgICAgIC50aGVu
KGZ1bmN0aW9uKCkgeyByZXR1cm4gc2VsZi5jYWNoZXMub3Blbih1cmwpOyB9KQotICAgICAgICAg
IC50aGVuKGZ1bmN0aW9uKGMpIHsKLSAgICAgICAgICAgIGNhY2hlID0gYzsKLSAgICAgICAgICAg
IHJldHVybiBmZXRjaChuZXcgUmVxdWVzdCh1cmwsIHtyZWRpcmVjdDogJ21hbnVhbCd9KSk7Ci0g
ICAgICAgICAgfSkKLSAgICAgICAgICAudGhlbihmdW5jdGlvbihyZXMpIHsgcmV0dXJuIGNhY2hl
LnB1dChldmVudC5yZXF1ZXN0LCByZXMpOyB9KQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkg
eyByZXR1cm4gY2FjaGUubWF0Y2godXJsKTsgfSk7CisgICAgICAgIGNvbnN0IHVybCA9IGV2ZW50
LnJlcXVlc3QudXJsOworICAgICAgICBhd2FpdCBjYWNoZXMuZGVsZXRlKHVybCkKKyAgICAgICAg
Y29uc3QgY2FjaGUgPSBhd2FpdCBzZWxmLmNhY2hlcy5vcGVuKHVybCk7CisgICAgICAgIGNvbnN0
IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2gobmV3IFJlcXVlc3QodXJsLCB7cmVkaXJlY3Q6ICdtYW51
YWwnfSkpOworICAgICAgICBhd2FpdCBjYWNoZS5wdXQoZXZlbnQucmVxdWVzdCwgcmVzcG9uc2Up
OworICAgICAgICByZXR1cm4gY2FjaGUubWF0Y2godXJsKTsKICAgICAgIH0KLQogICAgICAgLy8g
dW5leHBlY3RlZC4uLiB0cmlnZ2VyIGFuIGludGVyY2VwdGlvbiBmYWlsdXJlCiAgICAgfSkpOwog
ICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRp
b24tdGVzdHMtbWltZS10eXBlcy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdp
c3RyYXRpb24tdGVzdHMtbWltZS10eXBlcy5qcwppbmRleCAxYjhlYTliZTAwOGNlM2NmNDU5N2Fh
YTdlM2NhNmRkNjgwYWJkZDBiLi4zZTQ4NTliOGIzOWIwOTU1ZTZjNTE1ZDM2N2UyZTdkNDRjNGYz
YTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9u
LXRlc3RzLW1pbWUtdHlwZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jl
Z2lzdHJhdGlvbi10ZXN0cy1taW1lLXR5cGVzLmpzCkBAIC0yMSwxMSArMjEsMjEgQEAgZnVuY3Rp
b24gcmVnaXN0cmF0aW9uX3Rlc3RzX21pbWVfdHlwZXMocmVnaXN0ZXJfbWV0aG9kLCBjaGVja19l
cnJvcl90eXBlcykgewogICAgICAgICAgICdSZWdpc3RyYXRpb24gb2YgcGxhaW4gdGV4dCBzY3Jp
cHQgc2hvdWxkIGZhaWwuJyk7CiAgICAgfSwgJ1JlZ2lzdGVyaW5nIHNjcmlwdCB3aXRoIGJhZCBN
SU1FIHR5cGUnKTsKIAorICAvKioKKyAgICogU2VydmljZVdvcmtlckNvbnRhaW5lci5yZWdpc3Rl
cigpIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciwgYWNjb3JkaW5nIHRvCisgICAqIHN0ZXAgMTcu
MSBvZiBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jaW1wb3J0c2NyaXB0cwor
ICAgKgorICAgKiAiWzE3XSBJZiBhbiB1bmNhdWdodCBydW50aW1lIHNjcmlwdCBlcnJvciBvY2N1
cnMgZHVyaW5nIHRoZSBhYm92ZSBzdGVwLCB0aGVuOgorICAgKiAgWzE3LjFdIEludm9rZSBSZWpl
Y3QgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIFR5cGVFcnJvciIKKyAgICoKKyAgICogKFdoZXJl
IHRoZSAidW5jYXVnaHQgcnVudGltZSBzY3JpcHQgZXJyb3IiIGlzIHRocm93biBieSBhbiB1bnN1
Y2Nlc3NmdWwKKyAgICogaW1wb3J0U2NyaXB0cygpKQorICAgKi8KICAgcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKICAgICAgIHZhciBzY3JpcHQgPSAncmVzb3VyY2VzL2ltcG9ydC1taW1lLXR5
cGUtd29ya2VyLnB5JzsKICAgICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvbm8tbWlt
ZS10eXBlLXdvcmtlci8nOwogICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAotICAgICAg
ICAgIGNoZWNrX2Vycm9yX3R5cGVzID8gJ1NlY3VyaXR5RXJyb3InIDogbnVsbCwKKyAgICAgICAg
ICBjaGVja19lcnJvcl90eXBlcyA/IG5ldyBUeXBlRXJyb3IoKSA6IG51bGwsCiAgICAgICAgICAg
cmVnaXN0ZXJfbWV0aG9kKHNjcmlwdCwge3Njb3BlOiBzY29wZX0pLAogICAgICAgICAgICdSZWdp
c3RyYXRpb24gb2Ygbm8gTUlNRSB0eXBlIGltcG9ydGVkIHNjcmlwdCBzaG91bGQgZmFpbC4nKTsK
ICAgICB9LCAnUmVnaXN0ZXJpbmcgc2NyaXB0IHRoYXQgaW1wb3J0cyBzY3JpcHQgd2l0aCBubyBN
SU1FIHR5cGUnKTsKQEAgLTM0LDcgKzQ0LDcgQEAgZnVuY3Rpb24gcmVnaXN0cmF0aW9uX3Rlc3Rz
X21pbWVfdHlwZXMocmVnaXN0ZXJfbWV0aG9kLCBjaGVja19lcnJvcl90eXBlcykgewogICAgICAg
dmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvaW1wb3J0LW1pbWUtdHlwZS13b3JrZXIucHk/bWltZT10
ZXh0L3BsYWluJzsKICAgICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvYmFkLW1pbWUt
dHlwZS13b3JrZXIvJzsKICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwKLSAgICAgICAg
ICBjaGVja19lcnJvcl90eXBlcyA/ICdTZWN1cml0eUVycm9yJyA6IG51bGwsCisgICAgICAgICAg
Y2hlY2tfZXJyb3JfdHlwZXMgPyBuZXcgVHlwZUVycm9yKCkgOiBudWxsLAogICAgICAgICAgIHJl
Z2lzdGVyX21ldGhvZChzY3JpcHQsIHtzY29wZTogc2NvcGV9KSwKICAgICAgICAgICAnUmVnaXN0
cmF0aW9uIG9mIHBsYWluIHRleHQgaW1wb3J0ZWQgc2NyaXB0IHNob3VsZCBmYWlsLicpOwogICAg
IH0sICdSZWdpc3RlcmluZyBzY3JpcHQgdGhhdCBpbXBvcnRzIHNjcmlwdCB3aXRoIGJhZCBNSU1F
IHR5cGUnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3Ry
YXRpb24tdGVzdHMtc2NvcGUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0
cmF0aW9uLXRlc3RzLXNjb3BlLmpzCmluZGV4IDUxYjBhYjRhZDUxYTNjMGEyYTdiNjgzNDEzY2E2
YWViYTdlYzYxOTEuLjZjMDk3YWQ4ZDFmOGI4ZjlhNGZlOTVmN2M2ZWJkMDRlZGI1Y2ZkOWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24tdGVzdHMt
c2NvcGUuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJhdGlvbi10
ZXN0cy1zY29wZS5qcwpAQCAtOTQsOSArOTQsOSBAQCBmdW5jdGlvbiByZWdpc3RyYXRpb25fdGVz
dHNfc2NvcGUocmVnaXN0ZXJfbWV0aG9kLCBjaGVja19lcnJvcl90eXBlcykgewogICAgICAgdmFy
IHNjcmlwdCA9ICdyZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzJzsKICAgICAgIHZhciBzY29wZSA9
ICdmaWxlc3lzdGVtOicgKyBub3JtYWxpemVVUkwoJ3Jlc291cmNlcy9zY29wZS9maWxlc3lzdGVt
LXNjb3BlLXVybCcpOwogICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAotICAgICAgICAg
IGNoZWNrX2Vycm9yX3R5cGVzID8gJ1NlY3VyaXR5RXJyb3InIDogbnVsbCwKKyAgICAgICAgICBj
aGVja19lcnJvcl90eXBlcyA/IG5ldyBUeXBlRXJyb3IgOiBudWxsLAogICAgICAgICAgIHJlZ2lz
dGVyX21ldGhvZChzY3JpcHQsIHtzY29wZTogc2NvcGV9KSwKICAgICAgICAgICAnUmVnaXN0ZXJp
bmcgd2l0aCB0aGUgc2NvcGUgdGhhdCBoYXMgc2FtZS1vcmlnaW4gZmlsZXN5c3RlbTogVVJMICcg
KwotICAgICAgICAgICAgICAnc2hvdWxkIGZhaWwgd2l0aCBTZWN1cml0eUVycm9yLicpOworICAg
ICAgICAgICAgICAnc2hvdWxkIGZhaWwgd2l0aCBUeXBlRXJyb3IuJyk7CiAgICAgfSwgJ1Njb3Bl
IFVSTCBpcyBzYW1lLW9yaWdpbiBmaWxlc3lzdGVtOiBVUkwnKTsKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24tdGVzdHMtc2NyaXB0LXVybC5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24tdGVzdHMtc2NyaXB0
LXVybC5qcwppbmRleCA4ZDc3N2E4MzA5OWQ1NGIzMGJlZTZiOWY3OGRlNmZjMzVkOGMzZjI5Li4w
ZGM1YWYxNmQzMGI3Yjg0NjM3NjJlNmY4OGMwMjU1ZGU4NTE3MDFmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXRlc3RzLXNjcmlwdC11cmwuanMK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJhdGlvbi10ZXN0cy1zY3Jp
cHQtdXJsLmpzCkBAIC0zNiw2ICszNiwxNSBAQCBmdW5jdGlvbiByZWdpc3RyYXRpb25fdGVzdHNf
c2NyaXB0X3VybChyZWdpc3Rlcl9tZXRob2QsIGNoZWNrX2Vycm9yX3R5cGVzKSB7CiAgICAgICAg
ICAgJ1VSTC1lbmNvZGVkIGJhY2tzbGFzaCBpbiB0aGUgc2NyaXB0IFVSTCBzaG91bGQgYmUgcmVq
ZWN0ZWQuJyk7CiAgICAgfSwgJ1NjcmlwdCBVUkwgaW5jbHVkaW5nIHVwcGVyY2FzZSBVUkwtZW5j
b2RlZCBiYWNrc2xhc2gnKTsKIAorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAg
dmFyIHNjcmlwdCA9ICdkYXRhOmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsJzsKKyAgICAgIHZhciBz
Y29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvZGF0YS11cmwtaW4tc2NyaXB0LXVybCc7CisgICAgICBy
ZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsCisgICAgICAgICAgY2hlY2tfZXJyb3JfdHlwZXMgPyBu
ZXcgVHlwZUVycm9yIDogbnVsbCwKKyAgICAgICAgICByZWdpc3Rlcl9tZXRob2Qoc2NyaXB0LCB7
c2NvcGU6IHNjb3BlfSksCisgICAgICAgICAgJ0RhdGEgVVJMcyBzaG91bGQgbm90IGJlIHJlZ2lz
dGVyZWQgYXMgc2VydmljZSB3b3JrZXJzLicpOworICAgIH0sICdTY3JpcHQgVVJMIGlzIGEgZGF0
YSBVUkwnKTsKKwogICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgdmFyIHNjcmlw
dCA9ICdyZXNvdXJjZXMvLi8uL2VtcHR5LXdvcmtlci5qcyc7CiAgICAgICB2YXIgc2NvcGUgPSAn
cmVzb3VyY2VzL3Njb3BlL3BhcmVudC1yZWZlcmVuY2UtaW4tc2NyaXB0LXVybCc7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXRlc3RzLXNlY3Vy
aXR5LWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJhdGlvbi10
ZXN0cy1zZWN1cml0eS1lcnJvci5qcwppbmRleCBjOThjNGI5NDQwYjI3ZTA3NDgzZGMwODY2OWFl
OGNmMDhkZWQ4MWJlLi5hNzJkM2JhYzI5MWM2ZjQyYWNmMjY0OTI2Yjg1OGEwZjM5NjRlZDQyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXRlc3Rz
LXNlY3VyaXR5LWVycm9yLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdp
c3RyYXRpb24tdGVzdHMtc2VjdXJpdHktZXJyb3IuanMKQEAgLTQwLDcgKzQwLDcgQEAgZnVuY3Rp
b24gcmVnaXN0cmF0aW9uX3Rlc3RzX3NlY3VyaXR5X2Vycm9yKHJlZ2lzdGVyX21ldGhvZCwgY2hl
Y2tfZXJyb3JfdHlwZXMpIHsKIAogICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAg
dmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvcmVkaXJlY3QucHk/UmVkaXJlY3Q9JyArCi0gICAgICAg
ICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudCgnL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXdvcmtlci5qcycpOworICAgICAgICAgICAg
ICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoJy9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXdvcmtl
ci5qcycpOwogICAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZWRpcmVjdC8nOwog
ICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAogICAgICAgICAgIGNoZWNrX2Vycm9yX3R5
cGVzID8gJ1NlY3VyaXR5RXJyb3InIDogbnVsbCwKQEAgLTcwLDkgKzcwLDkgQEAgZnVuY3Rpb24g
cmVnaXN0cmF0aW9uX3Rlc3RzX3NlY3VyaXR5X2Vycm9yKHJlZ2lzdGVyX21ldGhvZCwgY2hlY2tf
ZXJyb3JfdHlwZXMpIHsKICAgICAgIHZhciBzY3JpcHQgPSAnZmlsZXN5c3RlbTonICsgbm9ybWFs
aXplVVJMKCdyZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzJyk7CiAgICAgICB2YXIgc2NvcGUgPSAn
cmVzb3VyY2VzL3Njb3BlL2ZpbGVzeXN0ZW0tc2NyaXB0LXVybCc7CiAgICAgICByZXR1cm4gcHJv
bWlzZV9yZWplY3RzKHQsCi0gICAgICAgICAgY2hlY2tfZXJyb3JfdHlwZXMgPyAnU2VjdXJpdHlF
cnJvcicgOiBudWxsLAorICAgICAgICAgIGNoZWNrX2Vycm9yX3R5cGVzID8gbmV3IFR5cGVFcnJv
ciA6IG51bGwsCiAgICAgICAgICAgcmVnaXN0ZXJfbWV0aG9kKHNjcmlwdCwge3Njb3BlOiBzY29w
ZX0pLAogICAgICAgICAgICdSZWdpc3RlcmluZyBhIHNjcmlwdCB3aGljaCBoYXMgc2FtZS1vcmln
aW4gZmlsZXN5c3RlbTogVVJMIHNob3VsZCAnICsKLSAgICAgICAgICAgICAgJ2ZhaWwgd2l0aCBT
ZWN1cml0eUVycm9yLicpOworICAgICAgICAgICAgICAnZmFpbCB3aXRoIFR5cGVFcnJvci4nKTsK
ICAgICB9LCAnU2NyaXB0IFVSTCBpcyBzYW1lLW9yaWdpbiBmaWxlc3lzdGVtOiBVUkwnKTsKIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmct
aWZyYW1lLnN1Yi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291cmNlLXRp
bWluZy1pZnJhbWUuc3ViLmh0bWwKaW5kZXggYzkzMDhlYTUxNWU4ZDQwM2E5NDFmZjQ1Nzg4MDRm
M2ZiYzA5MDU3OC4uNGI2MjY1NzZhYjQ1NmVhZTAyYWE5MjI4ODRiMGQ0OTE3Y2FlY2ExNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1pZnJh
bWUuc3ViLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291cmNlLXRp
bWluZy1pZnJhbWUuc3ViLmh0bWwKQEAgLTIsNSArMiw5IEBACiA8c2NyaXB0IHNyYz0iZW1wdHku
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9ImR1bW15LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJyZWRpcmVjdC5weT9SZWRpcmVjdD1lbXB0eS5qcyI+PC9zY3JpcHQ+Cis8aW1nIHNyYz0i
c3F1YXJlLnBuZyI+Cis8aW1nIHNyYz0iaHR0cHM6Ly97e2RvbWFpbnNbd3d3MV19fTp7e3BvcnRz
W2h0dHBzXVswXX19L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3F1
YXJlLnBuZyI+CiA8aW1nIHNyYz0ibWlzc2luZy5qcGciPgogPGltZyBzcmM9Imh0dHBzOi8ve3tk
b21haW5zW3d3dzFdfX06e3twb3J0c1todHRwc11bMF19fS9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL21pc3NpbmcuanBnIj4KKzxpbWcgc3JjPSdtaXNzaW5nLmpwZz9T
V1Jlc3BvbmRzV2l0aEZldGNoJz4KKzxzY3JpcHQgc3JjPSdlbXB0eS13b3JrZXIuanMnPjwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291cmNlLXRp
bWluZy13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3VyY2UtdGlt
aW5nLXdvcmtlci5qcwppbmRleCA0NTI4NzY4MzhmNTc5MDQwMGQyNWU0YWY5MjkwYTlmN2ZmN2Fj
NzNjLi41YmM2ZWYzNDc0OGY2ZGU0YjQxOGZkMTZkMjI2MWE0Mjc2NDgzYTZhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5q
cwpAQCAtMSw5ICsxLDEyIEBACiBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZnVuY3Rp
b24oZXZlbnQpIHsKLSAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignZHVtbXkuanMn
KSAhPSAtMSkgewotICAgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7Ci0gICAgICAgIC8vIFNsaWdodGx5IGRlbGF5IHRoZSByZXNwb25zZSBzbyB3ZSBlbnN1cmUg
d2UgZ2V0IGEgbm9uLXplcm8KLSAgICAgICAgLy8gZHVyYXRpb24uCi0gICAgICAgIHNldFRpbWVv
dXQoXyA9PiByZXNvbHZlKG5ldyBSZXNwb25zZSgpKSwgMTAwKTsKLSAgICAgIH0pKTsKLSAgICB9
Ci0gIH0pOworICBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignZHVtbXkuanMnKSAhPSAt
MSkgeworICAgIGV2ZW50LnJlc3BvbmRXaXRoKG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgLy8gU2xpZ2h0bHkgZGVsYXkgdGhlIHJlc3BvbnNlIHNvIHdlIGVuc3VyZSB3ZSBnZXQgYSBu
b24temVybworICAgICAgLy8gZHVyYXRpb24uCisgICAgICBzZXRUaW1lb3V0KF8gPT4gcmVzb2x2
ZShuZXcgUmVzcG9uc2UoJy8vIEVtcHR5IGphdmFzY3JpcHQnKSksIDUwKTsKKyAgICB9KSk7Cisg
IH0KKyAgZWxzZSBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignbWlzc2luZy5qcGc/U1dS
ZXNwb25kc1dpdGhGZXRjaCcpICE9IC0xKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2go
J2R1bW15LnR4dD9TV0ZldGNoZWQnKSk7CisgIH0KK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtaWZyYW1lLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1l
dmVudC1pZnJhbWUuaHRtbAppbmRleCAxNTVkYmRkYjZkNGM3YTI1OTU2ZmZlYzFjNGFiNzBkMzc0
NWZkNTZiLi4yMzlmYTczMzAzNzFiY2ViNTg1NjcxODZkMTgwOTVkMDRlNGVlZTViIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1l
dmVudC1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJv
eGVkLWlmcmFtZS1mZXRjaC1ldmVudC1pZnJhbWUuaHRtbApAQCAtMSw1NiArMSw2MyBAQAogPHNj
cmlwdD4KIGZ1bmN0aW9uIHdpdGhfaWZyYW1lKHVybCkgewotICByZXR1cm4gbmV3IFByb21pc2Uo
ZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaWZyYW1lJyk7Ci0gICAgICBmcmFtZS5zcmMgPSB1cmw7Ci0gICAgICBmcmFtZS5vbmxv
YWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShmcmFtZSk7IH07Ci0gICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGZyYW1lKTsKLSAgICB9KTsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgIGxldCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScp
OworICAgIGZyYW1lLnNyYyA9IHVybDsKKyAgICBmcmFtZS5vbmxvYWQgPSAoKSA9PiB7IHJlc29s
dmUoZnJhbWUpOyB9OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICB9
KTsKIH0KIAogZnVuY3Rpb24gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKHVybCwgc2FuZGJveCkgewot
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgdmFyIGZyYW1l
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0gICAgICBmcmFtZS5zYW5kYm94
ID0gc2FuZGJveDsKLSAgICAgIGZyYW1lLnNyYyA9IHVybDsKLSAgICAgIGZyYW1lLm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeyByZXNvbHZlKGZyYW1lKTsgfTsKLSAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZnJhbWUpOwotICAgIH0pOworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgbGV0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Cisg
ICAgZnJhbWUuc2FuZGJveCA9IHNhbmRib3g7CisgICAgZnJhbWUuc3JjID0gdXJsOworICAgIGZy
YW1lLm9ubG9hZCA9ICgpID0+IHsgcmVzb2x2ZShmcmFtZSk7IH07CisgICAgZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOwogfQogCi1mdW5jdGlvbiBmZXRjaF9pbl93b3Jr
ZXIoKSB7Ci0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHZhciBibG9i
ID0gbmV3IEJsb2IoWwotICAgICAgImZldGNoKCciICsgbG9jYXRpb24uaHJlZiArICJfd29ya2Vy
ZmV0Y2gnLCB7bW9kZTogJ25vLWNvcnMnfSkiICsKK2Z1bmN0aW9uIGZldGNoX2Zyb21fd29ya2Vy
KHVybCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbGV0IGJsb2Ig
PSBuZXcgQmxvYihbCisgICAgICBgZmV0Y2goJyR7dXJsfScsIHttb2RlOiAnbm8tY29ycyd9KWAg
KwogICAgICAgIiAgLnRoZW4oKCkgPT4geyBzZWxmLnBvc3RNZXNzYWdlKCdPSycpOyB9KTsiXSk7
Ci0gICAgdmFyIHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7Ci0gICAgdmFyIHdvcmtl
ciA9IG5ldyBXb3JrZXIodXJsKTsKKyAgICBsZXQgd29ya2VyX3VybCA9IFVSTC5jcmVhdGVPYmpl
Y3RVUkwoYmxvYik7CisgICAgbGV0IHdvcmtlciA9IG5ldyBXb3JrZXIod29ya2VyX3VybCk7CiAg
ICAgd29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgIH0pOwogfQogCi13aW5kb3cub25tZXNz
YWdlID0gZnVuY3Rpb24gKGUpIHsKLSAgdmFyIGlkID0gZS5kYXRhWydpZCddOwotICBmZXRjaChs
b2NhdGlvbi5ocmVmICsgIl9mZXRjaCIsIHttb2RlOiAnbm8tY29ycyd9KQotICAgIC50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gZmV0Y2hfaW5fd29ya2VyKCk7Ci0gICAgICB9KQot
ICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUobG9jYXRp
b24uaHJlZiArICJfaWZyYW1lIik7Ci0gICAgICB9KQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewot
ICAgICAgICByZXR1cm4gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKGxvY2F0aW9uLmhyZWYgKyAiX3Nj
cmlwdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsbG93LXNjcmlw
dHMiKTsKLSAgICAgIH0pCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB3
aXRoX3NhbmRib3hlZF9pZnJhbWUobG9jYXRpb24uaHJlZiArICJfc2NyaXB0LW9yaWdpbiIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsbG93LXNjcmlwdHMgYWxsb3ct
c2FtZS1vcmlnaW4iKTsKLSAgICAgIH0pCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAg
IHdpbmRvdy50b3AucG9zdE1lc3NhZ2Uoe2lkOiBpZCwgcmVzdWx0OiAnZG9uZSd9LCAnKicpOwot
ICAgICAgfSkKLSAgICAuY2F0Y2goZnVuY3Rpb24oZSkgewotICAgICAgICB3aW5kb3cudG9wLnBv
c3RNZXNzYWdlKHtpZDogaWQsIHJlc3VsdDogJ2Vycm9yOiAnICsgZS50b1N0cmluZygpfSwgJyon
KTsKLSAgICAgIH0pOworZnVuY3Rpb24gcnVuX3Rlc3QodHlwZSkgeworICBjb25zdCBiYXNlX3Bh
dGggPSBsb2NhdGlvbi5ocmVmOworICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlICdmZXRjaCc6
CisgICAgICByZXR1cm4gZmV0Y2goYCR7YmFzZV9wYXRofSZ0ZXN0PWZldGNoYCwge21vZGU6ICdu
by1jb3JzJ30pOworICAgIGNhc2UgJ2ZldGNoLWZyb20td29ya2VyJzoKKyAgICAgIHJldHVybiBm
ZXRjaF9mcm9tX3dvcmtlcihgJHtiYXNlX3BhdGh9JnRlc3Q9ZmV0Y2gtZnJvbS13b3JrZXJgKTsK
KyAgICBjYXNlICdpZnJhbWUnOgorICAgICAgcmV0dXJuIHdpdGhfaWZyYW1lKGAke2Jhc2VfcGF0
aH0mdGVzdD1pZnJhbWVgKTsKKyAgICBjYXNlICdzYW5kYm94ZWQtaWZyYW1lJzoKKyAgICAgIHJl
dHVybiB3aXRoX3NhbmRib3hlZF9pZnJhbWUoYCR7YmFzZV9wYXRofSZ0ZXN0PXNhbmRib3hlZC1p
ZnJhbWVgLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxsb3ctc2NyaXB0
cyIpOworICAgIGNhc2UgJ3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nOgorICAgICAgcmV0
dXJuIHdpdGhfc2FuZGJveGVkX2lmcmFtZSgKKyAgICAgICAgYCR7YmFzZV9wYXRofSZ0ZXN0PXNh
bmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW5gLAorICAgICAgICAiYWxsb3ctc2NyaXB0cyBhbGxv
dy1zYW1lLW9yaWdpbiIpOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QoYFVua25vd24gdHlwZTogJHt0eXBlfWApOworICB9Cit9CisKK3dpbmRvdy5vbm1lc3NhZ2Ug
PSBldmVudCA9PiB7CisgIGxldCBpZCA9IGV2ZW50LmRhdGFbJ2lkJ107CisgIHJ1bl90ZXN0KGV2
ZW50LmRhdGFbJ3R5cGUnXSkKKyAgICAudGhlbigoKSA9PiB7CisgICAgICB3aW5kb3cudG9wLnBv
c3RNZXNzYWdlKHtpZDogaWQsIHJlc3VsdDogJ2RvbmUnfSwgJyonKTsKKyAgICB9KQorICAgIC5j
YXRjaChlID0+IHsKKyAgICAgIHdpbmRvdy50b3AucG9zdE1lc3NhZ2Uoe2lkOiBpZCwgcmVzdWx0
OiAnZXJyb3I6ICcgKyBlLnRvU3RyaW5nKCl9LCAnKicpOworICAgIH0pOwogfTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJh
bWUtZmV0Y2gtZXZlbnQtaWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Nh
bmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtaWZyYW1lLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMjI0NGJm
MjA5NDU1ZTI3Mzc0ODI2NDgyODY5NTNlYjc4NGMyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC1pZnJh
bWUucHkKQEAgLTAsMCArMSwxNiBAQAoraW1wb3J0IG9zLnBhdGgKKworZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgorICBoZWFkZXIgPSBbKCdDb250ZW50LVR5cGUnLCAndGV4dC9odG1sJyld
CisgIGlmICd0ZXN0JyBpbiByZXF1ZXN0LkdFVDoKKyAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2lu
KG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksJ2JsYW5rLmh0bWwnKSwgJ3InKSBhcyBmOgorICAg
ICAgYm9keSA9IGYucmVhZCgpCisgICAgcmV0dXJuIChoZWFkZXIsIGJvZHkpCisKKyAgaWYgJ3Nh
bmRib3gnIGluIHJlcXVlc3QuR0VUOgorICAgIGhlYWRlci5hcHBlbmQoKCdDb250ZW50LVNlY3Vy
aXR5LVBvbGljeScsCisgICAgICAgICAgICAgICAgICAgJ3NhbmRib3ggJXMnICUgcmVxdWVzdC5H
RVRbJ3NhbmRib3gnXSkpCisgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1l
KF9fZmlsZV9fKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc2FuZGJveGVkLWlmcmFtZS1m
ZXRjaC1ldmVudC1pZnJhbWUuaHRtbCcpLCAncicpIGFzIGY6CisgICAgYm9keSA9IGYucmVhZCgp
CisgIHJldHVybiAoaGVhZGVyLCBib2R5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtd29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtd29ya2Vy
LmpzCmluZGV4IGZmYTBhYmFjMzRmMjUxZDg5NTc3ZDFhNDYyZTViMjllNGQ2MGQ2YTQuLjQwMzVh
OGIxOWI5MDJiMjZlODY4ODk3ZjZlMDdlOWJkMWEyN2RmZTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zYW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50LXdvcmtlci5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRj
aC1ldmVudC13b3JrZXIuanMKQEAgLTEwLDYgKzEwLDcgQEAgc2VsZi5hZGRFdmVudExpc3RlbmVy
KCdtZXNzYWdlJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICBjbGllbnRfdXJscyA9IGNs
aWVudF91cmxzLnNvcnQoKTsKICAgICAgICAgICBldmVudC5kYXRhLnBvcnQucG9zdE1lc3NhZ2Uo
CiAgICAgICAgICAgICAgIHtjbGllbnRzOiBjbGllbnRfdXJscywgcmVxdWVzdHM6IHJlcXVlc3Rz
fSk7CisgICAgICAgICAgcmVxdWVzdHMgPSBbXTsKICAgICAgICAgfSkpOwogICB9KTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS9yZWRpcmVjdC5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvcmVkaXJlY3QucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmI0Yzg3NGFhY2VlOTQ3OWJkNjkwYmZhZThkYzk1NjM3OGQxZWU2NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvcmVkaXJlY3QucHkKQEAg
LTAsMCArMSw2IEBACitpbXBvcnQgb3MKK2ltcG9ydCBpbXAKKyMgVXNlIHRoZSBmaWxlIGZyb20g
dGhlIHBhcmVudCBkaXJlY3RvcnkuCittb2QgPSBpbXAubG9hZF9zb3VyY2UoIl9wYXJlbnQiLCBv
cy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFz
ZW5hbWUoX19maWxlX18pKSkKK21haW4gPSBtb2QubWFpbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zY29wZTEvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY3MDc3NTBm
NDJjNjFkZTEzN2EwMThjOTczOTljYWVhNDZkNDliYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwx
NyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUg
VzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdl
YktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoK
KwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0
aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAor
CitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
UHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xp
c3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS9yZWRpcmVj
dC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvdzNjLWltcG9y
dC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzY5MzczNDc1Y2IyMTY5YmY4NDNlMGQzYmQxMDU3ZGU2ODhkMDZk
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIv
dzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtl
ci5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3Jr
ZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmI0Yzg3NGFhY2VlOTQ3OWJkNjkwYmZhZThkYzk1NjM3OGQxZWU2NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29y
a2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkKQEAgLTAsMCArMSw2IEBACitp
bXBvcnQgb3MKK2ltcG9ydCBpbXAKKyMgVXNlIHRoZSBmaWxlIGZyb20gdGhlIHBhcmVudCBkaXJl
Y3RvcnkuCittb2QgPSBpbXAubG9hZF9zb3VyY2UoIl9wYXJlbnQiLCBvcy5wYXRoLmpvaW4ob3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18p
KSkKK21haW4gPSBtb2QubWFpbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NlcnZpY2Utd29ya2VyLWhlYWRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zZXJ2aWNlLXdvcmtlci1oZWFkZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRmNTdhNzJhOTA0MTc2MmY5
ZjUwNzMyZDJjZTg5MGQ4ODk4MTBjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXIucHkKQEAgLTAsMCArMSwyMCBAQAor
ZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICBzZXJ2aWNlX3dvcmtlcl9oZWFkZXIgPSBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KCdzZXJ2aWNlLXdvcmtlcicpCisKKyAgaWYgJ2hlYWRlcicgaW4g
cmVxdWVzdC5HRVQgYW5kIHNlcnZpY2Vfd29ya2VyX2hlYWRlciAhPSAnc2NyaXB0JzoKKyAgICBy
ZXR1cm4gNDAwLCBbKCdDb250ZW50LVR5cGUnLCAndGV4dC9wbGFpbicpXSwgJ0JhZCBSZXF1ZXN0
JworCisgIGlmICduby1oZWFkZXInIGluIHJlcXVlc3QuR0VUIGFuZCBzZXJ2aWNlX3dvcmtlcl9o
ZWFkZXIgPT0gJ3NjcmlwdCc6CisgICAgcmV0dXJuIDQwMCwgWygnQ29udGVudC1UeXBlJywgJ3Rl
eHQvcGxhaW4nKV0sICdCYWQgUmVxdWVzdCcKKworICAjIG5vLWNhY2hlIGl0c2VsZiB0byBlbnN1
cmUgdGhlIHVzZXIgYWdlbnQgZmluZHMgYSBuZXcgdmVyc2lvbiBmb3IgZWFjaAorICAjIHVwZGF0
ZS4KKyAgaGVhZGVycyA9IFsoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG11c3QtcmV2YWxp
ZGF0ZScpLAorICAgICAgICAgICAgICgnUHJhZ21hJywgJ25vLWNhY2hlJyksCisgICAgICAgICAg
ICAgKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcpXQorICBib2R5ID0g
Jy8qIFRoaXMgaXMgYSBzZXJ2aWNlIHdvcmtlciBzY3JpcHQgKi9cbicKKworICBpZiAnaW1wb3J0
JyBpbiByZXF1ZXN0LkdFVDoKKyAgICBib2R5ICs9ICJpbXBvcnRTY3JpcHRzKCclcycpOyIgJSBy
ZXF1ZXN0LkdFVFsnaW1wb3J0J10KKworICByZXR1cm4gMjAwLCBoZWFkZXJzLCBib2R5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3JrZXItaW50ZXJj
ZXB0aW9uLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY4MGUwN2ZmNTg4Y2M3MDMwOGIxNDU5NWIxMTMwODI2YWZkNWM2ZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3Jr
ZXItaW50ZXJjZXB0aW9uLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcwpAQCAtMCwwICsxIEBACitp
bXBvcnQoJy4vc2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLW5ldHdvcmstd29ya2VyLmpzJyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3JrZXIt
aW50ZXJjZXB0aW9uLW5ldHdvcmstd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ZmYzOTAwMTAxMzQ1ODM0YWEzOGViZjI1ZmFjYTJhNmNkZjFiYzRiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWludGVy
Y2VwdGlvbi1uZXR3b3JrLXdvcmtlci5qcwpAQCAtMCwwICsxIEBACitwb3N0TWVzc2FnZSgnTE9B
REVEX0ZST01fTkVUV09SSycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1zZXJ2aWNlLXdvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc2Vydmlj
ZS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI0M2EzNzY5NjM3ZGNiYzM1NzRiNzAxMGVhNWM5M2Jl
NzNkN2IwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
ZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc2VydmljZS13b3JrZXIuanMKQEAgLTAsMCArMSw5
IEBACitjb25zdCBrVVJMID0gJy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tbmV0d29yay13
b3JrZXIuanMnOworY29uc3Qga1NjcmlwdCA9ICdwb3N0TWVzc2FnZSgiTE9BREVEX0ZST01fU0VS
VklDRV9XT1JLRVIiKSc7Citjb25zdCBrSGVhZGVycyA9IFtbJ2NvbnRlbnQtdHlwZScsICd0ZXh0
L2phdmFzY3JpcHQnXV07CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBlID0+IHsK
KyAgLy8gU2VydmUgYSBnZW5lcmF0ZWQgcmVzcG9uc2UgZm9yIGtVUkwuCisgIGlmIChlLnJlcXVl
c3QudXJsLmluZGV4T2Yoa1VSTCkgIT0gLTEpCisgICAgZS5yZXNwb25kV2l0aChuZXcgUmVzcG9u
c2Uoa1NjcmlwdCwgeyBoZWFkZXJzOiBrSGVhZGVycyB9KSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc3Rh
dGljLWltcG9ydC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Vydmlj
ZS13b3JrZXItaW50ZXJjZXB0aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU1NzA5NTg3MDFkYjQ3MjUwY2Y2ZDg3YTE2ZjQ3MjJhODRlNjI2YjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3JrZXItaW50ZXJjZXB0
aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzCkBAIC0wLDAgKzEgQEAKK2ltcG9ydCAnLi9zZXJ2
aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tbmV0d29yay13b3JrZXIuanMnOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS1pbnRlcmNlcHQtd29ya2VyLmpzLmhl
YWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLWludGVyY2VwdC13b3Jr
ZXIuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTdhOWEzYTEyY2VmZTg4M2E1ZDRkZWU0ZDVhNDVi
ZWYxMjBkMDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3NpbXBsZS1pbnRlcmNlcHQtd29ya2VyLmpzLmhlYWRlcnMKQEAgLTAsMCArMSBAQAorQ29udGVu
dC1UeXBlOiBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLWluc3RhbGxlZC13b3JrZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLWluc3RhbGxlZC13b3JrZXIuanMKaW5k
ZXggYjQ4ZDUwMmIxMzYwNjYzYjYyMDYzYjdiMGRhMGM5NmNmNjM4OTkyYi4uNmY3MDA4YmRkY2Rm
YTA0NGRiZWRkMmU4ZjJhY2ViODllYzk4MGE3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3NraXAtd2FpdGluZy1pbnN0YWxsZWQtd29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9za2lwLXdhaXRpbmctaW5zdGFsbGVkLXdvcmtlci5qcwpA
QCAtMjEsNyArMjEsNyBAQCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlv
bihldmVudCkgewogCiAgICAgICAgICAgaWYgKHNlbGYucmVnaXN0cmF0aW9uLmFjdGl2ZS5zdGF0
ZSAhPT0gJ2FjdGl2YXRpbmcnKSB7CiAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKAotICAg
ICAgICAgICAgICAgICdGQUlUTDogUHJvbWlzZSBzaG91bGQgYmUgcmVzb2x2ZWQgYmVmb3JlIFNl
cnZpY2VXb3JrZXIjc3RhdGUgaXMgc2V0IHRvIGFjdGl2YXRlZCcpOworICAgICAgICAgICAgICAg
ICdGQUlMOiBQcm9taXNlIHNob3VsZCBiZSByZXNvbHZlZCBiZWZvcmUgU2VydmljZVdvcmtlciNz
dGF0ZSBpcyBzZXQgdG8gYWN0aXZhdGVkJyk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3F1YXJlLnBu
Zy5zdWIuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zcXVhcmUucG5nLnN1
Yi5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNDExMzI3NDViZTJiZWU5ZTQ3MTE0Y2RhNDE2Nzg2NWU4
YTk2OTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3F1
YXJlLnBuZy5zdWIuaGVhZGVycwpAQCAtMCwwICsxLDIgQEAKK0NvbnRlbnQtVHlwZTogaW1hZ2Uv
cG5nCitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zdGFsbGluZy1zZXJ2aWNlLXdvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zdGFsbGluZy1zZXJ2aWNlLXdvcmtlci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZGYxZTZjYWMwNGUxNjUxZjMwZDk2MDg5N2RhODc0MGE0MGM5MTM4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N0YWxsaW5nLXNlcnZpY2Utd29ya2Vy
LmpzCkBAIC0wLDAgKzEsNTQgQEAKK2FzeW5jIGZ1bmN0aW9uIHBvc3RfbWVzc2FnZV90b19jbGll
bnQocm9sZSwgbWVzc2FnZSwgcG9ydHMpIHsKKyAgICAoYXdhaXQgY2xpZW50cy5tYXRjaEFsbCgp
KS5mb3JFYWNoKGNsaWVudCA9PiB7CisgICAgICAgIGlmIChuZXcgVVJMKGNsaWVudC51cmwpLnNl
YXJjaFBhcmFtcy5nZXQoJ3JvbGUnKSA9PT0gcm9sZSkgeworICAgICAgICAgICAgY2xpZW50LnBv
c3RNZXNzYWdlKG1lc3NhZ2UsIHBvcnRzKTsKKyAgICAgICAgfQorICAgIH0pOworfQorCithc3lu
YyBmdW5jdGlvbiBwb3N0X21lc3NhZ2VfdG9fY2hpbGQobWVzc2FnZSwgcG9ydHMpIHsKKyAgICBh
d2FpdCBwb3N0X21lc3NhZ2VfdG9fY2xpZW50KCdjaGlsZCcsIG1lc3NhZ2UsIHBvcnRzKTsKK30K
KworZnVuY3Rpb24gcGluZ19tZXNzYWdlKGRhdGEpIHsKKyAgICByZXR1cm4geyB0eXBlOiAncGlu
ZycsIGRhdGEgfTsKK30KKworc2VsZi5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAgY29uc3Qg
bWVzc2FnZSA9IHBpbmdfbWVzc2FnZShldmVudC5kYXRhKTsKKyAgICBwb3N0X21lc3NhZ2VfdG9f
Y2hpbGQobWVzc2FnZSk7CisgICAgcG9zdF9tZXNzYWdlX3RvX3BhcmVudChtZXNzYWdlKTsKK30K
KworYXN5bmMgZnVuY3Rpb24gcG9zdF9tZXNzYWdlX3RvX3BhcmVudChtZXNzYWdlLCBwb3J0cykg
eworICAgIGF3YWl0IHBvc3RfbWVzc2FnZV90b19jbGllbnQoJ3BhcmVudCcsIG1lc3NhZ2UsIHBv
cnRzKTsKK30KKworZnVuY3Rpb24gZmV0Y2hfbWVzc2FnZShrZXkpIHsKKyAgICByZXR1cm4geyB0
eXBlOiAnZmV0Y2gnLCBrZXkgfTsKK30KKworLy8gU2VuZCBhIG1lc3NhZ2UgdG8gdGhlIHBhcmVu
dCBhbG9uZyB3aXRoIGEgTWVzc2FnZVBvcnQgdG8gcmVzcG9uZAorLy8gd2l0aC4KK2Z1bmN0aW9u
IHJlcG9ydF9mZXRjaF9yZXF1ZXN0KGtleSkgeworICAgIGNvbnN0IGNoYW5uZWwgPSBuZXcgTWVz
c2FnZUNoYW5uZWwoKTsKKyAgICBjb25zdCByZXBseSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eworICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAgfSkudGhl
bihldmVudCA9PiBldmVudC5kYXRhKTsKKyAgICByZXR1cm4gcG9zdF9tZXNzYWdlX3RvX3BhcmVu
dChmZXRjaF9tZXNzYWdlKGtleSksIFtjaGFubmVsLnBvcnQyXSkudGhlbigoKSA9PiByZXBseSk7
Cit9CisKK2Z1bmN0aW9uIHJlc3BvbmRfd2l0aF9zY3JpcHQoc2NyaXB0KSB7CisgICAgcmV0dXJu
IG5ldyBSZXNwb25zZShuZXcgQmxvYihzY3JpcHQsIHsgdHlwZTogJ3RleHQvamF2YXNjcmlwdCcg
fSkpOworfQorCisvLyBXaGVuZXZlciBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgcmVxdWVzdHMgYSBV
Ukwgd2l0aCBhICdrZXknIHNlYXJjaAorLy8gcGFyYW1ldGVyIHdlIHJlcG9ydCB0aGUgcmVxdWVz
dCB0byB0aGUgcGFyZW50IGZyYW1lIGFuZCB3YWl0IGZvcgorLy8gYSByZXNwb25zZS4gVGhlIGNv
bnRlbnQgb2YgdGhlIHJlc3BvbnNlIGlzIHRoZW4gdXNlZCB0byByZXNwb25kIHRvCisvLyB0aGUg
ZmV0Y2ggcmVxdWVzdC4KK2FkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4geworICAg
IGxldCBrZXkgPSBuZXcgVVJMKGV2ZW50LnJlcXVlc3QudXJsKS5zZWFyY2hQYXJhbXMuZ2V0KCdr
ZXknKTsKKyAgICBpZiAoa2V5KSB7CisgICAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKHJlcG9ydF9m
ZXRjaF9yZXF1ZXN0KGtleSkudGhlbihyZXNwb25kX3dpdGhfc2NyaXB0KSk7CisgICAgfQorfSk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1
Yi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzCmlu
ZGV4IDYxMjQwOWZiYzFkNTVjMzE0ZGFiNzk2ZGJmNjM5MTgzZDc2N2MwZjYuLjdlZmRlMzU0YThm
OWIzYjE1Nzk3MmRjYThlNWEzYzViNWViNDExNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzCkBAIC00Niw5ICs0NiwxNCBAQCBmdW5jdGlv
biB1bnJlYWNoZWRfcmVqZWN0aW9uKHRlc3QsIHByZWZpeCkgewogICAgIH0pOwogfQogCi0vLyBB
ZGRzIGFuIGlmcmFtZSB0byB0aGUgZG9jdW1lbnQgYW5kIHJldHVybnMgYSBwcm9taXNlIHRoYXQg
cmVzb2x2ZXMgdG8gdGhlCi0vLyBpZnJhbWUgd2hlbiBpdCBmaW5pc2hlcyBsb2FkaW5nLiBUaGUg
Y2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciByZW1vdmluZyB0aGUKLS8vIGlmcmFtZSBsYXRlciBp
ZiBuZWVkZWQuCisvKioKKyAqIEFkZHMgYW4gaWZyYW1lIHRvIHRoZSBkb2N1bWVudCBhbmQgcmV0
dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUKKyAqIGlmcmFtZSB3aGVuIGl0IGZp
bmlzaGVzIGxvYWRpbmcuIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIHJlbW92aW5nIHRo
ZQorICogaWZyYW1lIGxhdGVyIGlmIG5lZWRlZC4KKyAqCisgKiBAcGFyYW0ge3N0cmluZ30gdXJs
CisgKiBAcmV0dXJucyB7SFRNTElGcmFtZUVsZW1lbnR9CisgKi8KIGZ1bmN0aW9uIHdpdGhfaWZy
YW1lKHVybCkgewogICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAg
ICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CkBAIC0xMjIs
MTQgKzEyNywxMSBAQCBmdW5jdGlvbiB3YWl0X2Zvcl9zdGF0ZSh0ZXN0LCB3b3JrZXIsIHN0YXRl
KSB7CiAgICAgfQogICB9CiAKLSAgcmV0dXJuIG5ldyBQcm9taXNlKHRlc3Quc3RlcF9mdW5jKGZ1
bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgeworICByZXR1cm4gbmV3IFByb21pc2UodGVzdC5zdGVw
X2Z1bmMoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAgICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIo
J3N0YXRlY2hhbmdlJywgdGVzdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgaWYg
KHdvcmtlci5zdGF0ZSA9PT0gc3RhdGUpCiAgICAgICAgICAgICByZXNvbHZlKHN0YXRlKTsKICAg
ICAgICAgfSkpOwotICAgICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAgICAgICAg
ICByZWplY3QoIndhaXRfZm9yX3N0YXRlIHRpbWVkIG91dCwgd2FpdGluZyBmb3Igc3RhdGUgIiAr
IHN0YXRlICsgIiwgd29ya2VyIHN0YXRlIGlzICIgKyB3b3JrZXIuc3RhdGUpOwotICAgICAgICB9
LCAxMDAwMCk7CiAgICAgfSkpOwogfQogCkBAIC0yMDQsMTYgKzIwNiw2IEBAIGZ1bmN0aW9uIHRl
c3Rfd2Vic29ja2V0KHRlc3QsIGZyYW1lLCB1cmwpIHsKICAgICB9KTsKIH0KIAotZnVuY3Rpb24g
bG9naW4odGVzdCkgewotICB2YXIgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOwotICByZXR1
cm4gdGVzdF9sb2dpbih0ZXN0LCBob3N0X2luZm8uSFRUUF9SRU1PVEVfT1JJR0lOLAotICAgICAg
ICAgICAgICAgICAgICAndXNlcm5hbWUxcycsICdwYXNzd29yZDFzJywgJ2Nvb2tpZTEnKQotICAg
IC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9sb2dpbih0ZXN0LCBob3N0
X2luZm8uSFRUUF9PUklHSU4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VybmFtZTJz
JywgJ3Bhc3N3b3JkMnMnLCAnY29va2llMicpOwotICAgICAgfSk7Ci19Ci0KIGZ1bmN0aW9uIGxv
Z2luX2h0dHBzKHRlc3QpIHsKICAgdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKICAg
cmV0dXJuIHRlc3RfbG9naW4odGVzdCwgaG9zdF9pbmZvLkhUVFBTX1JFTU9URV9PUklHSU4sCkBA
IC0yNzEsMyArMjYzLDE2IEBAIGZ1bmN0aW9uIHdpdGhfc2FuZGJveGVkX2lmcmFtZSh1cmwsIHNh
bmRib3gpIHsKICAgICB9KTsKIH0KIAorLy8gUmVnaXN0ZXJzLCB3YWl0cyBmb3IgYWN0aXZhdGlv
biwgdGhlbiB1bnJlZ2lzdGVycyBvbiBhIGR1bW15IHNjb3BlLgorLy8KKy8vIFRoaXMgY2FuIGJl
IHVzZWQgdG8gd2FpdCBmb3IgYSBwZXJpb2Qgb2YgdGltZSBuZWVkZWQgdG8gcmVnaXN0ZXIsCisv
LyBhY3RpdmF0ZSwgYW5kIHRoZW4gdW5yZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyLiAgV2hlbiBj
aGVja2luZyB0aGF0CisvLyBjZXJ0YWluIGJlaGF2aW9yIGRvZXMgKk5PVCogaGFwcGVuLCB0aGlz
IGlzIHByZWZlcmFibGUgdG8gdXNpbmcgYW4KKy8vIGFyYml0cmFyeSBkZWxheS4KK2FzeW5jIGZ1
bmN0aW9uIHdhaXRfZm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2NvcGUodCwgd2luZG93X29yX3dv
cmtlcmdsb2JhbHNjb3BlKSB7CisgIGNvbnN0IHNjcmlwdCA9ICcvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9
ICdyZXNvdXJjZXMvdGhlcmUvaXMvbm8vdGhlcmUvdGhlcmU/JyArIERhdGUubm93KCk7CisgIGxl
dCByZWdpc3RyYXRpb24gPSBhd2FpdCB3aW5kb3dfb3Jfd29ya2VyZ2xvYmFsc2NvcGUubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7IHNjb3BlIH0pOworICBhd2FpdCB3
YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwor
ICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1kdXJpbmctaW5zdGFsbGF0aW9uLXdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtZHVyaW5nLWluc3RhbGxhdGlv
bi13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFiZWVjMDc3Zjc3ZDVlOGQxOTI0ZWI1ZjNiZDVkODY2
N2IxMjlmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91
cGRhdGUtZHVyaW5nLWluc3RhbGxhdGlvbi13b3JrZXIuanMKQEAgLTAsMCArMSwyMyBAQAorJ3Vz
ZSBzdHJpY3QnOworCitjb25zdCBpbnN0YWxsTWF5RmluaXNoID0gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgc2VsZi5maW5pc2hJbnN0YWxsID0gcmVzb2x2ZTsKK30pOworCitsZXQgcmVw
b3J0ID0geyBpbnN0YWxsRXZlbnRGaXJlZDogZmFsc2UgfTsKKworYWRkRXZlbnRMaXN0ZW5lcign
aW5zdGFsbCcsIGV2ZW50ID0+IHsKKyAgICByZXBvcnQuaW5zdGFsbEV2ZW50RmlyZWQgPSB0cnVl
OworICAgIGxldCBhdHRlbXB0VXBkYXRlID0gcmVnaXN0cmF0aW9uLnVwZGF0ZSgpLmNhdGNoKGV4
Y2VwdGlvbiA9PiB7CisgICAgICAgIHJlcG9ydC5leGNlcHRpb24gPSBleGNlcHRpb24ubmFtZTsK
KyAgICB9KTsKKyAgICBldmVudC53YWl0VW50aWwoUHJvbWlzZS5hbGwoW2luc3RhbGxNYXlGaW5p
c2gsIGF0dGVtcHRVcGRhdGVdKSk7Cit9KTsKKworYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScs
IGV2ZW50ID0+IHsKKyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ2ZpbmlzaEluc3RhbGwnKSB7Cisg
ICAgICAgIGZpbmlzaEluc3RhbGwoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBldmVudC5zb3Vy
Y2UucG9zdE1lc3NhZ2UocmVwb3J0KTsKKyAgICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy1pbXBvcnRl
ZC13b3JrZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLW1pc3Npbmct
aW1wb3J0LXNjcmlwdHMtaW1wb3J0ZWQtd29ya2VyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkOTUzODdmYzky
MzNlZDEyZmEyNmIzNmYwNmE5OWY5Nzc1ZWQwOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtaW1wb3J0
ZWQtd29ya2VyLnB5CkBAIC0wLDAgKzEsOSBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgorICAgIGtleSA9IHJlcXVlc3QuR0VUWydrZXknXQorICAgIGFscmVhZHlfcmVxdWVzdGVkID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZShrZXkpCisKKyAgICBpZiBhbHJlYWR5X3JlcXVlc3Rl
ZCBpcyBOb25lOgorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQoa2V5LCBUcnVlKQor
ICAgICAgICByZXR1cm4gWygnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQn
KV0sICcvLyBpbml0aWFsIHNjcmlwdCcKKworICAgIHJlc3BvbnNlLnN0YXR1cyA9ICg0MDQsICdO
b3QgZm91bmQ6IHNob3VsZCBub3QgaGF2ZSBiZWVuIGFibGUgdG8gaW1wb3J0IHRoaXMgc2NyaXB0
IHR3aWNlIScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRl
LW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtbWFpbi13b3JrZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtbWFpbi13b3JrZXIucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjFkMmY2ZmNiNzgyNzFiZjUzM2VjOGVjNGFhNDE1YzIxYzhkMTVjMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtbWlzc2lu
Zy1pbXBvcnQtc2NyaXB0cy1tYWluLXdvcmtlci5weQpAQCAtMCwwICsxLDEzIEBACitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAga2V5ID0gcmVxdWVzdC5HRVRbJ2tleSddCisgICAg
YWxyZWFkeV9yZXF1ZXN0ZWQgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKGtleSkKKworICAg
IGhlYWRlciA9IFsoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JyldCisg
ICAgaW5pdGlhbF9zY3JpcHQgPSAnaW1wb3J0U2NyaXB0cygiLi91cGRhdGUtbWlzc2luZy1pbXBv
cnQtc2NyaXB0cy1pbXBvcnRlZC13b3JrZXIucHk/a2V5PXswfSIpJy5mb3JtYXQoa2V5KQorICAg
IHVwZGF0ZWRfc2NyaXB0ID0gJy8vIHJlbW92ZWQgaW1wb3J0U2NyaXB0cygpJworCisgICAgaWYg
YWxyZWFkeV9yZXF1ZXN0ZWQgaXMgTm9uZToKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gu
cHV0KGtleSwgVHJ1ZSkKKyAgICAgICAgcmV0dXJuIGhlYWRlciwgaW5pdGlhbF9zY3JpcHQKKwor
ICAgIHJldHVybiBoZWFkZXIsIHVwZGF0ZWRfc2NyaXB0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGY2ZDVhZTI4MjAwZTA5Y2JhMGUyNWMyNzY5MTY4YmMxNjIyYTM2MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtcmVnaXN0
cmF0aW9uLXdpdGgtdHlwZS5weQpAQCAtMCwwICsxLDMzIEBACitkZWYgY2xhc3NpY19zY3JpcHQo
KToKKyAgICByZXR1cm4gIiIiCisgICAgICBpbXBvcnRTY3JpcHRzKCcuL2ltcG9ydGVkLWNsYXNz
aWMtc2NyaXB0LmpzJyk7CisgICAgICBzZWxmLm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICBl
LnNvdXJjZS5wb3N0TWVzc2FnZShpbXBvcnRlZCk7CisgICAgICB9OworICAgICAgIiIiCisKK2Rl
ZiBtb2R1bGVfc2NyaXB0KCk6CisgICAgcmV0dXJuICIiIgorICAgICAgaW1wb3J0ICogYXMgbW9k
dWxlIGZyb20gJy4vaW1wb3J0ZWQtbW9kdWxlLXNjcmlwdC5qcyc7CisgICAgICBzZWxmLm9ubWVz
c2FnZSA9IGUgPT4geworICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShtb2R1bGUuaW1wb3J0
ZWQpOworICAgICAgfTsKKyAgICAgICIiIgorCisjIFJldHVybnMgdGhlIGNsYXNzaWMgc2NyaXB0
IGZvciBhIGZpcnN0IHJlcXVlc3QgYW5kCisjIHJldHVybnMgdGhlIG1vZHVsZSBzY3JpcHQgZm9y
IHNlY29uZCBhbmQgc3Vic2VxdWVudCByZXF1ZXN0cy4KK2RlZiBtYWluKHJlcXVlc3QsIHJlc3Bv
bnNlKToKKyAgICBoZWFkZXJzID0gWygnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2phdmFz
Y3JpcHQnKSwKKyAgICAgICAgICAgICAgICgnUHJhZ21hJywgJ25vLXN0b3JlJyksCisgICAgICAg
ICAgICAgICAoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tc3RvcmUnKV0KKworICAgIGNsYXNzaWNfZmly
c3QgPSByZXF1ZXN0LkdFVFsnY2xhc3NpY19maXJzdCddCisgICAga2V5ID0gcmVxdWVzdC5HRVRb
J2tleSddCisgICAgcmVxdWVzdGVkX29uY2UgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKGtl
eSkKKyAgICBpZiByZXF1ZXN0ZWRfb25jZSBpcyBOb25lOgorICAgICAgICByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5wdXQoa2V5LCBUcnVlKQorICAgICAgICBib2R5ID0gY2xhc3NpY19zY3JpcHQoKSBp
ZiBjbGFzc2ljX2ZpcnN0ID09ICcxJyBlbHNlIG1vZHVsZV9zY3JpcHQoKQorICAgIGVsc2U6Cisg
ICAgICAgIGJvZHkgPSBtb2R1bGVfc2NyaXB0KCkgaWYgY2xhc3NpY19maXJzdCA9PSAnMScgZWxz
ZSBjbGFzc2ljX3NjcmlwdCgpCisKKyAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBib2R5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS93M2MtaW1wb3J0LmxvZwppbmRl
eCBiZTJmMDE2ZTMwNTRjZTAxYTc1YjEzOWMwODYwMjY3OGM3MzY1OWRlLi40OWNlMTUwN2M3M2U2
YjYyMjM4Y2JkMDgzMTQ5MjIxYTViMzMzODg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvdXBkYXRlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy91cGRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1w
bGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXcz
Yy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZV9zaGVsbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy91cGRhdGVfc2hlbGwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZTUxOTQxNDAwYTMzZGQ1ZTI3MTAw
NzdiODhlZDRjNjg4OGM2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy91cGRhdGVfc2hlbGwucHkKQEAgLTAsMCArMSwzMSBAQAorIyBUaGlzIHNlcnZlcyBh
IGRpZmZlcmVudCByZXNwb25zZSB0byBlYWNoIHJlcXVlc3QsIHRvIHRlc3Qgc2VydmljZSB3b3Jr
ZXIKKyMgdXBkYXRlcy4gSWYgfGZpbGVuYW1lfCBpcyBwcm92aWRlZCwgaXQgd3JpdGVzIHRoYXQg
ZmlsZSBpbnRvIHRoZSBib2R5LgorIworIyBVc2FnZToKKyMgICBuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5yZWdpc3RlcigndXBkYXRlX3NoZWxsLnB5P2ZpbGVuYW1lPXdvcmtlci5qcycpCisjCisj
IFRoaXMgcmVnaXN0ZXJzIHdvcmtlci5qcyBhcyBhIHNlcnZpY2Ugd29ya2VyLCBhbmQgZXZlcnkg
dXBkYXRlIGNoZWNrCisjIHdpbGwgcmV0dXJuIGEgbmV3IHJlc3BvbnNlLgoraW1wb3J0IG9zCitp
bXBvcnQgc3lzCitpbXBvcnQgdGltZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Cisg
ICMgU2V0IG5vLWNhY2hlIHRvIGVuc3VyZSB0aGUgdXNlciBhZ2VudCBmaW5kcyBhIG5ldyB2ZXJz
aW9uIGZvciBlYWNoIHVwZGF0ZS4KKyAgaGVhZGVycyA9IFsoJ0NhY2hlLUNvbnRyb2wnLCAnbm8t
Y2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpLAorICAgICAgICAgICAgICgnUHJhZ21hJywgJ25vLWNh
Y2hlJyksCisgICAgICAgICAgICAgKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vamF2YXNj
cmlwdCcpXQorCisgICMgUmV0dXJuIGEgZGlmZmVyZW50IHNjcmlwdCBmb3IgZWFjaCBhY2Nlc3Mu
ICBVc2UgLnRpbWUoKSBhbmQgLmNsb2NrKCkgZm9yCisgICMgYmVzdCB0aW1lIHJlc29sdXRpb24g
YWNyb3NzIGRpZmZlcmVudCBwbGF0Zm9ybXMuCisgIHRpbWVzdGFtcCA9ICcvLyAlcyAlcycgJSAo
dGltZS50aW1lKCksIHRpbWUuY2xvY2soKSkKKyAgYm9keSA9IHRpbWVzdGFtcCArICdcbicKKwor
ICAjIEluamVjdCB0aGUgZmlsZSBpbnRvIHRoZSByZXNwb25zZS4KKyAgaWYgJ2ZpbGVuYW1lJyBp
biByZXF1ZXN0LkdFVDoKKyAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShf
X2ZpbGVfXyksCisgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LkdFVFsnZmlsZW5hbWUn
XSkKKyAgICB3aXRoIG9wZW4ocGF0aCwgJ3JiJykgYXMgZjoKKyAgICAgIGJvZHkgKz0gZi5yZWFk
KCkKKworICByZXR1cm4gaGVhZGVycywgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Z0dC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Z0dC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzYWM4MDM0ZTE5MmZjZDZhZGNhMTFmYTYzOGVk
YTU3YjYyZDk1YmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvdnR0LWZyYW1lLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5QYWdlIFRpdGxlPC90aXRsZT4KKzx2aWRlbz4KKyAg
PHRyYWNrPgorPC92aWRlbz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZwppbmRleCAzNzVmOTNlMGNmMDkyZTJhZGZlNWQ4ZTY5ZmI1ZGU1YWRhMTI1YjkzLi5jNDAy
OGVhMDdmNzAzNGQwYTk0NWM2MzRkZmY4NTZiMTc4NjhhODA2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5j
b20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE1LDkgKzE1LDEyIEBAIE5vbmUKIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
NDA0LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2Vt
ZW50LWJsYW5rLWR5bmFtaWMtbmVzdGVkLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmstbmVzdGVkLWZyYW1lLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtZnJh
bWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1l
bnQtcGluZy1mcmFtZS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFu
ay1yZXBsYWNlbWVudC1wb3B1cC1mcmFtZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9hYm91dC1ibGFuay1yZXBsYWNlbWVudC1zcmNkb2MtbmVzdGVkLWZyYW1lLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtdW5jb250cm9s
bGVkLW5lc3RlZC1mcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0
LWJsYW5rLXJlcGxhY2VtZW50LXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9hcHBjYWNoZS1vcmRlcmluZy5pbnN0YWxsLmh0bWwKQEAgLTI3LDEyICszMCwxNSBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9ibGFuay5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2J5dGVjaGVjay13b3JrZXItaW1wb3J0ZWQtc2NyaXB0
LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2J5dGVjaGVjay13b3JrZXIucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xhaW0tbmVzdGVkLXdvcmtlci1mZXRjaC1pZnJh
bWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS1uZXN0ZWQtd29ya2Vy
LWZldGNoLXBhcmVudC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xh
aW0tc2hhcmVkLXdvcmtlci1mZXRjaC1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9jbGFpbS1zaGFyZWQtd29ya2VyLWZldGNoLXdvcmtlci5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9jbGFpbS13aXRoLXJlZGlyZWN0LWlmcmFtZS5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLXdvcmtlci1mZXRjaC1pZnJhbWUuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS13b3JrZXItZmV0Y2gtd29ya2VyLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLXdvcmtlci5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9jbGFzc2ljLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9jbGllbnQtaWQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2NsaWVudC1uYXZpZ2F0ZS1mcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKQEAgLTQ0LDIyICs1MCwzNCBAQCBMaXN0IG9mIGZp
bGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1jcm9zcy1vcmln
aW4tZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1m
cmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LW90aGVy
LW9yaWdpbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXJl
c3VsdGluZ0NsaWVudElkLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9j
bGllbnRzLWdldC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50
cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMtZGVkaWNhdGVkLXdvcmtlci5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy1pZnJhbWUuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10
eXBlcy1zaGFyZWQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVu
dHMtbWF0Y2hhbGwtb24tZXZhbHVhdGlvbi13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvY2xpZW50cy1tYXRjaGFsbC13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvY29ycy1hcHByb3ZlZC50eHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
Y29ycy1hcHByb3ZlZC50eHQuaGVhZGVycworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9j
b3JzLWRlbmllZC50eHQKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZHVtbXktc2hhcmVk
LXdvcmtlci1pbnRlcmNlcHRvci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9kdW1t
eS1zaGFyZWQtd29ya2VyLWludGVyY2VwdG9yLmpzLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZHVtbXktd29ya2VyLWludGVyY2VwdG9yLmpzCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2R1bW15LXdvcmtlci1zY3JpcHQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZHVtbXkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9kdW1teS50
eHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2VjaG8tbWVzc2FnZS10by1zb3VyY2Utd29ya2VyLmpzCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRl
cmNlcHRlZC13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWQtaW1h
Z2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWRkZWQtY29udGVudC1mcm9tLXNlcnZpY2Utd29y
a2VyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1wdHktYnV0LXNsb3ctd29y
a2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbXB0eS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2VtcHR5LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VuYWJsZS1j
bGllbnQtbWVzc2FnZS1xdWV1ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Vu
ZC10by1lbmQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2V2ZW50cy13
b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZXh0ZW5kYWJsZS1ldmVudC1h
c3luYy13YWl0dW50aWwuanMKQEAgLTY3LDcgKzg1LDEwIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZhaWwtb24tZmV0Y2gtd29ya2VyLmpzCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLWxvZ2luLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJsZS13cml0
ZS13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRh
aW50aW5nLWlmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNh
bnZhcy10YWludGluZy10ZXN0cy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1jb3JzLXhoci1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1jc3AtaWZyYW1lLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtY3NwLWlmcmFtZS5odG1sLnN1Yi5oZWFkZXJzCkBAIC03NSwxMCArOTYsMTMg
QEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZl
bnQtYXN5bmMtcmVzcG9uZC13aXRoLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1ldmVudC1uZXR3b3JrLWVycm9yLWNvbnRyb2xsZWUtaWZyYW1lLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtbmV0d29yay1lcnJvci13b3Jr
ZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtbmV0d29yay1m
YWxsYmFjay13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZl
bnQtcmVzcG9uZC13aXRoLWFyZ3VtZW50LWlmcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1hcmd1bWVudC13b3JrZXIuanMKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWJvZHkt
bG9hZGVkLWluLWNodW5rLXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLXdvcmtlci5qcwogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcGFydGlhbC1z
dHJlYW0td29ya2VyLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50
LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0taWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS1j
aHVuay13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQt
cmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlc3BvbnNlLWJvZHktd2l0aC1p
bnZhbGlkLWNodW5rLWlmcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZXNwb25zZS1ib2R5LXdpdGgtaW52YWxpZC1jaHVuay13
b3JrZXIuanMKQEAgLTk3LDE4ICsxMjEsMjEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hl
Y2staWZyYW1lLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVz
dC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2stc2FtZS5jc3MKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2stc2Ft
ZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNy
b3NzLW9yaWdpbi1taW1lLWNoZWNrLXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tcmVhZC1jb250ZW50cy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdp
bi13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1m
YWxsYmFjay1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1y
ZXF1ZXN0LWZhbGxiYWNrLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy13b3JrZXIuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1uby1mcmVzaG5lc3MtaGVhZGVycy1p
ZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LW5v
LWZyZXNobmVzcy1oZWFkZXJzLXNjcmlwdC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXdvcmtlci5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJlZGlyZWN0LWlmcmFtZS5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtcmVzb3VyY2VzLWlmcmFt
ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qt
cmVzb3VyY2VzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1y
ZXF1ZXN0LXhoci1pZnJhbWUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1yZXF1ZXN0LXhoci1zeW5jLWlmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLXdvcmtlci5qcwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci1zeW5jLXdvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci13b3JrZXIu
anMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVzcG9uc2UtdGFpbnQtaWZy
YW1lLmh0bWwKQEAgLTEyMCwxNyArMTQ3LDIxIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXdhaXRzLWZvci1hY3RpdmF0ZS13b3JrZXIuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZnJhbWUtZm9yLWdldHJlZ2lzdHJhdGlvbnMuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9odHRwLXRvLWh0dHBzLXJlZGlyZWN0LWFu
ZC1yZWdpc3Rlci1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pZnJh
bWUtd2l0aC1pbWFnZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltbXV0YWJs
ZS1wcm90b3R5cGUtc2VydmljZXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9pbXBvcnQtbWltZS10eXBlLXdvcmtlci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lt
cG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0LWltcG9ydC5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC13b3JrZXIuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtcmVzb3VyY2UtbWFwLXdvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZs
YWctd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRz
LXZlcnNpb24ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtY2xhc3Np
Yy1zY3JpcHQuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtbW9kdWxl
LXNjcmlwdC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbmRleGVkZGItd29ya2Vy
LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2luc3RhbGwtZXZlbnQtdHlwZS13b3Jr
ZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxzLmpzCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2luc3RhbGwtd29ya2VyLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy13b3JrZXIuc3ViLmpzCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ludmFsaWQtYmxvYnR5cGUtaWZyYW1lLmh0dHBzLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW52YWxpZC1ibG9idHlwZS13b3JrZXIuanMKQEAg
LTE0MiwxMCArMTczLDE4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2lzby1sYXRpbjEtaGVhZGVyLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9sb2FkX3dvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2Fk
ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1j
b250cm9sbGVyLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbG9jYWwt
dXJsLWluaGVyaXQtY29udHJvbGxlci13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvbWFsZm9ybWVkLWh0dHAtcmVzcG9uc2UuYXNpcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9tYWxmb3JtZWQtd29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L21lc3NhZ2UtdnMtbWljcm90YXNrLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
bWltZS1zbmlmZmluZy13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbWlt
ZS10eXBlLXdvcmtlci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9taW50LW5ldy13
b3JrZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbW9kdWxlLXdvcmtlci5qcwor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UtaWZyYW1lLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdvcmtlci5qcwor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UucHkKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGUtd2luZG93LXdvcmtlci5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LWJvZHktd29ya2VyLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3QtYm9keS5weQpA
QCAtMTU1LDcgKzE5NCwxMiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMi5weQogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXRvLWh0dHAtaWZyYW1lLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC10by1odHRwLXdvcmtl
ci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXRpbWluZy13b3Jr
ZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmVzdGVkLWlmcmFtZS1wYXJlbnQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uZXN0ZWRfbG9hZF93b3JrZXIuanMK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbm90aWZpY2F0aW9uX2ljb24ucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWltYWdlLWlzLW5vdC1pbnRlcmNlcHRlZC1p
ZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vYmplY3QtaXMtbm90LWlu
dGVyY2VwdGVkLWlmcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL29uYWN0
aXZhdGUtdGhyb3ctZXJyb3ItZnJvbS1uZXN0ZWQtZXZlbnQtd29ya2VyLmpzCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL29uYWN0aXZhdGUtdGhyb3ctZXJyb3ItdGhlbi1jYW5jZWwtd29y
a2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL29uYWN0aXZhdGUtdGhyb3ctZXJy
b3ItdGhlbi1wcmV2ZW50LWRlZmF1bHQtd29ya2VyLmpzCkBAIC0xNzIsMTIgKzIxNiwxNyBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vcGFxdWUtcmVzcG9u
c2UtcHJlbG9hZGVkLXhoci5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL290aGVy
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb3ZlcnJpZGVfYXNzZXJ0X29iamVj
dF9lcXVhbHMuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcGFzcy10aHJvdWdoLXdv
cmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLnR4dAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9wZXJmb3JtYW5jZS10aW1lbGluZS13b3JrZXIuanMKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcG9zdG1lc3NhZ2UtYmxvYi11cmwuanMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvcG9zdG1lc3NhZ2UtZGljdGlvbmFyeS10cmFuc2ZlcmFibGVz
LXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wb3N0bWVzc2FnZS1tc2dw
b3J0LXRvLWNsaWVudC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcG9z
dG1lc3NhZ2UtdG8tY2xpZW50LXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9wb3N0bWVzc2FnZS10cmFuc2ZlcmFibGVzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9wb3N0bWVzc2FnZS13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvcmFuZ2UtcmVxdWVzdC10by1kaWZmZXJlbnQtb3JpZ2lucy13b3JrZXIuanMKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmFuZ2UtcmVxdWVzdC13aXRoLWRpZmZlcmVudC1jb3Jz
LW1vZGVzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRpcmVjdC13
b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVkaXJlY3QucHkKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVmZXJlci1pZnJhbWUuaHRtbApAQCAtMjAyLDMyICsy
NTEsNTIgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVz
cG9uZC13aXRoLWJvZHktYWNjZXNzZWQtcmVzcG9uc2Utd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3Jlc3BvbmQtd2l0aC1ib2R5LWFjY2Vzc2VkLXJlc3BvbnNlLmpzb25w
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZl
bnQtaWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlm
cmFtZS1mZXRjaC1ldmVudC1pZnJhbWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1uYXZpZ2F0b3Itc2VydmljZXdvcmtlci1pZnJh
bWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1jc3At
d29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWhl
YWRlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRl
cmNlcHRpb24tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc2Vy
dmljZS13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3Jr
ZXItaW50ZXJjZXB0aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29udHJvbGxlZC5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWltcG9ydC5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zaWxlbmNlLm9nYQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1w
bGUtaW50ZXJjZXB0LXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1w
bGUtaW50ZXJjZXB0LXdvcmtlci5qcy5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NpbXBsZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLWluc3RhbGxlZC13b3Jr
ZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLXdvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zcXVhcmUucG5nCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3NxdWFyZS5wbmcuc3ViLmhlYWRlcnMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3RhbGxpbmctc2VydmljZS13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3VjY2Vzcy5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0
LWhlbHBlcnMuc3ViLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LWhlbHBlcnMuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdW5yZWdpc3Rlci1jb250
cm9sbGVyLXBhZ2UuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtY2xh
aW0td29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1kdXJpbmct
aW5zdGFsbGF0aW9uLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRh
dGUtbWF4LWFnZWQtd29ya2VyLWltcG9ydGVkLXNjcmlwdC5weQogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy91cGRhdGUtbWF4LWFnZWQtd29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3VwZGF0ZS1taXNzaW5nLWltcG9ydC1zY3JpcHRzLWltcG9ydGVkLXdvcmtlci5w
eQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2Ny
aXB0cy1tYWluLXdvcmtlci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUt
bm9jb29raWUtd29ya2VyLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1y
ZWNvdmVyeS13b3JrZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLXJl
Z2lzdHJhdGlvbi13aXRoLXR5cGUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBk
YXRlLXdvcmtlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGVfc2hlbGwu
cHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdnR0LWZyYW1lLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvd2FpdC1mb3JldmVyLWluLWluc3RhbGwtd29ya2VyLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dlYnNvY2tldC13b3JrZXIuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvd2Vic29ja2V0LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3dpbmRvd2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvd29ya2VyLWNsaWVudC1pZC13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvd29ya2VyLWZldGNoaW5nLWNyb3NzLW9yaWdpbi5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLWlmcmFtZS5odHRwcy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3Qt
c2VydmljZXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50
ZXJjZXB0aW9uLXJlZGlyZWN0LXdlYndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy93b3JrZXItbG9hZC1pbnRlcmNlcHRvci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy93b3JrZXItdGVzdGhhcm5lc3MuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
d29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItY2xpZW50LWlkLXdvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItY2xpZW50LWlkLXdvcmtlci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNTkyNjI5ZDA3NGJjMzkxMmNlNjRmMzI1YTM1NjBhOWQzMWM3ZjEzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1jbGllbnQtaWQt
d29ya2VyLmpzCkBAIC0wLDAgKzEsMjUgQEAKK2FkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZ0
ID0+IHsKKyAgaWYgKGV2dC5yZXF1ZXN0LnVybC5pbmNsdWRlcygnd29ya2VyLWVjaG8tY2xpZW50
LWlkLmpzJykpIHsKKyAgICBldnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKAorICAgICAgJ2Zl
dGNoKCJmZXRjaC1lY2hvLWNsaWVudC1pZCIpLnRoZW4ociA9PiByLnRleHQoKSkudGhlbih0ID0+
IHNlbGYucG9zdE1lc3NhZ2UodCkpOycsCisgICAgICB7IGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlw
ZSc6ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JyB9fSkpOworICAgIHJldHVybjsKKyAgfQorCisg
IGlmIChldnQucmVxdWVzdC51cmwuaW5jbHVkZXMoJ2ZldGNoLWVjaG8tY2xpZW50LWlkJykpIHsK
KyAgICBldnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKGV2dC5jbGllbnRJZCkpOworICAgIHJl
dHVybjsKKyAgfQorCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5jbHVkZXMoJ2ZyYW1lLmh0bWwn
KSkgeworICAgIGV2dC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoJycpKTsKKyAgICByZXR1cm47
CisgIH0KK30pOworCithZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZXZ0ID0+IHsKKyAgaWYg
KGV2dC5kYXRhID09PSAnZWNoby1jbGllbnQtaWQnKSB7CisgICAgZXZ0LnBvcnRzWzBdLnBvc3RN
ZXNzYWdlKGV2dC5zb3VyY2UuaWQpOworICAgIHJldHVybjsKKyAgfQorfSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWZldGNoaW5nLWNyb3NzLW9yaWdp
bi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItZmV0Y2hpbmctY3Jvc3Mt
b3JpZ2luLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5ZjA4OTkxMTc0Y2I1MDczNWY4YmMwNjMxODc2YzIyYjMz
NTliZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29y
a2VyLWZldGNoaW5nLWNyb3NzLW9yaWdpbi5qcwpAQCAtMCwwICsxLDEwIEBACitpbXBvcnRTY3Jp
cHRzKCcvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzJyk7CitpbXBvcnRTY3JpcHRzKCd0ZXN0
LWhlbHBlcnMuc3ViLmpzJyk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVu
dCA9PiB7CisgIGNvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKyAgLy8gVGhlIHNu
ZWFreSBTZXJ2aWNlIFdvcmtlciBjaGFuZ2VzIHRoZSBzYW1lLW9yaWdpbiAnc3F1YXJlJyByZXF1
ZXN0IGZvciBhIGNyb3NzLW9yaWdpbiBpbWFnZS4KKyAgaWYgKGV2ZW50LnJlcXVlc3QudXJsLmlu
ZGV4T2YoJ3NxdWFyZScpICE9IC0xKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goaG9z
dF9pbmZvWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKSArICdzcXVhcmUucG5n
Jywge21vZGU6ICdjb3JzJ30pKTsKKyAgfQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvd29ya2VyLWludGVyY2VwdGlvbi1pZnJhbWUuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLWlmcmFtZS5odHRw
cy5odG1sCmluZGV4IGU4OWIzODY5MWNkNGJlNzg1NWM4Y2Y0OWU3NGMzNDMzMWUzODk3ZTQuLmFi
MTBhMDc4ZjNkNjdhOGMyMTNiODUxMWI4ZmY1ZmZjZGU5MjM3NWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLWlmcmFtZS5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9u
LWlmcmFtZS5odHRwcy5odG1sCkBAIC0zLDkgKzMsOSBAQAogPHNjcmlwdD4KIHZhciBob3N0X2lu
Zm8gPSBnZXRfaG9zdF9pbmZvKCk7CiAKLWZ1bmN0aW9uIGJvaWxlcnBsYXRlX3Rlc3QobXNnKSB7
CitmdW5jdGlvbiBib2lsZXJwbGF0ZV90ZXN0KHVybCwgbXNnKSB7CiAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgIHZhciB3b3JrZXIg
PSBuZXcgV29ya2VyKCJsb2FkX3dvcmtlci5qcyIpOworICAgICAgICAgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKHVybCk7CiAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUp
IHsgcmVzb2x2ZShlLmRhdGEpIH07CiAgICAgICAgICAgd29ya2VyLm9uZXJyb3IgPSBmdW5jdGlv
bihlKSB7IHJlamVjdChlKSB9OwogICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZShtc2cpOwpA
QCAtMTYsMTUgKzE2LDI3IEBAIGZ1bmN0aW9uIGJvaWxlcnBsYXRlX3Rlc3QobXNnKSB7CiB9CiAK
IGZ1bmN0aW9uIHhocl90ZXN0KCkgewotICAgIHJldHVybiBib2lsZXJwbGF0ZV90ZXN0KCJ4aHIi
KTsKKyAgICByZXR1cm4gYm9pbGVycGxhdGVfdGVzdCgibG9hZF93b3JrZXIuanMiLCAieGhyIik7
CiB9CiAKIGZ1bmN0aW9uIGZldGNoX3Rlc3QoKSB7Ci0gICAgcmV0dXJuIGJvaWxlcnBsYXRlX3Rl
c3QoImZldGNoIik7CisgICAgcmV0dXJuIGJvaWxlcnBsYXRlX3Rlc3QoImxvYWRfd29ya2VyLmpz
IiwgImZldGNoIik7CiB9CiAKIGZ1bmN0aW9uIGltcG9ydFNjcmlwdHNfdGVzdCgpIHsKLSAgICBy
ZXR1cm4gYm9pbGVycGxhdGVfdGVzdCgiaW1wb3J0U2NyaXB0cyIpOworICAgIHJldHVybiBib2ls
ZXJwbGF0ZV90ZXN0KCJsb2FkX3dvcmtlci5qcyIsICJpbXBvcnRTY3JpcHRzIik7Cit9CisKK2Z1
bmN0aW9uIG5lc3RlZF93b3JrZXJfeGhyX3Rlc3QoKSB7CisgICAgcmV0dXJuIGJvaWxlcnBsYXRl
X3Rlc3QoIm5lc3RlZF9sb2FkX3dvcmtlci5qcyIsICJ4aHIiKTsKK30KKworZnVuY3Rpb24gbmVz
dGVkX3dvcmtlcl9mZXRjaF90ZXN0KCkgeworICAgIHJldHVybiBib2lsZXJwbGF0ZV90ZXN0KCJu
ZXN0ZWRfbG9hZF93b3JrZXIuanMiLCAiZmV0Y2giKTsKK30KKworZnVuY3Rpb24gbmVzdGVkX3dv
cmtlcl9pbXBvcnRTY3JpcHRzX3Rlc3QoKSB7CisgICAgcmV0dXJuIGJvaWxlcnBsYXRlX3Rlc3Qo
Im5lc3RlZF9sb2FkX3dvcmtlci5qcyIsICJpbXBvcnRTY3JpcHRzIik7CiB9CiAKIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZ0KSB7CkBAIC0zMiw2ICs0NCw5
IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZ0KSB7CiAg
ICAgeGhyX3Rlc3QoKQogICAgICAgLnRoZW4oZmV0Y2hfdGVzdCkKICAgICAgIC50aGVuKGltcG9y
dFNjcmlwdHNfdGVzdCkKKyAgICAgIC50aGVuKG5lc3RlZF93b3JrZXJfeGhyX3Rlc3QpCisgICAg
ICAudGhlbihuZXN0ZWRfd29ya2VyX2ZldGNoX3Rlc3QpCisgICAgICAudGhlbihuZXN0ZWRfd29y
a2VyX2ltcG9ydFNjcmlwdHNfdGVzdCkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyBwb3J0LnBv
c3RNZXNzYWdlKHtyZXN1bHRzOiAnZmluaXNoJ30pOyB9KQogICAgICAgLmNhdGNoKGZ1bmN0aW9u
KGUpIHsgcG9ydC5wb3N0TWVzc2FnZSh7cmVzdWx0czogJ2ZhaWx1cmU6JyArIGV9KTsgfSk7CiAg
IH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1pbnRl
cmNlcHRpb24tcmVkaXJlY3Qtc2VydmljZXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0LXNlcnZpY2V3b3JrZXIuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjViYTVhMzhkZjVhNzg5M2RjYTNlMmRiNDdiNDM5NWM1MzYwZGIyYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0
aW9uLXJlZGlyZWN0LXNlcnZpY2V3b3JrZXIuanMKQEAgLTAsMCArMSw0OCBAQAorbGV0IG5hbWU7
CitpZiAoc2VsZi5yZWdpc3RyYXRpb24uc2NvcGUuaW5kZXhPZignc2NvcGUxJykgIT0gLTEpCisg
IG5hbWUgPSAnc3cxJzsKK2lmIChzZWxmLnJlZ2lzdHJhdGlvbi5zY29wZS5pbmRleE9mKCdzY29w
ZTInKSAhPSAtMSkKKyAgbmFtZSA9ICdzdzInOworCisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcign
ZmV0Y2gnLCBldnQgPT4geworICAvLyBUaGVyZSBhcmUgdGhyZWUgdHlwZXMgb2YgcmVxdWVzdHMg
dGhpcyBzZXJ2aWNlIHdvcmtlciBoYW5kbGVzLgorCisgIC8vICgxKSBUaGUgZmlyc3QgcmVxdWVz
dCBmb3IgdGhlIHdvcmtlciwgd2hpY2ggd2lsbCByZWRpcmVjdCBlbHNld2hlcmUuCisgIC8vICJy
ZWRpcmVjdC5weSIgbWVhbnMgdG8gdGVzdCBuZXR3b3JrIHJlZGlyZWN0LCBzbyBsZXQgbmV0d29y
ayBoYW5kbGUgaXQuCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5kZXhPZigncmVkaXJlY3QucHkn
KSAhPSAtMSkgeworICAgIHJldHVybjsKKyAgfQorICAvLyAic3ctcmVkaXJlY3QiIG1lYW5zIHRv
IHRlc3Qgc2VydmljZSB3b3JrZXIgcmVkaXJlY3QsIHNvIHJlc3BvbmQgd2l0aCBhCisgIC8vIHJl
ZGlyZWN0LgorICBpZiAoZXZ0LnJlcXVlc3QudXJsLmluZGV4T2YoJ3N3LXJlZGlyZWN0JykgIT0g
LTEpIHsKKyAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGV2dC5yZXF1ZXN0LnVybCk7CisgICAgY29u
c3QgcmVkaXJlY3RfdG8gPSB1cmwuc2VhcmNoUGFyYW1zLmdldCgnUmVkaXJlY3QnKTsKKyAgICBl
dnQucmVzcG9uZFdpdGgoUmVzcG9uc2UucmVkaXJlY3QocmVkaXJlY3RfdG8pKTsKKyAgICByZXR1
cm47CisgIH0KKworICAvLyAoMikgQWZ0ZXIgcmVkaXJlY3QsIHRoZSByZXF1ZXN0IGlzIGZvciBh
ICJ3ZWJ3b3JrZXIucHkiIFVSTC4KKyAgLy8gQWRkIGEgc2VhcmNoIHBhcmFtZXRlciB0byBpbmRp
Y2F0ZSB0aGlzIHNlcnZpY2Ugd29ya2VyIGhhbmRsZWQgdGhlCisgIC8vIGZpbmFsIHJlcXVlc3Qg
Zm9yIHRoZSB3b3JrZXIuCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5kZXhPZignd2Vid29ya2Vy
LnB5JykgIT0gLTEpIHsKKyAgICBjb25zdCBncmVldGluZyA9IGVuY29kZVVSSUNvbXBvbmVudChg
JHtuYW1lfSBzYXcgdGhlIHJlcXVlc3QgZm9yIHRoZSB3b3JrZXIgc2NyaXB0YCk7CisgICAgZXZ0
LnJlc3BvbmRXaXRoKGZldGNoKGB3b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtl
ci5weT9ncmVldGluZz0ke2dyZWV0aW5nfWApKTsKKyAgICByZXR1cm47CisgIH0KKworICAvLyAo
MykgVGhlIHdvcmtlciBkb2VzIGFuIGltcG9ydFNjcmlwdHMoKSB0byBpbXBvcnQtc2NyaXB0cy1l
Y2hvLnB5LiBJbmRpY2F0ZQorICAvLyB0aGF0IHRoaXMgc2VydmljZSB3b3JrZXIgaGFuZGxlZCB0
aGUgcmVxdWVzdC4KKyAgaWYgKGV2dC5yZXF1ZXN0LnVybC5pbmRleE9mKCdpbXBvcnQtc2NyaXB0
cy1lY2hvLnB5JykgIT0gLTEpIHsKKyAgICBjb25zdCBtc2cgPSBlbmNvZGVVUklDb21wb25lbnQo
YCR7bmFtZX0gc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyYCk7CisgICAgZXZ0LnJl
c3BvbmRXaXRoKGZldGNoKGBpbXBvcnQtc2NyaXB0cy1lY2hvLnB5P21zZz0ke21zZ31gKSk7Cisg
ICAgcmV0dXJuOworICB9CisKKyAgLy8gKDQpIFRoZSB3b3JrZXIgZG9lcyBhIGZldGNoKCkgdG8g
c2ltcGxlLnR4dC4gSW5kaWNhdGUgdGhhdCB0aGlzIHNlcnZpY2UKKyAgLy8gd29ya2VyIGhhbmRs
ZWQgdGhlIHJlcXVlc3QuCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5kZXhPZignc2ltcGxlLnR4
dCcpICE9IC0xKSB7CisgICAgZXZ0LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZShgJHtuYW1lfSBz
YXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcmApKTsKKyAgICByZXR1cm47CisgIH0KK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1pbnRlcmNlcHRp
b24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dv
cmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjODM0
Nzc3NjRmZjRjZDZkYzc5Y2Q0NTlhYTk5OWM5YTM4YTE1MWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC13
ZWJ3b3JrZXIuanMKQEAgLTAsMCArMSw0NCBAQAorLy8gVGhpcyBpcyB0aGUgKHNoYXJlZCBvciBk
ZWRpY2F0ZWQpIHdvcmtlciBmaWxlIGZvciB0aGUKKy8vIHdvcmtlci1pbnRlcmNlcHRpb24tcmVk
aXJlY3QgdGVzdC4gSXQgc2hvdWxkIGJlIHNlcnZlZCBieSB0aGUgY29ycmVzcG9uZGluZworLy8g
LnB5IGZpbGUgaW5zdGVhZCBvZiBiZWluZyBzZXJ2ZWQgZGlyZWN0bHkuCisvLworLy8gVGhpcyBm
aWxlIGlzIHNlcnZlZCBmcm9tIGJvdGggcmVzb3VyY2VzLyp3ZWJ3b3JrZXIucHkgYW5kCisvLyBy
ZXNvdXJjZXMvc2NvcGUyLyp3ZWJ3b3JrZXIucHksIGhlbmNlIHNvbWUgb2YgdGhlIGNvbXBsZXhp
dHkKKy8vIGJlbG93IGFib3V0IHBhdGhzLgorY29uc3QgcmVzb3VyY2VzX3VybCA9IG5ldyBVUkwo
Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzLyIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLmxvY2F0aW9uKTsKKworLy8gVGhpcyBncmVldGluZyB0
ZXh0IGlzIG1lYW50IHRvIGJlIGluamVjdGVkIGJ5IHRoZSBQeXRob24gc2NyaXB0IHRoYXQgc2Vy
dmVzCisvLyB0aGlzIGZpbGUsIHRvIGluZGljYXRlIGhvdyB0aGUgc2NyaXB0IHdhcyBzZXJ2ZWQg
KGZyb20gbmV0d29yayBvciBmcm9tCisvLyBzZXJ2aWNlIHdvcmtlcikuCisvLworLy8gV2UgY2Fu
J3QganVzdCB1c2UgYSBzdWIgcGlwZSBhbmQgbmFtZSB0aGlzIGZpbGUgLnN1Yi5qcyBzaW5jZSB3
ZSB3YW50CisvLyB0byBzZXJ2ZSB0aGUgZmlsZSBmcm9tIG11bHRpcGxlIFVSTHMgKHNlZSBhYm92
ZSkuCitsZXQgZ3JlZXRpbmcgPSAnJUdSRUVUSU5HX1RFWFQlJzsKK2lmICghZ3JlZXRpbmcpCisg
IGdyZWV0aW5nID0gJ3RoZSBzaGFyZWQgd29ya2VyIHNjcmlwdCB3YXMgc2VydmVkIGZyb20gbmV0
d29yayc7CisKKy8vIENhbGwgaW1wb3J0U2NyaXB0cygpIHdoaWNoIGZpbGxzIHxlY2hvX291dHB1
dHwgd2l0aCBhIHN0cmluZyBpbmRpY2F0aW5nCisvLyB3aGV0aGVyIGEgc2VydmljZSB3b3JrZXIg
aW50ZXJjZXB0ZWQgdGhlIGltcG9ydFNjcmlwdHMoKSByZXF1ZXN0LgorbGV0IGVjaG9fb3V0cHV0
OworY29uc3QgaW1wb3J0X3NjcmlwdHNfbXNnID0gZW5jb2RlVVJJQ29tcG9uZW50KAorICAgICdp
bXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrJyk7Citjb25zdCBpbXBvcnRfc2NyaXB0
c191cmwgPQorICAgIG5ldyBVUkwoYGltcG9ydC1zY3JpcHRzLWVjaG8ucHk/bXNnPSR7aW1wb3J0
X3NjcmlwdHNfbXNnfWAsIHJlc291cmNlc191cmwpOworaW1wb3J0U2NyaXB0cyhpbXBvcnRfc2Ny
aXB0c191cmwpOworY29uc3QgaW1wb3J0X3NjcmlwdHNfZ3JlZXRpbmcgPSBlY2hvX291dHB1dDsK
Kworc2VsZi5vbmNvbm5lY3QgPSBhc3luYyBmdW5jdGlvbihlKSB7CisgIGNvbnN0IHBvcnQgPSBl
LnBvcnRzWzBdOworICBwb3J0LnN0YXJ0KCk7CisgIHBvcnQucG9zdE1lc3NhZ2UoZ3JlZXRpbmcp
OworCisgIHBvcnQucG9zdE1lc3NhZ2UoaW1wb3J0X3NjcmlwdHNfZ3JlZXRpbmcpOworCisgIGNv
bnN0IGZldGNoX3VybCA9IG5ldyBVUkwoJ3NpbXBsZS50eHQnLCByZXNvdXJjZXNfdXJsKTsKKyAg
Y29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmZXRjaF91cmwpOworICBjb25zdCB0ZXh0ID0g
YXdhaXQgcmVzcG9uc2UudGV4dCgpOworICBwb3J0LnBvc3RNZXNzYWdlKCdmZXRjaCgpOiAnICsg
dGV4dCk7CisKKyAgcG9ydC5wb3N0TWVzc2FnZShzZWxmLmxvY2F0aW9uLmhyZWYpOworfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItdGVzdGhhcm5lc3Mu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLXRlc3RoYXJuZXNzLmpzCmlu
ZGV4IGZkZjU4NjhlMzNlMmZlMzUzNDQ4MThlYzNmMWEyZTA2OGI5MDk5NmQuLjczZTk3YmUxZWFh
NDRiYmU5NmY4ODAxZTBjNzZjMzc3NzJhYzdkMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy93b3JrZXItdGVzdGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3dvcmtlci10ZXN0aGFybmVzcy5qcwpAQCAtMjAsNyArMjAsNyBAQCBpbXBv
cnRTY3JpcHRzKCcvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJyk7CiAgICAgdmFyIGNhY2hlX25h
bWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lICsgJy8nICsgdW5pcXVpZmllcjsKIAogICAgIHRl
c3QuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNlbGYuY2FjaGVzLmRlbGV0ZShj
YWNoZV9uYW1lKTsKKyAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmRlbGV0ZShjYWNoZV9uYW1l
KTsKICAgICAgIH0pOwogCiAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmRlbGV0ZShjYWNoZV9uYW1l
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlcl9pbnRlcmNl
cHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUz
ODhlNDYxNDQ4ZjY0ZDM3ZDc0N2IyNjgzMGY0ZTg2OWEyYzY1MjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVj
dF93ZWJ3b3JrZXIucHkKQEAgLTAsMCArMSwxOSBAQAorIyBUaGlzIHNlcnZlcyB0aGUgd29ya2Vy
IEphdmFTY3JpcHQgZmlsZS4gSXQgdGFrZXMgYSB8Z3JlZXRpbmd8IHJlcXVlc3QKKyMgcGFyYW1l
dGVyIHRvIGluamVjdCBpbnRvIHRoZSBKYXZhU2NyaXB0IHRvIGluZGljYXRlIGhvdyB0aGUgcmVx
dWVzdAorIyByZWFjaGVkIHRoZSBzZXJ2ZXIuCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGgu
ZGlybmFtZShfX2ZpbGVfXyksCisgICAgICAgICAgICAgICAgICAgICAgIndvcmtlci1pbnRlcmNl
cHRpb24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzIikKKyAgYm9keSA9IG9wZW4ocGF0aCwgInJiIiku
cmVhZCgpCisgIGlmICJncmVldGluZyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgYm9keSA9IGJvZHku
cmVwbGFjZSgiJUdSRUVUSU5HX1RFWFQlIiwgcmVxdWVzdC5HRVRbImdyZWV0aW5nIl0pCisgIGVs
c2U6CisgICAgYm9keSA9IGJvZHkucmVwbGFjZSgiJUdSRUVUSU5HX1RFWFQlIiwgIiIpCisKKyAg
aGVhZGVycyA9IFtdCisgIGhlYWRlcnMuYXBwZW5kKCgiQ29udGVudC1UeXBlIiwgInRleHQvamF2
YXNjcmlwdCIpKQorCisgIHJldHVybiBoZWFkZXJzLCBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9zYW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9zYW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKaW5k
ZXggOGIzNjFiZDI1ZGY3Y2MwZTA1MDYyZDg4ZTgxNDJlNTQ4NzBmZjM0My4uZTA4YjcxNjQ1MzI1
Y2Q4ZmU5NGYxMDAxYmM3NzhlZDMyNTU3MWE5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC5odHRwcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbApAQCAtNywy
MTAgKzcsNTI5IEBACiA8c2NyaXB0PgogdmFyIGxhc3RDYWxsYmFja0lkID0gMDsKIHZhciBjYWxs
YmFja3MgPSB7fTsKLWZ1bmN0aW9uIHBvc3RNZXNzYWdlQW5kV2FpdFJlc3VsdChmcmFtZSkgewor
ZnVuY3Rpb24gZG9UZXN0KGZyYW1lLCB0eXBlKSB7CiAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7CiAgICAgdmFyIGlkID0gKytsYXN0Q2FsbGJhY2tJZDsKICAgICBjYWxs
YmFja3NbaWRdID0gcmVzb2x2ZTsKLSAgICBmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdl
KHtpZDppZH0sICcqJyk7CisgICAgZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7aWQ6
IGlkLCB0eXBlOiB0eXBlfSwgJyonKTsKKyAgfSk7Cit9CisKKy8vIEFza3MgdGhlIHNlcnZpY2Ug
d29ya2VyIGZvciBkYXRhIGFib3V0IHJlcXVlc3RzIGFuZCBjbGllbnRzIHNlZW4uIFRoZQorLy8g
d29ya2VyIHBvc3RzIGEgbWVzc2FnZSBiYWNrIHdpdGggfGRhdGF8IHdoZXJlOgorLy8gfGRhdGEu
cmVxdWVzdHN8OiB0aGUgcmVxdWVzdHMgdGhlIHdvcmtlciByZWNlaXZlZCBGZXRjaEV2ZW50cyBm
b3IKKy8vIHxkYXRhLmNsaWVudHN8OiB0aGUgVVJMcyBvZiBhbGwgdGhlIHdvcmtlcidzIGNsaWVu
dHMKKy8vIFRoZSB3b3JrZXIgY2xlYXJzIGl0cyBkYXRhIGFmdGVyIHJlc3BvbmRpbmcuCitmdW5j
dGlvbiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgIGxldCBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Cisg
ICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBtc2cgPT4geworICAgICAgcmVzb2x2ZShtc2cu
ZGF0YSk7CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9y
dDJ9LCBbY2hhbm5lbC5wb3J0Ml0pOwogICB9KTsKIH0KIAogd2luZG93Lm9ubWVzc2FnZSA9IGZ1
bmN0aW9uIChlKSB7CiAgIG1lc3NhZ2UgPSBlLmRhdGE7CiAgIHZhciBpZCA9IG1lc3NhZ2VbJ2lk
J107Ci0gIHZhciBjYWxiYWNrID0gY2FsbGJhY2tzW2lkXTsKKyAgdmFyIGNhbGxiYWNrID0gY2Fs
bGJhY2tzW2lkXTsKICAgZGVsZXRlIGNhbGxiYWNrc1tpZF07Ci0gIGNhbGJhY2sobWVzc2FnZVsn
cmVzdWx0J10pOworICBjYWxsYmFjayhtZXNzYWdlWydyZXN1bHQnXSk7CiB9OwogCi1wcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvc2FuZGJveGVk
LWlmcmFtZS1mZXRjaC1ldmVudC1pZnJhbWUuaHRtbCc7Ci0gICAgdmFyIFNDUklQVCA9ICdyZXNv
dXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanMnOwotICAgIHZhciBm
cmFtZXMgPSBbXTsKLSAgICB2YXIgd29ya2VyOwotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQotICAgICAgLnRoZW4oZnVu
Y3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmc7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5j
dGlvbigpIHsKLSAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUgKyAnP2lmcmFtZScp
OwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICBm
cmFtZXMucHVzaChmcmFtZSk7Ci0gICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlQW5kV2FpdFJl
c3VsdChmcmFtZSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihyZXN1bHQpIHsK
LSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKLSAgICAgICAgICByZXR1
cm4gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKFNDT1BFICsgJz9zY3JpcHQnLCAnYWxsb3ctc2NyaXB0
cycpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAg
ICBmcmFtZXMucHVzaChmcmFtZSk7Ci0gICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlQW5kV2Fp
dFJlc3VsdChmcmFtZSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihyZXN1bHQp
IHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKLSAgICAgICAgICBy
ZXR1cm4gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKFNDT1BFICsgJz9zY3JpcHQtb3JpZ2luJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbGxvdy1zY3JpcHRzIGFsbG93
LXNhbWUtb3JpZ2luJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkg
ewotICAgICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lKTsKLSAgICAgICAgICByZXR1cm4gcG9zdE1l
c3NhZ2VBbmRXYWl0UmVzdWx0KGZyYW1lKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0
aW9uKHJlc3VsdCkgewotICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOwot
ICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICAg
ICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgICAg
IGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7Ci0gICAgICAgICAgICAg
ICAgICByZXNvbHZlKG1zZyk7Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgd29y
a2VyLnBvc3RNZXNzYWdlKHtwb3J0OiBjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9ydDJdKTsK
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24obXNnKSB7
Ci0gICAgICAgICAgZm9yICh2YXIgZnJhbWUgb2YgZnJhbWVzKSB7Ci0gICAgICAgICAgICBmcmFt
ZS5yZW1vdmUoKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgdmFyIGV4cGVjdGVkX2Jhc2VfdXJs
ID0gbmV3IFVSTChTQ09QRSwgbG9jYXRpb24uaHJlZikuaHJlZjsKLSAgICAgICAgICB2YXIgcmVx
dWVzdF9zZXQgPSB7fTsKLSAgICAgICAgICBmb3IgKHZhciByZXF1ZXN0IG9mIG1zZy5kYXRhLnJl
cXVlc3RzKSB7Ci0gICAgICAgICAgICByZXF1ZXN0X3NldFtyZXF1ZXN0XSA9IHRydWU7Ci0gICAg
ICAgICAgfQotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICBleHBlY3RlZF9i
YXNlX3VybCArICc/aWZyYW1lJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBy
ZXF1ZXN0IGZvciBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOwotICAg
ICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/
aWZyYW1lX2ZldGNoJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBmZXRjaCBy
ZXF1ZXN0IGZyb20gbm9ybWFsIGlmcmFtZSBzaG91bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKLSAg
ICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAn
P2lmcmFtZV93b3JrZXJmZXRjaCcgaW4gcmVxdWVzdF9zZXQsCi0gICAgICAgICAgICAgICdUaGUg
ZmV0Y2ggcmVxdWVzdCBmcm9tIHdvcmtlciBpbiBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSAnICsK
LSAgICAgICAgICAgICAgJ2hhbmRsZWQgYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUo
Ci0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9pZnJhbWVfaWZyYW1lJyBpbiBy
ZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBub3JtYWwgaWZyYW1l
IGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSAnICsKLSAgICAgICAgICAgICAgJ2hhbmRs
ZWQgYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNlKAotICAgICAgICAgICAgICBleHBl
Y3RlZF9iYXNlX3VybCArICc/aWZyYW1lX3NjcmlwdCcgaW4gcmVxdWVzdF9zZXQsCi0gICAgICAg
ICAgICAgICdUaGUgcmVxdWVzdCBmb3Igc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlw
dHMgZmxhZyAnICsKLSAgICAgICAgICAgICAgJ2luc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBu
b3QgYmUgaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAg
ICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP2lmcmFtZV9zY3JpcHQtb3JpZ2luJyBpbiByZXF1
ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBzYW5kYm94ZWQgaWZyYW1l
IHdpdGggYWxsb3ctc2NyaXB0cyBhbmQgJyArCi0gICAgICAgICAgICAgICdhbGxvdy1zYW1lLW9y
aWdpbiBmbGFnIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBoYW5kbGVkICcgKwotICAg
ICAgICAgICAgICAnYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNlKAotICAgICAgICAg
ICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0JyBpbiByZXF1ZXN0X3NldCwKLSAgICAg
ICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2Ny
aXB0cyBmbGFnICcgKwotICAgICAgICAgICAgICAnc2hvdWxkIG5vdCBiZSBoYW5kbGVkIGJ5IFNX
LicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFz
ZV91cmwgKyAnP3NjcmlwdF9mZXRjaCcgaW4gcmVxdWVzdF9zZXQsCi0gICAgICAgICAgICAgICdU
aGUgZmV0Y2ggcmVxdWVzdCBmcm9tIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRz
ICcgKwotICAgICAgICAgICAgICAnZmxhZyBzaG91bGQgbm90IGJlIGhhbmRsZWQgYnkgU1cuJyk7
Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNlKAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3Vy
bCArICc/c2NyaXB0X3dvcmtlcmZldGNoJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAg
J1RoZSBmZXRjaCByZXF1ZXN0IGZyb20gd29ya2VyIGZyb20gc2FuZGJveGVkIGlmcmFtZSB3aXRo
ICcgKwotICAgICAgICAgICAgICAnYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgaGFu
ZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfZmFsc2UoCi0gICAgICAgICAgICAgIGV4
cGVjdGVkX2Jhc2VfdXJsICsgJz9zY3JpcHRfaWZyYW1lJyBpbiByZXF1ZXN0X3NldCwKLSAgICAg
ICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBub3JtYWwgaWZyYW1lIGluc2lkZSBzYW5kYm94ZWQg
aWZyYW1lIHdpdGggJyArCi0gICAgICAgICAgICAgICdhbGxvdy1zY3JpcHRzIGZsYWcgc2hvdWxk
IG5vdCBiZSBoYW5kbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAgICAg
ICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9zY3JpcHQnIGluIHJlcXVlc3Rf
c2V0LAotICAgICAgICAgICAgICAnVGhlIHJlcXVlc3QgZm9yIHNhbmRib3hlZCBpZnJhbWUgd2l0
aCBhbGxvdy1zY3JpcHRzIGZsYWcgJyArCi0gICAgICAgICAgICAgICdpbnNpZGUgc2FuZGJveGVk
IGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgZmxhZyBzaG91bGQgbm90IGJlICcgKwotICAgICAg
ICAgICAgICAnaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfZmFsc2UoCi0gICAg
ICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zY3JpcHRfc2NyaXB0LW9yaWdpbicgaW4g
cmVxdWVzdF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgcmVxdWVzdCBmb3Igc2FuZGJveGVkIGlm
cmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKwotICAgICAgICAgICAgICAnYWxsb3ctc2Ft
ZS1vcmlnaW4gZmxhZyBpbnNpZGUgc2FuZGJveGVkIGlmcmFtZSB3aXRoICcgKwotICAgICAgICAg
ICAgICAnYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgaGFuZGxlZCBieSBTVy4nKTsK
LSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwg
KyAnP3NjcmlwdC1vcmlnaW4nIGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAgICAgICAnVGhlIHJl
cXVlc3QgZm9yIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKLSAg
ICAgICAgICAgICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZsYWcgc2hvdWxkIGJlIGhhbmRsZWQgYnkg
U1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jh
c2VfdXJsICsgJz9zY3JpcHQtb3JpZ2luX2ZldGNoJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAg
ICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0IGZyb20gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93
LXNjcmlwdHMgJyArCi0gICAgICAgICAgICAgICdhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBz
aG91bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAg
ICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdC1vcmlnaW5fd29ya2VyZmV0Y2gn
IGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVlc3QgZnJvbSB3
b3JrZXIgaW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoICcgKwotICAgICAgICAgICAgICAnYWxsb3ct
c2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgaGFuZGxlZCAnICsK
LSAgICAgICAgICAgICAgJ2J5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAg
ICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0LW9yaWdpbl9pZnJhbWUnIGluIHJl
cXVlc3Rfc2V0LAotICAgICAgICAgICAgICAnVGhlIHJlcXVlc3QgZm9yIG5vcm1hbCBpZnJhbWUg
aW5zaWRlIHNhbmRib3hlZCBpZnJhbWUgd2l0aCAnICsKLSAgICAgICAgICAgICAgJ2FsbG93LXNj
cmlwdHMgYW5kIGFsbG93LXNhbWUtb3JpZ2luIGZsYWcgc2hvdWxkIGJlIGhhbmRsZWQgYnknICsK
LSAgICAgICAgICAgICAgJ1NXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAgICAgICAg
ICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdC1vcmlnaW5fc2NyaXB0JyBpbiByZXF1
ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBzYW5kYm94ZWQgaWZyYW1l
IHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnICcgKwotICAgICAgICAgICAgICAnaW5zaWRlIHNhbmRi
b3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKLSAgICAgICAgICAgICAgJ2Fs
bG93LXNhbWUtb3JpZ2luIGZsYWcgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7Ci0gICAgICAg
ICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zY3Jp
cHQtb3JpZ2luX3NjcmlwdC1vcmlnaW4nIGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAgICAgICAn
VGhlIHJlcXVlc3QgZm9yIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCcg
KwotICAgICAgICAgICAgICAnYWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBpbnNpZGUgc2FuZGJveGVk
IGlmcmFtZSB3aXRoICcgKwotICAgICAgICAgICAgICAnYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ct
c2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgaGFuZGxlZCBieScgKwotICAgICAgICAgICAgICAn
U1cuJyk7Ci0KLSAgICAgICAgICB2YXIgY2xpZW50X3NldCA9IHt9OwotICAgICAgICAgIGZvciAo
dmFyIGNsaWVudCBvZiBtc2cuZGF0YS5jbGllbnRzKSB7Ci0gICAgICAgICAgICBjbGllbnRfc2V0
W2NsaWVudF0gPSB0cnVlOwotICAgICAgICAgIH0KLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAg
ICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP2lmcmFtZScgaW4gY2xpZW50X3NldCwK
LSAgICAgICAgICAgICAgJ1RoZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBjb250cm9sbGVkIGJ5
IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICBleHBlY3RlZF9i
YXNlX3VybCArICc/aWZyYW1lX2lmcmFtZScgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAgICAg
J1RoZSBub3JtYWwgaWZyYW1lIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBjb250cm9s
bGVkICcgKwotICAgICAgICAgICAgICAnYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNl
KAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/aWZyYW1lX3NjcmlwdCcgaW4g
Y2xpZW50X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxs
b3ctc2NyaXB0cyBmbGFnIGluc2lkZSBub3JtYWwgJyArCi0gICAgICAgICAgICAgICdpZnJhbWUg
c2hvdWxkIG5vdCBiZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVl
KAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/aWZyYW1lX3NjcmlwdC1vcmln
aW4nIGluIGNsaWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgc2FuZGJveGVkIGlmcmFtZSB3
aXRoIGFsbG93LXNjcmlwdHMgYW5kIGFsbG93LXNhbWUtb3JpZ2luJyArCi0gICAgICAgICAgICAg
ICdmbGFnIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBjb250cm9sbGVkIGJ5IFNXLicp
OwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91
cmwgKyAnP3NjcmlwdCcgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBzYW5kYm94
ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgJyArCi0gICAg
ICAgICAgICAgICdjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgK
LSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9pZnJhbWUnIGluIGNs
aWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgbm9ybWFsIGlmcmFtZSBpbnNpZGUgc2FuZGJv
eGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMnICsKLSAgICAgICAgICAgICAgJ2ZsYWcgc2hv
dWxkIG5vdCBiZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgK
LSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9zY3JpcHQnIGluIGNs
aWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93
LXNjcmlwdHMgZmxhZyBpbnNpZGUgc2FuZGJveGVkICcgKwotICAgICAgICAgICAgICAnaWZyYW1l
IHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgY29udHJvbGxlZCBieSBTVy4n
KTsKLSAgICAgICAgICBhc3NlcnRfZmFsc2UoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2Vf
dXJsICsgJz9zY3JpcHRfc2NyaXB0LW9yaWdpbicgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAg
ICAgJ1RoZSBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2Ft
ZS1vcmlnaW4gJyArCi0gICAgICAgICAgICAgICdmbGFnIGluc2lkZSBzYW5kYm94ZWQgaWZyYW1l
IHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCAnICsKLSAgICAgICAgICAgICAgJ25vdCBi
ZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAg
ICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0LW9yaWdpbicgaW4gY2xpZW50X3NldCwK
LSAgICAgICAgICAgICAgJ1RoZSBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBh
bmQgYWxsb3ctc2FtZS1vcmlnaW4gJyArCi0gICAgICAgICAgICAgICdmbGFnIHNob3VsZCBiZSBj
b250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAg
ICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0LW9yaWdpbl9pZnJhbWUnIGluIGNsaWVudF9z
ZXQsCi0gICAgICAgICAgICAgICdUaGUgbm9ybWFsIGlmcmFtZSBpbnNpZGUgc2FuZGJveGVkIGlm
cmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgJyArCi0gICAgICAgICAgICAgICdhbmQgYWxsb3ctc2Ft
ZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBh
c3NlcnRfZmFsc2UoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zY3JpcHQt
b3JpZ2luX3NjcmlwdCcgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBzYW5kYm94
ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIGluc2lkZSBzYW5kYm94ZWQgJyArCi0g
ICAgICAgICAgICAgICdpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9y
aWdpbiBmbGFnIHNob3VsZCAnICsKLSAgICAgICAgICAgICAgJ2JlIGNvbnRyb2xsZWQgYnkgU1cu
Jyk7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2Vf
dXJsICsgJz9zY3JpcHQtb3JpZ2luX3NjcmlwdC1vcmlnaW4nIGluIGNsaWVudF9zZXQsCi0gICAg
ICAgICAgICAgICdUaGUgc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kIGFs
bG93LXNhbWUtb3JpZ2luICcgKwotICAgICAgICAgICAgICAnZmxhZyBpbnNpZGUgc2FuZGJveGVk
IGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKwotICAgICAgICAgICAgICAnYWxsb3ct
c2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBTVy4nKTsKLSAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09QRSk7Ci0g
ICAgICAgIH0pOwotICB9LCAnU2VydmljZVdvcmtlciBGZXRjaEV2ZW50IGZvciBzYW5kYm94ZWQg
aWZyYW1lLicpOworY29uc3QgU0NPUEUgPSAncmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0
Y2gtZXZlbnQtaWZyYW1lLnB5JzsKK2NvbnN0IFNDUklQVCA9ICdyZXNvdXJjZXMvc2FuZGJveGVk
LWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanMnOworY29uc3QgZXhwZWN0ZWRfYmFzZV91cmwg
PSBuZXcgVVJMKFNDT1BFLCBsb2NhdGlvbi5ocmVmKTsKKy8vIFNlcnZpY2Ugd29ya2VyIGNvbnRy
b2xsaW5nIHxTQ09QRXwuCitsZXQgd29ya2VyOworLy8gQSBub3JtYWwgaWZyYW1lLgorLy8gVGhp
cyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgorbGV0IG5vcm1hbF9m
cmFtZTsKKy8vIEFuIGlmcmFtZSBjcmVhdGVkIGJ5IDxpZnJhbWUgc2FuZGJveD0nYWxsb3ctc2Ny
aXB0cyc+LgorLy8gVGhpcyBzaG91bGQgTk9UIGJlIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdv
cmtlci4KK2xldCBzYW5kYm94ZWRfZnJhbWU7CisvLyBBbiBpZnJhbWUgY3JlYXRlZCBieSA8aWZy
YW1lIHNhbmRib3g9J2FsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4nPi4KKy8vIFRoaXMg
c2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KK2xldCBzYW5kYm94ZWRf
c2FtZV9vcmlnaW5fZnJhbWU7CisvLyBBbiBpZnJhbWUgd2hvc2UgcmVzcG9uc2UgaGVhZGVyIGhh
cworLy8gJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5OiBhbGxvdy1zY3JpcHRzJy4KKy8vIFRoaXMg
c2hvdWxkIE5PVCBiZSBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCitsZXQgc2FuZGJv
eGVkX2ZyYW1lX2J5X2hlYWRlcjsKKy8vIEFuIGlmcmFtZSB3aG9zZSByZXNwb25zZSBoZWFkZXIg
aGFzCisvLyAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGFsbG93LXNjcmlwdHMgYWxsb3ctc2Ft
ZS1vcmlnaW4nLgorLy8gVGhpcyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29y
a2VyLgorbGV0IHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFtZV9ieV9oZWFkZXI7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCisgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9u
KSB7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiByZWdpc3RyYXRpb24udW5y
ZWdpc3RlcigpKTsKKyAgICAgIHdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAg
ICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0
aXZhdGVkJyk7CisgICAgfSk7Cit9LCAnUHJlcGFyZSBhIHNlcnZpY2Ugd29ya2VyLicpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiB3aXRoX2lmcmFtZShTQ09QRSArICc/aWZyYW1l
JykKKyAgICAudGhlbihmID0+IHsKKyAgICAgIG5vcm1hbF9mcmFtZSA9IGY7CisgICAgICBhZGRf
Y29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRS
ZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7Cisg
ICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwgZXhw
ZWN0ZWRfYmFzZV91cmwgKyAnP2lmcmFtZScpOworICAgICAgYXNzZXJ0X3RydWUoZGF0YS5jbGll
bnRzLmluY2x1ZGVzKGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9pZnJhbWUnKSk7CisgICAgfSk7Cit9
LCAnUHJlcGFyZSBhIG5vcm1hbCBpZnJhbWUuJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHdpdGhfc2FuZGJveGVkX2lmcmFtZShTQ09QRSArICc/c2FuZGJveGVkLWlmcmFtZScs
ICdhbGxvdy1zY3JpcHRzJykKKyAgICAudGhlbihmID0+IHsKKyAgICAgIHNhbmRib3hlZF9mcmFt
ZSA9IGY7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsK
KyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAg
LnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3Ro
LCAwKTsKKyAgICAgIGFzc2VydF9mYWxzZShkYXRhLmNsaWVudHMuaW5jbHVkZXMoZXhwZWN0ZWRf
YmFzZV91cmwgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnP3Nh
bmRib3hlZC1pZnJhbWUnKSk7CisgICAgfSk7Cit9LCAnUHJlcGFyZSBhbiBpZnJhbWUgc2FuZGJv
eGVkIGJ5IDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+LicpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIHJldHVybiB3aXRoX3NhbmRib3hlZF9pZnJhbWUoU0NPUEUgKyAnP3NhbmRi
b3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luJykKKyAgICAudGhlbihmID0+IHsKKyAg
ICAgIHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFtZSA9IGY7CisgICAgICBhZGRfY29tcGxldGlv
bl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJv
bVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBsZXQg
cmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5s
ZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwKKyAgICAgICAgICAg
ICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmln
aW4nKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50cy5pbmNsdWRlcygKKyAgICAgICAg
ZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKSk7Cisg
ICAgfSkKK30sICdQcmVwYXJlIGFuIGlmcmFtZSBzYW5kYm94ZWQgYnkgJyArCisgICAnPGlmcmFt
ZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIj4uJyk7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgaWZyYW1lX2Z1bGxfdXJsID0gZXhwZWN0ZWRfYmFzZV91
cmwgKyAnP3NhbmRib3g9YWxsb3ctc2NyaXB0cyYnICsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3NhbmRib3hlZC1mcmFtZS1ieS1oZWFkZXInOworICByZXR1cm4gd2l0aF9pZnJhbWUoaWZy
YW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4geworICAgICAgc2FuZGJveGVkX2ZyYW1lX2J5
X2hlYWRlciA9IGY7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92
ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0p
CisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3Rz
OworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEsCisgICAgICAgICAgICAg
ICAgICAgICdTZXJ2aWNlIHdvcmtlciBzaG91bGQgcHJvdmlkZSB0aGUgcmVzcG9uc2UnKTsKKyAg
ICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHNbMF0sIGlmcmFtZV9mdWxsX3VybCk7CisgICAgICBh
c3NlcnRfZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVzKGlmcmFtZV9mdWxsX3VybCksCisgICAg
ICAgICAgICAgICAgICAgJ1NlcnZpY2Ugd29ya2VyIHNob3VsZCBOT1QgY29udHJvbCB0aGUgc2Fu
ZGJveGVkIHBhZ2UnKTsKKyAgICB9KTsKK30sICdQcmVwYXJlIGFuIGlmcmFtZSBzYW5kYm94ZWQg
YnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGggYWxsb3ctc2NyaXB0cy4nKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICBjb25zdCBpZnJhbWVfZnVsbF91cmwgPQorICAgIGV4cGVjdGVkX2Jhc2VfdXJs
ICsgJz9zYW5kYm94PWFsbG93LXNjcmlwdHMlMjBhbGxvdy1zYW1lLW9yaWdpbiYnICsKKyAgICAn
c2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbi1ieS1oZWFkZXInOworICByZXR1cm4gd2l0aF9p
ZnJhbWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4geworICAgICAgc2FuZGJveGVk
X3NhbWVfb3JpZ2luX2ZyYW1lX2J5X2hlYWRlciA9IGY7CisgICAgICBhZGRfY29tcGxldGlvbl9j
YWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdv
cmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBsZXQgcmVx
dWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5sZW5n
dGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwgaWZyYW1lX2Z1bGxfdXJs
KTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50cy5pbmNsdWRlcyhpZnJhbWVfZnVsbF91
cmwpKTsKKyAgICB9KQorfSwgJ1ByZXBhcmUgYW4gaWZyYW1lIHNhbmRib3hlZCBieSBDU1AgSFRU
UCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKKyAgICdhbGxvdy1zYW1lLW9yaWdp
bi4nKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUgPSBub3JtYWxfZnJhbWU7
CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdmZXRjaCcpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsK
KyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJl
c3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAg
ICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAgICBhc3NlcnRfZXF1YWxzKHJl
cXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0
IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0
c1swXSwgZnJhbWUuc3JjICsgJyZ0ZXN0PWZldGNoJyk7CisgICAgfSk7Cit9LCAnRmV0Y2ggcmVx
dWVzdCBmcm9tIGEgbm9ybWFsIGlmcmFtZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxl
dCBmcmFtZSA9IG5vcm1hbF9mcmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2ZldGNoLWZy
b20td29ya2VyJykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2Vy
KTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgbGV0IHJlcXVlc3RzID0gZGF0
YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHMubGVuZ3RoLCAxLAorICAg
ICAgICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkg
U1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzWzBdLCBmcmFtZS5zcmMgKyAnJnRl
c3Q9ZmV0Y2gtZnJvbS13b3JrZXInKTsKKyAgICB9KTsKK30sICdGZXRjaCByZXF1ZXN0IGZyb20g
YSB3b3JrZXIgaW4gYSBub3JtYWwgaWZyYW1lJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
bGV0IGZyYW1lID0gbm9ybWFsX2ZyYW1lOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnaWZyYW1l
JykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdk
b25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9
KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgbGV0IHJlcXVlc3RzID0gZGF0YS5yZXF1ZXN0
czsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHMubGVuZ3RoLCAxLAorICAgICAgICAgICAg
ICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBh
c3NlcnRfZXF1YWxzKHJlcXVlc3RzWzBdLCBmcmFtZS5zcmMgKyAnJnRlc3Q9aWZyYW1lJyk7Cisg
ICAgICBhc3NlcnRfdHJ1ZShkYXRhLmNsaWVudHMuaW5jbHVkZXMoZnJhbWUuc3JjICsgJyZ0ZXN0
PWlmcmFtZScpKTsKKworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIGlmcmFtZSBpbiB0aGUg
bm9ybWFsIGlmcmFtZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IG5v
cm1hbF9mcmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ3NhbmRib3hlZC1pZnJhbWUnKQor
ICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUn
KTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisg
ICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVu
Z3RoLCAwLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBo
YW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRl
cygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUnKSk7CisgICAg
fSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlw
dHMgZmxhZyBpbiB0aGUgbm9ybWFsICcgKworICAgJ2lmcmFtZScpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIGxldCBmcmFtZSA9IG5vcm1hbF9mcmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFt
ZSwgJ3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKQorICAgIC50aGVuKHJlc3VsdCA9PiB7
CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJldHVybiBnZXRS
ZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7Cisg
ICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXF1ZXN0cy5sZW5ndGgsIDEsCisgICAgICAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCBzaG91
bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHNbMF0s
CisgICAgICAgICAgICAgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1l
LXNhbWUtb3JpZ2luJyk7CisgICAgICBhc3NlcnRfdHJ1ZShkYXRhLmNsaWVudHMuaW5jbHVkZXMo
CisgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1lLXNhbWUtb3JpZ2lu
JykpOworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBh
bGxvdy1zY3JpcHRzIGFuZCAnICsKKyAgICdhbGxvdy1zYW1lLW9yaWdpbiBmbGFnIGluIHRoZSBu
b3JtYWwgaWZyYW1lJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1lID0gc2Fu
ZGJveGVkX2ZyYW1lOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnZmV0Y2gnKQorICAgIC50aGVu
KHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAg
IHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4o
ZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAor
ICAgICAgICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5k
bGVkIGJ5IFNXLicpOworICAgIH0pOworfSwgJ0ZldGNoIHJlcXVlc3QgZnJvbSBpZnJhbWUgc2Fu
ZGJveGVkIGJ5IGFuIGF0dHJpYnV0ZSB3aXRoIGFsbG93LXNjcmlwdHMgJyArCisgICAnZmxhZycp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9mcmFtZTsK
KyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2ZldGNoLWZyb20td29ya2VyJykKKyAgICAudGhlbihy
ZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICBy
ZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRh
dGEgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnJlcXVlc3RzLmxlbmd0aCwgMCwKKyAg
ICAgICAgICAgICAgICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0IHNob3VsZCBOT1QgYmUgaGFuZGxl
ZCBieSBTVy4nKTsKKyAgICB9KTsKK30sICdGZXRjaCByZXF1ZXN0IGZyb20gYSB3b3JrZXIgaW4g
aWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRyaWJ1dGUgd2l0aCAnICsKKyAgICdhbGxvdy1zY3Jp
cHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUgPSBzYW5kYm94
ZWRfZnJhbWU7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdpZnJhbWUnKQorICAgIC50aGVuKHJl
c3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJl
dHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0
YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAorICAg
ICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVkIGJ5IFNX
LicpOworICAgICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRlcyhmcmFtZS5zcmMg
KyAnJnRlc3Q9aWZyYW1lJykpOworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIGlmcmFtZSBp
biB0aGUgaWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRyaWJ1dGUgd2l0aCAnICsKKyAgICdhbGxv
dy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUgPSBz
YW5kYm94ZWRfZnJhbWU7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdzYW5kYm94ZWQtaWZyYW1l
JykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdk
b25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9
KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnJlcXVlc3Rz
Lmxlbmd0aCwgMCwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IHNob3VsZCBOT1Qg
YmUgaGFuZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9mYWxzZShkYXRhLmNsaWVudHMuaW5j
bHVkZXMoCisgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1lJykpOwor
ICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1z
Y3JpcHRzIGZsYWcgaW4gdGhlIGlmcmFtZSAnICsKKyAgICdzYW5kYm94ZWQgYnkgYW4gYXR0cmli
dXRlIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
bGV0IGZyYW1lID0gc2FuZGJveGVkX2ZyYW1lOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnc2Fu
ZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNG
cm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAgICAg
ICdUaGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3Nl
cnRfZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVzKAorICAgICAgICBmcmFtZS5zcmMgKyAnJnRl
c3Q9c2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpKTsKKyAgICB9KTsKK30sICdSZXF1ZXN0
IGZvciBhbiBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBhbmQgJyArCisgICAn
YWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBpbiB0aGUgaWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRy
aWJ1dGUgd2l0aCAnICsKKyAgICdhbGxvdy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICBsZXQgZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWU7CisgIHJl
dHVybiBkb1Rlc3QoZnJhbWUsICdmZXRjaCcpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNG
cm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGxl
dCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3Rz
Lmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0IHNob3Vs
ZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwg
ZnJhbWUuc3JjICsgJyZ0ZXN0PWZldGNoJyk7CisgICAgfSk7Cit9LCAnRmV0Y2ggcmVxdWVzdCBm
cm9tIGlmcmFtZSBzYW5kYm94ZWQgYnkgYW4gYXR0cmlidXRlIHdpdGggYWxsb3ctc2NyaXB0cyAn
ICsKKyAgICdhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFtZTsKKyAgcmV0dXJu
IGRvVGVzdChmcmFtZSwgJ2ZldGNoLWZyb20td29ya2VyJykKKyAgICAudGhlbihyZXN1bHQgPT4g
eworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0
UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4gewor
ICAgICAgbGV0IHJlcXVlc3RzID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9lcXVhbHMo
cmVxdWVzdHMubGVuZ3RoLCAxLAorICAgICAgICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVl
c3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVl
c3RzWzBdLAorICAgICAgICAgICAgICAgICAgICBmcmFtZS5zcmMgKyAnJnRlc3Q9ZmV0Y2gtZnJv
bS13b3JrZXInKTsKKyAgICB9KTsKK30sICdGZXRjaCByZXF1ZXN0IGZyb20gYSB3b3JrZXIgaW4g
aWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRyaWJ1dGUgd2l0aCAnICsKKyAgICdhbGxvdy1zY3Jp
cHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lOworICByZXR1cm4gZG9U
ZXN0KGZyYW1lLCAnaWZyYW1lJykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0
X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3Jr
ZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgbGV0IHJlcXVl
c3RzID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHMubGVuZ3Ro
LCAxLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRsZWQg
YnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzWzBdLCBmcmFtZS5zcmMgKyAn
JnRlc3Q9aWZyYW1lJyk7CisgICAgICBhc3NlcnRfdHJ1ZShkYXRhLmNsaWVudHMuaW5jbHVkZXMo
ZnJhbWUuc3JjICsgJyZ0ZXN0PWlmcmFtZScpKTsKKyAgICB9KTsKK30sICdSZXF1ZXN0IGZvciBh
biBpZnJhbWUgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgYW4gYXR0cmlidXRlIHdpdGggJyAr
CisgICAnYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFt
ZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ3NhbmRib3hlZC1pZnJhbWUnKQorICAgIC50aGVu
KHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAg
IHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4o
ZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAor
ICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVkIGJ5
IFNXLicpOworICAgICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRlcygKKyAgICAg
ICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUnKSk7CisgICAgfSk7Cit9LCAn
UmVxdWVzdCBmb3IgYW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgZmxhZyBp
biB0aGUgaWZyYW1lICcgKworICAgJ3NhbmRib3hlZCBieSBhdHRyaWJ1dGUgd2l0aCBhbGxvdy1z
Y3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lOworICByZXR1cm4g
ZG9UZXN0KGZyYW1lLCAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpCisgICAgLnRoZW4o
cmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAg
cmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihk
YXRhID0+IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAgICBhc3Nl
cnRfZXF1YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBy
ZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXF1ZXN0c1swXSwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRi
b3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50
cy5pbmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUt
c2FtZS1vcmlnaW4nKSk7CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gc2FuZGJveGVkIGlm
cmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKworICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZs
YWcgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgYXR0cmlidXRlIHdpdGggJyArCisgICAnYWxs
b3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9mcmFtZV9ieV9oZWFkZXI7CisgIHJldHVy
biBkb1Rlc3QoZnJhbWUsICdmZXRjaCcpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9t
V29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAgICAgICdU
aGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgfSk7Cit9LCAn
RmV0Y2ggcmVxdWVzdCBmcm9tIGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdp
dGggJyArCisgICAnYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVz
dChmcmFtZSwgJ2lmcmFtZScpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9l
cXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2Vy
KHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGFzc2VydF9lcXVh
bHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAgICAgICdUaGUgcmVx
dWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZmFsc2Uo
ZGF0YS5jbGllbnRzLmluY2x1ZGVzKGZyYW1lLnNyYyArICcmdGVzdD1pZnJhbWUnKSk7CisgICAg
fSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gaWZyYW1lIGluIHRoZSBpZnJhbWUgc2FuZGJveGVkIGJ5
IENTUCBIVFRQIGhlYWRlciB3aXRoICcgKworICAgJ2FsbG93LXNjcmlwdHMgZmxhZycpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9mcmFtZV9ieV9oZWFk
ZXI7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdzYW5kYm94ZWQtaWZyYW1lJykKKyAgICAudGhl
bihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAg
ICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVu
KGRhdGEgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnJlcXVlc3RzLmxlbmd0aCwgMCwK
KyAgICAgICAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IHNob3VsZCBOT1QgYmUgaGFuZGxlZCBi
eSBTVy4nKTsKKyAgICAgIGFzc2VydF9mYWxzZShkYXRhLmNsaWVudHMuaW5jbHVkZXMoCisgICAg
ICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1lJykpOworICAgIH0pOworfSwg
J1JlcXVlc3QgZm9yIGFuIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGZsYWcg
aW4gdGhlIGlmcmFtZSAnICsKKyAgICdzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGgg
YWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1l
ID0gc2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ3Nh
bmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKQorICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRz
RnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBh
c3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAorICAgICAgICAgICAgICAgICAg
ICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNz
ZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0
ZXN0PXNhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKSk7CisgICAgfSk7Cit9LCAnUmVxdWVz
dCBmb3IgYW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKworICAg
J2FsbG93LXNhbWUtb3JpZ2luIGZsYWcgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhU
VFAgaGVhZGVyIHdpdGggJyArCisgICAnYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lX2J5
X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2ZldGNoJykKKyAgICAudGhlbihyZXN1
bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1
cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEg
PT4geworICAgICAgbGV0IHJlcXVlc3RzID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9l
cXVhbHMocmVxdWVzdHMubGVuZ3RoLCAxLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVl
c3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVl
c3RzWzBdLCBmcmFtZS5zcmMgKyAnJnRlc3Q9ZmV0Y2gnKTsKKyAgICB9KTsKK30sICdGZXRjaCBy
ZXF1ZXN0IGZyb20gaWZyYW1lIHNhbmRib3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCAnICsK
KyAgICdhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBmbGFnJyk7CisKK3Byb21p
c2VfdGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1l
X2J5X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2lmcmFtZScpCisgICAgLnRoZW4o
cmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAg
cmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihk
YXRhID0+IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAgICBhc3Nl
cnRfZXF1YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBy
ZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXF1ZXN0c1swXSwgZnJhbWUuc3JjICsgJyZ0ZXN0PWlmcmFtZScpOworICAgICAgYXNzZXJ0X3Ry
dWUoZGF0YS5jbGllbnRzLmluY2x1ZGVzKGZyYW1lLnNyYyArICcmdGVzdD1pZnJhbWUnKSk7Cisg
ICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gaWZyYW1lIGluIHRoZSBpZnJhbWUgc2FuZGJveGVk
IGJ5IENTUCBIVFRQIGhlYWRlciB3aXRoICcgKworICAgJ2FsbG93LXNjcmlwdHMgYW5kIGFsbG93
LXNhbWUtb3JpZ2luIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUg
PSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWVfYnlfaGVhZGVyOworICByZXR1cm4gZG9UZXN0
KGZyYW1lLCAnc2FuZGJveGVkLWlmcmFtZScpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNG
cm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAgICAg
ICdUaGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3Nl
cnRfZmFsc2UoCisgICAgICAgIGRhdGEuY2xpZW50cy5pbmNsdWRlcyhmcmFtZS5zcmMgKyAnJnRl
c3Q9c2FuZGJveGVkLWlmcmFtZScpKTsKKyAgICB9KTsKK30sICdSZXF1ZXN0IGZvciBhbiBzYW5k
Ym94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIGluIHRoZSAnICsKKyAgICdpZnJh
bWUgc2FuZGJveGVkIGJ5IENTUCBIVFRQIGhlYWRlciB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcg
KworICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICBsZXQgZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWVfYnlfaGVhZGVyOworICBy
ZXR1cm4gZG9UZXN0KGZyYW1lLCAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpCisgICAg
LnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOwor
ICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAu
dGhlbihkYXRhID0+IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAg
J1RoZSByZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0c1swXSwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0
PXNhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEu
Y2xpZW50cy5pbmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1p
ZnJhbWUtc2FtZS1vcmlnaW4nKSk7CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gc2FuZGJv
eGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKworICAgJ2FsbG93LXNhbWUtb3Jp
Z2luIGZsYWcgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGgg
JyArCisgICAnYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOwogPC9z
Y3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdv
cmtlci1oZWFkZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2Vydmlj
ZS13b3JrZXItaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzI0ZDc3ZWEx
NWFjNDc2YmEyYmYzNDY2ZTgyOTYyNTkwMTExM2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvc2VydmljZS13b3JrZXItaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBBIHJlcXVlc3QgdG8gZmV0Y2ggc2VydmljZSB3b3JrZXIgbWFp
biBzY3JpcHQgc2hvdWxkIGhhdmUgU2VydmljZS1Xb3JrZXIgaGVhZGVyIGFuZCBpbXBvcnRlZCBz
Y3JpcHRzIHNob3VsZCBub3QgaGF2ZSBvbmUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3NlcnZpY2Utd29ya2VyLWhlYWRlci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
c2VydmljZS13b3JrZXItaGVhZGVyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI5MDJjZDFiNDU1
ZDEzMGM4OTljZjA2YmYwNWMzMjE4NGQyYjU0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWhlYWRlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlcnZpY2UgV29ya2VyOiBTZXJ2aWNlLVdvcmtl
ciBoZWFkZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qg
c2NyaXB0ID0gJ3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXIucHknCisgICAgKyAnP2hl
YWRlciZpbXBvcnQ9c2VydmljZS13b3JrZXItaGVhZGVyLnB5P25vLWhlYWRlcic7CisgIGNvbnN0
IHNjb3BlID0gJ3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXInOworICBjb25zdCBleHBl
Y3RlZF91cmwgPSBub3JtYWxpemVVUkwoc2NyaXB0KTsKKyAgY29uc3QgcmVnaXN0cmF0aW9uID0K
KyAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3Jp
cHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3Rl
cigpKTsKKyAgYXNzZXJ0X3RydWUocmVnaXN0cmF0aW9uIGluc3RhbmNlb2YgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbik7CisKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9u
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgYXdhaXQgcmVnaXN0cmF0aW9uLnVwZGF0ZSgp
OworfSwgJ0EgcmVxdWVzdCB0byBmZXRjaCBzZXJ2aWNlIHdvcmtlciBtYWluIHNjcmlwdCBzaG91
bGQgaGF2ZSBTZXJ2aWNlLVdvcmtlciAnCisgICsgJ2hlYWRlciBhbmQgaW1wb3J0ZWQgc2NyaXB0
cyBzaG91bGQgbm90IGhhdmUgb25lJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAyYzZhNWYwZGRiZWE3ZjlmNGRkOTQ1MzRlYmNmZmU4NGFh
Yzg3NzUuLjkyZTYzZDcxMmY2NTJiODhkMWViOGUyNGZhOGFmYWEzNWUxNTY5NDMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2V3b3JrZXJvYmplY3Qtc2NyaXB0dXJsLmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNld29ya2Vyb2JqZWN0
LXNjcmlwdHVybC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIFBBU1MgVmVy
aWZ5IHRoZSBzY3JpcHRVUkwgcHJvcGVydHk6IHJlbGF0aXZlIAogUEFTUyBWZXJpZnkgdGhlIHNj
cmlwdFVSTCBwcm9wZXJ0eTogd2l0aC1mcmFnbWVudCAKK1BBU1MgVmVyaWZ5IHRoZSBzY3JpcHRV
UkwgcHJvcGVydHk6IHdpdGgtcXVlcnkgCiBQQVNTIFZlcmlmeSB0aGUgc2NyaXB0VVJMIHByb3Bl
cnR5OiBhYnNvbHV0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdv
cmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZp
Y2V3b3JrZXJvYmplY3Qtc2NyaXB0dXJsLmh0dHBzLmh0bWwKaW5kZXggNThmMjVmM2E0NDJjMDEz
ODc4MDczMDBiMWEyNzhlNzFlOTI1NGQwYS4uNjAwNDk4NWEzNDYwODEzMjgyNTA4NmRhYjBjMDc3
N2YzZjBmZGYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9i
amVjdC1zY3JpcHR1cmwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNl
d29ya2Vyb2JqZWN0LXNjcmlwdHVybC5odHRwcy5odG1sCkBAIC03LDI1ICs3LDIwIEBACiAndXNl
IHN0cmljdCc7CiAKIGZ1bmN0aW9uIHVybF90ZXN0KG5hbWUsIHVybCkgewotICB2YXIgc2NvcGUg
PSAncmVzb3VyY2VzL3Njb3BlLycgKyBuYW1lOwotICB2YXIgZXhwZWN0ZWRVUkwgPSBub3JtYWxp
emVVUkwodXJsKTsKKyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlLycgKyBuYW1lOwor
ICBjb25zdCBleHBlY3RlZFVSTCA9IG5vcm1hbGl6ZVVSTCh1cmwpOwogCi0gIHByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7Ci0gICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgdXJsLCBzY29wZSkKLSAgICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0
cmF0aW9uKSB7Ci0gICAgICAgICAgICB2YXIgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxp
bmc7Ci0KLSAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgfSk7Ci0KLSAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMod29ya2VyLnNjcmlwdFVSTCwgZXhwZWN0ZWRVUkwsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICdSZXR1cm5lZCBTZXJ2aWNlV29ya2VyIG9iamVjdCBz
aG91bGQgaGF2ZSBzY3JpcHRVUkwnKTsKLSAgICAgICAgICB9KTsKLSAgICB9LCAnVmVyaWZ5IHRo
ZSBzY3JpcHRVUkwgcHJvcGVydHk6ICcgKyBuYW1lKTsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9CisgICAgICAgIGF3YWl0IHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHVybCwgc2NvcGUpOworICAgIGNvbnN0IHdv
cmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGFzc2VydF9lcXVhbHMod29ya2Vy
LnNjcmlwdFVSTCwgZXhwZWN0ZWRVUkwsICdzY3JpcHRVUkwnKTsKKyAgICBhd2FpdCByZWdpc3Ry
YXRpb24udW5yZWdpc3RlcigpOworICB9LCAnVmVyaWZ5IHRoZSBzY3JpcHRVUkwgcHJvcGVydHk6
ICcgKyBuYW1lKTsKIH0KIAogdXJsX3Rlc3QoJ3JlbGF0aXZlJywgJ3Jlc291cmNlcy9lbXB0eS13
b3JrZXIuanMnKTsKIHVybF90ZXN0KCd3aXRoLWZyYWdtZW50JywgJ3Jlc291cmNlcy9lbXB0eS13
b3JrZXIuanMjcmVmJyk7Cit1cmxfdGVzdCgnd2l0aC1xdWVyeScsICdyZXNvdXJjZXMvZW1wdHkt
d29ya2VyLmpzP3JlZicpOwogdXJsX3Rlc3QoJ2Fic29sdXRlJywgbm9ybWFsaXplVVJMKCcuL3Jl
c291cmNlcy9lbXB0eS13b3JrZXIuanMnKSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlv
bi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzhkM2QwOTQzOTIwZTJiZjY5YTFmMTcyY2ZlNDUz
ZDljMDlmZDJkNC4uM2FkMWY3YWNiYWZlMmNiMTcyZTQ2OGIwMjNhYjI4YThiODU3MDAyZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlv
bi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5n
LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACiAK
K0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCiBQQVNTIFRlc3Qgc2tp
cFdhaXRpbmcgd2hpbGUgYSBjbGllbnQgaXMgdXNpbmcgdGhlIHJlZ2lzdHJhdGlvbiAKLVBBU1Mg
c2tpcFdhaXRpbmcgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGlu
Zy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAt
d2FpdGluZy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbAppbmRleCBjMjY1YjAzZTAyMTkw
NDI1Yzc4MWRhZTJiMzUxYzc2MGJkNjFlOTY1Li42NzgzOGFjZmY0NjY5ODU3NjkzNmZiMzNiMjJj
NTk0Y2IzY2QxMGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmct
dXNpbmctcmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tp
cC13YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sCkBAIC01MCw2ICs1MCw5IEBA
IHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5j
dGlvbihyZWdpc3RyYXRpb24pIHsKICAgICAgICAgICBzd19yZWdpc3RyYXRpb24gPSByZWdpc3Ry
YXRpb247CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAgICAgICAgICB9KTsKICAg
ICAgICAgICByZXR1cm4gc2F3X2NvbnRyb2xsZXJjaGFuZ2VkOwogICAgICAgICB9KQogICAgICAg
LnRoZW4oZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdh
aXRpbmctd2l0aG91dC11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXdpdGhvdXQtdXNpbmctcmVnaXN0cmF0aW9uLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwZWE5ZDU4NzU3ODZhODI5YTM2Mjg1MDc5NDUyY2NkZGYw
NWVhNDc1Li5mNzRiZTZiNjVkYTU4ZTIxOWRlY2Y1NmFkNmJjYzNjNzVlMjk0MTIxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1yZWdpc3Ry
YXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2Fp
dGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw1IEBACiAKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCiBQ
QVNTIFRlc3Qgc2tpcFdhaXRpbmcgd2hpbGUgYSBjbGllbnQgaXMgbm90IGJlaW5nIGNvbnRyb2xs
ZWQgCi1QQVNTIHNraXBXYWl0aW5nIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9z
a2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRw
cy5odG1sCmluZGV4IGRhMWUzMzQxMWU1NDQ1OTEwNDQxNmQxYzdlNTI2YTA2YzhmNDc3MTAuLjcw
NWZlODM1NWUxMjVjOTljMDRhYmQ3ZGZiODk5ZDg1MzZlZDY4NTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRw
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0LXVzaW5n
LXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sCkBAIC0yNiw2ICsyNiw5IEBAIHByb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRp
b24pIHsKICAgICAgICAgICBzd19yZWdpc3RyYXRpb24gPSByZWdpc3RyYXRpb247CisgICAgICAg
ICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lz
dHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgICByZXR1cm4g
d2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsK
ICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3N0YXRlLmh0
dHBzLmh0bWwKaW5kZXggMzgxMDM2MmUwNTMzMDU2OWY5N2I3NjEyY2FlMWM5M2Y4MTM1Y2YzOC4u
NzM1OGU1OGZmMTRhNzRlMDQ1MTRlYjk0MzIxNTE1NzZjZjYyYjkwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9z
dGF0ZS5odHRwcy5odG1sCkBAIC00LDIxICs0LDI0IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0PgotKGZ1bmN0
aW9uICgpIHsKLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoJ1NlcnZpY2UgV29ya2VyIHN0YXRlIHBy
b3BlcnR5IGFuZCAic3RhdGVjaGFuZ2UiIGV2ZW50Jyk7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24g
KHQpIHsKICAgICB2YXIgY3VycmVudFN0YXRlID0gJ3Rlc3QtaXMtc3RhcnRpbmcnOwogICAgIHZh
ciBzY29wZSA9ICdyZXNvdXJjZXMvc3RhdGUvJzsKIAotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9yZWdpc3RlcigKICAgICAgICAgdCwgJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnLCBz
Y29wZSkKLSAgICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewor
ICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xl
YW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICB2YXIgc3cg
PSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKLSAgICAgICAgICBzdy5hZGRFdmVudExpc3RlbmVy
KCdzdGF0ZWNoYW5nZScsIHQuc3RlcF9mdW5jKG9uU3RhdGVDaGFuZ2Uoc3cpKSk7CisKICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKHN3LnN0YXRlLCAnaW5zdGFsbGluZycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAndGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBiZSBpbiAiaW5zdGFsbGluZyIg
c3RhdGUuJyk7CiAgICAgICAgICAgY2hlY2tTdGF0ZVRyYW5zaXRpb24oc3cuc3RhdGUpOwotICAg
ICAgICB9KSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAg
ICByZXR1cm4gb25TdGF0ZUNoYW5nZShzdyk7CisgICAgICAgIH0pOwogCiAgICAgZnVuY3Rpb24g
Y2hlY2tTdGF0ZVRyYW5zaXRpb24obmV3U3RhdGUpIHsKICAgICAgICAgc3dpdGNoIChjdXJyZW50
U3RhdGUpIHsKQEAgLTQ5LDcgKzUyLDkgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiBvblN0YXRl
Q2hhbmdlKGV4cGVjdGVkVGFyZ2V0KSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbihldmVudCkg
eworICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKKyAgICAgICAg
ICAgIGV4cGVjdGVkVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdlJywgcmVzb2x2
ZSk7CisgICAgICAgICAgfSkudGhlbihmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgYXNz
ZXJ0X3RydWUoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgU2VydmljZVdvcmtlciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICd0aGUgdGFyZ2V0IG9mIHRoZSBzdGF0ZWNoYW5nZSBldmVudCBzaG91
bGQgYmUgYSAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlV29ya2VyLicpOwpA
QCAtNjEsOSArNjYsOSBAQAogCiAgICAgICAgICAgICBjaGVja1N0YXRlVHJhbnNpdGlvbihldmVu
dC50YXJnZXQuc3RhdGUpOwogCi0gICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnN0YXRlID09
ICdhY3RpdmF0ZWQnKQotICAgICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9OworICAgICAgICAgICAgaWYgKGV2ZW50LnRh
cmdldC5zdGF0ZSAhPSAnYWN0aXZhdGVkJykKKyAgICAgICAgICAgICAgICByZXR1cm4gb25TdGF0
ZUNoYW5nZShleHBlY3RlZFRhcmdldCk7CisgICAgICAgICAgfSk7CiAgICAgfQotfSgpKTsKK30s
ICdTZXJ2aWNlIFdvcmtlciBzdGF0ZSBwcm9wZXJ0eSBhbmQgInN0YXRlY2hhbmdlIiBldmVudCcp
OwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zeW5jZWQtc3RhdGUu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3N5bmNlZC1zdGF0ZS5odHRwcy5odG1sCmlu
ZGV4IGM0YTliNjY1NWNiMDY2MGE3OGEyN2M1MjM1OTFjNDk1M2QzYjc3YTkuLjBlOWY2M2E5YTJl
NTI4ZTdmZmI4Zjk5MTNlZGZmYzhlMDI5NGFkOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3N5bmNlZC1zdGF0ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3N5bmNl
ZC1zdGF0ZS5odHRwcy5odG1sCkBAIC0zMyw3ICszMyw3IEBAIHByb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CiAgICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7CiAKICAg
ICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICByLnVucmVn
aXN0ZXIoKTsKKyAgICAgICAgICAgICAgcmV0dXJuIHIudW5yZWdpc3RlcigpOwogICAgICAgICAg
ICAgfSk7CiAKICAgICAgICAgICByZXR1cm4gbmV4dENoYW5nZSh3b3JrZXIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdW5jb250cm9sbGVkLXBhZ2UuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3VuY29udHJvbGxlZC1wYWdlLmh0dHBzLmh0bWwKaW5kZXggYTk1MjNhNTRj
ZGNlMjdjY2RkYjU4NjAxMjExMDFjZGQxYmRiNTBjYy4uZTIyY2E4ZjBhOTFhZGY5ZmJjZjY0Yzc3
Y2QzZDFkNGRmMjc5NTZmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5jb250cm9s
bGVkLXBhZ2UuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bmNvbnRyb2xsZWQt
cGFnZS5odHRwcy5odG1sCkBAIC0xOSwxMCArMTksMTQgQEAgZnVuY3Rpb24gZmV0Y2hfdXJsKHVy
bCkgewogfQogdmFyIHdvcmtlciA9ICdyZXNvdXJjZXMvZmFpbC1vbi1mZXRjaC13b3JrZXIuanMn
OwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS91bmNvbnRyb2xsZWQtcGFnZS8nOwot
ICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2Nv
cGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IHdvcmtlciwgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKKyAgICAgICAgICB0
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAg
IHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwog
ICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CkBAIC0zMCwxMCArMzQsNiBAQCBh
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KHRleHQpIHsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRleHQsICdhIHNpbXBsZSB0ZXh0IGZp
bGVcbicpOwotICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwg
c2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJl
YXNvbikgewotICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQocmVhc29uLm1lc3NhZ2UpOwotICAg
ICAgICB9KSk7CisgICAgICAgIH0pOwogICB9LCAnRmV0Y2ggZXZlbnRzIHNob3VsZCBub3QgZ28g
dGhyb3VnaCB1bmNvbnRyb2xsZWQgcGFnZS4nKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLW5ldy1zY3JpcHQuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVy
LW5ldy1zY3JpcHQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDhlNDJiZWU0YmVkY2M4MWZjNmY5
YWY1YWI3OWU4YzU5NGMzODczOTkuLjkwYjdjYWUzMWM4NmUzMTA0NGZlMzBlYzk0ODcyNzI2OTIy
Mzc5OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1uZXctc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItbmV3LXNjcmlwdC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsNSArMSw1IEBACiAKIFBBU1MgUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVSTCB3aGls
ZSBhbiB1bnJlZ2lzdGVyZWQgcmVnaXN0cmF0aW9uIGlzIGluIHVzZSAKLVBBU1MgUmVnaXN0ZXJp
bmcgYSBuZXcgc2NyaXB0IFVSTCB0aGF0IDQwNHMgZG9lcyBub3QgcmVzdXJyZWN0IGFuIHVucmVn
aXN0ZXJlZCByZWdpc3RyYXRpb24gCi1QQVNTIFJlZ2lzdGVyaW5nIGEgbmV3IHNjcmlwdCBVUkwg
dGhhdCBmYWlscyB0byBpbnN0YWxsIGRvZXMgbm90IHJlc3VycmVjdCBhbiB1bnJlZ2lzdGVyZWQg
cmVnaXN0cmF0aW9uIAorUEFTUyBSZWdpc3RlcmluZyBhIG5ldyBzY3JpcHQgVVJMIHRoYXQgNDA0
cyBkb2VzIHJlc3VycmVjdCBhbiB1bnJlZ2lzdGVyZWQgcmVnaXN0cmF0aW9uIAorUEFTUyBSZWdp
c3RlcmluZyBhIG5ldyBzY3JpcHQgVVJMIHRoYXQgZmFpbHMgdG8gaW5zdGFsbCBkb2VzIHJlc3Vy
cmVjdCBhbiB1bnJlZ2lzdGVyZWQgcmVnaXN0cmF0aW9uIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItbmV3LXNjcmlwdC5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLW5ldy1zY3JpcHQu
aHR0cHMuaHRtbAppbmRleCAzODU0MzBjMmQ4ZTZjODc1YTFkYmJjM2ZmMTRjODA1MDBmMDQ5YTM5
Li41ODIxMzJhNzQyZmM5YmIwZmJhNjJlZTAyNTM1NmY5ODM5MzhkYTFiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItbmV3LXNjcmlwdC5odHRw
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci1u
ZXctc2NyaXB0Lmh0dHBzLmh0bWwKQEAgLTkwLDkgKzkwLDEyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgewogICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAg
ICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgLy8gU3RlcCA1LjEg
b2YgUmVnaXN0ZXIgY2xlYXJzIHRoZSB1bmluc3RhbGwgZmxhZyBiZWZvcmUgZmV0Y2hpbmcKKyAg
ICAgICAgICAvLyB0aGUgc2NyaXB0OgorICAgICAgICAgIC8vCisgICAgICAgICAgLy8gIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNyZWdpc3Rlci1hbGdvcml0aG0KICAgICAg
ICAgICB2YXIgcHJvbWlzZSA9IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCd0aGlz
LXdpbGwtNDA0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHsgc2NvcGU6IHNjb3BlIH0pOwotICAgICAgICAgIGlmcmFtZS5yZW1vdmUo
KTsKICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKApA
QCAtMTAwLDE3ICsxMDMsMjggQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAg
YXNzZXJ0X3VucmVhY2hlZCgncmVnaXN0ZXIgc2hvdWxkIHJlamVjdCB0aGUgcHJvbWlzZScpOwog
ICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCBudWxsLAorICAgICAgICAgICAgICAgICAgICAgICAg
J3JlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nJyk7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdp
c3RyYXRpb24ud2FpdGluZywgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICdyZWdpc3Ry
YXRpb24ud2FpdGluZycpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLmFj
dGl2ZS5zY3JpcHRVUkwsIG5vcm1hbGl6ZVVSTCh3b3JrZXJfdXJsKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICdyZWdpc3RyYXRpb24uYWN0aXZlJyk7CisgICAgICAgICAgaWZyYW1lLnJlbW92
ZSgpOwogICAgICAgICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7CiAgICAgICAgIH0pCiAg
ICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZnJh
bWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICdkb2N1
bWVudCBzaG91bGQgbm90IGxvYWQgd2l0aCBhIGNvbnRyb2xsZXInKTsKKyAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKAorICAgICAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIuc2NyaXB0VVJMLAorICAgICAgICAgICAgICBub3JtYWxp
emVVUkwod29ya2VyX3VybCksCisgICAgICAgICAgICAgICd0aGUgb3JpZ2luYWwgd29ya2VyIHNo
b3VsZCBjb250cm9sIGEgbmV3IGRvY3VtZW50Jyk7CiAgICAgICAgICAgZnJhbWUucmVtb3ZlKCk7
CisgICAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAgICAgIH0p
CisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICB0LmRvbmUoKTsKICAgICAgICAg
fSkKICAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKLX0sICdSZWdpc3Rlcmlu
ZyBhIG5ldyBzY3JpcHQgVVJMIHRoYXQgNDA0cyBkb2VzIG5vdCByZXN1cnJlY3QgYW4gJyArCit9
LCAnUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVSTCB0aGF0IDQwNHMgZG9lcyByZXN1cnJlY3Qg
YW4gJyArCiAgICAgICAgJ3VucmVnaXN0ZXJlZCByZWdpc3RyYXRpb24nKTsKIAogYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7CkBAIC0xMzEsOSArMTQ1LDEyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgewogICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAgICAg
ICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgLy8gU3RlcCA1LjEgb2Yg
UmVnaXN0ZXIgY2xlYXJzIHRoZSB1bmluc3RhbGwgZmxhZyBiZWZvcmUgZmlyaW5nCisgICAgICAg
ICAgLy8gdGhlIGluc3RhbGwgZXZlbnQ6CisgICAgICAgICAgLy8KKyAgICAgICAgICAvLyAgaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3JlZ2lzdGVyLWFsZ29yaXRobQogICAg
ICAgICAgIHZhciBwcm9taXNlID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoCiAg
ICAgICAgICAgICAgICdyZXNvdXJjZXMvcmVqZWN0LWluc3RhbGwtd29ya2VyLmpzJywgeyBzY29w
ZTogc2NvcGUgfSk7Ci0gICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgIHJldHVy
biBwcm9taXNlOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgewpAQCAtMTQx
LDEyICsxNTgsMjAgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgcmV0dXJu
IHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ3JlZHVuZGFudCcpOwogICAgICAgICB9
KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdp
c3RyYXRpb24uaW5zdGFsbGluZywgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICdyZWdp
c3RyYXRpb24uaW5zdGFsbGluZycpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0
aW9uLndhaXRpbmcsIG51bGwsCisgICAgICAgICAgICAgICAgICAgICAgICAncmVnaXN0cmF0aW9u
LndhaXRpbmcnKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5hY3RpdmUu
c2NyaXB0VVJMLCBub3JtYWxpemVVUkwod29ya2VyX3VybCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAncmVnaXN0cmF0aW9uLmFjdGl2ZScpOworICAgICAgICAgIGlmcmFtZS5yZW1vdmUoKTsK
ICAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOwogICAgICAgICB9KQogICAgICAg
LnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNv
bnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAnZG9jdW1lbnQg
c2hvdWxkIG5vdCBsb2FkIHdpdGggYSBjb250cm9sbGVyJyk7CisgICAgICAgICAgYXNzZXJ0X2Vx
dWFscygKKyAgICAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5jb250cm9sbGVyLnNjcmlwdFVSTCwKKyAgICAgICAgICAgICAgbm9ybWFsaXplVVJM
KHdvcmtlcl91cmwpLAorICAgICAgICAgICAgICAndGhlIG9yaWdpbmFsIHdvcmtlciBzaG91bGQg
Y29udHJvbCBhIG5ldyBkb2N1bWVudCcpOwogICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAg
ICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAgICAgICB9KQpAQCAt
MTU0LDYgKzE3OSw2IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAgIHQuZG9u
ZSgpOwogICAgICAgICB9KQogICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwot
ICB9LCAnUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVSTCB0aGF0IGZhaWxzIHRvIGluc3RhbGwg
ZG9lcyBub3QgcmVzdXJyZWN0ICcgKworICB9LCAnUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVS
TCB0aGF0IGZhaWxzIHRvIGluc3RhbGwgZG9lcyByZXN1cnJlY3QgJyArCiAgICAgICAgJ2FuIHVu
cmVnaXN0ZXJlZCByZWdpc3RyYXRpb24nKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbAppbmRleCA2YzBh
MGFlY2YzZjU2MmE1NmVkZjdmZjY1YWNiOWZjZDY3NWNkZmE2Li4zMDNiMmJlMmI3ZDFkY2EwZDY5
ZDg0YWU1NjFhNTgyNDIxMDYxNjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJl
Z2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91
bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbApAQCAtNSwxMiArNSwxNiBAQAogPHNj
cmlwdD4KIHZhciB3b3JrZXJfdXJsID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOwogCi1h
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAg
dmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZS1yZWdpc3Rlci1yZXNvbHZlcy10by1uZXct
dmFsdWUnOwogICAgIHZhciByZWdpc3RyYXRpb247CiAKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXJfdXJsLCBzY29wZSkKKyAgICByZXR1cm4gc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwgc2NvcGUp
CiAgICAgICAudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIo
dCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZWdpc3RyYXRpb24gPSBy
OwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3Rp
dmF0ZWQnKTsKICAgICAgICAgfSkKQEAgLTIzLDE3ICsyNywxOSBAQCBhc3luY190ZXN0KGZ1bmN0
aW9uKHQpIHsKICAgICAgIC50aGVuKGZ1bmN0aW9uKG5ld19yZWdpc3RyYXRpb24pIHsKICAgICAg
ICAgICBhc3NlcnRfbm90X2VxdWFscyhyZWdpc3RyYXRpb24sIG5ld19yZWdpc3RyYXRpb24sCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIGEg
bmV3IHZhbHVlJyk7Ci0gICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9u
ZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlv
bih0KSk7CisgICAgICAgIH0pOwogICB9LCAnVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVyIHJlc29s
dmVzIHRvIGEgbmV3IHZhbHVlJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlL3Jl
LXJlZ2lzdGVyLXdoaWxlLW9sZC1yZWdpc3RyYXRpb24taW4tdXNlJzsKICAgICB2YXIgcmVnaXN0
cmF0aW9uOwogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwg
d29ya2VyX3VybCwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24o
cikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
IHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAg
IH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAgICByZXR1cm4gd2Fp
dF9mb3Jfc3RhdGUodCwgci5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBA
IC00OSwyMCArNTUsMjIgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAudGhlbihm
dW5jdGlvbihuZXdfcmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdp
c3RyYXRpb24sIG5ld19yZWdpc3RyYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAnbmV3
IHJlZ2lzdHJhdGlvbiBzaG91bGQgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24nKTsK
LSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsK
LSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAg
ICAgfSk7CiAgIH0sICdVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzb2x2ZXMgdG8gdGhlIG9y
aWdpbmFsIHZhbHVlIGlmIHRoZSAnICsKICAgICAgICAgICdyZWdpc3RyYXRpb24gaXMgaW4gdXNl
LicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9jb21wbGV0ZS11bnJlZ2lzdHJh
dGlvbi1mb2xsb3dlZC1ieS0nICsKICAgICAgICAgICAgICAgICAncmVsb2FkaW5nLWNvbnRyb2xs
ZWUtaWZyYW1lJzsKICAgICB2YXIgcmVnaXN0cmF0aW9uOwogICAgIHZhciBmcmFtZTsKICAgICB2
YXIgc2VydmljZV93b3JrZXI7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgd29ya2VyX3VybCwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQogICAgICAgLnRoZW4o
ZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAg
ICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAgICBy
ZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgci5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAg
ICAgIH0pCkBAIC04OCwyMCArOTYsMjIgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAg
ICAudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyLCB1bmRlZmlu
ZWQsICdnZXRSZWdpc3RyYXRpb24gc2hvdWxkIHJldHVybiAnICsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3VuZGVmaW5lZCBhZnRlciB1bnJlZ2lzdHJhdGlvbicpOwot
ICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwot
ICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAg
ICB9KTsKIH0sICdSZWxvYWRpbmcgdGhlIGxhc3QgY29udHJvbGxlZCBpZnJhbWUgYWZ0ZXIgdW5y
ZWdpc3RyYXRpb24gc2hvdWxkIGVuc3VyZSAnICsKICAgICd0aGUgZGVsZXRpb24gb2YgdGhlIHJl
Z2lzdHJhdGlvbicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZS1yZWdpc3Rl
ci1kb2VzLW5vdC1hZmZlY3QtZXhpc3RpbmctY29udHJvbGxlZSc7CiAgICAgdmFyIGlmcmFtZTsK
ICAgICB2YXIgcmVnaXN0cmF0aW9uOwogICAgIHZhciBjb250cm9sbGVyOwogCi0gICAgc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwgc2NvcGUpCisg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtl
cl91cmwsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVn
aXN0cmF0aW9uID0gcjsKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgci5pbnN0
YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBAIC0xMjUsMTggKzEzNSwyMCBAQCBh
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgY29udHJvbGxlciwKICAgICAg
ICAgICAgICAgJ3RoZSB3b3JrZXIgZnJvbSB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGlzIHRoZSBj
b250cm9sbGVyJyk7CiAgICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAg
ICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1Vu
cmVnaXN0ZXIgdGhlbiByZWdpc3RlciBkb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgY29udHJvbGxl
ZScpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZXN1cnJlY3Rpb24nOwogICAg
IHZhciBpZnJhbWU7CiAgICAgdmFyIHJlZ2lzdHJhdGlvbjsKIAotICAgIHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQorICAgIHJldHVy
biBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXJfdXJsLCBz
Y29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVw
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJlZ2lzdHJhdGlv
biA9IHI7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywg
J2FjdGl2YXRlZCcpOwogICAgICAgICB9KQpAQCAtMTU5LDggKzE3MSw2IEBAIGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRv
ci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIsIG51bGwsCiAgICAgICAgICAgICAgICdkb2N1bWVu
dCBzaG91bGQgaGF2ZSBhIGNvbnRyb2xsZXInKTsKICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsK
LSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsK
LSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAg
ICAgfSk7CiAgIH0sICdVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzdXJyZWN0cyB0aGUgcmVn
aXN0cmF0aW9uJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1mZXRjaC1ldmVudC5odHRwcy5odG1sCmlu
ZGV4IDA0Y2Q5OTYwZmM2M2IwZmFkM2ZmYzMzMjRjNTRmNzVlNzVjMDBmNDMuLmZmNTFmN2Y5MDJj
N2JmN2MyN2UwOTk2YzYxYmIwNmVkZWM2ZmNlODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3VwZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tZmV0Y2gtZXZlbnQuaHR0
cHMuaHRtbApAQCAtMSwzNCArMSw5MSBAQAogPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+U2Vydmlj
ZSBXb3JrZXI6IFVwZGF0ZSBzaG91bGQgYmUgdHJpZ2dlcmVkIGFmdGVyIGEgbmF2aWdhdGlvbiBm
ZXRjaCBldmVudC48L3RpdGxlPgorPG1ldGEgbmFtZT10aW1lb3V0IGNvbnRlbnQ9bG9uZz4KKzx0
aXRsZT5TZXJ2aWNlIFdvcmtlcjogVXBkYXRlIHNob3VsZCBiZSB0cmlnZ2VyZWQgYWZ0ZXIgYSBu
YXZpZ2F0aW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZh
ciBzY3JpcHQgPSAncmVzb3VyY2VzL3VwZGF0ZS1ub2Nvb2tpZS13b3JrZXIucHknOwotICAgIHZh
ciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvdXBkYXRlJzsKLSAgICB2YXIgcGFyc2VkX3VybCA9
IG5vcm1hbGl6ZVVSTChzY3JpcHQpOwotICAgIHZhciByZWdpc3RyYXRpb247Ci0gICAgdmFyIGZy
YW1lOwotCi0gICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVy
KHQsIHBhcnNlZF91cmwsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocikgewotICAgICAg
ICAgIHJlZ2lzdHJhdGlvbiA9IHI7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAg
ICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICAvLyBOYXZpZ2F0aW9uIHRvIHRoZSBpZnJh
bWUuCi0gICAgICAgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsKLSAgICAgICAgfSkKLSAg
ICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKLSAgICAgICAgICBmcmFtZSA9IGY7Ci0gICAgICAgICAg
Ly8gTmF2aWdhdGlvbiBmZXRjaCBldmVudCBzaG91bGQgdHJpZ2dlciB1cGRhdGUuCi0gICAgICAg
ICAgcmV0dXJuIHdhaXRfZm9yX3VwZGF0ZSh0LCByZWdpc3RyYXRpb24pOwotICAgICAgIH0pCi0g
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAg
ICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUp
OwotICAgICAgIH0pCi0gIH0sICdVcGRhdGUgc2hvdWxkIGJlIHRyaWdnZXJlZCBhZnRlciBhIG5h
dmlnYXRpb24gZmV0Y2ggZXZlbnQuJyk7Cithc3luYyBmdW5jdGlvbiBjbGVhbnVwKGZyYW1lLCBy
ZWdpc3RyYXRpb24pIHsKKyAgaWYgKGZyYW1lKQorICAgIGZyYW1lLnJlbW92ZSgpOworICBpZiAo
cmVnaXN0cmF0aW9uKQorICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKK30KKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVzb3VyY2VzL3Vw
ZGF0ZV9zaGVsbC5weT9maWxlbmFtZT1lbXB0eS5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291
cmNlcy9zY29wZS91cGRhdGUnOworICBsZXQgcmVnaXN0cmF0aW9uOworICBsZXQgZnJhbWU7CisK
KyAgYXN5bmMgZnVuY3Rpb24gcnVuKCkgeworICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgICAgICB0LCBzY3JpcHQsIHNj
b3BlKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGlu
ZywgJ2FjdGl2YXRlZCcpOworCisgICAgLy8gTmF2aWdhdGlvbiBzaG91bGQgdHJpZ2dlciB1cGRh
dGUuCisgICAgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7CisgICAgYXdhaXQgd2Fp
dF9mb3JfdXBkYXRlKHQsIHJlZ2lzdHJhdGlvbik7CisgIH0KKworICB0cnkgeworICAgIGF3YWl0
IHJ1bigpOworICB9IGZpbmFsbHkgeworICAgIGF3YWl0IGNsZWFudXAoZnJhbWUsIHJlZ2lzdHJh
dGlvbik7CisgIH0KK30sICdVcGRhdGUgc2hvdWxkIGJlIHRyaWdnZXJlZCBhZnRlciBhIG5hdmln
YXRpb24gKG5vIGZldGNoIGV2ZW50IHdvcmtlcikuJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy91cGRhdGVfc2hlbGwucHk/ZmlsZW5h
bWU9c2ltcGxlLWludGVyY2VwdC13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJj
ZXMvc2NvcGUvdXBkYXRlJzsKKyAgbGV0IHJlZ2lzdHJhdGlvbjsKKyAgbGV0IGZyYW1lOworCisg
IGFzeW5jIGZ1bmN0aW9uIHJ1bigpIHsKKyAgICByZWdpc3RyYXRpb24gPSBhd2FpdCBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAgICAgdCwgc2NyaXB0LCBzY29w
ZSk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcs
ICdhY3RpdmF0ZWQnKTsKKworICAgIC8vIE5hdmlnYXRpb24gc2hvdWxkIHRyaWdnZXIgdXBkYXRl
IChuZXR3b3JrIGZhbGxiYWNrKS4KKyAgICBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHNjb3Bl
ICsgJz9pZ25vcmUnKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl91cGRhdGUodCwgcmVnaXN0cmF0aW9u
KTsKKworICAgIC8vIE5hdmlnYXRpb24gc2hvdWxkIHRyaWdnZXIgdXBkYXRlIChyZXNwb25kV2l0
aCBjYWxsZWQpLgorICAgIGZyYW1lLnNyYyA9IHNjb3BlICsgJz9zdHJpbmcnOworICAgIGF3YWl0
IHdhaXRfZm9yX3VwZGF0ZSh0LCByZWdpc3RyYXRpb24pOworICB9CisKKyAgdHJ5IHsKKyAgICBh
d2FpdCBydW4oKTsKKyAgfSBmaW5hbGx5IHsKKyAgICBhd2FpdCBjbGVhbnVwKGZyYW1lLCByZWdp
c3RyYXRpb24pOworICB9Cit9LCAnVXBkYXRlIHNob3VsZCBiZSB0cmlnZ2VyZWQgYWZ0ZXIgYSBu
YXZpZ2F0aW9uIChmZXRjaCBldmVudCB3b3JrZXIpLicpOworCitwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgIGNvbnN0IHNjcmlwdCA9ICdyZXNvdXJjZXMvdXBkYXRlX3NoZWxsLnB5P2ZpbGVu
YW1lPWVtcHR5LmpzJzsKKyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzLyc7CisgIGxldCByZWdp
c3RyYXRpb247CisgIGxldCBmcmFtZTsKKworICBhc3luYyBmdW5jdGlvbiBydW4oKSB7CisgICAg
cmVnaXN0cmF0aW9uID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0
ZXIoCisgICAgICAgIHQsIHNjcmlwdCwgc2NvcGUpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRl
KHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgICAvLyBOYXZp
Z2F0aW9uIHNob3VsZCB0cmlnZ2VyIHVwZGF0ZS4gRG9uJ3QgdXNlIHdpdGhfaWZyYW1lIGFzIGl0
IHdhaXRzIGZvcgorICAgIC8vIHRoZSBvbmxvYWQgZXZlbnQuCisgICAgZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBmcmFtZS5zcmMgPSAncmVzb3VyY2VzL21h
bGZvcm1lZC1odHRwLXJlc3BvbnNlLmFzaXMnOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoZnJhbWUpOworICAgIGF3YWl0IHdhaXRfZm9yX3VwZGF0ZSh0LCByZWdpc3RyYXRpb24pOwor
ICB9CisKKyAgdHJ5IHsKKyAgICBhd2FpdCBydW4oKTsKKyAgfSBmaW5hbGx5IHsKKyAgICBhd2Fp
dCBjbGVhbnVwKGZyYW1lLCByZWdpc3RyYXRpb24pOworICB9Cit9LCAnVXBkYXRlIHNob3VsZCBi
ZSB0cmlnZ2VyZWQgYWZ0ZXIgYSBuYXZpZ2F0aW9uIChuZXR3b3JrIGVycm9yKS4nKTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRp
b24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRl
LWFmdGVyLW5hdmlnYXRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU1Y2M2MTM1Yjc1MDFhZjkyOTFmZTVjYmRiYWQxZjRmY2U4Y2IzNjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1yZWRpcmVjdC5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mgc2VydmljZSB3b3JrZXJz
IGFyZSB1cGRhdGVkIG9uIHJlZGlyZWN0cyBkdXJpbmcgbmF2aWdhdGlvbiAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tcmVkaXJlY3QuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLXJlZGly
ZWN0Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzIxZTQwY2E5NDVlNzJhNTFkNmY0OTk0ZGVmMmIx
ZDFhZWY5OTc1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1h
ZnRlci1uYXZpZ2F0aW9uLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3Jr
ZXI6IFVwZGF0ZSBzaG91bGQgYmUgdHJpZ2dlcmVkIGFmdGVyIHJlZGlyZWN0cyBkdXJpbmcgbmF2
aWdhdGlvbjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAvLyBUaGlz
IHRlc3QgZG9lcyBhIG5hdmlnYXRpb24gdGhhdCBnb2VzIHRocm91Z2ggYSByZWRpcmVjdCBjaGFp
bi4gRWFjaAorICAvLyByZXF1ZXN0IGluIHRoZSBjaGFpbiBoYXMgYSBzZXJ2aWNlIHdvcmtlci4g
RWFjaCBzZXJ2aWNlIHdvcmtlciBoYXMgbm8KKyAgLy8gZmV0Y2ggZXZlbnQgaGFuZGxlci4gVGhl
IHJlZGlyZWN0cyBhcmUgcGVyZm9ybWVkIGJ5IHJlZGlyZWN0LnB5LgorICBjb25zdCBzY3JpcHQg
PSAncmVzb3VyY2VzL3VwZGF0ZS1ub2Nvb2tpZS13b3JrZXIucHknOworICBjb25zdCBzY29wZTEg
PSAncmVzb3VyY2VzL3JlZGlyZWN0LnB5P3Njb3BlMSc7CisgIGNvbnN0IHNjb3BlMiA9ICdyZXNv
dXJjZXMvcmVkaXJlY3QucHk/c2NvcGUyJzsKKyAgY29uc3Qgc2NvcGUzID0gJ3Jlc291cmNlcy9l
bXB0eS5odG1sJzsKKyAgbGV0IHJlZ2lzdHJhdGlvbjE7CisgIGxldCByZWdpc3RyYXRpb24yOwor
ICBsZXQgcmVnaXN0cmF0aW9uMzsKKyAgbGV0IGZyYW1lOworCisgIGFzeW5jIGZ1bmN0aW9uIGNs
ZWFudXAoKSB7CisgICAgaWYgKGZyYW1lKQorICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgaWYg
KHJlZ2lzdHJhdGlvbjEpCisgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uMS51bnJlZ2lzdGVyKCk7
CisgICAgaWYgKHJlZ2lzdHJhdGlvbjIpCisgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uMi51bnJl
Z2lzdGVyKCk7CisgICAgaWYgKHJlZ2lzdHJhdGlvbjMpCisgICAgICByZXR1cm4gcmVnaXN0cmF0
aW9uMy51bnJlZ2lzdGVyKCk7CisgIH0KKworICBhc3luYyBmdW5jdGlvbiBtYWtlX2FjdGl2ZV9y
ZWdpc3RyYXRpb24oc2NvcGUpIHsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPQorICAgICAgICBh
d2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQsIHNj
b3BlKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGlu
ZywgJ2FjdGl2YXRlZCcpOworICAgIHJldHVybiByZWdpc3RyYXRpb247CisgIH0KKworICBhc3lu
YyBmdW5jdGlvbiBydW4oKSB7CisgICAgLy8gTWFrZSB0aGUgcmVnaXN0cmF0aW9ucy4KKyAgICBy
ZWdpc3RyYXRpb24xID0gYXdhaXQgbWFrZV9hY3RpdmVfcmVnaXN0cmF0aW9uKHNjb3BlMSk7Cisg
ICAgcmVnaXN0cmF0aW9uMiA9IGF3YWl0IG1ha2VfYWN0aXZlX3JlZ2lzdHJhdGlvbihzY29wZTIp
OworICAgIHJlZ2lzdHJhdGlvbjMgPSBhd2FpdCBtYWtlX2FjdGl2ZV9yZWdpc3RyYXRpb24oc2Nv
cGUzKTsKKworICAgIC8vIE1ha2UgdGhlIHByb21pc2VzIHRoYXQgcmVzb2x2ZSBvbiB1cGRhdGUu
CisgICAgY29uc3Qgc2F3X3VwZGF0ZTEgPSB3YWl0X2Zvcl91cGRhdGUodCwgcmVnaXN0cmF0aW9u
MSk7CisgICAgY29uc3Qgc2F3X3VwZGF0ZTIgPSB3YWl0X2Zvcl91cGRhdGUodCwgcmVnaXN0cmF0
aW9uMik7CisgICAgY29uc3Qgc2F3X3VwZGF0ZTMgPSB3YWl0X2Zvcl91cGRhdGUodCwgcmVnaXN0
cmF0aW9uMyk7CisKKyAgICAvLyBDcmVhdGUgYSBVUkwgZm9yIHRoZSByZWRpcmVjdCBjaGFpbjog
c2NvcGUxIC0+IHNjb3BlMiAtPiBzY29wZTMuCisgICAgLy8gQnVpbGQgdGhlIFVSTCBpbiByZXZl
cnNlIG9yZGVyLgorICAgIGxldCB1cmwgPSBgJHtiYXNlX3BhdGgoKX0ke3Njb3BlM31gOworICAg
IHVybCA9IGAke2Jhc2VfcGF0aCgpfSR7c2NvcGUyfSZSZWRpcmVjdD0ke2VuY29kZVVSSUNvbXBv
bmVudCh1cmwpfWAKKyAgICB1cmwgPSBgJHtiYXNlX3BhdGgoKX0ke3Njb3BlMX0mUmVkaXJlY3Q9
JHtlbmNvZGVVUklDb21wb25lbnQodXJsKX1gCisKKyAgICAvLyBOYXZpZ2F0ZSB0byB0aGUgVVJM
LgorICAgIGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUodXJsKTsKKworICAgIC8vIEVhY2ggcmVn
aXN0cmF0aW9uIHNob3VsZCB1cGRhdGUuCisgICAgYXdhaXQgc2F3X3VwZGF0ZTE7CisgICAgYXdh
aXQgc2F3X3VwZGF0ZTI7CisgICAgYXdhaXQgc2F3X3VwZGF0ZTM7CisgIH0KKworICB0cnkgewor
ICAgIGF3YWl0IHJ1bigpOworICB9IGZpbmFsbHkgeworICAgIGF3YWl0IGNsZWFudXAoKTsKKyAg
fQorfSwgJ3NlcnZpY2Ugd29ya2VycyBhcmUgdXBkYXRlZCBvbiByZWRpcmVjdHMgZHVyaW5nIG5h
dmlnYXRpb24nKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91
cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGRmOGJmOGNjZTUxN2Y0Y2JkNjRmZDNjNmUyN2ZmZjgwMzFmMWQwZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1taXNzaW5nLWltcG9y
dC1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBJbml0
aWFsaXplIGdsb2JhbCBzdGF0ZSAKK1BBU1MgVXBkYXRlIHNlcnZpY2Ugd29ya2VyIHdpdGggbmV3
IHNjcmlwdCB0aGF0J3MgbWlzc2luZyBpbXBvcnRTY3JpcHRzKCkgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1taXNzaW5nLWltcG9ydC1zY3JpcHRzLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5odHRwcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY2ZThiZmFjNzUxZTgzNWFmOGU1NDNmYzUyODk2OTdjMTVhYzExOGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbWlzc2luZy1pbXBv
cnQtc2NyaXB0cy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHRpdGxlPlNlcnZpY2UgV29ya2VyOiB1cGRhdGUgd2l0aCBtaXNzaW5nIGltcG9ydFNjcmlwdHM8
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlw
dD4KKy8qKgorICogVGVzdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnVwZGF0ZSgpIHdoZW4g
aW1wb3J0U2NyaXB0cyBpbiBhIHNlcnZpY2Ugd29ya2VyCisgKiBzY3JpcHQgaXMgbm8gbG9uZ2Vy
IGF2YWlsYWJsZSAoYnV0IHdhcyBpbml0aWFsbHkpLgorICovCitsZXQgcmVnaXN0cmF0aW9uID0g
bnVsbDsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgIGNvbnN0IHNjcmlwdCA9
IGByZXNvdXJjZXMvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtbWFpbi13b3JrZXIucHk/
a2V5PSR7dG9rZW4oKX1gOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvdXBkYXRlLW1pc3Np
bmctaW1wb3J0LXNjcmlwdHMnOworCisgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHNjcmlwdCwgc2NvcGUpOworCisgIGFk
ZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgpID0+IHsgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsg
fSk7CisKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodGVzdCwgcmVnaXN0cmF0aW9uLmluc3RhbGxp
bmcsICdhY3RpdmF0ZWQnKTsKK30sICdJbml0aWFsaXplIGdsb2JhbCBzdGF0ZScpOworCitwcm9t
aXNlX3Rlc3QodGVzdCA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAg
ICByZWdpc3RyYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigndXBkYXRlZm91bmQnLCByZXNvbHZlKTsK
KyAgICByZWdpc3RyYXRpb24udXBkYXRlKCk7CisgIH0pOworfSwgJ1VwZGF0ZSBzZXJ2aWNlIHdv
cmtlciB3aXRoIG5ldyBzY3JpcHQgdGhhdFwncyBtaXNzaW5nIGltcG9ydFNjcmlwdHMoKScpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUt
bm90LWFsbG93ZWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRl
LW5vdC1hbGxvd2VkLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTU5YWNkNWJiYWY4
OTkyMjRiNzI0OWIxYjZiNmQzMGQ2NDlmYjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvdXBkYXRlLW5vdC1hbGxvd2VkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDYgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi51cGRhdGUoKSBmcm9tIGNsaWVudCB0aHJvd3Mgd2hp
bGUgaW5zdGFsbGluZyBzZXJ2aWNlIHdvcmtlci4gCitUSU1FT1VUIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24udXBkYXRlKCkgZnJvbSBpbnN0YWxsaW5nIHNlcnZpY2Ugd29ya2VyIHRocm93cy4g
VGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW5v
dC1hbGxvd2VkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbm90LWFsbG93
ZWQuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MWZlMTczMGUwZDY4ZTRlN2UwOTQ5Y2ZhNDA4ZDNj
MmQ0ZWQ5ZDM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW5v
dC1hbGxvd2VkLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
Kyd1c2Ugc3RyaWN0JzsKKworYXN5bmMgZnVuY3Rpb24gc3Bpbl91cF9zZXJ2aWNlX3dvcmtlcih0
ZXN0KSB7CisgICAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy91cGRhdGUtZHVyaW5nLWluc3Rh
bGxhdGlvbi13b3JrZXIuanMnOworICAgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9ibGFuay5o
dG1sJzsKKworICAgIGxldCByZWdpc3RyYXRpb24gPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9yZWdpc3Rlcih0ZXN0LCBzY3JpcHQsIHNjb3BlKTsKKyAgICB0ZXN0LmFkZF9j
bGVhbnVwKCgpID0+IHsKKyAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nKSB7Cisg
ICAgICAgICAgICByZWdpc3RyYXRpb24uaW5zdGFsbGluZy5wb3N0TWVzc2FnZSgnZmluaXNoSW5z
dGFsbCcpOworICAgICAgICB9CisgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Cisg
ICAgfSk7CisKKyAgICByZXR1cm4gcmVnaXN0cmF0aW9uOworfQorCitwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc3Bpbl91cF9zZXJ2aWNl
X3dvcmtlcih0KTsKKyAgICBjb25zdCB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsK
KworICAgIC8vIHNwaW5fdXBfc2VydmljZV93b3JrZXIgaW5zdGFsbHMgYSBjbGVhbnVwIGhvb2sg
dGhhdCBlbnN1cmVzIHRoZQorICAgIC8vIHdvcmtlciBmaW5pc2hlZCBpdHMgaW5zdGFsbGF0aW9u
IGJ5IHNlbmRpbmcgaXQgYQorICAgIC8vICdmaW5pc2hJbnN0YWxsJyBtZXNzYWdlLCB0aHVzIG1h
a2luZyBzdXJlIHRoYXQgdGhlIHJlZ2lzdHJhdGlvbgorICAgIC8vIHdpbGwgYmUgY2xlYW5seSBy
ZW1vdmVkIGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QuCisgICAgYXNzZXJ0X2VxdWFscyh3b3JrZXIu
c3RhdGUsICdpbnN0YWxsaW5nJyk7CisgICAgcHJvbWlzZV9yZWplY3RzKHQsICdJbnZhbGlkU3Rh
dGVFcnJvcicsIHJlZ2lzdHJhdGlvbi51cGRhdGUoKSk7Cit9LCAnU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi51cGRhdGUoKSBmcm9tIGNsaWVudCB0aHJvd3Mgd2hpbGUgaW5zdGFsbGluZyBzZXJ2
aWNlIHdvcmtlci4nKQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcmVn
aXN0cmF0aW9uID0gYXdhaXQgc3Bpbl91cF9zZXJ2aWNlX3dvcmtlcih0KTsKKyAgICBjb25zdCB3
b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uo
J2ZpbmlzaEluc3RhbGwnKTsKKworICAgIC8vIEJ5IHdhaXRpbmcgZm9yIGJvdGggc3RhdGVzIGF0
IHRoZSBzYW1lIHRpbWUsIHRoZSB0ZXN0IGZhaWxzCisgICAgLy8gcXVpY2tseSBpZiB0aGUgaW5z
dGFsbGF0aW9uIGZhaWxzLCBhdm9pZGluZyBhIHRpbWVvdXQuCisgICAgYXdhaXQgUHJvbWlzZS5y
YWNlKFt3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdhY3RpdmF0ZWQnKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ3JlZHVuZGFudCcpXSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyh3b3JrZXIuc3RhdGUsICdhY3RpdmF0ZWQnLCAnU2VydmljZSB3b3Jr
ZXIgc2hvdWxkIGJlIGFjdGl2YXRlZC4nKTsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
Lm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsgcmVzb2x2ZShldmVudC5kYXRhKTsgfTsKKyAgICAgICAg
d29ya2VyLnBvc3RNZXNzYWdlKCdQSU5HJyk7CisgICAgfSk7CisKKyAgICAvLyBXZSBjaGVjayB0
aGF0IHRoZSBzZXJ2aWNlIHdvcmtlciBpbnN0YW5jZSB0aGF0IHJlcGxpZWQgdG8gdGhlCisgICAg
Ly8gbWVzc2FnZSBpcyB0aGUgc2FtZSBvbmUgdGhhdCByZWNlaXZlZCB0aGUgJ2luc3RhbGwnIGV2
ZW50IHNpbmNlCisgICAgLy8gaXQncyBwb3NzaWJsZSBmb3IgdGhlbSB0byBiZSB0d28gZGlzdGlu
Y3QgZXhlY3V0aW9uCisgICAgLy8gZW52aXJvbm1lbnRzLgorICAgIGFzc2VydF90cnVlKHJlc3Bv
bnNlLmluc3RhbGxFdmVudEZpcmVkLCAnU2VydmljZSB3b3JrZXIgc2hvdWxkIGhhdmUgYmVlbiBp
bnN0YWxsZWQuJyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5leGNlcHRpb24sICdJbnZh
bGlkU3RhdGVFcnJvcicsICd1cGRhdGUoKSBzaG91bGQgaGF2ZSB0aHJvd24uJyk7Cit9LCAnU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbi51cGRhdGUoKSBmcm9tIGluc3RhbGxpbmcgc2VydmljZSB3
b3JrZXIgdGhyb3dzLicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci91cGRhdGUtcmVjb3ZlcnkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1y
ZWNvdmVyeS5odHRwcy5odG1sCmluZGV4IDNiM2Q5NTViMTQyYmZmNjdjM2QyYzJhMmQxNzQyODg4
YzY2MWM2OWQuLjE3NjA4ZDJlZjc5MGUyZWE5N2E0M2Y1NmI4NmEyOGVmMGU2NDc2MDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWNvdmVyeS5odHRwcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWNvdmVyeS5odHRwcy5odG1sCkBAIC01LDcgKzUs
NyBAQAogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0aGFybmVzcy1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgewogICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLnR4dCc7CiAgICAg
dmFyIHdvcmtlcl91cmwgPSAncmVzb3VyY2VzL3VwZGF0ZS1yZWNvdmVyeS13b3JrZXIucHknOwog
ICAgIHZhciBleHBlY3RlZF91cmwgPSBub3JtYWxpemVVUkwod29ya2VyX3VybCk7CkBAIC00Niw4
ICs0NiwxMiBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIH0pOwogICAgIH0KIAot
ICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmws
IHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rl
cih0LCB3b3JrZXJfdXJsLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAg
ICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAg
ICAgICAgIHJlZ2lzdHJhdGlvbiA9IHI7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRl
KHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBA
IC02NCw4ICs2OCw2IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250
cm9sbGVyLnNjcmlwdFVSTCwKICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX3VybCk7
CiAgICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNh
dGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1JlY292ZXIg
ZnJvbSBhIGJhZCBzZXJ2aWNlIHdvcmtlciBieSB1cGRhdGluZyBhZnRlciBhIGZhaWxlZCBuYXZp
Z2F0aW9uLicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRh
dGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5odHRwcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzFjYzczN2EwZjgzNDdiZjE0NTUwOTA5YTJkZTZmZTQ4NTljNzczNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWdpc3RyYXRpb24td2l0
aC10eXBlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworRkFJTCBVcGRhdGUg
dGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBlIChjbGFzc2ljID0+
IG1vZHVsZSkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBndWlkIgorRkFJTCBV
cGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBlIChtb2R1
bGUgPT4gY2xhc3NpYykuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBndWlkIgor
UEFTUyBVcGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBl
IChjbGFzc2ljID0+IG1vZHVsZSkgYW5kIHdpdGggYSBzYW1lIG1haW4gc2NyaXB0LiAKK1BBU1Mg
VXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2l0aCBhIGRpZmZlcmVudCBzY3JpcHQgdHlwZSAobW9k
dWxlID0+IGNsYXNzaWMpIGFuZCB3aXRoIGEgc2FtZSBtYWluIHNjcmlwdC4gCitQQVNTIERvZXMg
bm90IHVwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggdGhlIHNhbWUgc2NyaXB0IHR5cGUgYW5k
IHRoZSBzYW1lIG1haW4gc2NyaXB0LiAKK0ZBSUwgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2l0
aCBhIGRpZmZlcmVudCBzY3JpcHQgdHlwZSAoY2xhc3NpYyA9PiBtb2R1bGUpIGFuZCB3aXRoIGEg
c2FtZSBtYWluIHNjcmlwdC4gRXhwZWN0IGV2YWx1YXRpb24gZmFpbGVkLiBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogUmVnaXN0ZXJpbmcgd2l0aCBpbnZhbGlkIGV2YWx1
YXRpb24gc2hvdWxkIGJlIGZhaWxlZC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFVw
ZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKG1vZHVs
ZSA9PiBjbGFzc2ljKSBhbmQgd2l0aCBhIHNhbWUgbWFpbiBzY3JpcHQuIEV4cGVjdCBldmFsdWF0
aW9uIGZhaWxlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKicuIGlt
cG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNzEyYzMwZjcxZTlhODFhMjgzMmMwY2Q1YWZlN2Y1NjMwZTM0MDcx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlZ2lzdHJhdGlv
bi13aXRoLXR5cGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDIwOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IFVwZGF0ZSB0
aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUuPC90aXRsZT4KKzwh
LS0gY29tbW9uLmpzIGlzIGZvciBndWlkKCkgLS0+Cis8c2NyaXB0IHNyYz0iL21peGVkLWNvbnRl
bnQvZ2VuZXJpYy9jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhl
bHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBUaGUgZm9sbG93aW5nIHR3byB0
ZXN0cyBjaGVjayB0aGF0IGEgcmVnaXN0cmF0aW9uIGlzIHVwZGF0ZWQgY29ycmVjdGx5CisvLyB3
aXRoIGRpZmZlcmVudCBzY3JpcHQgdHlwZS4gQXQgZmlyc3QgU2VydmljZSBXb3JrZXIgaXMgcmVn
aXN0ZXJlZCBhcworLy8gY2xhc3NpYyBzY3JpcHQgdHlwZSwgdGhlbiBpdCBpcyByZS1yZWdpc3Rl
cmVkIGFzIG1vZHVsZSBzY3JpcHQgdHlwZSwKKy8vIGFuZCB2aWNlIHZlcnNhLiBBIG1haW4gc2Ny
aXB0IGlzIGFsc28gdXBkYXRlZCBhdCB0aGUgc2FtZSB0aW1lLgorcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCBrZXkgPSBndWlkKCk7CisgIGNvbnN0IHNjcmlwdCA9IGByZXNvdXJj
ZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHk/Y2xhc3NpY19maXJzdD0xJmtleT0k
e2tleX1gOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13
aXRoLXR5cGUnOworICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsK
KyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3Bl
KSk7CisKKyAgLy8gUmVnaXN0ZXIgd2l0aCBjbGFzc2ljIHNjcmlwdCB0eXBlLgorICBjb25zdCBm
aXJzdFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnY2xhc3NpYycKKyAgfSk7
CisgIGNvbnN0IGZpcnN0V29ya2VyID0gZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAg
YXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgZmlyc3RXb3JrZXIsICdhY3RpdmF0ZWQnKTsKKyAgZmly
c3RXb3JrZXIucG9zdE1lc3NhZ2UoJyAnKTsKKyAgbGV0IG1zZ0V2ZW50ID0gYXdhaXQgbmV3IFBy
b21pc2UociA9PiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByKTsKKyAgYXNz
ZXJ0X2VxdWFscyhtc2dFdmVudC5kYXRhLCAnQSBjbGFzc2ljIHNjcmlwdC4nKTsKKworICAvLyBS
ZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZS4KKyAgY29uc3Qgc2Vjb25kUmVnaXN0
cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7
CisgICAgc2NvcGU6IHNjb3BlLAorICAgIHR5cGU6ICdtb2R1bGUnCisgIH0pOworICBjb25zdCBz
ZWNvbmRXb3JrZXIgPSBzZWNvbmRSZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgc2Vjb25kV29y
a2VyLnBvc3RNZXNzYWdlKCcgJyk7CisgIG1zZ0V2ZW50ID0gYXdhaXQgbmV3IFByb21pc2UociA9
PiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByKTsKKyAgYXNzZXJ0X2VxdWFs
cyhtc2dFdmVudC5kYXRhLCAnQSBtb2R1bGUgc2NyaXB0LicpOworCisgIGFzc2VydF9ub3RfZXF1
YWxzKGZpcnN0V29ya2VyLCBzZWNvbmRXb3JrZXIpOworICBhc3NlcnRfZXF1YWxzKGZpcnN0UmVn
aXN0cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24pOworfSwgJ1VwZGF0ZSB0aGUgcmVnaXN0cmF0
aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKGNsYXNzaWMgPT4gbW9kdWxlKS4nKTsK
KworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBrZXkgPSBndWlkKCk7CisgIGNv
bnN0IHNjcmlwdCA9IGByZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHk/
Y2xhc3NpY19maXJzdD0wJmtleT0ke2tleX1gOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMv
dXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUnOworICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyKHQsIHNjb3BlKSk7CisKKyAgLy8gUmVnaXN0ZXIgd2l0aCBtb2R1bGUgc2Ny
aXB0IHR5cGUuCisgIGNvbnN0IGZpcnN0UmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAgIHR5
cGU6ICdtb2R1bGUnCisgIH0pOworICBjb25zdCBmaXJzdFdvcmtlciA9IGZpcnN0UmVnaXN0cmF0
aW9uLmluc3RhbGxpbmc7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIGZpcnN0V29ya2VyLCAn
YWN0aXZhdGVkJyk7CisgIGZpcnN0V29ya2VyLnBvc3RNZXNzYWdlKCcgJyk7CisgIGxldCBtc2dF
dmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25t
ZXNzYWdlID0gcik7CisgIGFzc2VydF9lcXVhbHMobXNnRXZlbnQuZGF0YSwgJ0EgbW9kdWxlIHNj
cmlwdC4nKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUuCisg
IGNvbnN0IHNlY29uZFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
LnJlZ2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnY2xhc3Np
YycKKyAgfSk7CisgIGNvbnN0IHNlY29uZFdvcmtlciA9IHNlY29uZFJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nOworICBzZWNvbmRXb3JrZXIucG9zdE1lc3NhZ2UoJyAnKTsKKyAgbXNnRXZlbnQgPSBh
d2FpdCBuZXcgUHJvbWlzZShyID0+IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9
IHIpOworICBhc3NlcnRfZXF1YWxzKG1zZ0V2ZW50LmRhdGEsICdBIGNsYXNzaWMgc2NyaXB0Licp
OworCisgIGFzc2VydF9ub3RfZXF1YWxzKGZpcnN0V29ya2VyLCBzZWNvbmRXb3JrZXIpOworICBh
c3NlcnRfZXF1YWxzKGZpcnN0UmVnaXN0cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24pOworfSwg
J1VwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKG1v
ZHVsZSA9PiBjbGFzc2ljKS4nKTsKKworLy8gVGhlIGZvbGxvd2luZyB0d28gdGVzdHMgY2hhbmdl
IHRoZSBzY3JpcHQgdHlwZSB3aGlsZSBrZWVwaW5nCisvLyB0aGUgc2NyaXB0IGlkZW50aWNhbC4K
K3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9l
bXB0eS13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvdXBkYXRlLXJlZ2lz
dHJhdGlvbi13aXRoLXR5cGUnOworICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQs
IHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
KHQsIHNjb3BlKSk7CisKKyAgLy8gUmVnaXN0ZXIgd2l0aCBjbGFzc2ljIHNjcmlwdCB0eXBlLgor
ICBjb25zdCBmaXJzdFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
LnJlZ2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnY2xhc3Np
YycKKyAgfSk7CisgIGNvbnN0IGZpcnN0V29ya2VyID0gZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFs
bGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgZmlyc3RXb3JrZXIsICdhY3RpdmF0ZWQn
KTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZS4KKyAgY29uc3Qg
c2Vjb25kUmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0
ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAgIHR5cGU6ICdtb2R1bGUnCisgIH0p
OworICBjb25zdCBzZWNvbmRXb3JrZXIgPSBzZWNvbmRSZWdpc3RyYXRpb24uaW5zdGFsbGluZzsK
KworICBhc3NlcnRfbm90X2VxdWFscyhmaXJzdFdvcmtlciwgc2Vjb25kV29ya2VyKTsKKyAgYXNz
ZXJ0X2VxdWFscyhmaXJzdFJlZ2lzdHJhdGlvbiwgc2Vjb25kUmVnaXN0cmF0aW9uKTsKK30sICdV
cGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBlIChjbGFz
c2ljID0+IG1vZHVsZSkgJworICAgICsgJ2FuZCB3aXRoIGEgc2FtZSBtYWluIHNjcmlwdC4nKTsK
KworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVzb3VyY2Vz
L2VtcHR5LXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy91cGRhdGUtcmVn
aXN0cmF0aW9uLXdpdGgtdHlwZSc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIo
dCwgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXIodCwgc2NvcGUpKTsKKworICAvLyBSZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZS4K
KyAgY29uc3QgZmlyc3RSZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5yZWdpc3RlcihzY3JpcHQsIHsKKyAgICBzY29wZTogc2NvcGUsCisgICAgdHlwZTogJ21vZHVs
ZScKKyAgfSk7CisgIGNvbnN0IGZpcnN0V29ya2VyID0gZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFs
bGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgZmlyc3RXb3JrZXIsICdhY3RpdmF0ZWQn
KTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUuCisgIGNvbnN0
IHNlY29uZFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lz
dGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnY2xhc3NpYycKKyAg
fSk7CisgIGNvbnN0IHNlY29uZFdvcmtlciA9IHNlY29uZFJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5n
OworCisgIGFzc2VydF9ub3RfZXF1YWxzKGZpcnN0V29ya2VyLCBzZWNvbmRXb3JrZXIpOworICBh
c3NlcnRfZXF1YWxzKGZpcnN0UmVnaXN0cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24pOworfSwg
J1VwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKG1v
ZHVsZSA9PiBjbGFzc2ljKSAnCisgICAgKyAnYW5kIHdpdGggYSBzYW1lIG1haW4gc2NyaXB0Licp
OworCisvLyBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSByZWdpc3RyYXRpb24gaXMgbm90IHVwZGF0
ZWQgd2l0aCB0aGUgc2FtZSBzY3JpcHQKKy8vIHR5cGUgYW5kIHRoZSBzYW1lIG1haW4gc2NyaXB0
LgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVzb3VyY2Vz
L2VtcHR5LXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy91cGRhdGUtcmVn
aXN0cmF0aW9uLXdpdGgtdHlwZSc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIo
dCwgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXIodCwgc2NvcGUpKTsKKworICAvLyBSZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZS4K
KyAgY29uc3QgZmlyc3RSZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5yZWdpc3RlcihzY3JpcHQsIHsKKyAgICBzY29wZTogc2NvcGUsCisgICAgdHlwZTogJ21vZHVs
ZScKKyAgfSk7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIGZpcnN0UmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBz
Y3JpcHQgdHlwZS4KKyAgY29uc3Qgc2Vjb25kUmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAg
IHR5cGU6ICdtb2R1bGUnCisgIH0pOworICBhc3NlcnRfZXF1YWxzKHNlY29uZFJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nLCBudWxsKTsKKworICBhc3NlcnRfZXF1YWxzKGZpcnN0UmVnaXN0cmF0aW9u
LCBzZWNvbmRSZWdpc3RyYXRpb24pOworfSwgJ0RvZXMgbm90IHVwZGF0ZSB0aGUgcmVnaXN0cmF0
aW9uIHdpdGggdGhlIHNhbWUgc2NyaXB0IHR5cGUgYW5kICcKKyAgICArICd0aGUgc2FtZSBtYWlu
IHNjcmlwdC4nKTsKKworLy8gSW4gdGhlIGNhc2UgKGNsYXNzaWMgPT4gbW9kdWxlKSwgYSB3b3Jr
ZXIgc2NyaXB0IGNvbnRhaW5zIGltcG9ydFNjcmlwdHMoKQorLy8gdGhhdCBpcyBkaXNhbGxvd2Vk
IG9uIG1vZHVsZSBzY3JpcHRzLCBzbyB0aGUgc2Vjb25kIHJlZ2lzdHJhdGlvbiBpcworLy8gZXhw
ZWN0ZWQgdG8gZmFpbCBzY3JpcHQgZXZhbHVhdGlvbi4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9jbGFzc2ljLXdvcmtlci5qcyc7CisgIGNv
bnN0IHNjb3BlID0gJ3Jlc291cmNlcy91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZSc7Cisg
IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICB0LmFkZF9jbGVh
bnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpKTsKKworICAvLyBS
ZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUuCisgIGNvbnN0IGZpcnN0UmVnaXN0cmF0
aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7Cisg
ICAgc2NvcGU6IHNjb3BlLAorICAgIHR5cGU6ICdjbGFzc2ljJworICB9KTsKKyAgYXNzZXJ0X25v
dF9lcXVhbHMoZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFsbGluZywgbnVsbCk7CisgIGF3YWl0IHdh
aXRfZm9yX3N0YXRlKHQsIGZpcnN0UmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZSBhbmQgZXhwZWN0
IFR5cGVFcnJvci4KKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yLCBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHsKKyAgICBzY29wZTogc2Nv
cGUsCisgICAgdHlwZTogJ21vZHVsZScKKyAgfSksICdSZWdpc3RlcmluZyB3aXRoIGludmFsaWQg
ZXZhbHVhdGlvbiBzaG91bGQgYmUgZmFpbGVkLicpOworfSwgJ1VwZGF0ZSB0aGUgcmVnaXN0cmF0
aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKGNsYXNzaWMgPT4gbW9kdWxlKSAnCisg
ICAgKyAnYW5kIHdpdGggYSBzYW1lIG1haW4gc2NyaXB0LiBFeHBlY3QgZXZhbHVhdGlvbiBmYWls
ZWQuJyk7CisKKy8vIEluIHRoZSBjYXNlIChtb2R1bGUgPT4gY2xhc3NpYyksIGEgd29ya2VyIHNj
cmlwdCBjb250YWlucyBzdGF0aWMtaW1wb3J0CisvLyB0aGF0IGlzIGRpc2FsbG93ZWQgb24gY2xh
c3NpYyBzY3JpcHRzLCBzbyB0aGUgc2Vjb25kIHJlZ2lzdHJhdGlvbiBpcworLy8gZXhwZWN0ZWQg
dG8gZmFpbCBzY3JpcHQgZXZhbHVhdGlvbi4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
Y29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9tb2R1bGUtd29ya2VyLmpzJzsKKyAgY29uc3Qgc2Nv
cGUgPSAncmVzb3VyY2VzL3VwZGF0ZS1yZWdpc3RyYXRpb24td2l0aC10eXBlJzsKKyAgYXdhaXQg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgIHQuYWRkX2NsZWFudXAoKCkg
PT4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSkpOworCisgIC8vIFJlZ2lzdGVy
IHdpdGggbW9kdWxlIHNjcmlwdCB0eXBlLgorICBjb25zdCBmaXJzdFJlZ2lzdHJhdGlvbiA9IGF3
YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3Bl
OiBzY29wZSwKKyAgICB0eXBlOiAnbW9kdWxlJworICB9KTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMo
Zmlyc3RSZWdpc3RyYXRpb24uaW5zdGFsbGluZywgbnVsbCk7CisgIGF3YWl0IHdhaXRfZm9yX3N0
YXRlKHQsIGZpcnN0UmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKworICAv
LyBSZS1yZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUgYW5kIGV4cGVjdCBUeXBlRXJy
b3IuCisgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgbmV3IFR5cGVFcnJvciwgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAg
IHR5cGU6ICdjbGFzc2ljJworICB9KSwgJ1JlZ2lzdGVyaW5nIHdpdGggaW52YWxpZCBldmFsdWF0
aW9uIHNob3VsZCBiZSBmYWlsZWQuJyk7Cit9LCAnVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2l0
aCBhIGRpZmZlcmVudCBzY3JpcHQgdHlwZSAobW9kdWxlID0+IGNsYXNzaWMpICcKKyAgICArICdh
bmQgd2l0aCBhIHNhbWUgbWFpbiBzY3JpcHQuIEV4cGVjdCBldmFsdWF0aW9uIGZhaWxlZC4nKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRl
LXJlc3VsdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtcmVz
dWx0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWU5NDQ4OTQ0NWEwNWUxYzE0Yjk4
ZGExNjBjYmViZGUwYzU5Zjc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dXBkYXRlLXJlc3VsdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi51cGRhdGUoKSBzaG91bGQgcmVzb2x2ZSBhIHJlZ2lz
dHJhdGlvbiBvYmplY3QgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1y
ZXN1bHQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZXN1bHQuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kOGVkOTRmNzc2NjUwYzhhNDBiYTgyZGY5Y2E1ZTkwOWI0NjBiYjc5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlc3VsdC5odHRw
cy5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlcnZpY2Ug
V29ya2VyOiB1cGRhdGUoKSBzaG91bGQgcmVzb2x2ZSBhIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b248L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsK
KyAgY29uc3Qgc2NyaXB0ID0gJy4vcmVzb3VyY2VzL2VtcHR5LmpzJzsKKyAgY29uc3Qgc2NvcGUg
PSAnLi9yZXNvdXJjZXMvZW1wdHkuaHRtbD91cGRhdGUtcmVzdWx0JzsKKworICBsZXQgcmVnID0g
YXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7IHNjb3BlIH0p
OworICB0LmFkZF9jbGVhbnVwKGFzeW5jIF8gPT4gYXdhaXQgcmVnLnVucmVnaXN0ZXIoKSk7Cisg
IGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisK
KyAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlZy51cGRhdGUoKTsKKyAgYXNzZXJ0X3RydWUocmVzdWx0
IGluc3RhbmNlb2YgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiwKKyAgICAgICAgICAgICAgJ3Vw
ZGF0ZSgpIHNob3VsZCByZXNvbHZlIGEgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbicpOworfSwg
J1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkgc2hvdWxkIHJlc29sdmUgYSByZWdp
c3RyYXRpb24gb2JqZWN0Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93M2MtaW1w
b3J0LmxvZwppbmRleCAyYThkMDE0YmYwNmFlMDkxOWIzYmY0MThhMzUzY2RlOGMzMDAwYTYzLi4x
ODVkNTc3NzQyYzhjMzgxZGNlMzRkMDU5NjI2MWFlMmM1ZGQ3NDMxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAogCkBAIC0xNCw2ICsxNCw3IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2VyLUFsbG93ZWQtaGVhZGVyLmh0dHBzLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGUtZXZlbnQtYWZ0ZXItaW5zdGFsbC1zdGF0ZS1jaGFu
Z2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2YXRpb24tYWZ0ZXItcmVnaXN0
cmF0aW9uLmh0dHBzLmh0bWwKQEAgLTQxLDIwICs0MiwzNiBAQCBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItb24tZGlzY29ubmVjdC5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1sb2FkLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jb250cm9sbGVyLW9uLXJlbG9hZC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvY29udHJvbGxlci13aXRoLW5vLWZldGNoLWV2ZW50LWhhbmRsZXIuaHR0cHMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2RlZGljYXRlZC13b3JrZXItc2VydmljZS13b3JrZXItaW50ZXJjZXB0
aW9uLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZXRhY2hlZC1jb250ZXh0Lmh0dHBz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJj
ZXB0ZWQuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtYXN5
bmMtd2FpdHVudGlsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2
ZW50LXdhaXR1bnRpbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFz
LXRhaW50aW5nLWNhY2hlLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52
YXMtdGFpbnRpbmcuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWF1ZGlvLXRh
aW50aW5nLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRp
bmctZG91YmxlLXdyaXRlLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52
YXMtdGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWNhbnZhcy10YWludGluZy1pbWFnZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLWNhY2hlLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0Lmh0
dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8u
aHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXIt
bmFtZXMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMteGhyLmh0dHBz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jc3AuaHR0cHMuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWV2ZW50LWFmdGVyLW5hdmlnYXRpb24td2l0aGluLXBhZ2UuaHR0cHMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LWFzeW5jLXJlc3BvbmQtd2l0aC5o
dHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9yeS1iYWNr
d2FyZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtZXZlbnQtaXMtaGlzdG9yeS1mb3J3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1yZWxvYWQtaWZyYW1lLW5hdmlnYXRp
b24tbWFudWFsLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1y
ZWxvYWQtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWV2ZW50LW5ldHdvcmstZXJyb3IuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWV2ZW50LXJlZGlyZWN0Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1l
dmVudC1yZWZlcnJlci1wb2xpY3kuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWV2ZW50LXJlc3BvbmQtd2l0aC1hcmd1bWVudC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWJvZHktbG9hZGVkLWluLWNodW5rLmh0dHBzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJl
c3BvbnNlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25k
LXdpdGgtcGFydGlhbC1zdHJlYW0uaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0tY2h1bmsuaHR0cHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0u
aHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1y
ZXNwb25zZS1ib2R5LXdpdGgtaW52YWxpZC1jaHVuay5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXN0b3BzLXByb3BhZ2F0aW9uLmh0dHBzLmh0
bWwKQEAgLTY3LDEzICs4NCwxNCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLW1peGVkLWNvbnRlbnQtdG8taW5zY29wZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtbWl4ZWQtY29udGVudC10by1vdXRzY29wZS5odHRwcy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtYmFzZS11cmwuaHR0cHMuaHRtbAotL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLmh0
dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmln
aW4uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWltYWdl
cy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1mYWxsYmFjay5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMu
aHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNz
LWhlYWRlcnMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtcmVk
aXJlY3QuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtcmVzb3Vy
Y2VzLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXhoci1zeW5j
LW9uLXdvcmtlci5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14
aHItc3luYy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHIu
aHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBz
Lmh0bWwKQEAgLTgzLDYgKzEwMSw4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZ2V0cmVnaXN0cmF0aW9ucy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaHR0cC10
by1odHRwcy1yZWRpcmVjdC1hbmQtcmVnaXN0ZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ltbXV0YWJsZS1wcm90b3R5cGUtc2VydmljZXdvcmtlci5odHRwcy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVzLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvaW1wb3J0LXNjcmlwdHMtcmVzb3VyY2UtbWFwLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWcuaHR0cHMuaHRtbApAQCAtOTQsMTMg
KzExNCwxNiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtYmxv
YnR5cGUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtaGVhZGVyLmh0dHBz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pc28tbGF0aW4xLWhlYWRlci5odHRwcy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRwcy5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbWltZS1zbmlmZmluZy5odHRwcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9t
dWx0aXBsZS1yZWdpc3Rlci5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUt
dXBkYXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0ZS13aW5kb3cuaHR0
cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcmVkaXJlY3QtYm9keS5odHRw
cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1yZWRpcmVjdC10by1odHRwLmh0
dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXJlZGlyZWN0Lmh0dHBzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXRpbWluZy5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvb25hY3RpdmF0ZS1zY3JpcHQtZXJyb3IuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL29uaW5zdGFsbC1zY3JpcHQtZXJyb3IuaHR0cHMuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL29wYXF1ZS1yZXNwb25zZS1wcmVsb2FkZWQuaHR0cHMuaHRtbApAQCAtMTA4LDYg
KzEzMSw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2Ut
YmxvYi11cmwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20t
d2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0
bWVzc2FnZS1tc2dwb3J0LXRvLWNsaWVudC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cG9zdG1lc3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2UtcXVldWUuaHR0cHMuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0
dHBzLmh0bWwKQEAgLTEzMSw2ICsxNTUsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3JlZ2lzdHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVqZWN0aW9ucy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVxdWVz
dC1lbmQtdG8tZW5kLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1p
bmctY3Jvc3Mtb3JpZ2luLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10
aW1pbmcuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc3BvbmQtd2l0aC1ib2R5LWFj
Y2Vzc2VkLXJlc3BvbnNlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zYW5kYm94ZWQt
aWZyYW1lLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKQEAgLTEzOCw2ICsxNjMsNyBAQCBMaXN0IG9m
IGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1jb25uZWN0Lmh0
dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVmYXVsdC5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLXNjcmlwdC5o
dHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItaGVhZGVyLmh0dHBz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNld29ya2VyLW1lc3NhZ2UtZXZlbnQtaGlz
dG9yaWNhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVj
dC1zY3JpcHR1cmwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NoYXJlZC13b3JrZXIt
Y29udHJvbGxlZC5odHRwcy5odG1sCkBAIC0xNDcsNiArMTczLDggQEAgTGlzdCBvZiBmaWxlczoK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1yZWdpc3RyYXRp
b24uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3N2Zy10YXJnZXQtcmVmdGVzdC5odHRwcy1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvc3ZnLXRhcmdldC1yZWZ0ZXN0Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zeW5j
ZWQtc3RhdGUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VuY29udHJvbGxlZC1wYWdl
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLWNvbnRyb2xsZXIuaHR0
cHMuaHRtbApAQCAtMTU0LDEyICsxODIsMjEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3VucmVnaXN0ZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1h
ZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1yZWRpcmVjdC5odHRwcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvdXBkYXRlLWFmdGVyLW9uZWRheS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvdXBkYXRlLWJ5dGVjaGVjay5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRl
LW1pc3NpbmctaW1wb3J0LXNjcmlwdHMuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1ub3QtYWxsb3dlZC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJl
Y292ZXJ5Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtcmVnaXN0cmF0aW9u
LXdpdGgtdHlwZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlc3VsdC5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJzb2Nr
ZXQtaW4tc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnNv
Y2tldC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2VidnR0LWNyb3NzLW9yaWdpbi5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gt
ZXZlbnQuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24t
cmVkaXJlY3QuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRp
b24uaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2FpdGluZy5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCBhNjVhOGI5NDgzZThlZDM1MjdlZjYzYzk1MDY5NDNlYmUyMzY2MTZiLi4yYTM1
MGQ5MTg3NzE1N2E5ZWViNzE3YTZkZGYyY2UxNzA4ZGVkMDNjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci93YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAogUEFTUyB3
YWl0aW5nIGlzIHNldCBhZnRlciBpbnN0YWxsYXRpb24gCitQQVNTIFRoZSBTZXJ2aWNlV29ya2Vy
IG9iamVjdHMgcmV0dXJuZWQgZnJvbSB3YWl0aW5nIGF0dHJpYnV0ZSBnZXR0ZXIgdGhhdCByZXBy
ZXNlbnQgdGhlIHNhbWUgc2VydmljZSB3b3JrZXIgYXJlIHRoZSBzYW1lIG9iamVjdHMgCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dhaXRpbmcuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dhaXRpbmcuaHR0cHMuaHRtbAppbmRleCAyYjBkYmM5NDg1YmY4NjNmY2IzMjRm
MTY5ZGUyZTI4YmExOGQwN2IwLi40OTllNTgxZWIzNTNhMmU0MzM1ODBlNDEzYTczMGJlYTJhOWI3
YWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd2FpdGluZy5odHRwcy5odG1sCkBAIC01LDM2ICs1LDQzIEBA
CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0Pgog
PGJvZHk+CiA8c2NyaXB0PgotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHZhciBzY3JpcHQgPSAn
cmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Ci0gICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9i
bGFuay5odG1sJzsKLSAgICB2YXIgZnJhbWU7Ci0gICAgdmFyIHJlZ2lzdHJhdGlvbjsKIAotICAg
IHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKQotICAgICAgLnRoZW4o
KCkgPT4geyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQotICAgICAgLnRoZW4oZiA9PiB7
Ci0gICAgICAgICAgZnJhbWUgPSBmOwotICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHtzY29wZTogc2NvcGV9KTsKLSAgICAgICAgfSkKLSAg
ICAgIC50aGVuKHIgPT4gewotICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IHI7Ci0gICAgICAgICAg
YWRkX3Jlc3VsdF9jYWxsYmFjaygoKSA9PiB7IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7IH0p
OwotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdpbnN0
YWxsZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+IHsKLSAgICAgICAgICBjb25z
dCBjb250cm9sbGVyID0KLSAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcjsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNvbnRy
b2xsZXIsIG51bGwsICcuY29udHJvbGxlcicpOworY29uc3QgU0NSSVBUID0gJ3Jlc291cmNlcy9l
bXB0eS13b3JrZXIuanMnOworY29uc3QgU0NPUEUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOwog
Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24uYWN0aXZlLCBudWxsLCAnLmFj
dGl2ZScpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRpbmcuc3Rh
dGUsICdpbnN0YWxsZWQnLCAnLndhaXRpbmcnKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJl
Z2lzdHJhdGlvbi5pbnN0YWxsaW5nLCBudWxsLCAnLmluc3RhbGxpbmcnKTsKLSAgICAgICAgfSkK
LSAgICAgIC50aGVuKCgpID0+IHsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAg
ICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgfSk7Ci0gIH0sICd3
YWl0aW5nIGlzIHNldCBhZnRlciBpbnN0YWxsYXRpb24nKTsKK3Byb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKworICB0LmFkZF9jbGVhbnVwKGFzeW5jKCkgPT4geworICAgIGlmIChmcmFtZSkKKyAg
ICAgIGZyYW1lLnJlbW92ZSgpOworICAgIGlmIChyZWdpc3RyYXRpb24pCisgICAgICBhd2FpdCBy
ZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICB9KTsKKworICBhd2FpdCBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFt
ZShTQ09QRSk7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9CisgICAgICBhd2FpdCBuYXZpZ2F0b3Iu
c2VydmljZVdvcmtlci5yZWdpc3RlcihTQ1JJUFQsIHtzY29wZTogU0NPUEV9KTsKKyAgYXdhaXQg
d2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdpbnN0YWxsZWQnKTsK
KyAgY29uc3QgY29udHJvbGxlciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuY29udHJvbGxlcjsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sbGVyLCBudWxsLCAn
Y29udHJvbGxlcicpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5hY3RpdmUsIG51bGws
ICdyZWdpc3RyYXRpb24uYWN0aXZlJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndh
aXRpbmcuc3RhdGUsICdpbnN0YWxsZWQnLAorICAgICAgICAgICAgICAgICdyZWdpc3RyYXRpb24u
d2FpdGluZycpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCBudWxs
LCAncmVnaXN0cmF0aW9uLmluc3RhbGxpbmcnKTsKK30sICd3YWl0aW5nIGlzIHNldCBhZnRlciBp
bnN0YWxsYXRpb24nKTsKKworLy8gVGVzdHMgdGhhdCB0aGUgU2VydmljZVdvcmtlciBvYmplY3Rz
IHJldHVybmVkIGZyb20gd2FpdGluZyBhdHRyaWJ1dGUgZ2V0dGVyCisvLyB0aGF0IHJlcHJlc2Vu
dCB0aGUgc2FtZSBzZXJ2aWNlIHdvcmtlciBhcmUgdGhlIHNhbWUgb2JqZWN0cy4KK3Byb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVnaXN0cmF0aW9uMSA9CisgICAgICBhd2FpdCBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKTsK
KyAgY29uc3QgcmVnaXN0cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdl
dFJlZ2lzdHJhdGlvbihTQ09QRSk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uMS53YWl0
aW5nLCByZWdpc3RyYXRpb24yLndhaXRpbmcsCisgICAgICAgICAgICAgICAgJ1NlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24ud2FpdGluZyBzaG91bGQgcmV0dXJuIHRoZSBzYW1lICcgKworICAgICAg
ICAgICAgICAgICdvYmplY3QnKTsKKyAgYXdhaXQgcmVnaXN0cmF0aW9uMS51bnJlZ2lzdGVyKCk7
Cit9LCAnVGhlIFNlcnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIHdhaXRpbmcgYXR0
cmlidXRlIGdldHRlciB0aGF0ICcgKworICAgJ3JlcHJlc2VudCB0aGUgc2FtZSBzZXJ2aWNlIHdv
cmtlciBhcmUgdGhlIHNhbWUgb2JqZWN0cycpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJzb2NrZXQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3dlYnNvY2tldC5odHRwcy5odG1sCmluZGV4IGI5YzUyNmQ1MGZiOTlhYmJhZmNiMmI4
ZDRmMDBjMjI2N2IyNWM0NzQuLmNiZmVkNDU2YTlkYzZiZGZkYmQxOTc4OTkxMjEwMWFiMTExN2Ix
ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnNvY2tldC5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnNvY2tldC5odHRwcy5odG1sCkBAIC02LDcgKzYsNyBA
QAogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48
L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgcGF0aCA9IG5ldyBVUkwoIi4iLCB3aW5kb3cubG9j
YXRpb24pLnBhdGhuYW1lCiAgICAgdmFyIHVybCA9ICdyZXNvdXJjZXMvd2Vic29ja2V0LmpzJzsK
ICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWw/d2Vic29ja2V0JzsKQEAgLTE0
LDggKzE0LDEyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBmcmFtZVVSTCA9
IGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10gKyBwYXRoICsgc2NvcGU7CiAgICAgdmFyIGZyYW1l
OwogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgdXJsLCBz
Y29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIo
dCwgdXJsLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworICAg
ICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAg
ICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5n
LCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0
dXJuIHdpdGhfaWZyYW1lKGZyYW1lVVJMKTsgfSkKQEAgLTI0LDIzICsyOCwxOCBAQCBhc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICByZXR1cm4gd2Vic29ja2V0KHQsIGZyYW1lKTsK
ICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIGZ1bmN0
aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICAgICAgICAgIGZvciAodmFyIHVybCBpbiBlLmRhdGEu
dXJscykgewotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModXJsLmluZGV4T2YoZ2V0X3dl
YnNvY2tldF91cmwoKSksIC0xLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9ic2Vy
dmVkIGFuIHVuZXhwZWN0ZWQgRmV0Y2hFdmVudCBmb3IgdGhlIFdlYlNvY2tldCBoYW5kc2hha2Ui
KTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAg
ICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKG9uTWVzc2FnZSk7
CisgICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAgY2hh
bm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSByZXNvbHZlOwogICAgICAgICAgICAgZnJhbWUuY29udGVu
dFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnBvc3RNZXNzYWdlKHtw
b3J0OiBjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9ydDJdKTsKICAgICAgICAgICB9KTsKICAg
ICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgLnRoZW4oZnVuY3Rpb24o
ZSkgeworICAgICAgICAgIGZvciAodmFyIHVybCBpbiBlLmRhdGEudXJscykgeworICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyh1cmwuaW5kZXhPZihnZXRfd2Vic29ja2V0X3VybCgpKSwgLTEsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICJPYnNlcnZlZCBhbiB1bmV4cGVjdGVkIEZldGNoRXZl
bnQgZm9yIHRoZSBXZWJTb2NrZXQgaGFuZHNoYWtlIik7CisgICAgICAgICAgfQogICAgICAgICAg
IGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNo
ZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdWZXJpZnkgV2ViU29ja2V0IGhh
bmRzaGFrZSBjaGFubmVsIGRvZXMgbm90IGdldCBpbnRlcmNlcHRlZCcpOwogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jvc3Mtb3JpZ2luLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnZ0dC1jcm9zcy1vcmlnaW4uaHR0cHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMmEyN2E3M2MzZThjZDQ2YTk0ZmQ5ZjgzYjNmZGU3
NWM0YTBlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jv
c3Mtb3JpZ2luLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitDT05TT0xFIE1F
U1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJv
cjogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRw
czovL2xvY2FsaG9zdDo5NDQzL21lZGlhL2Zvby52dHQ/dXJsPWh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvbWVkaWEvZm9vLW5vLWNvcnMudnR0Jm1vZGU9Y29ycy4KK0NPTlNPTEUgTUVTU0FHRTogRmV0
Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBPcmlnaW4g
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvbWVkaWEvZm9vLnZ0dD91cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZyZWRpcmVj
dC5weSUzRlJlZGlyZWN0JTNEaHR0cHMlMjUzQSUyNTJGJTI1MkYxMjcuMC4wLjElMjUzQTk0NDMl
MjUyRm1lZGlhJTI1MkZmb28tbm8tY29ycy52dHQmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPXNhbWUt
b3JpZ2luLgorCitQQVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0YXRlIAorUEFTUyBzYW1lLW9yaWdp
biB0ZXh0IHRyYWNrIHNob3VsZCBsb2FkIAorRkFJTCBjcm9zcy1vcmlnaW4gdGV4dCB0cmFjayB3
aXRoIG5vLWNvcnMgcmVxdWVzdCBzaG91bGQgbm90IGxvYWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImVycm9yIGV2ZW50IiBidXQgZ290ICJsb2FkIGV2ZW50IgorUEFTUyBjcm9zcy1vcmlnaW4g
dGV4dCB0cmFjayB3aXRoIHJlamVjdGVkIGNvcnMgcmVxdWVzdCBzaG91bGQgbm90IGxvYWQgCitG
QUlMIGNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIHdpdGggYXBwcm92ZWQgY29ycyByZXF1ZXN0IHNo
b3VsZCBub3QgbG9hZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZXJyb3IgZXZlbnQiIGJ1dCBn
b3QgImxvYWQgZXZlbnQiCitQQVNTIHNhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVj
dHMgc2FtZS1vcmlnaW4gc2hvdWxkIGxvYWQgCitGQUlMIHNhbWUtb3JpZ2luIHRleHQgdHJhY2sg
dGhhdCByZWRpcmVjdHMgY3Jvc3Mtb3JpZ2luIHNob3VsZCBub3QgbG9hZCBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZXJyb3IgZXZlbnQiIGJ1dCBnb3QgImxvYWQgZXZlbnQiCitQQVNTIHNhbWUt
b3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVjdHMgdG8gYSBjcm9zcy1vcmlnaW4gdGV4dCB0
cmFjayB3aXRoIHJlamVjdGVkIGNvcnMgc2hvdWxkIG5vdCBsb2FkIAorRkFJTCBzYW1lLW9yaWdp
biB0ZXh0IHRyYWNrIHRoYXQgcmVkaXJlY3RzIHRvIGEgY3Jvc3Mtb3JpZ2luIHRleHQgdHJhY2sg
d2l0aCBhcHByb3ZlZCBjb3JzIHNob3VsZCBub3QgbG9hZCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiZXJyb3IgZXZlbnQiIGJ1dCBnb3QgImxvYWQgZXZlbnQiCitQQVNTIHJlc3RvcmUgZ2xvYmFs
IHN0YXRlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jvc3Mtb3Jp
Z2luLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jvc3Mtb3JpZ2luLmh0
dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM5NGZmNzVjNGE1ZjM5NWQyODdjZTdjNTdhMTM1MjJlZmNl
OWFlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnZ0dC1jcm9zcy1v
cmlnaW4uaHR0cHMuaHRtbApAQCAtMCwwICsxLDE3NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Y3Jvc3Mtb3JpZ2luIHdlYnZ0dCByZXR1cm5lZCBi
eSBzZXJ2aWNlIHdvcmtlciBpcyBkZXRlY3RlZDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3Qt
aGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorLy8g
VGhpcyBmaWxlIHRlc3RzIHJlc3BvbnNlcyBmb3IgV2ViVlRUIHRleHQgdHJhY2sgZnJvbSBhIHNl
cnZpY2Ugd29ya2VyLiBJdAorLy8gY3JlYXRlcyBhbiBpZnJhbWUgd2l0aCBhIDx0cmFjaz4gZWxl
bWVudCwgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgorLy8gRWFjaCB0ZXN0IHRyaWVz
IHRvIGxvYWQgYSB0ZXh0IHRyYWNrLCB0aGUgc2VydmljZSB3b3JrZXIgaW50ZXJjZXB0cyB0aGUK
Ky8vIHJlcXVlc3RzIGFuZCByZXNwb25kcyB3aXRoIG9wYXF1ZSBvciBub24tb3BhcXVlIHJlc3Bv
bnNlcy4gQXMgdGhlCisvLyBjcm9zc29yaWdpbiBhdHRyaWJ1dGUgaXMgbm90IHNldCwgcmVxdWVz
dCdzIG1vZGUgaXMgYWx3YXlzICJzYW1lLW9yaWdpbiIsCisvLyBhbmQgYXMgc3BlY2lmaWVkIGlu
IGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNodHRwLWZldGNoLAorLy8gYSByZXNwb25z
ZSBmcm9tIGEgc2VydmljZSB3b3JrZXIgd2hvc2UgdHlwZSBpcyBuZWl0aGVyICJiYXNpYyIgbm9y
CisvLyAiZGVmYXVsdCIgaXMgcmVqZWN0ZWQuCisKK2NvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0
X2luZm8oKTsKK2NvbnN0IGtTY3JpcHQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2Vy
LmpzJzsKKy8vIEFkZCAnP2lnbm9yZScgc28gdGhlIHNlcnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sg
Zm9yIHRoZSBuYXZpZ2F0aW9uLgorY29uc3Qga1Njb3BlID0gJ3Jlc291cmNlcy92dHQtZnJhbWUu
aHRtbD9pZ25vcmUnOworbGV0IGZyYW1lOworCitmdW5jdGlvbiBsb2FkX3RyYWNrKHVybCkgewor
ICBjb25zdCB0cmFjayA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0cmFj
aycpOworICBjb25zdCByZXN1bHQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7
CisgICAgICB0cmFjay5vbmxvYWQgPSAoZSA9PiB7CisgICAgICAgICAgcmVzb2x2ZSgnbG9hZCBl
dmVudCcpOworICAgICAgICB9KTsKKyAgICAgIHRyYWNrLm9uZXJyb3IgPSAoZSA9PiB7CisgICAg
ICAgICAgcmVzb2x2ZSgnZXJyb3IgZXZlbnQnKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAg
dHJhY2suc3JjID0gdXJsOworICAvLyBTZXR0aW5nIG1vZGUgdG8gaGlkZGVuIHNlZW1zIG5lZWRl
ZCwgb3IgZWxzZSB0aGUgdGV4dCB0cmFjayByZXF1ZXN0cyBkb24ndAorICAvLyBvY2N1ci4KKyAg
dHJhY2sudHJhY2subW9kZSA9ICdoaWRkZW4nOworICByZXR1cm4gcmVzdWx0OworfQorCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X3JlZ2lzdGVyKHQsIGtTY3JpcHQsIGtTY29wZSkKKyAgICAgIC50aGVuKHJlZ2lzdHJhdGlvbiA9
PiB7CisgICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICAgICAgICAgICAgZnJhbWUu
cmVtb3ZlKCk7CisgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3Rlcigp
OworICAgICAgICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7CisKKyAgICAgICAgICBy
ZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHsKKyAgICAgICAgICByZXR1cm4g
d2l0aF9pZnJhbWUoa1Njb3BlKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKGYgPT4geworICAg
ICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgfSkKKyAgfSwgJ2luaXRpYWxpemUgZ2xvYmFsIHN0
YXRlJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBsZXQgdXJsID0gJy9tZWRpYS9mb28u
dnR0JzsKKyAgICAvLyBBZGQgJz91cmwnIGFuZCB0ZWxsIHRoZSBzZXJ2aWNlIHdvcmtlciB0byBm
ZXRjaCBhIHNhbWUtb3JpZ2luIFVSTC4KKyAgICB1cmwgKz0gJz91cmw9JyArIGhvc3RfaW5mby5I
VFRQU19PUklHSU4gKyAnL21lZGlhL2Zvby52dHQnOworICAgIHJldHVybiBsb2FkX3RyYWNrKHVy
bCkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1
bHQsICdsb2FkIGV2ZW50Jyk7CisgICAgICAgIH0pOworICB9LCAnc2FtZS1vcmlnaW4gdGV4dCB0
cmFjayBzaG91bGQgbG9hZCcpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgbGV0IHVybCA9
ICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgLy8gQWRkICc/dXJsJyBhbmQgdGVsbCB0aGUgc2Vydmlj
ZSB3b3JrZXIgdG8gZmV0Y2ggYSBjcm9zcy1vcmlnaW4gVVJMLgorICAgIHVybCArPSAnP3VybD0n
ICsgZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4gKyAnL21lZGlhL2Zvby52dHQn
OworICAgIHJldHVybiBsb2FkX3RyYWNrKHVybCkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdlcnJvciBldmVudCcpOworICAgICAgICB9
KTsKKyAgfSwgJ2Nyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIHdpdGggbm8tY29ycyByZXF1ZXN0IHNo
b3VsZCBub3QgbG9hZCcpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgbGV0IHVybCA9ICcv
bWVkaWEvZm9vLnZ0dCc7CisgICAgLy8gQWRkICc/dXJsJyBhbmQgdGVsbCB0aGUgc2VydmljZSB3
b3JrZXIgdG8gZmV0Y2ggYSBjcm9zcy1vcmlnaW4gVVJMIHRoYXQKKyAgICAvLyBkb2Vzbid0IHN1
cHBvcnQgQ09SUy4KKyAgICB1cmwgKz0gJz91cmw9JyArIGdldF9ob3N0X2luZm8oKS5IVFRQU19S
RU1PVEVfT1JJR0lOICsKKyAgICAgICAgJy9tZWRpYS9mb28tbm8tY29ycy52dHQnOworICAgIC8v
IEFkZCAnJm1vZGUnIHRvIHRlbGwgdGhlIHNlcnZpY2Ugd29ya2VyIHRvIGRvIGEgQ09SUyByZXF1
ZXN0LgorICAgIHVybCArPSAnJm1vZGU9Y29ycyc7CisgICAgcmV0dXJuIGxvYWRfdHJhY2sodXJs
KQorICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3Vs
dCwgJ2Vycm9yIGV2ZW50Jyk7CisgICAgICAgIH0pOworICB9LCAnY3Jvc3Mtb3JpZ2luIHRleHQg
dHJhY2sgd2l0aCByZWplY3RlZCBjb3JzIHJlcXVlc3Qgc2hvdWxkIG5vdCBsb2FkJyk7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgICBsZXQgdXJsID0gJy9tZWRpYS9mb28udnR0JzsKKyAgICAv
LyBBZGQgJz91cmwnIGFuZCB0ZWxsIHRoZSBzZXJ2aWNlIHdvcmtlciB0byBmZXRjaCBhIGNyb3Nz
LW9yaWdpbiBVUkwuCisgICAgdXJsICs9ICc/dXJsPScgKyBnZXRfaG9zdF9pbmZvKCkuSFRUUFNf
UkVNT1RFX09SSUdJTiArICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgLy8gQWRkICcmbW9kZScgdG8g
dGVsbCB0aGUgc2VydmljZSB3b3JrZXIgdG8gZG8gYSBDT1JTIHJlcXVlc3QuCisgICAgdXJsICs9
ICcmbW9kZT1jb3JzJzsKKyAgICAvLyBBZGQgJyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbicgdG8g
YWxsb3cgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luPSogc28KKyAgICAvLyB0aGF0IENPUlMg
d2lsbCBzdWNjZWVkIGlmIHRoZSBzZXJ2aWNlIGFwcHJvdmVzIGl0LgorICAgIHVybCArPSAnJmNy
ZWRlbnRpYWxzPXNhbWUtb3JpZ2luJzsKKyAgICByZXR1cm4gbG9hZF90cmFjayh1cmwpCisgICAg
ICAudGhlbihyZXN1bHQgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZXJy
b3IgZXZlbnQnKTsKKyAgICAgICAgfSk7CisgIH0sICdjcm9zcy1vcmlnaW4gdGV4dCB0cmFjayB3
aXRoIGFwcHJvdmVkIGNvcnMgcmVxdWVzdCBzaG91bGQgbm90IGxvYWQnKTsKKworLy8gUmVkaXJl
Y3QgdGVzdHMuCisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBsZXQgdXJsID0gJy9tZWRpYS9m
b28udnR0JzsKKyAgICAvLyBBZGQgJz91cmwnIGFuZCB0ZWxsIHRoZSBzZXJ2aWNlIHdvcmtlciB0
byBmZXRjaCBhIHNhbWUtb3JpZ2luIFVSTCB0aGF0IHJlZGlyZWN0cy4uLgorICAgIHJlZGlyZWN0
b3JfdXJsID0gaG9zdF9pbmZvLkhUVFBTX09SSUdJTiArIGJhc2VfcGF0aCgpICsgJ3Jlc291cmNl
cy9yZWRpcmVjdC5weT9SZWRpcmVjdD0nOworICAgIC8vIC4uLiB0byBhIHNhbWUtb3JpZ2luIFVS
TC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgJy9tZWRp
YS9mb28udnR0JzsKKyAgICB1cmwgKz0gJz91cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZWRp
cmVjdG9yX3VybCArIGVuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdF90YXJnZXQpKTsKKyAgICBy
ZXR1cm4gbG9hZF90cmFjayh1cmwpCisgICAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0LCAnbG9hZCBldmVudCcpOworICAgICAgICB9KTsKKyAgfSwg
J3NhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVjdHMgc2FtZS1vcmlnaW4gc2hvdWxk
IGxvYWQnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCB1cmwgPSAnL21lZGlhL2Zv
by52dHQnOworICAgIC8vIEFkZCAnP3VybCcgYW5kIHRlbGwgdGhlIHNlcnZpY2Ugd29ya2VyIHRv
IGZldGNoIGEgc2FtZS1vcmlnaW4gVVJMIHRoYXQgcmVkaXJlY3RzLi4uCisgICAgcmVkaXJlY3Rv
cl91cmwgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgYmFzZV9wYXRoKCkgKyAncmVzb3VyY2Vz
L3JlZGlyZWN0LnB5P1JlZGlyZWN0PSc7CisgICAgLy8gLi4uIHRvIGEgY3Jvc3Mtb3JpZ2luIFVS
TC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJTiAr
ICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgdXJsICs9ICc/dXJsPScgKyBlbmNvZGVVUklDb21wb25l
bnQocmVkaXJlY3Rvcl91cmwgKyBlbmNvZGVVUklDb21wb25lbnQocmVkaXJlY3RfdGFyZ2V0KSk7
CisgICAgcmV0dXJuIGxvYWRfdHJhY2sodXJsKQorICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2Vycm9yIGV2ZW50Jyk7CisgICAgICAgIH0p
OworICB9LCAnc2FtZS1vcmlnaW4gdGV4dCB0cmFjayB0aGF0IHJlZGlyZWN0cyBjcm9zcy1vcmln
aW4gc2hvdWxkIG5vdCBsb2FkJyk7CisKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCB1
cmwgPSAnL21lZGlhL2Zvby52dHQnOworICAgIC8vIEFkZCAnP3VybCcgYW5kIHRlbGwgdGhlIHNl
cnZpY2Ugd29ya2VyIHRvIGZldGNoIGEgc2FtZS1vcmlnaW4gVVJMIHRoYXQgcmVkaXJlY3RzLi4u
CisgICAgcmVkaXJlY3Rvcl91cmwgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgYmFzZV9wYXRo
KCkgKyAncmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSc7CisgICAgLy8gLi4uIHRvIGEg
Y3Jvc3Mtb3JpZ2luIFVSTC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNf
UkVNT1RFX09SSUdJTiArICcvbWVkaWEvZm9vLW5vLWNvcnMudnR0JzsKKyAgICB1cmwgKz0gJz91
cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdG9yX3VybCArIGVuY29kZVVSSUNvbXBv
bmVudChyZWRpcmVjdF90YXJnZXQpKTsKKyAgICAvLyBBZGQgJyZtb2RlJyB0byB0ZWxsIHRoZSBz
ZXJ2aWNlIHdvcmtlciB0byBkbyBhIENPUlMgcmVxdWVzdC4KKyAgICB1cmwgKz0gJyZtb2RlPWNv
cnMnOworICAgIC8vIEFkZCAnJmNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luJyB0byBhbGxvdyBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW49KiBzbworICAgIC8vIHRoYXQgQ09SUyB3aWxsIHN1Y2Nl
ZWQgaWYgdGhlIHNlcnZlciBhcHByb3ZlcyBpdC4KKyAgICB1cmwgKz0gJyZjcmVkZW50aWFscz1z
YW1lLW9yaWdpbic7CisgICAgcmV0dXJuIGxvYWRfdHJhY2sodXJsKQorICAgICAgLnRoZW4ocmVz
dWx0ID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2Vycm9yIGV2ZW50Jyk7
CisgICAgICAgIH0pOworICB9LCAnc2FtZS1vcmlnaW4gdGV4dCB0cmFjayB0aGF0IHJlZGlyZWN0
cyB0byBhIGNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIHdpdGggcmVqZWN0ZWQgY29ycyBzaG91bGQg
bm90IGxvYWQnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCB1cmwgPSAnL21lZGlh
L2Zvby52dHQnOworICAgIC8vIEFkZCAnP3VybCcgYW5kIHRlbGwgdGhlIHNlcnZpY2Ugd29ya2Vy
IHRvIGZldGNoIGEgc2FtZS1vcmlnaW4gVVJMIHRoYXQgcmVkaXJlY3RzLi4uCisgICAgcmVkaXJl
Y3Rvcl91cmwgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgYmFzZV9wYXRoKCkgKyAncmVzb3Vy
Y2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSc7CisgICAgLy8gLi4uIHRvIGEgY3Jvc3Mtb3JpZ2lu
IFVSTC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJ
TiArICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgdXJsICs9ICc/dXJsPScgKyBlbmNvZGVVUklDb21w
b25lbnQocmVkaXJlY3Rvcl91cmwgKyBlbmNvZGVVUklDb21wb25lbnQocmVkaXJlY3RfdGFyZ2V0
KSk7CisgICAgLy8gQWRkICcmbW9kZScgdG8gdGVsbCB0aGUgc2VydmljZSB3b3JrZXIgdG8gZG8g
YSBDT1JTIHJlcXVlc3QuCisgICAgdXJsICs9ICcmbW9kZT1jb3JzJzsKKyAgICAvLyBBZGQgJyZj
cmVkZW50aWFscz1zYW1lLW9yaWdpbicgdG8gYWxsb3cgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3Jp
Z2luPSogc28KKyAgICAvLyB0aGF0IENPUlMgd2lsbCBzdWNjZWVkIGlmIHRoZSBzZXJ2ZXIgYXBw
cm92ZXMgaXQuCisgICAgdXJsICs9ICcmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4nOworICAgIHJl
dHVybiBsb2FkX3RyYWNrKHVybCkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQsICdlcnJvciBldmVudCcpOworICAgICAgICB9KTsKKyAgfSwg
J3NhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVjdHMgdG8gYSBjcm9zcy1vcmlnaW4g
dGV4dCB0cmFjayB3aXRoIGFwcHJvdmVkIGNvcnMgc2hvdWxkIG5vdCBsb2FkJyk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dpbmRvd2NsaWVudC1u
YXZpZ2F0ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmln
YXRlLmh0dHBzLmh0bWwKaW5kZXggOGZiNDY3YTNmOWJmODFiZTlhZjI3MDg1N2E4ZmVkYzM5MjQ5
MmFhNC4uOGVhMjc5ZWYwNzVlNWU2Yzg5MDQ5NjZiMDA1ZjBiYWYwZDc1YmNhOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBzLmh0bWwKQEAg
LTE2Niw3ICsxNjYsNyBAQCBmdW5jdGlvbiBuYXZpZ2F0ZV90ZXN0KG92ZXJyaWRlX3BhcmFtZXRl
cnMpIHsKICAgICAvLyBleGVjdXRlcy4gYFRlc3QjYWRkX2NsZWFudXBgIGNhbm5vdCBiZSB1c2Vk
IGZvciB0aGlzIHB1cnBvc2UgYmVjYXVzZSB0aGUKICAgICAvLyBvcGVyYXRpb24gaXMgYXN5bmNo
cm9ub3VzLCBhbmQgYGFkZF9jbGVhbnVwYCBkb2VzIG5vdCBzdXBwb3J0CiAgICAgLy8gYXN5bmNo
cm9ub3VzIG9wZXJhdGlvbnMgYXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLiBTZWUKLSAgICAv
LyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pc3N1ZXMvNjA3NQor
ICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3Vlcy82
MDc1CiAgICAgLy8gRW5zdXJlIGFsc28gdGhhdCB0ZXN0IGZhaWx1cmUgaXMgbm90IGhpZGRlbiBi
eSBzdWNjZXNzZnVsIGNsZWFudXAKICAgICAvLyBvcGVyYXRpb24uCiAgICAgcmV0dXJuIHRlc3Rf
Ym9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGM5ZTI0ZDk5N2Q5Njk4Nzc0MzViMGZmNjFmMTAy
Njg3MGY2MTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNs
aWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgVmVyaWZ5
IHdvcmtlcnMgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25p
bmcgZG9jdW1lbnRzIHdpbmRvdyBhc3NlcnRfbm90X2VxdWFsczogZnJhbWUgYW5kIHdvcmtlciBj
bGllbnQgaWRzIHNob3VsZCBiZSBkaWZmZXJlbnQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIjEtMTki
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZTRkMzE2NjBiZDU2YWRkM2YzNTU5ZmNlNWU4ODRiMGM3ZTFmMGUyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRwcy5odG1s
CkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlcnZpY2UgV29ya2Vy
OiBXb3JrZXJzIHNob3VsZCBoYXZlIHRoZWlyIG93biB1bmlxdWUgY2xpZW50IElkPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CisKKy8vIEdldCB0aGUgaWZyYW1lIGNsaWVudCBJRCBieSBjYWxsaW5nIHBvc3RN
ZXNzYWdlKCkgb24gaXRzIGNvbnRyb2xsaW5nCisvLyB3b3JrZXIuICBUaGlzIHdpbGwgY2F1c2Ug
dGhlIHNlcnZpY2Ugd29ya2VyIHRvIHBvc3QgYmFjayB0aGUKKy8vIE1lc3NhZ2VFdmVudC5zb3Vy
Y2UuaWQgdmFsdWUuCitmdW5jdGlvbiBnZXRGcmFtZUNsaWVudElkKGZyYW1lKSB7CisgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBsZXQgbWMgPSBuZXcgTWVzc2FnZUNoYW5u
ZWwoKTsKKyAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNv
bnRyb2xsZXIucG9zdE1lc3NhZ2UoCisgICAgICAnZWNoby1jbGllbnQtaWQnLCBbbWMucG9ydDJd
KTsKKyAgICBtYy5wb3J0MS5vbm1lc3NhZ2UgPSBldnQgPT4geworICAgICAgcmVzb2x2ZShldnQu
ZGF0YSk7CisgICAgfTsKKyAgfSk7Cit9CisKKy8vIEdldCB0aGUgd29ya2VyIGNsaWVudCBJRCBi
eSBjcmVhdGluZyBhIHdvcmtlciB0aGF0IHBlcmZvcm1zIGFuIGludGVyY2VwdGVkCisvLyBmZXRj
aCgpLiAgVGhlIHN5bnRoZXRpYyBmZXRjaCgpIHJlc3BvbnNlIHdpbGwgY29udGFpbiB0aGUgRmV0
Y2hFdmVudC5jbGllbnRJZAorLy8gdmFsdWUuICBUaGlzIGlzIHRoZW4gcG9zdGVkIGJhY2sgdG8g
aGVyZS4KK2Z1bmN0aW9uIGdldFdvcmtlckNsaWVudElkKGZyYW1lKSB7CisgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBsZXQgdyA9IG5ldyBmcmFtZS5jb250ZW50V2luZG93
Lldvcmtlcignd29ya2VyLWVjaG8tY2xpZW50LWlkLmpzJyk7CisgICAgdy5vbm1lc3NhZ2UgPSBl
dnQgPT4geworICAgICAgcmVzb2x2ZShldnQuZGF0YSk7CisgICAgfTsKKyAgfSk7Cit9CisKK3By
b21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgIGNvbnN0IHNjcmlwdCA9ICcuL3Jlc291
cmNlcy93b3JrZXItY2xpZW50LWlkLXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJy4vcmVz
b3VyY2VzL3dvcmtlci1jbGllbnQtaWQnOworICBjb25zdCBmcmFtZSA9IHNjb3BlICsgJy9mcmFt
ZS5odG1sJzsKKworICBsZXQgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVn
aXN0ZXIoc2NyaXB0LCB7IHNjb3BlIH0pOworICB0LmFkZF9jbGVhbnVwKGFzeW5jIF8gPT4gYXdh
aXQgcmVnLnVucmVnaXN0ZXIoKSk7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0
YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgbGV0IGYgPSBhd2FpdCB3aXRoX2lmcmFtZShmcmFt
ZSk7CisgIHQuYWRkX2NsZWFudXAoXyA9PiBmLnJlbW92ZSgpKTsKKworICBsZXQgZnJhbWVDbGll
bnRJZCA9IGF3YWl0IGdldEZyYW1lQ2xpZW50SWQoZik7CisgIGFzc2VydF9ub3RfZXF1YWxzKGZy
YW1lQ2xpZW50SWQsIG51bGwsICdmcmFtZSBjbGllbnQgaWQgc2hvdWxkIGV4aXN0Jyk7CisKKyAg
bGV0IHdvcmtlckNsaWVudElkID0gYXdhaXQgZ2V0V29ya2VyQ2xpZW50SWQoZik7CisgIGFzc2Vy
dF9ub3RfZXF1YWxzKHdvcmtlckNsaWVudElkLCBudWxsLCAnd29ya2VyIGNsaWVudCBpZCBzaG91
bGQgZXhpc3QnKTsKKworICBhc3NlcnRfbm90X2VxdWFscyhmcmFtZUNsaWVudElkLCB3b3JrZXJD
bGllbnRJZCwKKyAgICAgICAgICAgICAgICAgICAgJ2ZyYW1lIGFuZCB3b3JrZXIgY2xpZW50IGlk
cyBzaG91bGQgYmUgZGlmZmVyZW50Jyk7Cit9LCAnVmVyaWZ5IHdvcmtlcnMgaGF2ZSBhIHVuaXF1
ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25pbmcgZG9jdW1lbnRzIHdpbmRvdycp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbi1zYW5kYm94ZWQtaWZyYW1lLWJ5LWNzcC1mZXRjaC1ldmVudC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlmcmFtZS1ieS1j
c3AtZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxNTY2Yjc5MjVi
NmU3NmVmMmNiMTUwZjc0M2FmMzljNGY2YzdjMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyNzogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbi1zYW5kYm94ZWQtaWZyYW1lLWJ5LWNz
cC1mZXRjaC1ldmVudC5odHRwcy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5IGluc2Vj
dXJlIGNvbnRlbnQgZnJvbSBibG9iOm51bGwvNmJlMThkYmEtZDdjZC00N2I3LWJhYjUtZGJiNjI5
OGY3YTZmLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IE5vdCBhbGxvd2VkIHRvIHJlcXVl
c3QgcmVzb3VyY2UKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogQ2Fubm90IGxvYWQgYmxvYjpu
dWxsLzZiZTE4ZGJhLWQ3Y2QtNDdiNy1iYWI1LWRiYjYyOThmN2E2ZiBkdWUgdG8gYWNjZXNzIGNv
bnRyb2wgY2hlY2tzLgorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworUEFTUyBQcmVwYXJlIGEgc2VydmljZSB3b3JrZXIuIAorRkFJTCBQcmVwYXJlIGFuIGlmcmFt
ZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGggYWxsb3ctc2NyaXB0cy4gYXNzZXJ0
X2ZhbHNlOiBTZXJ2aWNlIHdvcmtlciBzaG91bGQgTk9UIGNvbnRyb2wgdGhlIHNhbmRib3hlZCBw
YWdlIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFByZXBhcmUgYW4gaWZyYW1lIHNhbmRi
b3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1l
LW9yaWdpbi4gCitUSU1FT1VUIEZldGNoIHJlcXVlc3QgZnJvbSBhIHdvcmtlciBpbiBpZnJhbWUg
c2FuZGJveGVkIGJ5IENTUCBIVFRQIGhlYWRlciBhbGxvdy1zY3JpcHRzIGZsYWcgVGVzdCB0aW1l
ZCBvdXQKK05PVFJVTiBGZXRjaCByZXF1ZXN0IGZyb20gYSB3b3JrZXIgaW4gaWZyYW1lIHNhbmRi
b3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1l
LW9yaWdpbiBmbGFnIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4t
c2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbi1zYW5kYm94ZWQtaWZyYW1lLWJ5LWNzcC1mZXRjaC1ldmVudC5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NDgwYmYxYmUwMDM5MDMzODM0MDRmYTkwZmYyOGFmNjY4
ZjY1MzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2Fu
ZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDEz
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+U2VydmljZVdvcmtlciBGZXRjaEV2ZW50IGlz
c3VlZCBmcm9tIHdvcmtlcnMgaW4gYW4gaWZyYW1lIHNhbmRib3hlZCB2aWEgQ1NQIEhUVFAgcmVz
cG9uc2UgaGVhZGVyLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIu
anMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorbGV0IGxhc3RDYWxsYmFja0lkID0gMDsK
K2xldCBjYWxsYmFja3MgPSB7fTsKK2Z1bmN0aW9uIGRvVGVzdChmcmFtZSwgdHlwZSkgeworICBy
ZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgIHZhciBpZCA9ICsrbGFz
dENhbGxiYWNrSWQ7CisgICAgY2FsbGJhY2tzW2lkXSA9IHJlc29sdmU7CisgICAgZnJhbWUuY29u
dGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7aWQ6IGlkLCB0eXBlOiB0eXBlfSwgJyonKTsKKyAgfSk7
Cit9CisKKy8vIEFza3MgdGhlIHNlcnZpY2Ugd29ya2VyIGZvciBkYXRhIGFib3V0IHJlcXVlc3Rz
IGFuZCBjbGllbnRzIHNlZW4uIFRoZQorLy8gd29ya2VyIHBvc3RzIGEgbWVzc2FnZSBiYWNrIHdp
dGggfGRhdGF8IHdoZXJlOgorLy8gfGRhdGEucmVxdWVzdHN8OiB0aGUgcmVxdWVzdHMgdGhlIHdv
cmtlciByZWNlaXZlZCBGZXRjaEV2ZW50cyBmb3IKKy8vIHxkYXRhLmNsaWVudHN8OiB0aGUgVVJM
cyBvZiBhbGwgdGhlIHdvcmtlcidzIGNsaWVudHMKKy8vIFRoZSB3b3JrZXIgY2xlYXJzIGl0cyBk
YXRhIGFmdGVyIHJlc3BvbmRpbmcuCitmdW5jdGlvbiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3Jr
ZXIpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGxldCBjaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBt
c2cgPT4geworICAgICAgcmVzb2x2ZShtc2cuZGF0YSk7CisgICAgfTsKKyAgICB3b3JrZXIucG9z
dE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9ydDJ9LCBbY2hhbm5lbC5wb3J0Ml0pOworICB9KTsK
K30KKword2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7CisgIG1lc3NhZ2UgPSBlLmRh
dGE7CisgIGxldCBpZCA9IG1lc3NhZ2VbJ2lkJ107CisgIGxldCBjYWxsYmFjayA9IGNhbGxiYWNr
c1tpZF07CisgIGRlbGV0ZSBjYWxsYmFja3NbaWRdOworICBjYWxsYmFjayhtZXNzYWdlWydyZXN1
bHQnXSk7Cit9OworCitjb25zdCBTQ09QRSA9ICdyZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1m
ZXRjaC1ldmVudC1pZnJhbWUucHknOworY29uc3QgU0NSSVBUID0gJ3Jlc291cmNlcy9zYW5kYm94
ZWQtaWZyYW1lLWZldGNoLWV2ZW50LXdvcmtlci5qcyc7Citjb25zdCBleHBlY3RlZF9iYXNlX3Vy
bCA9IG5ldyBVUkwoU0NPUEUsIGxvY2F0aW9uLmhyZWYpOworLy8gQSBzZXJ2aWNlIHdvcmtlciBj
b250cm9sbGluZyB8U0NPUEV8LgorbGV0IHdvcmtlcjsKKy8vIEFuIGlmcmFtZSB3aG9zZSByZXNw
b25zZSBoZWFkZXIgaGFzCisvLyAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGFsbG93LXNjcmlw
dHMnLgorLy8gVGhpcyBzaG91bGQgTk9UIGJlIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtl
ci4KK2xldCBzYW5kYm94ZWRfZnJhbWVfYnlfaGVhZGVyOworLy8gQW4gaWZyYW1lIHdob3NlIHJl
c3BvbnNlIGhlYWRlciBoYXMKKy8vICdDb250ZW50LVNlY3VyaXR5LVBvbGljeTogYWxsb3ctc2Ny
aXB0cyBhbGxvdy1zYW1lLW9yaWdpbicuCisvLyBUaGlzIHNob3VsZCBiZSBjb250cm9sbGVkIGJ5
IGEgc2VydmljZSB3b3JrZXIuCitsZXQgc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lX2J5X2hl
YWRlcjsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSkKKyAgICAudGhlbihmdW5jdGlv
bihyZWdpc3RyYXRpb24pIHsKKyAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgpID0+IHJl
Z2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmc7CisgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICB9KTsKK30sICdQcmVwYXJlIGEgc2VydmljZSB3
b3JrZXIuJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgaWZyYW1lX2Z1bGxfdXJs
ID0gZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NhbmRib3g9YWxsb3ctc2NyaXB0cyYnICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3NhbmRib3hlZC1mcmFtZS1ieS1oZWFkZXInOworICByZXR1
cm4gd2l0aF9pZnJhbWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4geworICAgICAg
c2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlciA9IGY7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxs
YmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtl
cih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBsZXQgcmVxdWVz
dHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5sZW5ndGgs
IDEsCisgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlIHdvcmtlciBzaG91bGQgcHJvdmlkZSB0
aGUgcmVzcG9uc2UnKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHNbMF0sIGlmcmFtZV9m
dWxsX3VybCk7CisgICAgICBhc3NlcnRfZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVzKGlmcmFt
ZV9mdWxsX3VybCksCisgICAgICAgICAgICAgICAgICAgJ1NlcnZpY2Ugd29ya2VyIHNob3VsZCBO
T1QgY29udHJvbCB0aGUgc2FuZGJveGVkIHBhZ2UnKTsKKyAgICB9KTsKK30sICdQcmVwYXJlIGFu
IGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGggYWxsb3ctc2NyaXB0cy4n
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCBpZnJhbWVfZnVsbF91cmwgPQorICAg
IGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zYW5kYm94PWFsbG93LXNjcmlwdHMlMjBhbGxvdy1zYW1l
LW9yaWdpbiYnICsKKyAgICAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbi1ieS1oZWFkZXIn
OworICByZXR1cm4gd2l0aF9pZnJhbWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4g
eworICAgICAgc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lX2J5X2hlYWRlciA9IGY7CisgICAg
ICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVy
biBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9
PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1sw
XSwgaWZyYW1lX2Z1bGxfdXJsKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50cy5pbmNs
dWRlcyhpZnJhbWVfZnVsbF91cmwpKTsKKyAgICB9KQorfSwgJ1ByZXBhcmUgYW4gaWZyYW1lIHNh
bmRib3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKKyAg
ICdhbGxvdy1zYW1lLW9yaWdpbi4nKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJh
bWUgPSBzYW5kYm94ZWRfZnJhbWVfYnlfaGVhZGVyOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAn
ZmV0Y2gtZnJvbS13b3JrZXInKQorICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtl
cih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1
YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJl
cXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgIH0pOworfSwgJ0ZldGNo
IHJlcXVlc3QgZnJvbSBhIHdvcmtlciBpbiBpZnJhbWUgc2FuZGJveGVkIGJ5IENTUCBIVFRQIGhl
YWRlciAnICsKKyAgICdhbGxvdy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICBsZXQgZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWVfYnlfaGVhZGVyOwor
ICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnZmV0Y2gtZnJvbS13b3JrZXInKQorICAgIC50aGVuKHJl
c3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJl
dHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0
YSA9PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0
X2VxdWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEsCisgICAgICAgICAgICAgICAgICAgICdUaGUgcmVx
dWVzdCBzaG91bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVx
dWVzdHNbMF0sIGZyYW1lLnNyYyArICcmdGVzdD1mZXRjaC1mcm9tLXdvcmtlcicpOworICAgIH0p
OworfSwgJ0ZldGNoIHJlcXVlc3QgZnJvbSBhIHdvcmtlciBpbiBpZnJhbWUgc2FuZGJveGVkIGJ5
IENTUCBIVFRQIGhlYWRlciAnICsKKyAgICd3aXRoIGFsbG93LXNjcmlwdHMgYW5kIGFsbG93LXNh
bWUtb3JpZ2luIGZsYWcnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTUxNjhhZGFkNmU5YTczZDE2N2QyZjZmYTU2MTJl
NmY1YmM5ODUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisK
K1BBU1MgaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUgCitGQUlMIHJlcXVlc3QgdG8gc3cxIHNjb3Bl
IGdldHMgbmV0d29yayByZWRpcmVjdCB0byBzdzIgc2NvcGUgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBmcmFtZS5jb250ZW50V2luZG93LlNo
YXJlZFdvcmtlcih3b3JrZXJfcmVxdWVzdF91cmwpJykiCitGQUlMIHJlcXVlc3QgdG8gc3cxIHNj
b3BlIGdldHMgbmV0d29yayByZWRpcmVjdCB0byBvdXQtb2Ytc2NvcGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBmcmFtZS5jb250ZW50V2lu
ZG93LlNoYXJlZFdvcmtlcih3b3JrZXJfcmVxdWVzdF91cmwpJykiCitGQUlMIHJlcXVlc3QgdG8g
c3cxIHNjb3BlIGdldHMgc2VydmljZS13b3JrZXIgcmVkaXJlY3QgdG8gc3cyIHNjb3BlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZnJhbWUu
Y29udGVudFdpbmRvdy5TaGFyZWRXb3JrZXIod29ya2VyX3JlcXVlc3RfdXJsKScpIgorRkFJTCBy
ZXF1ZXN0IHRvIHN3MSBzY29wZSBnZXRzIHNlcnZpY2Utd29ya2VyIHJlZGlyZWN0IHRvIG91dC1v
Zi1zY29wZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGlu
ZyAnbmV3IGZyYW1lLmNvbnRlbnRXaW5kb3cuU2hhcmVkV29ya2VyKHdvcmtlcl9yZXF1ZXN0X3Vy
bCknKSIKK1BBU1MgY2xlYW51cCBnbG9iYWwgc3RhdGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYTg4MjczYjQ1MmU1ZjQyZTE4NThmZTFlMTBkMzJmODNjYWNhMDM1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVj
dC5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTgzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5T
ZXJ2aWNlIFdvcmtlcjogY29udHJvbGxpbmcgYSBTaGFyZWRXb3JrZXI8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlw
dD4KKy8vIFRoaXMgdGVzdHMgc2VydmljZSB3b3JrZXIgaW50ZXJjZXB0aW9uIGZvciB3b3JrZXIg
Y2xpZW50cywgd2hlbiB0aGUgcmVxdWVzdAorLy8gZm9yIHRoZSB3b3JrZXIgc2NyaXB0IGdvZXMg
dGhyb3VnaCByZWRpcmVjdHMuIEZvciBleGFtcGxlLCBhIHJlcXVlc3QgY2FuIGdvCisvLyB0aHJv
dWdoIGEgY2hhaW4gb2YgVVJMcyBsaWtlIEEgLT4gQiAtPiBDIC0+IEQgYW5kIGVhY2ggVVJMIG1p
Z2h0IGZhbGwgaW4gdGhlCisvLyBzY29wZSBvZiBhIGRpZmZlcmVudCBzZXJ2aWNlIHdvcmtlciwg
aWYgYW55LgorLy8gVGhlIHR3byBrZXkgcXVlc3Rpb25zIGFyZToKKy8vIDEuIFVwb24gYSByZWRp
cmVjdCBmcm9tIEEgLT4gQiwgc2hvdWxkIGEgc2VydmljZSB3b3JrZXIgZm9yIHNjb3BlIEIKKy8v
ICAgIGludGVyY2VwdCB0aGUgcmVxdWVzdD8KKy8vIDIuIEFmdGVyIHRoZSBmaW5hbCByZXNwb25z
ZSwgd2hpY2ggc2VydmljZSB3b3JrZXIgY29udHJvbHMgdGhlIHJlc3VsdGluZworLy8gICAgY2xp
ZW50PworLy8KKy8vIFRoZSBzdGFuZGFyZCBwcmVzY3JpYmVzIHRoZSBmb2xsb3dpbmc6CisvLyAx
LiBUaGUgc2VydmljZSB3b3JrZXIgZm9yIHNjb3BlIEIgaW50ZXJjZXB0cyB0aGUgcmVkaXJlY3Qu
ICpIb3dldmVyKiwgb25jZSBhCisvLyAgICByZXF1ZXN0IGZhbGxzIGJhY2sgdG8gbmV0d29yayAo
aS5lLiwgYSBzZXJ2aWNlIHdvcmtlciBkaWQgbm90IGNhbGwKKy8vICAgIHJlc3BvbmRXaXRoKCkp
IGFuZCBhIHJlZGlyZWN0IGlzIHRoZW4gcmVjZWl2ZWQgZnJvbSBuZXR3b3JrLCBubyBzZXJ2aWNl
CisvLyAgICB3b3JrZXIgc2hvdWxkIGludGVyY2VwdCB0aGF0IHJlZGlyZWN0IG9yIGFueSBzdWJz
ZXF1ZW50IHJlZGlyZWN0cy4KKy8vIDIuIFRoZSBmaW5hbCBzZXJ2aWNlIHdvcmtlciB0aGF0IGdv
dCBhIGZldGNoIGV2ZW50IChvciB3b3VsZCBoYXZlLCBpbiB0aGUKKy8vICAgIGNhc2Ugb2YgYSBu
b24tZmV0Y2gtZXZlbnQgd29ya2VyKSBiZWNvbWVzIHRoZSBjb250cm9sbGVyIG9mIHRoZSBjbGll
bnQuCisvLworLy8gVGhlIHN0YW5kYXJkIG1heSBjaGFuZ2UgbGF0ZXIsIHNlZToKKy8vIGh0dHBz
Oi8vZ2l0aHViLmNvbS93M2MvU2VydmljZVdvcmtlci9pc3N1ZXMvMTI4OQorLy8KKy8vIFRoZSBi
YXNpYyB0ZXN0IHNldHVwIGlzOgorLy8gMS4gUGFnZSByZWdpc3RlcnMgc2VydmljZSB3b3JrZXJz
IGZvciBzY29wZTEgYW5kIHNjb3BlMi4KKy8vIDIuIFBhZ2UgcmVxdWVzdHMgYSB3b3JrZXIgZnJv
bSBzY29wZTEuCisvLyAzLiBUaGUgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIHNjb3BlMiBvciBv
dXQtb2Ytc2NvcGUuCisvLyA0LiBUaGUgd29ya2VyIHBvc3RzIG1lc3NhZ2UgdG8gdGhlIHBhZ2Ug
ZGVzY3JpYmluZyB3aGVyZSB0aGUgZmluYWwgcmVzcG9uc2UKKy8vICAgd2FzIHNlcnZlZCBmcm9t
IChzZXJ2aWNlIHdvcmtlciBvciBuZXR3b3JrKS4KKy8vIDUuIFRoZSB3b3JrZXIgZG9lcyBhbiBp
bXBvcnRTY3JpcHRzKCkgYW5kIGZldGNoKCksIGFuZCBwb3N0cyBiYWNrIHRoZQorLy8gICByZXNw
b25zZXMsIHdoaWNoIGRlc2NyaWJlIHdoZXJlIHRoZSByZXNwb25zZXMgd2hlcmUgc2VydmVkIGZy
b20uCisvLworLy8gQ3VycmVudGx5IHRoaXMgb25seSB0ZXN0cyBzaGFyZWQgd29ya2VyIGJ1dCBk
ZWRpY2F0ZWQgd29ya2VyIHRlc3RzIHNob3VsZCBiZQorLy8gYWRkZWQgaW4gYSBmdXR1cmUgcGF0
Y2guCisKKy8vIEdsb2JhbHMgZm9yIGVhc2llciBjbGVhbnVwLgorY29uc3Qgc2NvcGUxID0gJ3Jl
c291cmNlcy9zY29wZTEnOworY29uc3Qgc2NvcGUyID0gJ3Jlc291cmNlcy9zY29wZTInOworbGV0
IGZyYW1lOworCitmdW5jdGlvbiBnZXRfbWVzc2FnZV9mcm9tX3dvcmtlcih3b3JrZXIpIHsKKyAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgd29ya2VyLnBvcnQub25tZXNz
YWdlID0gZXZ0ID0+IHsKKyAgICAgICAgcmVzb2x2ZShldnQuZGF0YSk7CisgICAgICB9CisgICAg
fSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIGNsZWFudXAoKSB7CisgIGlmIChmcmFtZSkKKyAgICBm
cmFtZS5yZW1vdmUoKTsKKworICBjb25zdCByZWcxID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIuZ2V0UmVnaXN0cmF0aW9uKHNjb3BlMSk7CisgIGlmIChyZWcxKQorICAgIGF3YWl0IHJl
ZzEudW5yZWdpc3RlcigpOworICBjb25zdCByZWcyID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIuZ2V0UmVnaXN0cmF0aW9uKHNjb3BlMik7CisgIGlmIChyZWcyKQorICAgIGF3YWl0IHJl
ZzIudW5yZWdpc3RlcigpOworfQorCisvLyBCdWlsZHMgdGhlIHdvcmtlciBzY3JpcHQgVVJMLCB3
aGljaCBlbmNvZGVzIGluZm9ybWF0aW9uIGFib3V0IHdoZXJlCisvLyB0byByZWRpcmVjdCB0by4g
VGhlIFVSTCBmYWxscyBpbiBzdzEncyBzY29wZS4KKy8vCisvLyAtIHxyZWRpcmVjdG9yfCBpcyAi
bmV0d29yayIgb3IgInNlcnZpY2V3b3JrZXIiLiBJZiAic2VydmljZXdvcmtlciIsIHN3MSB3aWxs
CisvLyByZXNwb25kV2l0aCgpIGEgcmVkaXJlY3QuIE90aGVyd2lzZSwgaXQgZmFsbHMgYmFjayB0
byBuZXR3b3JrIGFuZCB0aGUgc2VydmVyCisvLyByZXNwb25kcyB3aXRoIGEgcmVkaXJlY3QuCisv
LyAtIHxyZWRpcmVjdF9sb2NhdGlvbnwgaXMgInNjb3BlMiIgb3IgIm91dC1vZi1zY29wZSIuIElm
ICJzY29wZTIiLCB0aGUKKy8vIHJlZGlyZWN0IGVuZHMgdXAgaW4gc3cyJ3Mgc2NvcGUyLiBPdGhl
cndpc2UgaXQncyBvdXQgb2Ygc2NvcGUuCitmdW5jdGlvbiBidWlsZF93b3JrZXJfdXJsKHJlZGly
ZWN0b3IsIHJlZGlyZWN0X2xvY2F0aW9uKSB7CisgIGxldCByZWRpcmVjdF9wYXRoOworICAvLyBT
ZXQgcGF0aCB0byByZWRpcmVjdC5weSwgYSBmaWxlIG9uIHRoZSBzZXJ2ZXIgdGhhdCBzZXJ2ZXMK
KyAgLy8gYSByZWRpcmVjdC4gV2hlbiBzdzEgc2VlcyB0aGlzIFVSTCwgaXQgZmFsbHMgYmFjayB0
byBuZXR3b3JrLgorICBpZiAocmVkaXJlY3RvciA9PSAnbmV0d29yaycpCisgICAgcmVkaXJlY3Rv
cl9wYXRoID0gJ3JlZGlyZWN0LnB5JzsKKyAgLy8gU2V0IHBhdGggdG8gJ3N3LXJlZGlyZWN0Jywg
dG8gdGVsbCB0aGUgc2VydmljZSB3b3JrZXIKKyAgLy8gdG8gcmVzcG9uZCB3aXRoIHJlZGlyZWN0
LgorICBlbHNlIGlmIChyZWRpcmVjdG9yID09ICdzZXJ2aWNld29ya2VyJykKKyAgICByZWRpcmVj
dG9yX3BhdGggPSAnc3ctcmVkaXJlY3QnOworCisgIGxldCByZWRpcmVjdF90byA9IGJhc2VfcGF0
aCgpICsgJ3Jlc291cmNlcy8nOworICAvLyBBcHBlbmQgInNjb3BlMi8iIHRvIHJlZGlyZWN0X3Rv
LCBzbyB0aGUgcmVkaXJlY3QgZmFsbHMgaW4gc2NvcGUyLgorICAvLyBPdGhlcndpc2Ugbm8gY2hh
bmdlIGlzIG5lZWRlZCwgYXMgdGhlIHBhcmVudCAicmVzb3VyY2VzLyIgZGlyZWN0b3J5IGlzCisg
IC8vIHVzZWQsIGFuZCBpcyBvdXQtb2Ytc2NvcGUuCisgIGlmIChyZWRpcmVjdF9sb2NhdGlvbiA9
PSAnc2NvcGUyJykKKyAgICByZWRpcmVjdF90byArPSAnc2NvcGUyLyc7CisgIC8vIEFwcGVuZCB0
aGUgbmFtZSBvZiB0aGUgZmlsZSB3aGljaCBzZXJ2ZXMgdGhlIHdvcmtlciBzY3JpcHQuCisgIHJl
ZGlyZWN0X3RvICs9ICd3b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSc7
CisKKyAgcmV0dXJuIGBzY29wZTEvJHtyZWRpcmVjdG9yX3BhdGh9P1JlZGlyZWN0PSR7cmVkaXJl
Y3RfdG99YAorfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGF3YWl0IGNsZWFudXAo
KTsKKyAgY29uc3Qgc2VydmljZV93b3JrZXIgPSAncmVzb3VyY2VzL3dvcmtlci1pbnRlcmNlcHRp
b24tcmVkaXJlY3Qtc2VydmljZXdvcmtlci5qcyc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbjEgPSBh
d2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzZXJ2aWNlX3dvcmtlciwge3Nj
b3BlOiBzY29wZTF9KTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uMS5p
bnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbjIgPSBhd2FpdCBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzZXJ2aWNlX3dvcmtlciwge3Njb3BlOiBz
Y29wZTJ9KTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uMi5pbnN0YWxs
aW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiBj
bGVhbnVwKCk7CisgIH0sICdjbGVhbnVwIGdsb2JhbCBzdGF0ZScpOworfSwgJ2luaXRpYWxpemUg
Z2xvYmFsIHN0YXRlJyk7CisKK2Z1bmN0aW9uIHdvcmtlcl9yZWRpcmVjdF90ZXN0KHdvcmtlcl9y
ZXF1ZXN0X3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcl9leHBlY3Rl
ZF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9tYWluX3Jlc291
cmNlX21lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9pbXBv
cnRfc2NyaXB0c19tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0
ZWRfZmV0Y2hfbWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0
aW9uKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAvLyBDcmVhdGUgYSBmcmFt
ZSB0byBsb2FkIHRoZSB3b3JrZXIgZnJvbS4gVGhpcyB3YXkgd2UgY2FuIHJlbW92ZSB0aGUgZnJh
bWUKKyAgICAvLyB0byBkZXN0cm95IHRoZSB3b3JrZXIgY2xpZW50IHdoZW4gdGhlIHRlc3QgaXMg
ZG9uZS4KKyAgICBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMvYmxhbmsuaHRt
bCcpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisKKyAg
ICAvLyBTdGFydCB0aGUgd29ya2VyLgorICAgIGNvbnN0IHcgPSBuZXcgZnJhbWUuY29udGVudFdp
bmRvdy5TaGFyZWRXb3JrZXIod29ya2VyX3JlcXVlc3RfdXJsKTsKKyAgICB3LnBvcnQuc3RhcnQo
KTsKKworICAgIC8vIEV4cGVjdCBhIG1lc3NhZ2UgZnJvbSB0aGUgd29ya2VyIGluZGljYXRpbmcg
d2hpY2ggc2VydmljZSB3b3JrZXIKKyAgICAvLyBwcm92aWRlZCB0aGUgcmVzcG9uc2UgZm9yIHRo
ZSB3b3JrZXIgc2NyaXB0IHJlcXVlc3QsIGlmIGFueS4KKyAgICBjb25zdCBkYXRhID0gYXdhaXQg
Z2V0X21lc3NhZ2VfZnJvbV93b3JrZXIodyk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRhLCBleHBl
Y3RlZF9tYWluX3Jlc291cmNlX21lc3NhZ2UpOworCisgICAgLy8gVGhlIHdvcmtlciBkb2VzIGFu
IGltcG9ydFNjcmlwdHMoKS4gRXhwZWN0IGEgbWVzc2FnZSBmcm9tIHRoZSB3b3JrZXIKKyAgICAv
LyBpbmRpY2F0aW5nIHdoaWNoIHNlcnZpY2Ugd29ya2VyIHByb3ZpZGVkIHRoZSByZXNwb25zZSBm
b3IgdGhlCisgICAgLy8gaW1wb3J0U2NyaXB0cygpLCBpZiBhbnkuCisgICAgY29uc3QgaW1wb3J0
X3NjcmlwdHNfbWVzc2FnZSA9IGF3YWl0IGdldF9tZXNzYWdlX2Zyb21fd29ya2VyKHcpOworICAg
IGFzc2VydF9lcXVhbHMoaW1wb3J0X3NjcmlwdHNfbWVzc2FnZSwgZXhwZWN0ZWRfaW1wb3J0X3Nj
cmlwdHNfbWVzc2FnZSk7CisKKyAgICAvLyBUaGUgd29ya2VyIGRvZXMgYSBmZXRjaCgpLiBFeHBl
Y3QgYSBtZXNzYWdlIGZyb20gdGhlIHdvcmtlciBpbmRpY2F0aW5nCisgICAgLy8gd2hpY2ggc2Vy
dmljZSB3b3JrZXIgcHJvdmlkZWQgdGhlIHJlc3BvbnNlIGZvciB0aGUgZmV0Y2goKSwgaWYgYW55
LgorICAgIGNvbnN0IGZldGNoX21lc3NhZ2UgPSBhd2FpdCBnZXRfbWVzc2FnZV9mcm9tX3dvcmtl
cih3KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZldGNoX21lc3NhZ2UsIGV4cGVjdGVkX2ZldGNoX21l
c3NhZ2UpOworCisgICAgLy8gRXhwZWN0IGEgbWVzc2FnZSBmcm9tIHRoZSB3b3JrZXIgaW5kaWNh
dGluZyB8c2VsZi5sb2NhdGlvbnwuCisgICAgY29uc3Qgd29ya2VyX2FjdHVhbF91cmwgPSBhd2Fp
dCBnZXRfbWVzc2FnZV9mcm9tX3dvcmtlcih3KTsKKyAgICBhc3NlcnRfZXF1YWxzKAorICAgICAg
d29ya2VyX2FjdHVhbF91cmwsCisgICAgICAobmV3IFVSTCh3b3JrZXJfZXhwZWN0ZWRfdXJsLCBs
b2NhdGlvbi5ocmVmKSkudG9TdHJpbmcoKSwKKyAgICAgICdsb2NhdGlvbi5ocmVmJyk7CisgIH0s
IGRlc2NyaXB0aW9uKTsKK30KKword29ya2VyX3JlZGlyZWN0X3Rlc3QoCisgICAgYnVpbGRfd29y
a2VyX3VybCgnbmV0d29yaycsICdzY29wZTInKSwKKyAgICAncmVzb3VyY2VzL3Njb3BlMi93b3Jr
ZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weScsCisgICAgJ3RoZSBzaGFyZWQg
d29ya2VyIHNjcmlwdCB3YXMgc2VydmVkIGZyb20gbmV0d29yaycsCisgICAgJ3N3MSBzYXcgaW1w
b3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXInLAorICAgICdmZXRjaCgpOiBzdzEgc2F3IHRoZSBm
ZXRjaCBmcm9tIHRoZSB3b3JrZXInLAorICAgICdyZXF1ZXN0IHRvIHN3MSBzY29wZSBnZXRzIG5l
dHdvcmsgcmVkaXJlY3QgdG8gc3cyIHNjb3BlJyk7CisKK3dvcmtlcl9yZWRpcmVjdF90ZXN0KAor
ICAgIGJ1aWxkX3dvcmtlcl91cmwoJ25ldHdvcmsnLCAnb3V0LXNjb3BlJyksCisgICAgJ3Jlc291
cmNlcy93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weScsCisgICAgJ3Ro
ZSBzaGFyZWQgd29ya2VyIHNjcmlwdCB3YXMgc2VydmVkIGZyb20gbmV0d29yaycsCisgICAgJ3N3
MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXInLAorICAgICdmZXRjaCgpOiBzdzEg
c2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXInLAorICAgICdyZXF1ZXN0IHRvIHN3MSBzY29w
ZSBnZXRzIG5ldHdvcmsgcmVkaXJlY3QgdG8gb3V0LW9mLXNjb3BlJyk7CisKK3dvcmtlcl9yZWRp
cmVjdF90ZXN0KAorICAgIGJ1aWxkX3dvcmtlcl91cmwoJ3NlcnZpY2V3b3JrZXInLCAnc2NvcGUy
JyksCisgICAgJ3Jlc291cmNlcy93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtl
ci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29y
a2VyJTIwc2NyaXB0JywKKyAgICAnc3cyIHNhdyB0aGUgcmVxdWVzdCBmb3IgdGhlIHdvcmtlciBz
Y3JpcHQnLAorICAgICdzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyJywKKyAg
ICAnZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyJywKKyAgICAncmVx
dWVzdCB0byBzdzEgc2NvcGUgZ2V0cyBzZXJ2aWNlLXdvcmtlciByZWRpcmVjdCB0byBzdzIgc2Nv
cGUnKTsKKword29ya2VyX3JlZGlyZWN0X3Rlc3QoCisgICAgYnVpbGRfd29ya2VyX3VybCgnc2Vy
dmljZXdvcmtlcicsICdvdXQtc2NvcGUnKSwKKyAgICAncmVzb3VyY2VzL3dvcmtlcl9pbnRlcmNl
cHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5JywKKyAgICAndGhlIHNoYXJlZCB3b3JrZXIgc2Ny
aXB0IHdhcyBzZXJ2ZWQgZnJvbSBuZXR3b3JrJywKKyAgICAnc3cxIHNhdyBpbXBvcnRTY3JpcHRz
IGZyb20gdGhlIHdvcmtlcicsCisgICAgJ2ZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20g
dGhlIHdvcmtlcicsCisgICAgJ3JlcXVlc3QgdG8gc3cxIHNjb3BlIGdldHMgc2VydmljZS13b3Jr
ZXIgcmVkaXJlY3QgdG8gb3V0LW9mLXNjb3BlJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggZDFkNGY4OTQ3OTNmY2ZlYmNjMjYwMDg0OGEzYjJhYzM0ZDI3NTIwMC4u
NDVlMjI5ZTcyODFjZTBlMTBhZDM3NmU4ZDVjZTJlNDgyMDc1OTIwOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTIsNyArMiw3IEBACiAKIEZBSUwgVmVyaWZ5IHdvcmtlciBzY3JpcHQgZnJvbSB1bmNv
bnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgU2VydmljZSBXb3JrZXIgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAogRkFJTCBW
ZXJpZnkgd29ya2VyIHNjcmlwdCBpbnRlcmNlcHRlZCBieSBzYW1lLW9yaWdpbiByZXNwb25zZSBz
dWNjZWVkcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5k
ZWZpbmVkCi1GQUlMIFZlcmlmeSB3b3JrZXIgc2NyaXB0IGludGVyY2VwdGVkIGJ5IGNvcnMgcmVz
cG9uc2Ugc3VjY2VlZHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgd29ya2VyIHNjcmlwdCBpbnRlcmNlcHRlZCBieSBj
b3JzIHJlc3BvbnNlIGZhaWxzIAogUEFTUyBWZXJpZnkgd29ya2VyIHNjcmlwdCBpbnRlcmNlcHRl
ZCBieSBuby1jb3JzIGNyb3NzLW9yaWdpbiByZXNwb25zZSBmYWlscyAKIFBBU1MgVmVyaWZ5IHdv
cmtlciBsb2FkcyBmcm9tIGNvbnRyb2xsZWQgZG9jdW1lbnQgYXJlIGludGVyY2VwdGVkIGJ5IFNl
cnZpY2UgV29ya2VyIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0
aW9uLmh0dHBzLmh0bWwKaW5kZXggM2VjNjZhNTRiNmUxZTUzNmQ3ODFlYWYwMGM5ZjhhNDdmMDAy
OWM0MS4uYmY5NzZhMjljNDhhMzgxMGVmNGZmMjBiNWM3ZThiNzBkZWMyYjIxOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMuaHRtbApAQCAtNjks
MjIgKzY5LDE0IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgcmV0dXJu
IHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9
KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgICB2YXIgdyA9IG5ldyBX
b3JrZXIod29ya2VyX3VybCk7Ci0gICAgICAgICAgICAgIHcub25tZXNzYWdlID0gZnVuY3Rpb24o
ZSkgewotICAgICAgICAgICAgICAgIHJlc29sdmUoZS5kYXRhKTsKLSAgICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICAgIHcub25lcnJvciA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAg
ICByZWplY3QoZS5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgdmFyIHcgPSBuZXcgV29ya2VyKHdvcmtlcl91cmwpOworICAgICAgICAgIHZhciB3
YXRjaGVyID0gbmV3IEV2ZW50V2F0Y2hlcih0LCB3LCBbJ21lc3NhZ2UnLCAnZXJyb3InXSk7Cisg
ICAgICAgICAgcmV0dXJuIHdhdGNoZXIud2FpdF9mb3IoJ2Vycm9yJyk7CiAgICAgICAgIH0pCi0g
ICAgICAudGhlbihmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhkYXRh
LCAnZHVtbXktd29ya2VyLXNjcmlwdCBsb2FkZWQnKTsKKyAgICAgIC50aGVuKGZ1bmN0aW9uKCkg
ewogICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUp
OwotICAgICAgICB9KTsKLSAgfSwgJ1ZlcmlmeSB3b3JrZXIgc2NyaXB0IGludGVyY2VwdGVkIGJ5
IGNvcnMgcmVzcG9uc2Ugc3VjY2VlZHMnKTsKKyAgICAgICB9KTsKKyAgfSwgJ1ZlcmlmeSB3b3Jr
ZXIgc2NyaXB0IGludGVyY2VwdGVkIGJ5IGNvcnMgcmVzcG9uc2UgZmFpbHMnKTsKIAogcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgd29ya2VyX3VybCA9ICdyZXNvdXJjZXMvZHVt
bXktbm8tY29ycy13b3JrZXIuanMnOwpAQCAtOTYsMjQgKzg4LDExIEBAIHByb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFs
bGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkg
ewotICAgICAgICAgICAgICB2YXIgdyA9IG5ldyBXb3JrZXIod29ya2VyX3VybCk7Ci0gICAgICAg
ICAgICAgIHcub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgICAgIHJlc29s
dmUoZS5kYXRhKTsKLSAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgIHcub25lcnJvciA9
IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICByZWplY3QoZSk7Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOworICAgICAg
ICAgIHZhciB3ID0gbmV3IFdvcmtlcih3b3JrZXJfdXJsKTsKKyAgICAgICAgICB2YXIgd2F0Y2hl
ciA9IG5ldyBFdmVudFdhdGNoZXIodCwgdywgWydtZXNzYWdlJywgJ2Vycm9yJ10pOworICAgICAg
ICAgIHJldHVybiB3YXRjaGVyLndhaXRfZm9yKCdlcnJvcicpOwogICAgICAgICB9KQotICAgICAg
LnRoZW4oZnVuY3Rpb24oZGF0YSkgewotICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoJ2ludGVy
Y2VwdGVkIG5vLWNvcnMgd29ya2VyIGxvYWQgc2hvdWxkIGZhaWwnKTsKLSAgICAgICAgICBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAg
ICAgIC5jYXRjaChmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUodHJ1ZSwgJ2lu
dGVyY2VwdGVkIG5vLWNvcnMgd29ya2VyIGxvYWQgc2hvdWxkIGZhaWwnKTsKKyAgICAgIC50aGVu
KGZ1bmN0aW9uKCkgewogICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2Rv
bmUodCwgc2NvcGUpOwogICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHdvcmtlciBzY3JpcHQgaW50
ZXJjZXB0ZWQgYnkgbm8tY29ycyBjcm9zcy1vcmlnaW4gcmVzcG9uc2UgZmFpbHMnKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3Rvb2xzL2JsaW5rLWltcG9ydC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Rvb2xzL2JsaW5rLWltcG9ydC5w
eQppbmRleCAzNTVkZjA3OTYwYzQyNjYzZDk5NjQ4ZjE5ZDllMzFjMzg0ZDEyYzk0Li41NTJmZGMw
NTRjYzc2NmYxM2ZmZTY2MGIxZjEwNWIyYzliOGMxMDZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy90b29scy9i
bGluay1pbXBvcnQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvYmxpbmstaW1wb3J0LnB5CkBAIC0xLDMgKzEs
NSBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorCiBpbXBvcnQgb3MK
IGltcG9ydCByZQogaW1wb3J0IHNodXRpbApAQCAtMTg0LDcgKzE4Niw3IEBAIGRlZiBtYWluKCk6
CiAKICAgICBmb3IgaywgdiBpbiBwYXRoX2NoYW5nZXMuaXRlcml0ZW1zKCk6CiAgICAgICAgIGlm
IG9zLnBhdGguYmFzZW5hbWUoaykgaW4gZmlsZW5hbWVfY2hhbmdlczoKLSAgICAgICAgICAgIHBy
aW50ICJHb3QgZHVwbGljYXRlIG5hbWU6IiArIG9zLnBhdGguYmFzZW5hbWUoaykKKyAgICAgICAg
ICAgIHByaW50KCJHb3QgZHVwbGljYXRlIG5hbWU6IiArIG9zLnBhdGguYmFzZW5hbWUoaykpCiAg
ICAgICAgIGZpbGVuYW1lX2NoYW5nZXNbb3MucGF0aC5iYXNlbmFtZShrKV0gPSBvcy5wYXRoLmJh
c2VuYW1lKHYpCiAKICAgICBmb3IgcGF0aCBpbiBzb3VyY2VfcGF0aHMod29ya19wYXRoKToKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3Rvb2xzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvdzNjLWltcG9ydC5s
b2cKaW5kZXggOGNmMGFiNjcxNmQ1Y2EzZTEyZjYxNTIxYzIxODRiMTBkYTU2NzBiMC4uZTM4M2Jh
ODEwZGViYzliNjUzODgxODc1NjY1MDQwZWRmNmIxMTJhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMv
dzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy93M2MtaW1wb3J0LmxvZwppbmRleCA3NTc1MWZiM2Q1NWVh
MTQ1ODU2NDM5ZDNlOTNmYmRjZDFkMjg3MzI0Li40YzA2YmIzMWQwNGU5MDQxYzY2ZmU3OTc3YjNh
MTFkM2I3YTc5OTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAogCkBAIC0xNCw3ICsxNCw3IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L09XTkVSUworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3BlY2dlbi5qc29uCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi0zLjEtc2Vy
dmljZS13b3JrZXItb2JqLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTMuMS4xLXNlcnZpY2Utd29ya2VyLXNjb3Bl
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA0NTYyOTk3OGIzODNkNDE0MDJlMDU4MGFkNDIyOGU2MmYyNmFkZTRm
Li43ZTQ4YmUwY2QzMTRlMTY3ZTEwYWJhYjQ1ZDc4OTVkMGZjMTc2NWYxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25zCkBAIC05
Miw3ICs5Miw2IEBAIHdlYmtpdC5vcmcvYi8xODMyNTggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4CiB3ZWJraXQub3JnL2IvMTgzMjU4
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3dvcmQtYnJlYWsv
d29yZC1icmVhay1ub3JtYWwta28tMDAwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS9vdXRsaW5lLTAyMC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9z
ZWxlY3RvcnMvc2VsZWN0b3JzLWVtcHR5LTAwMS54bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1jYWNoZS5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIAogIyBCYXNlbGluZSBBbGlnbm1lbnQgdGVzdHMgYWZmZWN0ZWQgYnkgMXB4IGRpZmYgZmFp
bHVyZXMgb25seSBvbiBNYWMgYW5kIGlPUyBwbGF0Zm9ybXMKIHdlYmtpdC5vcmcvYi8xNzAyOTMg
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1hbGlnbi1iYXNlbGluZS12ZXJ0aWNhbC5odG1sIFsg
RmFpbHVyZSBdCkBAIC0xMDksNCArMTA4LDQgQEAgd2Via2l0Lm9yZy9iLzE3MDI5MyBmYXN0L2Nz
cy1ncmlkLWxheW91dC9ncmlkLXNlbGYtYmFzZWxpbmUtMDcuaHRtbCBbIEltYWdlT25seUYKIHdl
YmtpdC5vcmcvYi8xODk2ODYgd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlbmRlcmJ1ZmZlcnMv
bXVsdGlzYW1wbGVkLXJlbmRlcmJ1ZmZlci1pbml0aWFsaXphdGlvbi5odG1sIFsgU2tpcCBdCiB3
ZWJraXQub3JnL2IvMTg5Njg2IHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3JlYWRpbmcvcmVhZC1w
aXhlbHMtdGVzdC5odG1sIFsgU2xvdyBdCiAjIENyYXNoZXMKLXdlYmtpdC5vcmcvYi8xODk2ODYg
d2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL2J1ZmZlcnMvb25lLWxhcmdlLXVuaWZvcm0tYnVmZmVy
Lmh0bWwgWyBTa2lwIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQub3JnL2Iv
MTg5Njg2IHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9idWZmZXJzL29uZS1sYXJnZS11bmlmb3Jt
LWJ1ZmZlci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRp
b25zLmpzb24gYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KaW5kZXggZTAzODIzMTE1
NTU1MGQ2OWRiNTBkNGI5YWYyYTMxNDk0NDNjZmEyZC4uY2I3MjY5MDJkOTRkMmZhY2Y3ODdkZWZi
NzdlMjVlYjc3YmEzODg5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5q
c29uCisrKyBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgpAQCAtMTYyOCw5ICsxNjI4
LDE1IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLmh0bWwiOiBb
CiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtb3Jk
ZXIuaHR0cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtZXZlbnQtcmVkaXJlY3QuaHR0cHMuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
KyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisg
ICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZnJhbWUtcmVzb3VyY2UuaHR0cHMuaHRtbCI6IFsKICAg
ICAgICAgInNsb3ciCiAgICAgXSwKQEAgLTE2NTIsOSArMTY1OCwxOCBAQAogICAgICJpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9s
b2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLmh0dHBzLmh0bWwiOiBbCiAgICAgICAgICJzbG93
IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbCI6IFsK
KyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0ZXItY2xvc2VkLXdpbmRv
dy5odHRwcy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAorICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdp
c3RyYXRpb24tdXBkYXRldmlhY2FjaGUuaHR0cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisg
ICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tZmV0Y2gtZXZlbnQuaHR0
cHMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDRFRNRlNlbmRlci1vbnRvbmVjaGFuZ2UtbG9uZy5o
dG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355783</attachid>
            <date>2018-11-27 14:31:43 -0800</date>
            <delta_ts>2018-11-27 17:15:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192035-20181127143142.patch</filename>
            <type>text/plain</type>
            <size>925657</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NTY1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTk3NDkxYzc1ZjIzZjZiZTEzODQx
NmYzMWQ3MzBkMjk2OTZjOWQ5ZS4uZWRhYjBiMzFlYzFmOWM5ODQ5ZTY1OWFlNGM5ZDE1MGYzYmUx
ZWIzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTExLTI3ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIHNlcnZpY2Utd29ya2VycyB3ZWIgcGxh
dGZvcm0gdGVzdHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMDM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZh
YmxldC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogdGVzdHMtb3B0
aW9ucy5qc29uOgorCiAyMDE4LTExLTE2ICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgRGlzYWxsb3cgbG9hZGluZyB3ZWJhcmNoaXZlcyBhcyBpZnJhbWVzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MjA1OTU5NTk3NDUxM2Q0ZDMxMDc2OGEx
NTY3MDdlNjM4ODUyZjk2Li43ZDhiYWY4YTJhZmNjZDQ0YjIwZjg2ZWZjMDkxMGRlOGFjYzdlMjBk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0x
MS0yNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlc3luYyBz
ZXJ2aWNlLXdvcmtlcnMgd2ViIHBsYXRmb3JtIHRlc3RzIGZyb20gdXBzdHJlYW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjAzNQorCisgICAgICAg
IFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgUmVzeW5jIHNlcnZpY2Utd29y
a2VycyB3ZWIgcGxhdGZvcm0gdGVzdHMgZnJvbSB1cHN0cmVhbSA3MzUwN2E3OWZjLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzLzogVXBkYXRlZC4KKwogMjAxOC0xMS0yNyAgSmF2aWVy
IEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRd
IGFsaWduLXNlbGYgY2VudGVyIGFuZCBwb3NpdGlvbiBzdGlja3kgZG9uJ3Qgd29yayB0b2dldGhl
cgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTNiNzg4MzIyNGM0Y2IwZTk1NzE4OWM0MTMzNmNiMmMx
OGRiNDQxOS4uZjQ4ZTFmOWIxNWY4NjM4NmEyODcxY2FkMGNmZDZiNWYyZjMzOGVkMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xNzgsNiArMTc4LDMxIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VjdXJlLWNvbnRleHRzL3NoYXJlZC13b3JrZXItc2VjdXJlLWZpcnN0Lmh0dHBz
CiAjIFBlciBzcGVjaWZpY2F0aW9uLCBpZiB0aGUgc2NyaXB0cyBhcmUgaWRlbnRpY2FsLCB3ZSBk
byBub3QgaW5zdGFsbCB0aGUgbmV3IHNjcmlwdCBhbmQgcmV0dXJuIHRoZSBleGlzdGluZyByZWdp
c3RyYXRpb24uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy5odG1sIFsgU2tp
cCBdCiAKKyMgTmV3bHkgaW1wb3J0ZWQgc2VydmljZSB3b3JrZXIgdGVzdHMgdGhhdCBhcmUgdGlt
aW5nIG91dC4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1hYm9ydC5odHRwcy5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hYm9ydC5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dv
cmtlci9jYWNoZS1hYm9ydC5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZWRpY2F0ZWQtd29y
a2VyLXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJjZXB0ZWQuaHR0cHMuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWltYWdlLWNhY2hlLmh0dHBzLmh0bWwgWyBT
a2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby1jYWNoZS5odHRwcy5odG1s
IFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1y
ZXF1ZXN0Lmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12
aWRlby5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1taXhlZC1jb250ZW50LXRvLWlu
c2NvcGUuaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtbWl4ZWQtY29udGVudC10by1v
dXRzY29wZS5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBhcnQtaW1hZ2UuaHR0cHMu
aHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2UtcXVldWUu
aHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlv
bi5odHRwcy5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1y
ZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmln
YXRpb24tZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLW5vdC1h
bGxvd2VkLmh0dHBzLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbi1zYW5kYm94ZWQtaWZy
YW1lLWJ5LWNzcC1mZXRjaC1ldmVudC5odHRwcy5odG1sIFsgU2tpcCBdCisKKyMgTmV3bHkgaW1w
b3J0ZWQgc2VydmljZSB3b3JrZXIgdGVzdHMgdGhhdCBhcmUgZmxha3kuCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0
aW9uLXJlZGlyZWN0LXRvLWh0dHAuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXIt
Y2xpZW50LWlkLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCiAjIFRoaXMgdGVzdCBpcyB0
aW1pbmcgb3V0IGJlY2F1c2UgaXQgcmVsaWVzIG9uIGh0dHA6Ly93d3cxLmxvY2FsaG9zdDo4ODAw
IGhvc3QgZm9yIGNyb3NzIG9yaWdpbiBjaGVja3MuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2NvcnMvcmVtb3RlLW9yaWdpbi5odG0gWyBTa2lwIF0KIApAQCAtMjM3LDggKzI2Miw2
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlZGlyZWN0L3Jl
ZGlyZWN0LW1vZGUtd29ya2VyLmh0bWwgWyBECiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9yZWRpcmVjdC9yZWRpcmVjdC10by1kYXRhdXJsLmh0bWwgWyBEdW1wSlND
b25zb2xlTG9nSW5TdGRFcnIgXQogCiB3ZWJraXQub3JnL2IvMTgxOTAxIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNv
cnMteGhyLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQotd2Via2l0Lm9y
Zy9iLzE4MTg5NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMuaHRtbCBbIER1bXBK
U0NvbnNvbGVMb2dJblN0ZEVyciBdCi13ZWJraXQub3JnL2IvMTgxOTAwIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNh
bnZhcy10YWludGluZy1jYWNoZS5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJy
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xl
TG9nSW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0ZXItY2xvc2VkLXdpbmRvdy5odHRwcy5odG1sIFsg
RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zZWN1cml0eS1l
cnJvci5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24KaW5kZXggZWM0MGI1NWE5MzdhOTAxYWZmNDAzNWJkMzJiOTE4MjVjMGRkNWUwOC4u
Y2QzOWE3MmU2M2IxODhiNmQzZTExYTRiZDk5MTVjYjJmOWMyMzdhNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24K
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24KQEAgLTMwMiw5ICszMDIsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2Vs
ZWN0b3JzIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NlbGVjdG9ycy1hcGki
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmVyLXRpbWluZyI6ICJpbXBv
cnQiLCAKLSAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlIjogImltcG9ydCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyIjogImltcG9ydCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3Rvb2xzIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2hh
ZG93LWRvbSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NoYWRvdy1kb20v
dW50cmlhZ2VkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NwZWVjaC1hcGki
OiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3NlcnZpY2Utd29ya2Vycy5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2VydmljZS13b3JrZXJz
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mYjJlMDMzYTdhYTA2YjIxOTFlYjkzMzU0Y2Y3ZjRlNTZhNTRjY2Yz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3NlcnZpY2Utd29ya2Vycy5pZGwKQEAgLTAsMCArMSwyMTIgQEAK
Ky8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9t
YXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBz
Oi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFNlcnZpY2Ug
V29ya2VycyAxIChodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci92MS8pCisKK1tT
ZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFjZSBTZXJ2aWNl
V29ya2VyIDogRXZlbnRUYXJnZXQgeworICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNj
cmlwdFVSTDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJTdGF0ZSBzdGF0ZTsK
KyAgdm9pZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0
PiB0cmFuc2ZlciA9IFtdKTsKKworICAvLyBldmVudAorICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uc3RhdGVjaGFuZ2U7Cit9OworU2VydmljZVdvcmtlciBpbmNsdWRlcyBBYnN0cmFjdFdvcmtl
cjsKKworZW51bSBTZXJ2aWNlV29ya2VyU3RhdGUgeworICAiaW5zdGFsbGluZyIsCisgICJpbnN0
YWxsZWQiLAorICAiYWN0aXZhdGluZyIsCisgICJhY3RpdmF0ZWQiLAorICAicmVkdW5kYW50Igor
fTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQoraW50ZXJmYWNl
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gOiBFdmVudFRhcmdldCB7CisgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTZXJ2aWNlV29ya2VyPyBpbnN0YWxsaW5nOworICByZWFkb25seSBhdHRyaWJ1dGUg
U2VydmljZVdvcmtlcj8gd2FpdGluZzsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3Jr
ZXI/IGFjdGl2ZTsKKworICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNjb3BlOworICBy
ZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNh
Y2hlOworCisgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gdXBkYXRlKCk7CisgIFtOZXdPYmpl
Y3RdIFByb21pc2U8Ym9vbGVhbj4gdW5yZWdpc3RlcigpOworCisgIC8vIGV2ZW50CisgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb251cGRhdGVmb3VuZDsKK307CisKK2VudW0gU2VydmljZVdvcmtl
clVwZGF0ZVZpYUNhY2hlIHsKKyAgImltcG9ydHMiLAorICAiYWxsIiwKKyAgIm5vbmUiCit9Owor
CitwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICBbU2VjdXJlQ29udGV4dCwgU2FtZU9i
amVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJDb250YWluZXIgc2VydmljZVdv
cmtlcjsKK307CisKK3BhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmlnYXRvciB7CisgIFtTZWN1
cmVDb250ZXh0LCBTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlckNv
bnRhaW5lciBzZXJ2aWNlV29ya2VyOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpXQoraW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJDb250YWluZXIgOiBFdmVudFRh
cmdldCB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyPyBjb250cm9sbGVyOwor
ICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBy
ZWFkeTsKKworICBbTmV3T2JqZWN0XSBQcm9taXNlPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+
IHJlZ2lzdGVyKFVTVlN0cmluZyBzY3JpcHRVUkwsIG9wdGlvbmFsIFJlZ2lzdHJhdGlvbk9wdGlv
bnMgb3B0aW9ucyk7CisKKyAgW05ld09iamVjdF0gUHJvbWlzZTxhbnk+IGdldFJlZ2lzdHJhdGlv
bihvcHRpb25hbCBVU1ZTdHJpbmcgY2xpZW50VVJMID0gIiIpOworICBbTmV3T2JqZWN0XSBQcm9t
aXNlPEZyb3plbkFycmF5PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+PiBnZXRSZWdpc3RyYXRp
b25zKCk7CisKKyAgdm9pZCBzdGFydE1lc3NhZ2VzKCk7CisKKyAgLy8gZXZlbnRzCisgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25jb250cm9sbGVyY2hhbmdlOworICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ubWVzc2FnZTsgLy8gZXZlbnQuc291cmNlIG9mIG1lc3NhZ2UgZXZlbnRzIGlzIFNl
cnZpY2VXb3JrZXIgb2JqZWN0CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlZXJy
b3I7Cit9OworCitkaWN0aW9uYXJ5IFJlZ2lzdHJhdGlvbk9wdGlvbnMgeworICBVU1ZTdHJpbmcg
c2NvcGU7CisgIFdvcmtlclR5cGUgdHlwZSA9ICJjbGFzc2ljIjsKKyAgU2VydmljZVdvcmtlclVw
ZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlID0gImltcG9ydHMiOworfTsKKworW0dsb2JhbD0o
V29ya2VyLFNlcnZpY2VXb3JrZXIpLCBFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCitpbnRlcmZhY2Ug
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlIDogV29ya2VyR2xvYmFsU2NvcGUgeworICBbU2FtZU9i
amVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENsaWVudHMgY2xpZW50czsKKyAgW1NhbWVPYmplY3Rd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIHJlZ2lzdHJhdGlv
bjsKKworICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHNraXBXYWl0aW5nKCk7CisKKyAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbmluc3RhbGw7CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25hY3RpdmF0ZTsKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZldGNoOworCisgIC8vIGV2
ZW50CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlOyAvLyBldmVudC5zb3VyY2Ug
b2YgdGhlIG1lc3NhZ2UgZXZlbnRzIGlzIENsaWVudCBvYmplY3QKKyAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbm1lc3NhZ2VlcnJvcjsKK307CisKK1tFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCitp
bnRlcmZhY2UgQ2xpZW50IHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB1cmw7Cisg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcmFtZVR5cGUgZnJhbWVUeXBlOworICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGlkOworICByZWFkb25seSBhdHRyaWJ1dGUgQ2xpZW50VHlwZSB0eXBl
OworICB2b2lkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBvcHRpb25hbCBzZXF1ZW5jZTxvYmpl
Y3Q+IHRyYW5zZmVyID0gW10pOworfTsKKworW0V4cG9zZWQ9U2VydmljZVdvcmtlcl0KK2ludGVy
ZmFjZSBXaW5kb3dDbGllbnQgOiBDbGllbnQgeworICByZWFkb25seSBhdHRyaWJ1dGUgVmlzaWJp
bGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
Zm9jdXNlZDsKKyAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxV
U1ZTdHJpbmc+IGFuY2VzdG9yT3JpZ2luczsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxXaW5kb3dD
bGllbnQ+IGZvY3VzKCk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8V2luZG93Q2xpZW50Pz4gbmF2
aWdhdGUoVVNWU3RyaW5nIHVybCk7Cit9OworCitlbnVtIEZyYW1lVHlwZSB7CisgICJhdXhpbGlh
cnkiLAorICAidG9wLWxldmVsIiwKKyAgIm5lc3RlZCIsCisgICJub25lIgorfTsKKworW0V4cG9z
ZWQ9U2VydmljZVdvcmtlcl0KK2ludGVyZmFjZSBDbGllbnRzIHsKKyAgLy8gVGhlIG9iamVjdHMg
cmV0dXJuZWQgd2lsbCBiZSBuZXcgaW5zdGFuY2VzIGV2ZXJ5IHRpbWUKKyAgW05ld09iamVjdF0g
UHJvbWlzZTxhbnk+IGdldChET01TdHJpbmcgaWQpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPEZy
b3plbkFycmF5PENsaWVudD4+IG1hdGNoQWxsKG9wdGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBv
cHRpb25zKTsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxXaW5kb3dDbGllbnQ/PiBvcGVuV2luZG93
KFVTVlN0cmluZyB1cmwpOworICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGNsYWltKCk7Cit9
OworCitkaWN0aW9uYXJ5IENsaWVudFF1ZXJ5T3B0aW9ucyB7CisgIGJvb2xlYW4gaW5jbHVkZVVu
Y29udHJvbGxlZCA9IGZhbHNlOworICBDbGllbnRUeXBlIHR5cGUgPSAid2luZG93IjsKK307CisK
K2VudW0gQ2xpZW50VHlwZSB7CisgICJ3aW5kb3ciLAorICAid29ya2VyIiwKKyAgInNoYXJlZHdv
cmtlciIsCisgICJhbGwiCit9OworCitbQ29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlv
bmFsIEV4dGVuZGFibGVFdmVudEluaXQgZXZlbnRJbml0RGljdCksIEV4cG9zZWQ9U2VydmljZVdv
cmtlcl0KK2ludGVyZmFjZSBFeHRlbmRhYmxlRXZlbnQgOiBFdmVudCB7CisgIHZvaWQgd2FpdFVu
dGlsKFByb21pc2U8YW55PiBmKTsKK307CisKK2RpY3Rpb25hcnkgRXh0ZW5kYWJsZUV2ZW50SW5p
dCA6IEV2ZW50SW5pdCB7CisgIC8vIERlZmluZWQgZm9yIHRoZSBmb3J3YXJkIGNvbXBhdGliaWxp
dHkgYWNyb3NzIHRoZSBkZXJpdmVkIGV2ZW50cworfTsKKworW0NvbnN0cnVjdG9yKERPTVN0cmlu
ZyB0eXBlLCBGZXRjaEV2ZW50SW5pdCBldmVudEluaXREaWN0KSwgRXhwb3NlZD1TZXJ2aWNlV29y
a2VyXQoraW50ZXJmYWNlIEZldGNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICBbU2FtZU9i
amVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFJlcXVlc3QgcmVxdWVzdDsKKyAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBjbGllbnRJZDsKKworICB2b2lkIHJlc3BvbmRXaXRoKFByb21pc2U8
UmVzcG9uc2U+IHIpOworfTsKKworZGljdGlvbmFyeSBGZXRjaEV2ZW50SW5pdCA6IEV4dGVuZGFi
bGVFdmVudEluaXQgeworICByZXF1aXJlZCBSZXF1ZXN0IHJlcXVlc3Q7CisgIERPTVN0cmluZyBj
bGllbnRJZCA9ICIiOworfTsKKworW0NvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25h
bCBFeHRlbmRhYmxlTWVzc2FnZUV2ZW50SW5pdCBldmVudEluaXREaWN0KSwgRXhwb3NlZD1TZXJ2
aWNlV29ya2VyXQoraW50ZXJmYWNlIEV4dGVuZGFibGVNZXNzYWdlRXZlbnQgOiBFeHRlbmRhYmxl
RXZlbnQgeworICByZWFkb25seSBhdHRyaWJ1dGUgYW55IGRhdGE7CisgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBVU1ZTdHJpbmcgb3JpZ2luOworICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxh
c3RFdmVudElkOworICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIChDbGllbnQgb3Ig
U2VydmljZVdvcmtlciBvciBNZXNzYWdlUG9ydCk/IHNvdXJjZTsKKyAgcmVhZG9ubHkgYXR0cmli
dXRlIEZyb3plbkFycmF5PE1lc3NhZ2VQb3J0PiBwb3J0czsKK307CisKK2RpY3Rpb25hcnkgRXh0
ZW5kYWJsZU1lc3NhZ2VFdmVudEluaXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKKyAgYW55IGRh
dGEgPSBudWxsOworICBVU1ZTdHJpbmcgb3JpZ2luID0gIiI7CisgIERPTVN0cmluZyBsYXN0RXZl
bnRJZCA9ICIiOworICAoQ2xpZW50IG9yIFNlcnZpY2VXb3JrZXIgb3IgTWVzc2FnZVBvcnQpPyBz
b3VyY2UgPSBudWxsOworICBzZXF1ZW5jZTxNZXNzYWdlUG9ydD4gcG9ydHMgPSBbXTsKK307CisK
K3BhcnRpYWwgaW50ZXJmYWNlIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUgeworICBbU2VjdXJl
Q29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENhY2hlU3RvcmFnZSBjYWNo
ZXM7Cit9OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCitpbnRl
cmZhY2UgQ2FjaGUgeworICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdElu
Zm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgIFtOZXdP
YmplY3RdIFByb21pc2U8RnJvemVuQXJyYXk8UmVzcG9uc2U+PiBtYXRjaEFsbChvcHRpb25hbCBS
ZXF1ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsK
KyAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGQoUmVxdWVzdEluZm8gcmVxdWVzdCk7Cisg
IFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkQWxsKHNlcXVlbmNlPFJlcXVlc3RJbmZvPiBy
ZXF1ZXN0cyk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gcHV0KFJlcXVlc3RJbmZvIHJl
cXVlc3QsIFJlc3BvbnNlIHJlc3BvbnNlKTsKKyAgW05ld09iamVjdF0gUHJvbWlzZTxib29sZWFu
PiBkZWxldGUoUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMg
b3B0aW9ucyk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8RnJvemVuQXJyYXk8UmVxdWVzdD4+IGtl
eXMob3B0aW9uYWwgUmVxdWVzdEluZm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlv
bnMgb3B0aW9ucyk7Cit9OworCitkaWN0aW9uYXJ5IENhY2hlUXVlcnlPcHRpb25zIHsKKyAgYm9v
bGVhbiBpZ25vcmVTZWFyY2ggPSBmYWxzZTsKKyAgYm9vbGVhbiBpZ25vcmVNZXRob2QgPSBmYWxz
ZTsKKyAgYm9vbGVhbiBpZ25vcmVWYXJ5ID0gZmFsc2U7Cit9OworCitbU2VjdXJlQ29udGV4dCwg
RXhwb3NlZD0oV2luZG93LFdvcmtlcildCitpbnRlcmZhY2UgQ2FjaGVTdG9yYWdlIHsKKyAgW05l
d09iamVjdF0gUHJvbWlzZTxhbnk+IG1hdGNoKFJlcXVlc3RJbmZvIHJlcXVlc3QsIG9wdGlvbmFs
IE11bHRpQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7CisgIFtOZXdPYmplY3RdIFByb21pc2U8
Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOworICBbTmV3T2JqZWN0XSBQcm9taXNl
PENhY2hlPiBvcGVuKERPTVN0cmluZyBjYWNoZU5hbWUpOworICBbTmV3T2JqZWN0XSBQcm9taXNl
PGJvb2xlYW4+IGRlbGV0ZShET01TdHJpbmcgY2FjaGVOYW1lKTsKKyAgW05ld09iamVjdF0gUHJv
bWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7Cit9OworCitkaWN0aW9uYXJ5IE11bHRp
Q2FjaGVRdWVyeU9wdGlvbnMgOiBDYWNoZVF1ZXJ5T3B0aW9ucyB7CisgIERPTVN0cmluZyBjYWNo
ZU5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9NRVRBLnltbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wM2EwZGQwZmUxNmU1NTUwZThmMzQ5YzFkZDhmZTM2MWNmMjA3MmJjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvTUVUQS55bWwKQEAgLTAsMCArMSw2IEBACitzcGVjOiBodHRwczovL3czYy5n
aXRodWIuaW8vU2VydmljZVdvcmtlci8KK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gYXN1dGhl
cmxhbmQKKyAgLSBta3J1aXNzZWxicmluaworICAtIG1hdHR0bworICAtIHdhbmRlcnZpZXcKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL09XTkVSUyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL09XTkVSUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjQyOTM2NDJjNGJiMWE3YjE1MTg0ZjA3OGNkM2FlYjZkOTM2YjAzOS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9PV05FUlMKKysrIC9kZXYv
bnVsbApAQCAtMSwzICswLDAgQEAKLUBlaHNhbgotQG1rcnVpc3NlbGJyaW5rCi1AbWF0dHRvCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9N
RVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iZjM0NDc0Zjc0YWFlN2QzNDFkZmYzOGM1NTM3MDViYjJiNGI2
ODI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9NRVRBLnltbApAQCAtMCww
ICsxLDMgQEAKK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gaW5leG9yYWJsZXRhc2gKKyAgLSB3
YW5kZXJ2aWV3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL09XTkVSUyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2UvT1dORVJTCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTYzZGQyMjAz
ZTFmZTI0M2IxZDQzNzUxOTliNjE3M2ZiYzc1ZWRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvT1dORVJTCisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi1AaW5leG9yYWJsZXRhc2gKLUB3YW5kZXJ2aWV3CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9y
LXNlcnZpY2Utd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvY2FjaGUta2V5
cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTU3NGQyY2I3
N2E3Njc5MzcwOWYyNWI2N2FjMTdmNWY1OWE3MTIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9yZXNvdXJjZXMvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdv
cmtlci5qcwpAQCAtMCwwICsxLDIyIEBACitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywg
KGV2ZW50KSA9PiB7CisgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTChldmVudC5yZXF1ZXN0LnVy
bCkuc2VhcmNoUGFyYW1zOworICAgIGlmIChwYXJhbXMuaGFzKCdpZ25vcmUnKSkgeworICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBpZiAoIXBhcmFtcy5oYXMoJ25hbWUnKSkgeworICAgICAgZXZl
bnQucmVzcG9uZFdpdGgoUHJvbWlzZS5yZWplY3QoVHlwZUVycm9yKCdObyBuYW1lIGlzIHByb3Zp
ZGVkLicpKSk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgZXZlbnQucmVzcG9uZFdpdGgo
UHJvbWlzZS5yZXNvbHZlKCkudGhlbihhc3luYyAoKSA9PiB7CisgICAgICAgIGNvbnN0IG5hbWUg
PSBwYXJhbXMuZ2V0KCduYW1lJyk7CisgICAgICAgIGF3YWl0IGNhY2hlcy5kZWxldGUoJ2Zvbycp
OworICAgICAgICBjb25zdCBjYWNoZSA9IGF3YWl0IGNhY2hlcy5vcGVuKCdmb28nKTsKKyAgICAg
ICAgYXdhaXQgY2FjaGUucHV0KGV2ZW50LnJlcXVlc3QsIG5ldyBSZXNwb25zZSgnaGVsbG8nKSk7
CisgICAgICAgIGNvbnN0IGtleXMgPSBhd2FpdCBjYWNoZS5rZXlzKCk7CisKKyAgICAgICAgY29u
c3Qgb3JpZ2luYWwgPSBldmVudC5yZXF1ZXN0W25hbWVdOworICAgICAgICBjb25zdCBzdG9yZWQg
PSBrZXlzWzBdW25hbWVdOworICAgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKGBvcmlnaW5hbDog
JHtvcmlnaW5hbH0sIHN0b3JlZDogJHtzdG9yZWR9YCk7CisgICAgICB9KSk7CisgIH0pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvdmFyeS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2UvcmVzb3VyY2VzL3ZhcnkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTllMzliYzJhZTczMGE0Y2QzZTEz
NzZkZDAwM2M5ZmZhZGE0ZWQ0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
cmVzb3VyY2VzL3ZhcnkucHkKQEAgLTAsMCArMSwyNSBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgorICBpZiAiY2xlYXItdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWUiIGluIHJlcXVl
c3QuR0VUOgorICAgIHJlc3BvbnNlLnVuc2V0X2Nvb2tpZSgidmFyeS12YWx1ZS1vdmVycmlkZSIp
CisgICAgcmV0dXJuICJ2YXJ5IGNvb2tpZSBjbGVhcmVkIgorCisgIHNldF9jb29raWVfdmFyeSA9
IHJlcXVlc3QuR0VULmZpcnN0KCJzZXQtdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWUiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PSIiKQorICBpZiBzZXRf
Y29va2llX3Zhcnk6CisgICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZSgidmFyeS12YWx1ZS1vdmVycmlk
ZSIsIHNldF9jb29raWVfdmFyeSkKKyAgICByZXR1cm4gInZhcnkgY29va2llIHNldCIKKworICAj
IElmIHRoZXJlIGlzIGEgdmFyeS12YWx1ZS1vdmVycmlkZSBjb29raWUgc2V0LCB0aGVuIHVzZSBp
dHMgdmFsdWUKKyAgIyBmb3IgdGhlIFZBUlkgaGVhZGVyIG5vIG1hdHRlciB3aGF0IHRoZSBxdWVy
eSBzdHJpbmcgaXMgc2V0IHRvLiAgVGhpcworICAjIG92ZXJyaWRlIGlzIG5lY2Vzc2FyeSB0byB0
ZXN0IHRoZSBjYXNlIHdoZW4gdHdvIFVSTHMgYXJlIGlkZW50aWNhbAorICAjIChpbmNsdWRpbmcg
cXVlcnkpLCBidXQgZGlmZmVyIGJ5IFZBUlkgaGVhZGVyLgorICBjb29raWVfdmFyeSA9IHJlcXVl
c3QuY29va2llcy5nZXQoInZhcnktdmFsdWUtb3ZlcnJpZGUiKTsKKyAgaWYgY29va2llX3Zhcnk6
CisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoInZhcnkiLCBjb29raWVfdmFyeSkKKyAgZWxzZToK
KyAgICAjIElmIHRoZXJlIGlzIG5vIGNvb2tpZSwgdGhlbiB1c2UgdGhlIHF1ZXJ5IHN0cmluZyB2
YWx1ZSwgaWYgcHJlc2VudC4KKyAgICBxdWVyeV92YXJ5ID0gcmVxdWVzdC5HRVQuZmlyc3QoInZh
cnkiLCBkZWZhdWx0PSIiKQorICAgIGlmIHF1ZXJ5X3Zhcnk6CisgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgidmFyeSIsIHF1ZXJ5X3ZhcnkpCisKKyAgcmV0dXJuICJ2YXJ5IHJlc3BvbnNlIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCBkNDZiZGY1NTRk
YWRmN2M4NWNlYzBjMTlhMzZmNjIyY2U4MjNlNTlkLi4zOTcxNDk3MzRhOTgwNTBkNWRlOGNhODgy
Njk0MjMxYjBiMjFmZTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy93M2MtaW1wb3J0
LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAogCkBAIC0xNSw2ICsxNSw3IEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxl
czoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jlc291cmNlcy9ibGFuay5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9yZXNvdXJjZXMvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL2NvbW1vbi13b3JrZXIuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3Jlc291cmNlcy9jcmVkZW50aWFscy1pZnJhbWUuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2UvcmVzb3VyY2VzL2NyZWRlbnRpYWxzLXdvcmtlci5qcwpAQCAtMjIsMyArMjMsNCBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL2lmcmFtZS5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS9yZXNvdXJjZXMvc2ltcGxlLnR4dAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
cmVzb3VyY2VzL3Rlc3QtaGVscGVycy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvcmVzb3VyY2VzL3Zh
cnkucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFi
b3J0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtYWJvcnQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWM0MTMwZmRlZDI5ZTAwNzA4MjgwOTJjMjU0NmRjNDY0NTZkOGZkYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFib3J0Lmpz
CkBAIC0wLDAgKzEsODEgQEAKK2lmIChzZWxmLmltcG9ydFNjcmlwdHMpIHsKKyAgaW1wb3J0U2Ny
aXB0cygnL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcycpOworICBpbXBvcnRTY3JpcHRzKCcuLi9y
ZXNvdXJjZXMvdGVzdC1oZWxwZXJzLmpzJyk7CisgIGltcG9ydFNjcmlwdHMoJy9jb21tb24vdXRp
bHMuanMnKTsKK30KKworLy8gV2UgcGVyZm9ybSB0aGUgc2FtZSB0ZXN0cyBvbiBwdXQsIGFkZCwg
YWRkQWxsLiBQYXJhbWV0ZXJpc2UgdGhlIHRlc3RzIHRvCisvLyByZWR1Y2UgcmVwZXRpdGlvbi4K
K2NvbnN0IG1ldGhvZHNUb1Rlc3QgPSB7CisgIHB1dDogYXN5bmMgKGNhY2hlLCByZXF1ZXN0KSA9
PiB7CisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChyZXF1ZXN0KTsKKyAgICByZXR1
cm4gY2FjaGUucHV0KHJlcXVlc3QsIHJlc3BvbnNlKTsKKyAgfSwKKyAgYWRkOiBhc3luYyAoY2Fj
aGUsIHJlcXVlc3QpID0+IGNhY2hlLmFkZChyZXF1ZXN0KSwKKyAgYWRkQWxsOiBhc3luYyAoY2Fj
aGUsIHJlcXVlc3QpID0+IGNhY2hlLmFkZEFsbChbcmVxdWVzdF0pLAorfTsKKworZm9yIChjb25z
dCBtZXRob2QgaW4gbWV0aG9kc1RvVGVzdCkgeworICBjb25zdCBwZXJmb3JtID0gbWV0aG9kc1Rv
VGVzdFttZXRob2RdOworCisgIGNhY2hlX3Rlc3QoYXN5bmMgKGNhY2hlLCB0ZXN0KSA9PiB7Cisg
ICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgICBjb25zdCBz
aWduYWwgPSBjb250cm9sbGVyLnNpZ25hbDsKKyAgICBjb250cm9sbGVyLmFib3J0KCk7CisgICAg
Y29uc3QgcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KCcuLi9yZXNvdXJjZXMvc2ltcGxlLnR4dCcsIHsg
c2lnbmFsIH0pOworICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVzdCwgJ0Fib3J0RXJyb3In
LCBwZXJmb3JtKGNhY2hlLCByZXF1ZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7
bWV0aG9kfSBzaG91bGQgcmVqZWN0YCk7CisgIH0sIGAke21ldGhvZH0oKSBvbiBhbiBhbHJlYWR5
LWFib3J0ZWQgcmVxdWVzdCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvcmApOworCisgIGNh
Y2hlX3Rlc3QoYXN5bmMgKGNhY2hlLCB0ZXN0KSA9PiB7CisgICAgY29uc3QgY29udHJvbGxlciA9
IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgICBjb25zdCBzaWduYWwgPSBjb250cm9sbGVyLnNp
Z25hbDsKKyAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFJlcXVlc3QoJy4uL3Jlc291cmNlcy9zaW1w
bGUudHh0JywgeyBzaWduYWwgfSk7CisgICAgY29uc3QgcHJvbWlzZSA9IHBlcmZvcm0oY2FjaGUs
IHJlcXVlc3QpOworICAgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAgICByZXR1cm4gcHJvbWlzZV9y
ZWplY3RzKHRlc3QsICdBYm9ydEVycm9yJywgcHJvbWlzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgYCR7bWV0aG9kfSBzaG91bGQgcmVqZWN0YCk7CisgIH0sIGAke21ldGhvZH0oKSBzeW5j
aHJvbm91c2x5IGZvbGxvd2VkIGJ5IGFib3J0IHNob3VsZCByZWplY3Qgd2l0aCBgICsKKyAgICAg
YEFib3J0RXJyb3JgKTsKKworICBjYWNoZV90ZXN0KGFzeW5jIChjYWNoZSwgdGVzdCkgPT4gewor
ICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgICAgY29uc3Qg
c2lnbmFsID0gY29udHJvbGxlci5zaWduYWw7CisgICAgY29uc3Qgc3RhdGVLZXkgPSB0b2tlbigp
OworICAgIGNvbnN0IGFib3J0S2V5ID0gdG9rZW4oKTsKKyAgICBjb25zdCByZXF1ZXN0ID0gbmV3
IFJlcXVlc3QoCisgICAgICAgIGAuLi8uLi8uLi9mZXRjaC9hcGkvcmVzb3VyY2VzL2luZmluaXRl
LXNsb3ctcmVzcG9uc2UucHk/c3RhdGVLZXk9JHtzdGF0ZUtleX0mYWJvcnRLZXk9JHthYm9ydEtl
eX1gLAorICAgICAgICB7IHNpZ25hbCB9KTsKKworICAgIGNvbnN0IHByb21pc2UgPSBwZXJmb3Jt
KGNhY2hlLCByZXF1ZXN0KTsKKworICAgIC8vIFdhaXQgZm9yIHRoZSBzZXJ2ZXIgdG8gc3RhcnQg
c2VuZGluZyB0aGUgcmVzcG9uc2UgYm9keS4KKyAgICBsZXQgb3BlbmVkID0gZmFsc2U7CisgICAg
ZG8geworICAgICAgLy8gTm9ybWFsbHkgb25seSBvbmUgZmV0Y2ggdG8gJ3N0YXNoLXRha2UnIGlz
IG5lZWRlZCwgYnV0IHRoZSBmZXRjaGVzCisgICAgICAvLyB3aWxsIGJlIHNlcnZlZCBpbiByZXZl
cnNlIG9yZGVyIHNvbWV0aW1lcworICAgICAgLy8gKGkuZS4sICdzdGFzaC10YWtlJyBnZXRzIHNl
cnZlZCBiZWZvcmUgJ2luZmluaXRlLXNsb3ctcmVzcG9uc2UnKS4KKworICAgICAgY29uc3QgcmVz
cG9uc2UgPQorICAgICAgICAgICAgYXdhaXQgZmV0Y2goYC4uLy4uLy4uL2ZldGNoL2FwaS9yZXNv
dXJjZXMvc3Rhc2gtdGFrZS5weT9rZXk9JHtzdGF0ZUtleX1gKTsKKyAgICAgIGNvbnN0IGJvZHkg
PSBhd2FpdCByZXNwb25zZS5qc29uKCk7CisgICAgICBpZiAoYm9keSA9PT0gJ29wZW4nKSBvcGVu
ZWQgPSB0cnVlOworICAgIH0gd2hpbGUgKCFvcGVuZWQpOworCisgICAgLy8gU2FkbHkgdGhlIGFi
b3ZlIGxvb3AgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoZSBicm93c2VyIGhhcyBzdGFydGVkCisg
ICAgLy8gcHJvY2Vzc2luZyB0aGUgcmVzcG9uc2UgYm9keS4gVGhpcyBkZWxheSBpcyBuZWVkZWQg
dG8gbWFrZSB0aGUgdGVzdAorICAgIC8vIGZhaWx1cmVzIG5vbi1mbGFreSBpbiBDaHJvbWUgdmVy
c2lvbiA2Ni4gTXkgZGVlcGVzdCBhcG9sb2dpZXMuCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDI1MCkpOworCisgICAgY29udHJvbGxlci5hYm9y
dCgpOworCisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHRlc3QsICdBYm9ydEVycm9yJywgcHJv
bWlzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7bWV0aG9kfSBzaG91bGQgcmVqZWN0
YCk7CisKKyAgICAvLyBpbmZpbml0ZS1zbG93LXJlc3BvbnNlLnB5IGRvZXNuJ3Qga25vdyB3aGVu
IHRvIHN0b3AuCisgICAgcmV0dXJuIGZldGNoKGAuLi8uLi8uLi9mZXRjaC9hcGkvcmVzb3VyY2Vz
L3N0YXNoLXB1dC5weT9rZXk9JHthYm9ydEtleX1gKTsKKyAgfSwgYCR7bWV0aG9kfSgpIGZvbGxv
d2VkIGJ5IGFib3J0IGFmdGVyIGhlYWRlcnMgcmVjZWl2ZWQgc2hvdWxkIHJlamVjdCBgICsKKyAg
ICAgYHdpdGggQWJvcnRFcnJvcmApOworfQorCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1hZGQuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Nj
cmlwdC10ZXN0cy9jYWNoZS1hZGQuanMKaW5kZXggYzAzZmFlYjBlODM3MjNlYWI2NGU2NDhlNjAw
YmEwNjEyODczZDQwNC4uYTQ4MmM0MmVhZWIyYTkwMmEzNmIxZDZhZWNkMzA2ZThlZDRiNGViZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtYWRkLmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFkZC5qcwpAQCAtMjY3LDQg
KzI2Nyw4NCBAQCBjYWNoZV90ZXN0KGZ1bmN0aW9uKGNhY2hlLCB0ZXN0KSB7CiAgICAgICAndHdp
Y2UuJyk7CiAgIH0sICdDYWNoZS5hZGRBbGwgY2FsbGVkIHdpdGggdGhlIHNhbWUgUmVxdWVzdCBv
YmplY3Qgc3BlY2lmaWVkIHR3aWNlJyk7CiAKK2NhY2hlX3Rlc3QoYXN5bmMgZnVuY3Rpb24oY2Fj
aGUsIHRlc3QpIHsKKyAgICBjb25zdCB1cmwgPSAnLi4vcmVzb3VyY2VzL3ZhcnkucHk/dmFyeT14
LXNoYXBlJzsKKyAgICBsZXQgcmVxdWVzdHMgPSBbCisgICAgICBuZXcgUmVxdWVzdCh1cmwsIHsg
aGVhZGVyczogeyAneC1zaGFwZSc6ICdjaXJjbGUnIH19KSwKKyAgICAgIG5ldyBSZXF1ZXN0KHVy
bCwgeyBoZWFkZXJzOiB7ICd4LXNoYXBlJzogJ3NxdWFyZScgfX0pLAorICAgIF07CisgICAgbGV0
IHJlc3VsdCA9IGF3YWl0IGNhY2hlLmFkZEFsbChyZXF1ZXN0cyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZXN1bHQsIHVuZGVmaW5lZCwgJ0NhY2hlLmFkZEFsbCgpIHNob3VsZCBzdWNjZWVkJyk7Cisg
IH0sICdDYWNoZS5hZGRBbGwgc2hvdWxkIHN1Y2NlZWQgd2hlbiBlbnRyaWVzIGRpZmZlciBieSB2
YXJ5IGhlYWRlcicpOworCitjYWNoZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKGNhY2hlLCB0ZXN0KSB7
CisgICAgY29uc3QgdXJsID0gJy4uL3Jlc291cmNlcy92YXJ5LnB5P3Zhcnk9eC1zaGFwZSc7Cisg
ICAgbGV0IHJlcXVlc3RzID0gWworICAgICAgbmV3IFJlcXVlc3QodXJsLCB7IGhlYWRlcnM6IHsg
J3gtc2hhcGUnOiAnY2lyY2xlJyB9fSksCisgICAgICBuZXcgUmVxdWVzdCh1cmwsIHsgaGVhZGVy
czogeyAneC1zaGFwZSc6ICdjaXJjbGUnIH19KSwKKyAgICBdOworICAgIGF3YWl0IHByb21pc2Vf
cmVqZWN0cygKKyAgICAgIHRlc3QsCisgICAgICAnSW52YWxpZFN0YXRlRXJyb3InLAorICAgICAg
Y2FjaGUuYWRkQWxsKHJlcXVlc3RzKSwKKyAgICAgICdDYWNoZS5hZGRBbGwoKSBzaG91bGQgcmVq
ZWN0IHdoZW4gZW50cmllcyBhcmUgZHVwbGljYXRlIGJ5IHZhcnkgaGVhZGVyJyk7CisgIH0sICdD
YWNoZS5hZGRBbGwgc2hvdWxkIHJlamVjdCB3aGVuIGVudHJpZXMgYXJlIGR1cGxpY2F0ZSBieSB2
YXJ5IGhlYWRlcicpOworCisvLyBWQVJZIGhlYWRlciBtYXRjaGluZyBpcyBhc3ltbWV0cmljLiAg
RGV0ZXJtaW5pbmcgaWYgdHdvIGVudHJpZXMgYXJlIGR1cGxpY2F0ZQorLy8gZGVwZW5kcyBvbiB3
aGljaCBlbnRyeSdzIHJlc3BvbnNlIGlzIHVzZWQgaW4gdGhlIGNvbXBhcmlzb24uICBUaGUgdGFy
Z2V0CisvLyByZXNwb25zZSdzIFZBUlkgaGVhZGVyIGRldGVybWluZXMgd2hhdCByZXF1ZXN0IGhl
YWRlcnMgYXJlIGV4YW1pbmVkLiAgVGhpcworLy8gdGVzdCB2ZXJpZmllcyB0aGF0IENhY2hlLmFk
ZEFsbCgpIGR1cGxpY2F0ZSBjaGVja2luZyBoYW5kbGVzIHRoaXMgYXN5bW1ldHJpYworLy8gYmVo
YXZpb3IgY29ycmVjdGx5LgorY2FjaGVfdGVzdChhc3luYyBmdW5jdGlvbihjYWNoZSwgdGVzdCkg
eworICAgIGNvbnN0IGJhc2VfdXJsID0gJy4uL3Jlc291cmNlcy92YXJ5LnB5JzsKKworICAgIC8v
IERlZmluZSBhIHJlcXVlc3QgVVJMIHRoYXQgc2V0cyBhIFZBUlkgaGVhZGVyIGluIHRoZQorICAg
IC8vIHF1ZXJ5IHN0cmluZyB0byBiZSBlY2hvZWQgYmFjayBieSB0aGUgc2VydmVyLgorICAgIGNv
bnN0IHVybCA9IGJhc2VfdXJsICsgJz92YXJ5PXgtc2l6ZSc7CisKKyAgICAvLyBTZXQgYSBjb29r
aWUgdG8gb3ZlcnJpZGUgdGhlIFZBUlkgaGVhZGVyIG9mIHRoZSByZXNwb25zZQorICAgIC8vIHdo
ZW4gdGhlIHJlcXVlc3QgaXMgbWFkZSB3aXRoIGNyZWRlbnRpYWxzLiAgVGhpcyB3aWxsCisgICAg
Ly8gdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIHF1ZXJ5IHN0cmluZyB2YXJ5IHBhcmFtLiAgVGhp
cworICAgIC8vIGlzIGEgYml0IGNvbmZ1c2luZywgYnV0IGl0J3MgbmVjZXNzYXJ5IHRvIGNvbnN0
cnVjdCBhIHRlc3QKKyAgICAvLyB3aGVyZSB0aGUgVVJMIGlzIHRoZSBzYW1lLCBidXQgdGhlIFZB
UlkgaGVhZGVycyBkaWZmZXIuCisgICAgLy8KKyAgICAvLyBOb3RlLCB0aGUgdGVzdCBjb3VsZCBh
bHNvIHBhc3MgdGhpcyBpbmZvcm1hdGlvbiBpbiBhZGRpdGlvbmFsCisgICAgLy8gcmVxdWVzdCBo
ZWFkZXJzLiAgSWYgdGhlIGNvb2tpZSBhcHByb2FjaCBiZWNvbWVzIHRvbyB1bndpZWxkeQorICAg
IC8vIHRoaXMgdGVzdCBjb3VsZCBiZSByZXdyaXR0ZW4gdG8gdXNlIHRoYXQgdGVjaG5pcXVlLgor
ICAgIGF3YWl0IGZldGNoKGJhc2VfdXJsICsgJz9zZXQtdmFyeS12YWx1ZS1vdmVycmlkZS1jb29r
aWU9eC1zaGFwZScpOworICAgIHRlc3QuYWRkX2NsZWFudXAoXyA9PiBmZXRjaChiYXNlX3VybCAr
ICc/Y2xlYXItdmFyeS12YWx1ZS1vdmVycmlkZS1jb29raWUnKSk7CisKKyAgICBsZXQgcmVxdWVz
dHMgPSBbCisgICAgICAvLyBUaGlzIHJlcXVlc3Qgd2lsbCByZXN1bHQgaW4gYSBSZXNwb25zZSB3
aXRoIGEgIlZhcnk6IHgtc2hhcGUiCisgICAgICAvLyBoZWFkZXIuICBUaGlzICp3aWxsIG5vdCog
cmVzdWx0IGluIGEgZHVwbGljYXRlIG1hdGNoIHdpdGggdGhlCisgICAgICAvLyBvdGhlciBlbnRy
eS4KKyAgICAgIG5ldyBSZXF1ZXN0KHVybCwgeyBoZWFkZXJzOiB7ICd4LXNoYXBlJzogJ2NpcmNs
ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAneC1zaXplJzogJ2JpZycg
fSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyB9
KSwKKworICAgICAgLy8gVGhpcyByZXF1ZXN0IHdpbGwgcmVzdWx0IGluIGEgUmVzcG9uc2Ugd2l0
aCBhICJWYXJ5OiB4LXNpemUiCisgICAgICAvLyBoZWFkZXIuICBUaGlzICp3aWxsKiByZXN1bHQg
aW4gYSBkdXBsaWNhdGUgbWF0Y2ggd2l0aCB0aGUgb3RoZXIKKyAgICAgIC8vIGVudHJ5LgorICAg
ICAgbmV3IFJlcXVlc3QodXJsLCB7IGhlYWRlcnM6IHsgJ3gtc2hhcGUnOiAnc3F1YXJlJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4LXNpemUnOiAnYmlnJyB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnb21pdCcgfSksCisgICAgXTsKKyAg
ICBhd2FpdCBwcm9taXNlX3JlamVjdHMoCisgICAgICB0ZXN0LAorICAgICAgJ0ludmFsaWRTdGF0
ZUVycm9yJywKKyAgICAgIGNhY2hlLmFkZEFsbChyZXF1ZXN0cyksCisgICAgICAnQ2FjaGUuYWRk
QWxsKCkgc2hvdWxkIHJlamVjdCB3aGVuIG9uZSBlbnRyeSBoYXMgYSB2YXJ5IGhlYWRlciAnICsK
KyAgICAgICdtYXRjaGluZyBhbiBlYXJsaWVyIGVudHJ5LicpOworCisgICAgLy8gVGVzdCB0aGUg
cmV2ZXJzZSBvcmRlciBub3cuCisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKAorICAgICAgdGVz
dCwKKyAgICAgICdJbnZhbGlkU3RhdGVFcnJvcicsCisgICAgICBjYWNoZS5hZGRBbGwocmVxdWVz
dHMucmV2ZXJzZSgpKSwKKyAgICAgICdDYWNoZS5hZGRBbGwoKSBzaG91bGQgcmVqZWN0IHdoZW4g
b25lIGVudHJ5IGhhcyBhIHZhcnkgaGVhZGVyICcgKworICAgICAgJ21hdGNoaW5nIGEgbGF0ZXIg
ZW50cnkuJyk7CisKKyAgfSwgJ0NhY2hlLmFkZEFsbCBzaG91bGQgcmVqZWN0IHdoZW4gb25lIGVu
dHJ5IGhhcyBhIHZhcnkgaGVhZGVyICcgKworICAgICAnbWF0Y2hpbmcgYW5vdGhlciBlbnRyeScp
OworCiBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9j
YWNoZS1rZXlzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUta2V5cy5q
cwppbmRleCA5NmJkNDNiNjczYTRmNzhhZjQ3YWNhMzA3ZGEzY2VkODM3M2Q2MTY4Li5hOTRjMThm
ODczYzhiNzVjNmZhYWEzYTEwZDU0YWM1OGNmN2M3YzAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1rZXlzLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
c2NyaXB0LXRlc3RzL2NhY2hlLWtleXMuanMKQEAgLTE3OSw2ICsxNzksMjAgQEAgcHJlcG9wdWxh
dGVkX2NhY2hlX3Rlc3Qoc2ltcGxlX2VudHJpZXMsIGZ1bmN0aW9uKGNhY2hlLCBlbnRyaWVzKSB7
CiAgICAgICAgIH0pOwogICB9LCAnQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMnKTsKIAor
cHJlcG9wdWxhdGVkX2NhY2hlX3Rlc3QodmFyeV9lbnRyaWVzLCBmdW5jdGlvbihjYWNoZSwgZW50
cmllcykgeworICAgIHJldHVybiBjYWNoZS5rZXlzKCkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgICAgICAgIGFzc2VydF9yZXF1ZXN0X2FycmF5X2VxdWFscygKKyAgICAgICAg
ICAgIHJlc3VsdCwKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgZW50cmllcy52YXJ5X2Nv
b2tpZV9pc19jb29raWUucmVxdWVzdCwKKyAgICAgICAgICAgICAgZW50cmllcy52YXJ5X2Nvb2tp
ZV9pc19nb29kLnJlcXVlc3QsCisgICAgICAgICAgICAgIGVudHJpZXMudmFyeV9jb29raWVfYWJz
ZW50LnJlcXVlc3QsCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ0NhY2hlLmtleXMgd2l0
aG91dCBwYXJhbWV0ZXJzIHNob3VsZCBtYXRjaCBhbGwgZW50cmllcy4nKTsKKyAgICAgICAgfSk7
CisgIH0sICdDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyBhbmQgVkFSWSBlbnRyaWVzJyk7
CisKIHByZXBvcHVsYXRlZF9jYWNoZV90ZXN0KHNpbXBsZV9lbnRyaWVzLCBmdW5jdGlvbihjYWNo
ZSwgZW50cmllcykgewogICAgIHJldHVybiBjYWNoZS5rZXlzKG5ldyBSZXF1ZXN0KGVudHJpZXMu
Y2F0LnJlcXVlc3QudXJsLCB7bWV0aG9kOiAnSEVBRCd9KSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KHJlc3VsdCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2Fj
aGUtbWF0Y2guanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1tYXRjaC5q
cwppbmRleCAzZDAwZjBmMDRhZjNhMTZjY2I3Y2M3MzJlNGRmOGNjZmEwZWY0MDFjLi5iYTM1OWZl
ZDE0MmNiNGEzZmYyODFhNDRlOGEyYjllYzhhN2E2NTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1tYXRjaC5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdl
L3NjcmlwdC10ZXN0cy9jYWNoZS1tYXRjaC5qcwpAQCAtMSw2ICsxLDcgQEAKIGlmIChzZWxmLmlt
cG9ydFNjcmlwdHMpIHsKICAgICBpbXBvcnRTY3JpcHRzKCcvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzJyk7CiAgICAgaW1wb3J0U2NyaXB0cygnLi4vcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5qcycp
OworICAgIGltcG9ydFNjcmlwdHMoJy9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMnKTsKIH0K
IAogcHJlcG9wdWxhdGVkX2NhY2hlX3Rlc3Qoc2ltcGxlX2VudHJpZXMsIGZ1bmN0aW9uKGNhY2hl
LCBlbnRyaWVzKSB7CkBAIC0zMTgsNCArMzE5LDIyIEBAIGNhY2hlX3Rlc3QoZnVuY3Rpb24oY2Fj
aGUpIHsKICAgICAgICAgfSk7CiAgIH0sICdDYWNoZSBwcm9kdWNlcyBsYXJnZSBSZXNwb25zZXMg
dGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4nKTsKIAorY2FjaGVfdGVzdChh
c3luYyAoY2FjaGUpID0+IHsKKyAgICBjb25zdCB1cmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUFNf
UkVNT1RFX09SSUdJTiArCisgICAgICAnL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Jl
c291cmNlcy9zaW1wbGUudHh0P3BpcGU9JyArCisgICAgICAnaGVhZGVyKGFjY2Vzcy1jb250cm9s
LWFsbG93LW9yaWdpbiwqKXwnICsKKyAgICAgICdoZWFkZXIoYWNjZXNzLWNvbnRyb2wtZXhwb3Nl
LWhlYWRlcnMsKil8JyArCisgICAgICAnaGVhZGVyKGZvbyxiYXIpfCcgKworICAgICAgJ2hlYWRl
cihzZXQtY29va2llLFgpJzsKKworICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJs
KTsKKyAgICBhd2FpdCBjYWNoZS5wdXQobmV3IFJlcXVlc3QodXJsKSwgcmVzcG9uc2UpOworICAg
IGNvbnN0IGNhY2hlZF9yZXNwb25zZSA9IGF3YWl0IGNhY2hlLm1hdGNoKHVybCk7CisKKyAgICBj
b25zdCBoZWFkZXJzID0gY2FjaGVkX3Jlc3BvbnNlLmhlYWRlcnM7CisgICAgYXNzZXJ0X2VxdWFs
cyhoZWFkZXJzLmdldCgnYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMnKSwgJyonKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGhlYWRlcnMuZ2V0KCdmb28nKSwgJ2JhcicpOworICAgIGFzc2VydF9l
cXVhbHMoaGVhZGVycy5nZXQoJ3NldC1jb29raWUnKSwgbnVsbCk7CisgIH0sICdjb3JzLWV4cG9z
ZWQgaGVhZGVyIHNob3VsZCBiZSBzdG9yZWQgY29ycmVjdGx5LicpOworCiBkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1zdG9yYWdlLW1hdGNo
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvY2FjaGUtc3RvcmFnZS1tYXRjaC5q
cwppbmRleCAzNTQ2NTIwNDg2NDI1ZThkZTI3ZGE3YjdmYzI3MGNlNzVhZDYxYTdiLi41NGJlN2U3
YjVkNzhiMzUzMTRiOWZhZmVjZDExNjYyMDNlZWM5YjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1z
dG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1zdG9yYWdlLW1hdGNoLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLXN0b3JhZ2UtbWF0Y2guanMKQEAgLTExNyw3ICsx
MTcsMTAgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKIAogcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHRlc3QpIHsKICAgICB2YXIgdHJhbnNhY3Rpb24gPSBjcmVhdGVfdW5pcXVlX3RyYW5z
YWN0aW9uKCk7Ci0gICAgcmV0dXJuIHNlbGYuY2FjaGVzLmhhcygnZm9vJykKKyAgICByZXR1cm4g
c2VsZi5jYWNoZXMuZGVsZXRlKCdmb28nKQorICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmhhcygnZm9vJyk7CisgICAgICAgIH0pCiAgICAgICAu
dGhlbihmdW5jdGlvbihoYXNfZm9vKSB7CiAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKGhhc19mb28s
ICJUaGUgY2FjaGUgc2hvdWxkIG5vdCBleGlzdC4iKTsKICAgICAgICAgICByZXR1cm4gc2VsZi5j
YWNoZXMubWF0Y2godHJhbnNhY3Rpb24ucmVxdWVzdCwge2NhY2hlTmFtZTogJ2Zvbyd9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMvdzNjLWltcG9ydC5sb2cKaW5kZXggNmQ1Nzgx
YTI1OWU0NTBhZDdmYmZhNzE5Y2JjZDJlN2EzYzVlYTgzZC4uOGU5ODk1ZmQxZmQ2ZTcyZTEzNDY2
MDcwYTRiZWIzYzc1OGZhMjQyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQt
dGVzdHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zY3JpcHQtdGVzdHMv
dzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQK
IAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKIApAQCAtMTQsNiArMTQsNyBAQCBQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9jYWNoZS1zdG9yYWdlL3NjcmlwdC10ZXN0cy9jYWNoZS1hYm9ydC5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hl
LXN0b3JhZ2Uvc2NyaXB0LXRlc3RzL2NhY2hlLWFkZC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Ny
aXB0LXRlc3RzL2NhY2hlLWRlbGV0ZS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2NyaXB0LXRlc3Rz
L2NhY2hlLWtleXMuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtl
ci9jYWNoZS1hYm9ydC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZp
Y2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiZGNj
NDY3Mjg3MDgzM2EzNTkxNjNjNzgwOTJhMGFiMTdiYmNiZGUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTQgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCisKK1BBU1MgQ2FjaGUgU3RvcmFnZTogQWJvcnQgCitGQUlMIHB1dCgpIG9uIGFuIGFs
cmVhZHktYWJvcnRlZCByZXF1ZXN0IHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIGFzc2Vy
dF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBwdXQgc2hvdWxkIHJlamVjdCBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgcHV0KCkgc3luY2hyb25vdXNseSBmb2xsb3dlZCBi
eSBhYm9ydCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciBhc3NlcnRfdW5yZWFjaGVkOiBT
aG91bGQgaGF2ZSByZWplY3RlZDogcHV0IHNob3VsZCByZWplY3QgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitUSU1FT1VUIHB1dCgpIGZvbGxvd2VkIGJ5IGFib3J0IGFmdGVyIGhlYWRlcnMgcmVj
ZWl2ZWQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgVGVzdCB0aW1lZCBvdXQKK05PVFJV
TiBhZGQoKSBvbiBhbiBhbHJlYWR5LWFib3J0ZWQgcmVxdWVzdCBzaG91bGQgcmVqZWN0IHdpdGgg
QWJvcnRFcnJvciAKK05PVFJVTiBhZGQoKSBzeW5jaHJvbm91c2x5IGZvbGxvd2VkIGJ5IGFib3J0
IHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZCgpIGZvbGxvd2VkIGJ5
IGFib3J0IGFmdGVyIGhlYWRlcnMgcmVjZWl2ZWQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJy
b3IgCitOT1RSVU4gYWRkQWxsKCkgb24gYW4gYWxyZWFkeS1hYm9ydGVkIHJlcXVlc3Qgc2hvdWxk
IHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRkQWxsKCkgc3luY2hyb25vdXNseSBm
b2xsb3dlZCBieSBhYm9ydCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAKK05PVFJVTiBh
ZGRBbGwoKSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJlY2VpdmVkIHNob3VsZCBy
ZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3Nl
cnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vy
dmljZXdvcmtlci9jYWNoZS1hYm9ydC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhOGI1MzliZTgx
ZWYwZTRiNDNmMTE5M2Q0YmI2Mjk3Mjk2ODQ0MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5DYWNoZSBTdG9yYWdlOiBBYm9ydDwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3Jn
LyNyZXF1ZXN0LXNpZ25hbCI+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2VydmljZV93b3JrZXJfdGVzdCgnLi4vc2NyaXB0LXRl
c3RzL2NhY2hlLWFib3J0LmpzJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggMDVmZDk1YjcyNzE2Y2JjYzAxM2Y3ZmY3NDFiZTE2MzM4ZDZkZGM3Yy4uOThlNTc5NWY5Mjk4
YjczMzg1MTg2MWEwNWUzZDI5MzFjZmEyYjhjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS9zZXJ2aWNld29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTE4LDQgKzE4LDcgQEAgUEFTUyBDYWNoZS5hZGRBbGwgd2l0aCBzdHJpbmcgVVJMIGFyZ3VtZW50
cwogUEFTUyBDYWNoZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyAKIFBBU1MgQ2FjaGUu
YWRkQWxsIHdpdGggYSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyAKIFBB
U1MgQ2FjaGUuYWRkQWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNp
ZmllZCB0d2ljZSAKK1BBU1MgQ2FjaGUuYWRkQWxsIHNob3VsZCBzdWNjZWVkIHdoZW4gZW50cmll
cyBkaWZmZXIgYnkgdmFyeSBoZWFkZXIgCitQQVNTIENhY2hlLmFkZEFsbCBzaG91bGQgcmVqZWN0
IHdoZW4gZW50cmllcyBhcmUgZHVwbGljYXRlIGJ5IHZhcnkgaGVhZGVyIAorUEFTUyBDYWNoZS5h
ZGRBbGwgc2hvdWxkIHJlamVjdCB3aGVuIG9uZSBlbnRyeSBoYXMgYSB2YXJ5IGhlYWRlciBtYXRj
aGluZyBhbm90aGVyIGVudHJ5IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZp
Y2V3b3JrZXIvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUta2V5cy1h
dHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTkzMWVhYWNkNTUyYTA0ZGExYTZlNWU4OTUyN2I0MDE4MTdkYmMzYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0
ZXMtZm9yLXNlcnZpY2Utd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
KworRkFJTCBSZXF1ZXN0LklzUmVsb2FkTmF2aWdhdGlvbiBzaG91bGQgcGVyc2lzdC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIm9yaWdpbmFsOiBmYWxzZSwgc3RvcmVkOiBmYWxzZSIgYnV0IGdv
dCAib3JpZ2luYWw6IHVuZGVmaW5lZCwgc3RvcmVkOiB1bmRlZmluZWQiCitGQUlMIFJlcXVlc3Qu
SXNIaXN0b3J5TmF2aWdhdGlvbiBzaG91bGQgcGVyc2lzdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIm9yaWdpbmFsOiBmYWxzZSwgc3RvcmVkOiBmYWxzZSIgYnV0IGdvdCAib3JpZ2luYWw6IHVu
ZGVmaW5lZCwgc3RvcmVkOiB1bmRlZmluZWQiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3Jh
Z2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0ZXMtZm9yLXNlcnZpY2Utd29ya2Vy
Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUta2V5cy1h
dHRyaWJ1dGVzLWZvci1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2MDQ0
YzU4MWI4M2VlYjlmZDlkM2JmYjJmOTM2NzEyYjkwZDAxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUta2V5cy1hdHRyaWJ1dGVzLWZvci1z
ZXJ2aWNlLXdvcmtlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHRpdGxlPkNhY2hlLmtleXMgKGNoZWNraW5nIHJlcXVlc3QgYXR0cmlidXRlcyB0aGF0IGNh
biBiZSBzZXQgb25seSBvbiBzZXJ2aWNlIHdvcmtlcnMpPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI2NhY2hlLWtleXMi
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB3b3JrZXIgPSAnLi4vcmVzb3VyY2VzL2Nh
Y2hlLWtleXMtYXR0cmlidXRlcy1mb3Itc2VydmljZS13b3JrZXIuanMnOworCitmdW5jdGlvbiB3
YWl0KG1zKSB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHN0ZXBfdGltZW91dChy
ZXNvbHZlLCBtcykpOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25z
dCBzY29wZSA9ICcuLi9yZXNvdXJjZXMvYmxhbmsuaHRtbD9uYW1lPWlzUmVsb2FkTmF2aWdhdGlv
bic7CisgICAgbGV0IGZyYW1lOworICAgIGxldCByZWc7CisKKyAgICB0cnkgeworICAgICAgcmVn
ID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2Vy
LCBzY29wZSk7CisgICAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywg
J2FjdGl2YXRlZCcpOworICAgICAgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50
LAorICAgICAgICAgICAgICAgICAgICAnb3JpZ2luYWw6IGZhbHNlLCBzdG9yZWQ6IGZhbHNlJyk7
CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICBmcmFtZS5v
bmxvYWQgPSByZXNvbHZlOworICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LmxvY2F0aW9uLnJl
bG9hZCgpOworICAgICAgfSk7CisgICAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1
bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgICAnb3JpZ2luYWw6IHRy
dWUsIHN0b3JlZDogdHJ1ZScpOworICAgIH0gZmluYWxseSB7CisgICAgICBpZiAoZnJhbWUpIHsK
KyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgICBpZiAocmVnKSB7CisgICAg
ICAgIGF3YWl0IHJlZy51bnJlZ2lzdGVyKCk7CisgICAgICB9CisgICAgfQorfSwgJ1JlcXVlc3Qu
SXNSZWxvYWROYXZpZ2F0aW9uIHNob3VsZCBwZXJzaXN0LicpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgKHQpID0+IHsKKyAgICBjb25zdCBzY29wZSA9ICcuLi9yZXNvdXJjZXMvYmxhbmsuaHRtbD9u
YW1lPWlzSGlzdG9yeU5hdmlnYXRpb24nOworICAgIGxldCBmcmFtZTsKKyAgICBsZXQgcmVnOwor
CisgICAgdHJ5IHsKKyAgICAgIHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpOworICAgICAgYXdhaXQgd2FpdF9mb3Jfc3Rh
dGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICAgIGZyYW1lID0gYXdhaXQg
d2l0aF9pZnJhbWUoc2NvcGUpOworICAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9j
dW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICAgJ29yaWdpbmFsOiBm
YWxzZSwgc3RvcmVkOiBmYWxzZScpOworICAgICAgLy8gVXNlIHN0ZXBfdGltZW91dCgwKSB0byBl
bnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBmb3IgQmxpbmsKKyAgICAgIC8vIGFu
ZCBXZWJLaXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4
NjEuCisgICAgICBhd2FpdCB3YWl0KDApOworICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUpID0+IHsKKyAgICAgICAgZnJhbWUub25sb2FkID0gcmVzb2x2ZTsKKyAgICAgICAgZnJhbWUu
c3JjID0gJy4uL3Jlc291cmNlcy9ibGFuay5odG1sP2lnbm9yZSc7CisgICAgICB9KTsKKyAgICAg
IGF3YWl0IHdhaXQoMCk7CisgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewor
ICAgICAgICBmcmFtZS5vbmxvYWQgPSByZXNvbHZlOworICAgICAgICBmcmFtZS5jb250ZW50V2lu
ZG93Lmhpc3RvcnkuZ28oLTEpOworICAgICAgfSk7CisgICAgICBhc3NlcnRfZXF1YWxzKGZyYW1l
LmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgICAn
b3JpZ2luYWw6IHRydWUsIHN0b3JlZDogdHJ1ZScpOworICAgIH0gZmluYWxseSB7CisgICAgICBp
ZiAoZnJhbWUpIHsKKyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisgICAgICB9CisgICAgICBpZiAo
cmVnKSB7CisgICAgICAgIGF3YWl0IHJlZy51bnJlZ2lzdGVyKCk7CisgICAgICB9CisgICAgfQor
fSwgJ1JlcXVlc3QuSXNIaXN0b3J5TmF2aWdhdGlvbiBzaG91bGQgcGVyc2lzdC4nKTsKKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLWtl
eXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNld29ya2VyL2Nh
Y2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGZiOTNiODkyZTRhMGExM2JkMjM1NGUz
YTYxNjI3YmFkOTA0NGY3ZWQuLmM3ZDE5MTYxM2NjZGU3ZDczNmMwYzhiNzFjMzE0M2FkNjU2MGNk
MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlz
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIv
Y2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEyLDUgKzEyLDYgQEAgUEFTUyBDYWNo
ZS5rZXlzIHN1cHBvcnRzIGlnbm9yZVZhcnkKIFBBU1MgQ2FjaGUua2V5cyB3aXRoIFVSTCBjb250
YWluaW5nIGZyYWdtZW50IAogUEFTUyBDYWNoZS5rZXlzIHdpdGggc3RyaW5nIGZyYWdtZW50ICJo
dHRwIiBhcyBxdWVyeSAKIFBBU1MgQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMgCitQQVNT
IENhY2hlLmtleXMgd2l0aG91dCBwYXJhbWV0ZXJzIGFuZCBWQVJZIGVudHJpZXMgCiBQQVNTIENh
Y2hlLmtleXMgd2l0aCBhIEhFQUQgUmVxdWVzdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2Nh
Y2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggNzE5NWQ3YmRiODhkYTU1ZGNjNDM4ZjUwYTFmMjc2MDZlZTI3NTk2MC4uNTNhNGExZTY0
MjVjZTAwOGFlMzNkOGFmYWVmYzkyMmM2M2M4ZGFiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS9zZXJ2aWNld29ya2VyL2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0yMCw0ICsyMCw1IEBAIFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJlcXVlc3QK
IFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgCiBQQVNTIENhY2hlLm1h
dGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIAogUEFTUyBDYWNoZSBwcm9kdWNlcyBs
YXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3RseS4gCitG
QUlMIGNvcnMtZXhwb3NlZCBoZWFkZXIgc2hvdWxkIGJlIHN0b3JlZCBjb3JyZWN0bHkuIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXIiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvdzNjLWltcG9ydC5sb2cKaW5kZXgg
MTc0NzAzZWQyNDZmM2Q2NzU3OTU3NzU3YjkyOTQyYzEwOGFjYzE1Ny4uMTcwZmI5MmRiODc3MGUx
ZjYyNWI3MjM0ZjBmYzdjMDM3NWQ2ZDg5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9z
ZXJ2aWNld29ya2VyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2Vydmlj
ZXdvcmtlci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNCw4ICsxNCwxMCBAQCBQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3b3JrZXIvY2FjaGUtYWJvcnQuaHR0
cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1hZGQuaHR0cHMu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1kZWxldGUuaHR0cHMu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvc2VydmljZXdvcmtlci9jYWNoZS1rZXlzLWF0dHJpYnV0
ZXMtZm9yLXNlcnZpY2Utd29ya2VyLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZp
Y2V3b3JrZXIvY2FjaGUta2V5cy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9zZXJ2aWNl
d29ya2VyL2NhY2hlLW1hdGNoLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3NlcnZpY2V3
b3JrZXIvY2FjaGUtbWF0Y2hBbGwuaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2UvdzNjLWltcG9ydC5sb2cKaW5k
ZXggMDgyNDA2MWUzYWExOTVjNjVjMzlkOWI5MWUxMGQyZTdkMTA2ZTE3Mi4uYTUzZTkyOTIyMzU3
OThlZDZjNGU5Y2VkNzQ5YzMyZjQxNzc5NWIxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3czYy1pbXBvcnQubG9nCkBA
IC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAg
LTE0LDUgKzE0LDUgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS9PV05FUlMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS9j
b21tb24uaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2Fj
aGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2Fj
aGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlM2YyZGVkOWFkMGYzZTk2
ZWViM2MxYmI3NzBhZmU4OTgxMmFiMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dpbmRvdy9jYWNoZS1hYm9ydC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBA
QAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworRkFJTCBwdXQo
KSBvbiBhbiBhbHJlYWR5LWFib3J0ZWQgcmVxdWVzdCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRF
cnJvciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogcHV0IHNob3VsZCBy
ZWplY3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIHB1dCgpIHN5bmNocm9ub3VzbHkg
Zm9sbG93ZWQgYnkgYWJvcnQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHB1dCBzaG91bGQgcmVqZWN0IFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQorVElNRU9VVCBwdXQoKSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBo
ZWFkZXJzIHJlY2VpdmVkIHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIFRlc3QgdGltZWQg
b3V0CitOT1RSVU4gYWRkKCkgb24gYW4gYWxyZWFkeS1hYm9ydGVkIHJlcXVlc3Qgc2hvdWxkIHJl
amVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRkKCkgc3luY2hyb25vdXNseSBmb2xsb3dl
ZCBieSBhYm9ydCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAKK05PVFJVTiBhZGQoKSBm
b2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJlY2VpdmVkIHNob3VsZCByZWplY3Qgd2l0
aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZEFsbCgpIG9uIGFuIGFscmVhZHktYWJvcnRlZCByZXF1
ZXN0IHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZEFsbCgpIHN5bmNo
cm9ub3VzbHkgZm9sbG93ZWQgYnkgYWJvcnQgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3Ig
CitOT1RSVU4gYWRkQWxsKCkgZm9sbG93ZWQgYnkgYWJvcnQgYWZ0ZXIgaGVhZGVycyByZWNlaXZl
ZCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLWFib3J0Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA1ZDM0ZDY2NWMyN2Nl
ZTkzYTAzZjcwMTNmMDg3Y2ZjMGE2MWFmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd2luZG93L2NhY2hlLWFib3J0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzx0aXRsZT5DYWNoZSBTdG9yYWdlOiBBYm9ydDwvdGl0bGU+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNyZXF1ZXN0LXNp
Z25hbCI+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvdGVzdC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9u
L3V0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9zY3JpcHQtdGVzdHMvY2FjaGUt
YWJvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cv
Y2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2Nh
Y2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggY2Y3NGNmYWQ2ZGRmMmVlNGQxMmY3ZjZh
NTc3NDVlZmU2MzliOTk0MS4uNjM2YzgyZmE1YjliN2ZmZTNkOTk0MGZmZjI0MDU2NTQ0ZGUxYTcw
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1hZGQuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xNyw0ICsxNyw3IEBAIFBBU1MgQ2FjaGUuYWRkQWxsIHdpdGggc3Ry
aW5nIFVSTCBhcmd1bWVudHMKIFBBU1MgQ2FjaGUuYWRkQWxsIHdpdGggUmVxdWVzdCBhcmd1bWVu
dHMgCiBQQVNTIENhY2hlLmFkZEFsbCB3aXRoIGEgbWl4IG9mIHN1Y2NlZWRpbmcgYW5kIGZhaWxp
bmcgcmVxdWVzdHMgCiBQQVNTIENhY2hlLmFkZEFsbCBjYWxsZWQgd2l0aCB0aGUgc2FtZSBSZXF1
ZXN0IG9iamVjdCBzcGVjaWZpZWQgdHdpY2UgCitQQVNTIENhY2hlLmFkZEFsbCBzaG91bGQgc3Vj
Y2VlZCB3aGVuIGVudHJpZXMgZGlmZmVyIGJ5IHZhcnkgaGVhZGVyIAorUEFTUyBDYWNoZS5hZGRB
bGwgc2hvdWxkIHJlamVjdCB3aGVuIGVudHJpZXMgYXJlIGR1cGxpY2F0ZSBieSB2YXJ5IGhlYWRl
ciAKK1BBU1MgQ2FjaGUuYWRkQWxsIHNob3VsZCByZWplY3Qgd2hlbiBvbmUgZW50cnkgaGFzIGEg
dmFyeSBoZWFkZXIgbWF0Y2hpbmcgYW5vdGhlciBlbnRyeSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2Fj
aGUtc3RvcmFnZS93aW5kb3cvY2FjaGUta2V5cy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwYjQx
NjRiOTM3YmJiOGM1NTA4ODVmMDc1NTU3OWQ4NTg3MDVkMWFkLi40OWE4MDkwNWZjOTM2NTg1YzIw
YTE2MGY3OTc1ZGQ3ZWJmMjVhMWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRv
dy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dp
bmRvdy9jYWNoZS1rZXlzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTEsNSArMTEsNiBAQCBQQVNT
IENhY2hlLmtleXMgc3VwcG9ydHMgaWdub3JlVmFyeQogUEFTUyBDYWNoZS5rZXlzIHdpdGggVVJM
IGNvbnRhaW5pbmcgZnJhZ21lbnQgCiBQQVNTIENhY2hlLmtleXMgd2l0aCBzdHJpbmcgZnJhZ21l
bnQgImh0dHAiIGFzIHF1ZXJ5IAogUEFTUyBDYWNoZS5rZXlzIHdpdGhvdXQgcGFyYW1ldGVycyAK
K1BBU1MgQ2FjaGUua2V5cyB3aXRob3V0IHBhcmFtZXRlcnMgYW5kIFZBUlkgZW50cmllcyAKIFBB
U1MgQ2FjaGUua2V5cyB3aXRoIGEgSEVBRCBSZXF1ZXN0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNo
ZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNGY1
MmU1MDBjODI1NzM0NWRkNDg1OTJiNzliM2IxNzUzODExOGU1YS4uZGZmOTlmYTgyNGQ0MDAxNjYw
Y2NmZWIwODM5ZTI3YTVjMzU4MDk3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5k
b3cvY2FjaGUtbWF0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLW1hdGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTksNCArMTksNSBAQCBQ
QVNTIENhY2hlLm1hdGNoIHdpdGggUE9TVCBSZXF1ZXN0CiBQQVNTIENhY2hlLm1hdGNoIHdpdGgg
YSBub24tMnh4IFJlc3BvbnNlIAogUEFTUyBDYWNoZS5tYXRjaCB3aXRoIGEgbmV0d29yayBlcnJv
ciBSZXNwb25zZSAKIFBBU1MgQ2FjaGUgcHJvZHVjZXMgbGFyZ2UgUmVzcG9uc2VzIHRoYXQgY2Fu
IGJlIGNsb25lZCBhbmQgcmVhZCBjb3JyZWN0bHkuIAorRkFJTCBjb3JzLWV4cG9zZWQgaGVhZGVy
IHNob3VsZCBiZSBzdG9yZWQgY29ycmVjdGx5LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3Ry
aW5nKSAiYmFyIiBidXQgZ290IChvYmplY3QpIG51bGwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUt
c3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uv
d2luZG93L2NhY2hlLW1hdGNoLmh0dHBzLmh0bWwKaW5kZXggZmZjNjQ5ODRlYTFiMDllNGMxYmVm
NDU5Yzg4NDgxY2I0OWNmNzJjZS4uZjI4ZWZhZDBiNzZiMzQxMTcxYWQyMzBlMThkMjQzZTIyOTE1
MzY4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtbWF0Y2guaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1tYXRjaC5odHRwcy5o
dG1sCkBAIC00LDUgKzQsNiBAQAogPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iLi4vc2NyaXB0LXRlc3RzL2NhY2hlLW1hdGNoLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFn
ZS93aW5kb3cvdzNjLWltcG9ydC5sb2cKaW5kZXggYTkxZWM2YmE4YjE1ODc5ZDVjNzcyMjA1MTE2
YjJmMjUyMzExMDRhYS4uMDNhOGJmODUyNjQ4MmNlMDdmZTE4NTVlZjQ4OWU3ZDg5ODM3YzMxZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvdzNjLWltcG9ydC5sb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgog
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTQsNiArMTQsNyBAQCBQ
cm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKIE5vbmUKIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1h
Ym9ydC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93aW5kb3cvY2FjaGUtYWRkLmh0dHBz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dpbmRvdy9jYWNoZS1kZWxldGUuaHR0cHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL2NhY2hlLXN0b3JhZ2Uvd2luZG93L2NhY2hlLWtleXMuaHR0cHMuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVlM2YyZGVkOWFkMGYzZTk2ZWViM2MxYmI3NzBhZmU4OTgxMmFiMmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hYm9ydC5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworRkFJTCBwdXQoKSBvbiBhbiBhbHJlYWR5LWFib3J0ZWQgcmVx
dWVzdCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRFcnJvciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91
bGQgaGF2ZSByZWplY3RlZDogcHV0IHNob3VsZCByZWplY3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitGQUlMIHB1dCgpIHN5bmNocm9ub3VzbHkgZm9sbG93ZWQgYnkgYWJvcnQgc2hvdWxkIHJl
amVjdCB3aXRoIEFib3J0RXJyb3IgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0
ZWQ6IHB1dCBzaG91bGQgcmVqZWN0IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorVElNRU9VVCBw
dXQoKSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFkZXJzIHJlY2VpdmVkIHNob3VsZCByZWpl
Y3Qgd2l0aCBBYm9ydEVycm9yIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gYWRkKCkgb24gYW4gYWxy
ZWFkeS1hYm9ydGVkIHJlcXVlc3Qgc2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RS
VU4gYWRkKCkgc3luY2hyb25vdXNseSBmb2xsb3dlZCBieSBhYm9ydCBzaG91bGQgcmVqZWN0IHdp
dGggQWJvcnRFcnJvciAKK05PVFJVTiBhZGQoKSBmb2xsb3dlZCBieSBhYm9ydCBhZnRlciBoZWFk
ZXJzIHJlY2VpdmVkIHNob3VsZCByZWplY3Qgd2l0aCBBYm9ydEVycm9yIAorTk9UUlVOIGFkZEFs
bCgpIG9uIGFuIGFscmVhZHktYWJvcnRlZCByZXF1ZXN0IHNob3VsZCByZWplY3Qgd2l0aCBBYm9y
dEVycm9yIAorTk9UUlVOIGFkZEFsbCgpIHN5bmNocm9ub3VzbHkgZm9sbG93ZWQgYnkgYWJvcnQg
c2hvdWxkIHJlamVjdCB3aXRoIEFib3J0RXJyb3IgCitOT1RSVU4gYWRkQWxsKCkgZm9sbG93ZWQg
YnkgYWJvcnQgYWZ0ZXIgaGVhZGVycyByZWNlaXZlZCBzaG91bGQgcmVqZWN0IHdpdGggQWJvcnRF
cnJvciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWJvcnQu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFib3J0Lmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjhiYmFkZTA3ZDM4NjJjODgzYmYwZjk1YjAyYTVjYjYxODFkOGU3OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWFib3J0Lmh0
dHBzLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4+Q2FjaGUg
U3RvcmFnZTogQWJvcnQ8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2Zl
dGNoLnNwZWMud2hhdHdnLm9yZy8jcmVxdWVzdC1zaWduYWwiPgorPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZmV0Y2hfdGVzdHNfZnJvbV93b3JrZXIobmV3IFdvcmtl
cignLi4vc2NyaXB0LXRlc3RzL2NhY2hlLWFib3J0LmpzJykpOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtYWRkLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCBjZjc0Y2ZhZDZkZGYyZWU0ZDEyZjdmNmE1Nzc0NWVmZTYzOWI5OTQxLi42MzZjODJmYTVi
OWI3ZmZlM2Q5OTQwZmZmMjQwNTY1NDRkZTFhNzAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9y
YWdlL3dvcmtlci9jYWNoZS1hZGQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0
b3JhZ2Uvd29ya2VyL2NhY2hlLWFkZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTE3LDQgKzE3LDcg
QEAgUEFTUyBDYWNoZS5hZGRBbGwgd2l0aCBzdHJpbmcgVVJMIGFyZ3VtZW50cwogUEFTUyBDYWNo
ZS5hZGRBbGwgd2l0aCBSZXF1ZXN0IGFyZ3VtZW50cyAKIFBBU1MgQ2FjaGUuYWRkQWxsIHdpdGgg
YSBtaXggb2Ygc3VjY2VlZGluZyBhbmQgZmFpbGluZyByZXF1ZXN0cyAKIFBBU1MgQ2FjaGUuYWRk
QWxsIGNhbGxlZCB3aXRoIHRoZSBzYW1lIFJlcXVlc3Qgb2JqZWN0IHNwZWNpZmllZCB0d2ljZSAK
K1BBU1MgQ2FjaGUuYWRkQWxsIHNob3VsZCBzdWNjZWVkIHdoZW4gZW50cmllcyBkaWZmZXIgYnkg
dmFyeSBoZWFkZXIgCitQQVNTIENhY2hlLmFkZEFsbCBzaG91bGQgcmVqZWN0IHdoZW4gZW50cmll
cyBhcmUgZHVwbGljYXRlIGJ5IHZhcnkgaGVhZGVyIAorUEFTUyBDYWNoZS5hZGRBbGwgc2hvdWxk
IHJlamVjdCB3aGVuIG9uZSBlbnRyeSBoYXMgYSB2YXJ5IGhlYWRlciBtYXRjaGluZyBhbm90aGVy
IGVudHJ5IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDBiNDE2NGI5MzdiYmI4YzU1MDg4NWYwNzU1NTc5ZDg1
ODcwNWQxYWQuLjQ5YTgwOTA1ZmM5MzY1ODVjMjBhMTYwZjc5NzVkZDdlYmYyNWExZDEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLWtleXMuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xMSw1ICsxMSw2IEBAIFBBU1MgQ2FjaGUua2V5cyBzdXBwb3J0cyBpZ25vcmVW
YXJ5CiBQQVNTIENhY2hlLmtleXMgd2l0aCBVUkwgY29udGFpbmluZyBmcmFnbWVudCAKIFBBU1Mg
Q2FjaGUua2V5cyB3aXRoIHN0cmluZyBmcmFnbWVudCAiaHR0cCIgYXMgcXVlcnkgCiBQQVNTIENh
Y2hlLmtleXMgd2l0aG91dCBwYXJhbWV0ZXJzIAorUEFTUyBDYWNoZS5rZXlzIHdpdGhvdXQgcGFy
YW1ldGVycyBhbmQgVkFSWSBlbnRyaWVzIAogUEFTUyBDYWNoZS5rZXlzIHdpdGggYSBIRUFEIFJl
cXVlc3QgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL2NhY2hlLW1hdGNo
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA0ZjUyZTUwMGM4MjU3MzQ1ZGQ0ODU5MmI3OWIzYjE3
NTM4MTE4ZTVhLi5kZmY5OWZhODI0ZDQwMDE2NjBjY2ZlYjA4MzllMjdhNWMzNTgwOTczIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1tYXRjaC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUtbWF0Y2guaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xOSw0ICsxOSw1IEBAIFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBQT1NUIFJl
cXVlc3QKIFBBU1MgQ2FjaGUubWF0Y2ggd2l0aCBhIG5vbi0yeHggUmVzcG9uc2UgCiBQQVNTIENh
Y2hlLm1hdGNoIHdpdGggYSBuZXR3b3JrIGVycm9yIFJlc3BvbnNlIAogUEFTUyBDYWNoZSBwcm9k
dWNlcyBsYXJnZSBSZXNwb25zZXMgdGhhdCBjYW4gYmUgY2xvbmVkIGFuZCByZWFkIGNvcnJlY3Rs
eS4gCitGQUlMIGNvcnMtZXhwb3NlZCBoZWFkZXIgc2hvdWxkIGJlIHN0b3JlZCBjb3JyZWN0bHku
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXIiIGJ1dCBnb3QgKG9iamVjdCkg
bnVsbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL3czYy1pbXBvcnQubG9nCmluZGV4IGNiNTVmZmQ2
YjViYmQwOTA1NzIzZmQ2YTY0NWQwZGU4NzA3ZTdiOTQuLmJjZDYzZTMxYTgzNGRhOTgzZmI1NDM2
NzU4ODg2NzJlNzRiNWJlMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29ya2VyL3czYy1pbXBvcnQubG9n
CkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwor
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAK
QEAgLTE0LDYgKzE0LDcgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3Rv
cmFnZS93b3JrZXIvY2FjaGUtYWJvcnQuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL2NhY2hlLXN0b3JhZ2Uvd29y
a2VyL2NhY2hlLWFkZC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvY2FjaGUtc3RvcmFnZS93b3JrZXIvY2FjaGUt
ZGVsZXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9jYWNoZS1zdG9yYWdlL3dvcmtlci9jYWNoZS1rZXlzLmh0
dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2VyLUFs
bG93ZWQtaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZp
Y2UtV29ya2VyLUFsbG93ZWQtaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MTc1OWUwODNkMzE1NTE1YmUwNzFjMWIxODQyM2IwYjIwMGVhOWE0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZS1Xb3JrZXItQWxsb3dlZC1oZWFkZXIuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKworUEFTUyBSZWdpc3RlcmluZyB3aXRoaW4g
U2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIAorUEFTUyBSZWdpc3RlcmluZyB3aXRoaW4gU2Vy
dmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIChhYnNvbHV0ZSBVUkwpIAorUEFTUyBSZWdpc3Rlcmlu
ZyB3aXRoaW4gU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdpdGggcGFyZW50IHJlZmVyZW5j
ZSAKK1BBU1MgUmVnaXN0ZXJpbmcgb3V0c2lkZSBTZXJ2aWNlLVdvcmtlci1BbGxvd2VkIHBhdGgg
CitQQVNTIFJlZ2lzdGVyaW5nIG91dHNpZGUgU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdp
dGggcGFyZW50IHJlZmVyZW5jZSAKK1BBU1MgU2VydmljZS1Xb3JrZXItQWxsb3dlZCBpcyBjcm9z
cy1vcmlnaW4gdG8gc2NyaXB0LCByZWdpc3RlcmluZyBvbiBhIG5vcm1hbGx5IGFsbG93ZWQgc2Nv
cGUgCitQQVNTIFNlcnZpY2UtV29ya2VyLUFsbG93ZWQgaXMgY3Jvc3Mtb3JpZ2luIHRvIHNjcmlw
dCwgcmVnaXN0ZXJpbmcgb24gYSBub3JtYWxseSBkaXNhbGxvd2VkIHNjb3BlIAorUEFTUyBTZXJ2
aWNlLVdvcmtlci1BbGxvd2VkIGlzIGNyb3NzLW9yaWdpbiB0byBwYWdlLCBzYW1lLW9yaWdpbiB0
byBzY3JpcHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2Vy
LUFsbG93ZWQtaGVhZGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNlLVdv
cmtlci1BbGxvd2VkLWhlYWRlci5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxNjA2N2NjMDY2Nzk1
NzA4NjZjZDFjY2Y2N2YyNzNjY2U1N2ExNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9TZXJ2aWNlLVdvcmtlci1BbGxvd2VkLWhlYWRlci5odHRwcy5odG1sCkBAIC0wLDAg
KzEsMTA0IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogU2Vydmlj
ZS1Xb3JrZXItQWxsb3dlZCBoZWFkZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBl
cnMuc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0IGhvc3RfaW5mbyA9IGdldF9o
b3N0X2luZm8oKTsKKworLy8gUmV0dXJucyBhIFVSTCBmb3IgYSBzZXJ2aWNlIHdvcmtlciBzY3Jp
cHQgd2hvc2UgU2VydmljZS1Xb3JrZXItQWxsb3dlZAorLy8gaGVhZGVyIHZhbHVlIGlzIHNldCB0
byB8YWxsb3dlZF9wYXRofC4gSWYgfG9yaWdpbnwgaXMgc3BlY2lmaWVkLCB0aGF0IG9yaWdpbgor
Ly8gaXMgdXNlZC4KK2Z1bmN0aW9uIGJ1aWxkX3NjcmlwdF91cmwoYWxsb3dlZF9wYXRoLCBvcmln
aW4pIHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOworICBj
b25zdCB1cmwgPSBvcmlnaW4gPyBgJHtvcmlnaW59JHtiYXNlX3BhdGgoKX0ke3NjcmlwdH1gIDog
c2NyaXB0OworICByZXR1cm4gYCR7dXJsfT9waXBlPWhlYWRlcihTZXJ2aWNlLVdvcmtlci1BbGxv
d2VkLCR7YWxsb3dlZF9wYXRofSlgOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
IGNvbnN0IHNjcmlwdCA9IGJ1aWxkX3NjcmlwdF91cmwoJy9hbGxvd2VkLXBhdGgnKTsKKyAgY29u
c3Qgc2NvcGUgPSAnL2FsbG93ZWQtcGF0aCc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgICAgdCwgc2NyaXB0
LCBzY29wZSk7CisgIGFzc2VydF90cnVlKHJlZ2lzdHJhdGlvbiBpbnN0YW5jZW9mIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24sICdyZWdpc3RlcmVkJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0
cmF0aW9uLnNjb3BlLCBub3JtYWxpemVVUkwoc2NvcGUpKTsKKyAgcmV0dXJuIHJlZ2lzdHJhdGlv
bi51bnJlZ2lzdGVyKCk7Cit9LCAnUmVnaXN0ZXJpbmcgd2l0aGluIFNlcnZpY2UtV29ya2VyLUFs
bG93ZWQgcGF0aCcpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHNjcmlw
dCA9IGJ1aWxkX3NjcmlwdF91cmwobmV3IFVSTCgnL2FsbG93ZWQtcGF0aCcsIGRvY3VtZW50Lmxv
Y2F0aW9uKSk7CisgIGNvbnN0IHNjb3BlID0gJy9hbGxvd2VkLXBhdGgnOworICBjb25zdCByZWdp
c3RyYXRpb24gPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigK
KyAgICAgIHQsIHNjcmlwdCwgc2NvcGUpOworICBhc3NlcnRfdHJ1ZShyZWdpc3RyYXRpb24gaW5z
dGFuY2VvZiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLCAncmVnaXN0ZXJlZCcpOworICBhc3Nl
cnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5zY29wZSwgbm9ybWFsaXplVVJMKHNjb3BlKSk7CisgIHJl
dHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworfSwgJ1JlZ2lzdGVyaW5nIHdpdGhpbiBT
ZXJ2aWNlLVdvcmtlci1BbGxvd2VkIHBhdGggKGFic29sdXRlIFVSTCknKTsKKworcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSBidWlsZF9zY3JpcHRfdXJsKCcuLi9h
bGxvd2VkLXBhdGgtd2l0aC1wYXJlbnQnKTsKKyAgY29uc3Qgc2NvcGUgPSAnYWxsb3dlZC1wYXRo
LXdpdGgtcGFyZW50JzsKKyAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCisgICAgICB0LCBzY3JpcHQsIHNjb3BlKTsKKyAg
YXNzZXJ0X3RydWUocmVnaXN0cmF0aW9uIGluc3RhbmNlb2YgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiwgJ3JlZ2lzdGVyZWQnKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24uc2NvcGUs
IG5vcm1hbGl6ZVVSTChzY29wZSkpOworICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIo
KTsKK30sICdSZWdpc3RlcmluZyB3aXRoaW4gU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdp
dGggcGFyZW50IHJlZmVyZW5jZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNv
bnN0IHNjcmlwdCA9IGJ1aWxkX3NjcmlwdF91cmwoJy4uL2FsbG93ZWQtcGF0aCcpOworICBjb25z
dCBzY29wZSA9ICcvZGlzYWxsb3dlZC1wYXRoJzsKKyAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcih0LCBzY29wZSk7CisgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwKKyAgICAgICdT
ZWN1cml0eUVycm9yJywKKyAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHNj
cmlwdCwge3Njb3BlOiBzY29wZX0pLAorICAgICAgJ3JlZ2lzdGVyIHNob3VsZCBmYWlsJyk7Cit9
LCAnUmVnaXN0ZXJpbmcgb3V0c2lkZSBTZXJ2aWNlLVdvcmtlci1BbGxvd2VkIHBhdGgnKTsKKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSBidWlsZF9zY3JpcHRf
dXJsKCcuLi9hbGxvd2VkLXBhdGgtd2l0aC1wYXJlbnQnKTsKKyAgY29uc3Qgc2NvcGUgPSAnL2Fs
bG93ZWQtcGF0aC13aXRoLXBhcmVudCc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXIodCwgc2NvcGUpOworICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsCisgICAgICAnU2VjdXJp
dHlFcnJvcicsCisgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzY3JpcHQs
IHtzY29wZTogc2NvcGV9KSwKKyAgICAgICdyZWdpc3RlciBzaG91bGQgZmFpbCcpOworfSwgJ1Jl
Z2lzdGVyaW5nIG91dHNpZGUgU2VydmljZS1Xb3JrZXItQWxsb3dlZCBwYXRoIHdpdGggcGFyZW50
IHJlZmVyZW5jZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IHNjcmlw
dCA9IGJ1aWxkX3NjcmlwdF91cmwoCisgICAgICBob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJ
TiArICcvJyk7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy90aGlzLXNjb3BlLWlzLW5vcm1h
bGx5LWFsbG93ZWQnCisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgICAgdCwgc2NyaXB0LCBzY29wZSk7CisgIGFz
c2VydF90cnVlKHJlZ2lzdHJhdGlvbiBpbnN0YW5jZW9mIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24sICdyZWdpc3RlcmVkJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLnNjb3BlLCBu
b3JtYWxpemVVUkwoc2NvcGUpKTsKKyAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7
Cit9LCAnU2VydmljZS1Xb3JrZXItQWxsb3dlZCBpcyBjcm9zcy1vcmlnaW4gdG8gc2NyaXB0LCBy
ZWdpc3RlcmluZyBvbiBhIG5vcm1hbGx5IGFsbG93ZWQgc2NvcGUnKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSBidWlsZF9zY3JpcHRfdXJsKAorICAgICAg
aG9zdF9pbmZvLkhUVFBTX1JFTU9URV9PUklHSU4gKyAnLycpOworICBjb25zdCBzY29wZSA9ICcv
dGhpcy1zY29wZS1pcy1ub3JtYWxseS1kaXNhbGxvd2VkJworICBjb25zdCByZWdpc3RyYXRpb24g
PSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAgIHQs
IHNjcmlwdCwgc2NvcGUpOworICBhc3NlcnRfdHJ1ZShyZWdpc3RyYXRpb24gaW5zdGFuY2VvZiBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLCAncmVnaXN0ZXJlZCcpOworICBhc3NlcnRfZXF1YWxz
KHJlZ2lzdHJhdGlvbi5zY29wZSwgbm9ybWFsaXplVVJMKHNjb3BlKSk7CisgIHJldHVybiByZWdp
c3RyYXRpb24udW5yZWdpc3RlcigpOworfSwgJ1NlcnZpY2UtV29ya2VyLUFsbG93ZWQgaXMgY3Jv
c3Mtb3JpZ2luIHRvIHNjcmlwdCwgcmVnaXN0ZXJpbmcgb24gYSBub3JtYWxseSBkaXNhbGxvd2Vk
IHNjb3BlJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0g
YnVpbGRfc2NyaXB0X3VybCgKKyAgICAgIGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsg
Jy9jcm9zcy1vcmlnaW4vJywKKyAgICAgIGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOKTsK
KyAgY29uc3Qgc2NvcGUgPSAnL2Nyb3NzLW9yaWdpbi8nOworICBhd2FpdCBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAorICAg
ICAgJ1NlY3VyaXR5RXJyb3InLAorICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0
ZXIoc2NyaXB0LCB7c2NvcGU6IHNjb3BlfSksCisgICAgICAncmVnaXN0ZXIgc2hvdWxkIGZhaWwn
KTsKK30sICdTZXJ2aWNlLVdvcmtlci1BbGxvd2VkIGlzIGNyb3NzLW9yaWdpbiB0byBwYWdlLCBz
YW1lLW9yaWdpbiB0byBzY3JpcHQnKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvcmVzb3VyY2VzL3VucmVnaXN0ZXIt
Y29udHJvbGxpbmctd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUvcmVzb3VyY2VzL3VucmVnaXN0ZXItY29udHJvbGxpbmctd29ya2VyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggZTg1MWNhYWI1MGE3ZTI2ZGU0
N2M5MGE3YmRkMDlhNjBiYjJmNzg2OS4uYzNlOGU2ZGU4YjBmZTYzMWIzNzVjOWE5MWJjN2NhMjFm
OTU0MzkwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcg
KzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS93M2MtaW1w
b3J0LmxvZwppbmRleCAzOWNkYzQzMWVlZWMzNzZhNmM4ZDIzOWIxNmViOWRiN2NmMTY0MjYyLi4y
NzcwOTBmMTE5ODAzMTRjOGU3OTY4NmRkNjNkYmQ1MTk5NmJiNTE0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvdzNjLWltcG9ydC5sb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlL3czYy1pbXBvcnQu
bG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1w
b3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3Rz
IGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0
aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CiAKQEAgLTE3LDYgKzE3LDggQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUvY2xvc2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9leHRlbmRhYmxlLW1lc3NhZ2UtZXZlbnQtY29u
c3RydWN0b3IuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZS9leHRlbmRhYmxlLW1lc3NhZ2UtZXZlbnQuaHR0cHMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9pc1NlY3VyZUNvbnRleHQuaHR0cHMuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9pc1NlY3VyZUNv
bnRleHQuc2VydmljZXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZS9wb3N0bWVzc2FnZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlL3JlZ2lzdHJhdGlvbi1hdHRyaWJ1dGUuaHR0cHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS9zZXJ2aWNlLXdvcmtl
ci1lcnJvci1ldmVudC5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9h
Ym91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNDI3
NzBiNDIyMTdhY2U2ZGE3MTYzNzkyOWQxYzY0MmI4NTNlMTM5OS4uYzUwZmNlNGFkYTYwN2Q1OWMz
NjQ3NTMwY2EwZDllNjdjZjhkOGYzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJv
dXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw3
ICsxLDExIEBACitmcmFtZSAiPCEtLWZyYW1lNS0tPiIgLSBoYXMgMSBvbnVubG9hZCBoYW5kbGVy
KHMpCiAKIAogRkFJTCBJbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQg
dG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFzc2VydF9m
YWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQg
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIEZBSUwgSW5pdGlhbCBhYm91dDpibGFuayBtb2RpZmll
ZCBieSBwYXJlbnQgaXMgY29udHJvbGxlZCwgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCks
IGFuZCBtYXRjaGVzIGZpbmFsIENsaWVudC4gYXNzZXJ0X2ZhbHNlOiByZXN1bHQ6IGZhaWx1cmU6
IGNvdWxkIG5vdCBmaW5kIGFib3V0OmJsYW5rIGNsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1
ZQogRkFJTCBQb3B1cCBpbml0aWFsIGFib3V0OmJsYW5rIGlzIGNvbnRyb2xsZWQsIGV4cG9zZWQg
dG8gY2xpZW50cy5tYXRjaEFsbCgpLCBhbmQgbWF0Y2hlcyBmaW5hbCBDbGllbnQuIGFzc2VydF9m
YWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGllbnQg
ZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgSW5pdGlhbCBhYm91dDpibGFuayBpcyBjb250
cm9sbGVkLCBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kIGZpbmFsIENsaWVudCBp
cyBub3QgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiAKK0ZBSUwgU2ltcGxlIGFib3V0
OmJsYW5rIGlzIGNvbnRyb2xsZWQgYW5kIGlzIGV4cG9zZWQgdG8gY2xpZW50cy5tYXRjaEFsbCgp
LiBhc3NlcnRfZmFsc2U6IHJlc3VsdDogZmFpbHVyZTogY291bGQgbm90IGZpbmQgYWJvdXQ6Ymxh
bmsgY2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIE5lc3RlZCBhYm91dDpzcmNk
b2MgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFz
c2VydF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpzcmNkb2Mg
Y2xpZW50IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitGQUlMIER5bmFtaWMgYWJvdXQ6Ymxhbmsg
aXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuIGFzc2Vy
dF9mYWxzZTogcmVzdWx0OiBmYWlsdXJlOiBjb3VsZCBub3QgZmluZCBhYm91dDpibGFuayBjbGll
bnQgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50Lmh0dHBzLmh0bWwKaW5kZXggM2FjZmUxYjE2NmE2OGM4
NzUwODQ0ZDM3YzgyZWM5OGIyMmFiZTE3My4uZTFmZWZhZjI5MGZlNTIxNTkwYTQ2MDk0MmQ0YzNm
NmMwMDIyYzc1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVw
bGFjZW1lbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1y
ZXBsYWNlbWVudC5odHRwcy5odG1sCkBAIC01OCw3ICs1OCw3IEBAIGZ1bmN0aW9uIGdldENsaWVu
dElkQnlVUkwod29ya2VyLCB1cmwpIHsKICAgfSk7CiB9CiAKLWFzeW5jIGZ1bmN0aW9uIGRvQXN5
bmNUZXN0KHQsIHNjb3BlLCBleHRyYVNlYXJjaFBhcmFtcykgeworYXN5bmMgZnVuY3Rpb24gZG9B
c3luY1Rlc3QodCwgc2NvcGUpIHsKICAgbGV0IHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpOwogICBhd2FpdCB3YWl0X2Zv
cl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogCkBAIC03MCwyMCArNzAs
MzAgQEAgYXN5bmMgZnVuY3Rpb24gZG9Bc3luY1Rlc3QodCwgc2NvcGUsIGV4dHJhU2VhcmNoUGFy
YW1zKSB7CiAgIGxldCBpbml0aWFsUmVzdWx0ID0gZnJhbWUuY29udGVudFdpbmRvdy5uZXN0ZWQo
KS5kb2N1bWVudC5ib2R5LnRleHRDb250ZW50OwogICBhc3NlcnRfZmFsc2UoaW5pdGlhbFJlc3Vs
dC5zdGFydHNXaXRoKCdmYWlsdXJlOicpLCBgcmVzdWx0OiAke2luaXRpYWxSZXN1bHR9YCk7CiAK
KyAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLmNvbnRyb2xsZXIuc2NyaXB0VVJMLAorICAgICAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRX
aW5kb3cubmVzdGVkKCkubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5zY3JpcHRV
UkwsCisgICAgICAgICAgICAgICAgJ25lc3RlZCBhYm91dDpibGFuayBzaG91bGQgaGF2ZSBzYW1l
IGNvbnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyJyk7CisKICAgLy8gTmV4dCwgYXNrIHRoZSBzZXJ2
aWNlIHdvcmtlciB0byBmaW5kIHRoZSBmaW5hbCBjbGllbnQgSUQgZm9yIHRoZSBmdWxseQogICAv
LyBsb2FkZWQgbmVzdGVkIGZyYW1lLgotICBsZXQgbmVzdGVkVVJMID0gbmV3IFVSTChzY29wZSwg
d2luZG93LmxvY2F0aW9uKTsKLSAgbmVzdGVkVVJMLnNlYXJjaFBhcmFtcy5zZXQoJ25lc3RlZCcs
IHRydWUpOwotICBleHRyYVNlYXJjaFBhcmFtcyA9IGV4dHJhU2VhcmNoUGFyYW1zIHx8IHt9Owot
ICBmb3IgKGxldCBwIGluIGV4dHJhU2VhcmNoUGFyYW1zKSB7Ci0gICAgbmVzdGVkVVJMLnNlYXJj
aFBhcmFtcy5zZXQocCwgZXh0cmFTZWFyY2hQYXJhbXNbcF0pOwotICB9CisgIGxldCBuZXN0ZWRV
UkwgPSBuZXcgVVJMKGZyYW1lLmNvbnRlbnRXaW5kb3cubmVzdGVkKCkubG9jYXRpb24pOwogICBs
ZXQgZmluYWxSZXN1bHQgPSBhd2FpdCBnZXRDbGllbnRJZEJ5VVJMKHJlZy5hY3RpdmUsIG5lc3Rl
ZFVSTCk7CiAgIGFzc2VydF9mYWxzZShmaW5hbFJlc3VsdC5zdGFydHNXaXRoKCdmYWlsdXJlOicp
LCBgcmVzdWx0OiAke2ZpbmFsUmVzdWx0fWApOwogCi0gIC8vIFRoZSBpbml0aWFsIGFib3V0OmJs
YW5rIGNsaWVudCBhbmQgdGhlIGZpbmFsIGxvYWRlZCBjbGllbnQgc2hvdWxkIGhhdmUKLSAgLy8g
dGhlIHNhbWUgSUQgdmFsdWUuCi0gIGFzc2VydF9lcXVhbHMoaW5pdGlhbFJlc3VsdCwgZmluYWxS
ZXN1bHQsICdjbGllbnQgSUQgdmFsdWVzIHNob3VsZCBtYXRjaCcpOworICAvLyBJZiB0aGUgbmVz
dGVkIGZyYW1lIGRvZXNuJ3QgaGF2ZSBhIFVSTCB0byBsb2FkLCB0aGVuIHRoZXJlIGlzIG5vIGZl
dGNoCisgIC8vIGV2ZW50IGFuZCB0aGUgYm9keSBzaG91bGQgYmUgZW1wdHkuICBXZSBjYW4ndCB2
ZXJpZnkgdGhlIGZpbmFsIGNsaWVudCBJRAorICAvLyBhZ2FpbnN0IGFueXRoaW5nLgorICBpZiAo
bmVzdGVkVVJMLmhyZWYgPT09ICdhYm91dDpibGFuaycgfHwKKyAgICAgIG5lc3RlZFVSTC5ocmVm
ID09PSAnYWJvdXQ6c3JjZG9jJykgeworICAgIGFzc2VydF9lcXVhbHMoJycsIGluaXRpYWxSZXN1
bHQsICdhYm91dDpibGFuayB0ZXh0IGNvbnRlbnQgc2hvdWxkIGJlIGJsYW5rJyk7CisgIH0KKwor
ICAvLyBJZiB0aGUgbmVzdGVkIFVSTCBpcyBub3QgYWJvdXQ6YmxhbmssIHRob3VnaCwgdGhlbiB0
aGUgZmV0Y2ggZXZlbnQgaGFuZGxlcgorICAvLyBzaG91bGQgaGF2ZSBwb3B1bGF0ZWQgdGhlIGJv
ZHkgd2l0aCB0aGUgY2xpZW50IGlkIG9mIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rLgorICAvLyBW
ZXJpZnkgdGhlIGZpbmFsIGNsaWVudCBpZCBtYXRjaGVzLgorICBlbHNlIHsKKyAgICBhc3NlcnRf
ZXF1YWxzKGluaXRpYWxSZXN1bHQsIGZpbmFsUmVzdWx0LCAnY2xpZW50IElEIHZhbHVlcyBzaG91
bGQgbWF0Y2gnKTsKKyAgfQogCiAgIGZyYW1lLnJlbW92ZSgpOwogICBhd2FpdCBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKQEAgLTEwMSw4ICsxMTEsNyBAQCBw
cm9taXNlX3Rlc3QoYXN5bmMgZnVuY3Rpb24odCkgewogICAvLyB3b3JrZXIgY2FuIHBpbmcgdGhl
IGNsaWVudCB0byB2ZXJpZnkgaXRzIGV4aXN0ZW5jZS4gIFRoaXMgcGluZy1wb25nCiAgIC8vIGNo
ZWNrIGlzIHBlcmZvcm1lZCBkdXJpbmcgdGhlIGluaXRpYWwgbG9hZCBhbmQgd2hlbiB2ZXJpZnlp
bmcgdGhlCiAgIC8vIGZpbmFsIGxvYWRlZCBjbGllbnQuCi0gIGF3YWl0IGRvQXN5bmNUZXN0KHQs
ICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtcGluZy1mcmFtZS5weScsCi0gICAg
ICAgICAgICAgICAgICAgIHsgJ3BpbmcnOiB0cnVlIH0pOworICBhd2FpdCBkb0FzeW5jVGVzdCh0
LCAncmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHknKTsKIH0s
ICdJbml0aWFsIGFib3V0OmJsYW5rIG1vZGlmaWVkIGJ5IHBhcmVudCBpcyBjb250cm9sbGVkLCBl
eHBvc2VkIHRvICcgKwogICAgJ2NsaWVudHMubWF0Y2hBbGwoKSwgYW5kIG1hdGNoZXMgZmluYWwg
Q2xpZW50LicpOwogCkBAIC0xNDIsNSArMTUxLDI3IEBAIHByb21pc2VfdGVzdChhc3luYyBmdW5j
dGlvbih0KSB7CiB9LCAnSW5pdGlhbCBhYm91dDpibGFuayBpcyBjb250cm9sbGVkLCBleHBvc2Vk
IHRvIGNsaWVudHMubWF0Y2hBbGwoKSwgYW5kICcgKwogICAgJ2ZpbmFsIENsaWVudCBpcyBub3Qg
Y29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLicpOwogCitwcm9taXNlX3Rlc3QoYXN5bmMg
ZnVuY3Rpb24odCkgeworICAvLyBFeGVjdXRlIGEgdGVzdCB3aGVyZSB0aGUgbmVzdGVkIGZyYW1l
IGlzIGFuIGlmcmFtZSB3aXRob3V0IGEgc3JjCisgIC8vIGF0dHJpYnV0ZS4gIFRoaXMgc2ltcGxl
IG5lc3RlZCBhYm91dDpibGFuayBzaG91bGQgc3RpbGwgaW5oZXJpdCB0aGUKKyAgLy8gY29udHJv
bGxlciBhbmQgYmUgdmlzaWJsZSB0byBjbGllbnRzLm1hdGNoQWxsKCkuCisgIGF3YWl0IGRvQXN5
bmNUZXN0KHQsICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmstbmVzdGVk
LWZyYW1lLmh0bWwnKTsKK30sICdTaW1wbGUgYWJvdXQ6YmxhbmsgaXMgY29udHJvbGxlZCBhbmQg
aXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuJyk7CisKK3Byb21pc2VfdGVzdChhc3lu
YyBmdW5jdGlvbih0KSB7CisgIC8vIEV4ZWN1dGUgYSB0ZXN0IHdoZXJlIHRoZSBuZXN0ZWQgZnJh
bWUgaXMgYW4gaWZyYW1lIHVzaW5nIGEgbm9uLWVtcHR5CisgIC8vIHNyY2RvYyBjb250YWluaW5n
IG9ubHkgYSB0YWcgcGFpciBzbyBpdHMgdGV4dENvbnRlbnQgaXMgc3RpbGwgZW1wdHkuCisgIC8v
IFRoaXMgbmVzdGVkIGlmcmFtZSBzaG91bGQgc3RpbGwgaW5oZXJpdCB0aGUgY29udHJvbGxlciBh
bmQgYmUgdmlzaWJsZQorICAvLyB0byBjbGllbnRzLm1hdGNoQWxsKCkuCisgIGF3YWl0IGRvQXN5
bmNUZXN0KHQsICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtc3JjZG9jLW5lc3Rl
ZC1mcmFtZS5odG1sJyk7Cit9LCAnTmVzdGVkIGFib3V0OnNyY2RvYyBpcyBjb250cm9sbGVkIGFu
ZCBpcyBleHBvc2VkIHRvIGNsaWVudHMubWF0Y2hBbGwoKS4nKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jIGZ1bmN0aW9uKHQpIHsKKyAgLy8gRXhlY3V0ZSBhIHRlc3Qgd2hlcmUgdGhlIG5lc3RlZCBm
cmFtZSBpcyBkeW5hbWljYWxseSBhZGRlZCB3aXRob3V0IGEgc3JjCisgIC8vIGF0dHJpYnV0ZS4g
IFRoaXMgc2ltcGxlIG5lc3RlZCBhYm91dDpibGFuayBzaG91bGQgc3RpbGwgaW5oZXJpdCB0aGUK
KyAgLy8gY29udHJvbGxlciBhbmQgYmUgdmlzaWJsZSB0byBjbGllbnRzLm1hdGNoQWxsKCkuCisg
IGF3YWl0IGRvQXN5bmNUZXN0KHQsICdyZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQt
YmxhbmstZHluYW1pYy1uZXN0ZWQtZnJhbWUuaHRtbCcpOworfSwgJ0R5bmFtaWMgYWJvdXQ6Ymxh
bmsgaXMgY29udHJvbGxlZCBhbmQgaXMgZXhwb3NlZCB0byBjbGllbnRzLm1hdGNoQWxsKCkuJyk7
CisKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0
aXZhdGlvbi1hZnRlci1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2FjdGl2YXRpb24tYWZ0ZXItcmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwKaW5kZXggZmYwOTkwZGY2
YmE5OWJlNzliMDY5YzJjYzcwYWQ3MGM5MjBiYTRlMC4uMjlmOTdlM2UzZjRjMGNkYTIzMjE3NzZj
YmY0OGZlZDkyZDFjOTBhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGlv
bi1hZnRlci1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9h
Y3RpdmF0aW9uLWFmdGVyLXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sCkBAIC01LDI1ICs1LDI0IEBA
CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0Pgog
PGJvZHk+CiA8c2NyaXB0PgotdmFyIHQgPSBhc3luY190ZXN0KCdhY3RpdmF0aW9uIG9jY3VycyBh
ZnRlciByZWdpc3RyYXRpb24nKTsKLXQuc3RlcChmdW5jdGlvbigpIHsKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9ibGFuay5odG1sJzsKICAg
ICB2YXIgcmVnaXN0cmF0aW9uOwogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
cmVnaXN0ZXIoCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKAogICAgICAgICB0LCAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcycsIHNjb3BlKQogICAg
ICAgLnRoZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNj
b3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKAogICAgICAgICAgICAgICByLmluc3RhbGxpbmcuc3RhdGUs
CiAgICAgICAgICAgICAgICdpbnN0YWxsaW5nJywKICAgICAgICAgICAgICAgJ3dvcmtlciBzaG91
bGQgYmUgaW4gdGhlICJpbnN0YWxsaW5nIiBzdGF0ZSB1cG9uIHJlZ2lzdHJhdGlvbicpOwogICAg
ICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAg
ICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotfSk7CisgICAgICAgIH0pOworfSwg
J2FjdGl2YXRpb24gb2NjdXJzIGFmdGVyIHJlZ2lzdHJhdGlvbicpOwogPC9zY3JpcHQ+CiA8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmF0aW9uLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmF0aW9uLmh0dHBzLmh0bWwKaW5kZXggMTVkMzg2ZWUx
ZjIzNmZhZTk5OTFlY2MzZTJkYjFiOGFiMDJmNWJlMy4uNTc1NTc1OGU1NzE2ZGJjNjA4ZTdlNzcz
YmY5YjgzYWIzZjJmN2U5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGlv
bi5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2YXRpb24uaHR0cHMuaHRt
bApAQCAtMSwyOSArMSwxMSBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+CiA8dGl0bGU+c2VydmljZSB3b3JrZXI6IGFjdGl2YXRpb248L3RpdGxlPgotPGJvZHk+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+CiA8
c2NyaXB0PgotLy8gUmVnaXN0ZXJzLCB3YWl0cyBmb3IgYWN0aXZhdGlvbiwgdGhlbiB1bnJlZ2lz
dGVycyBvbiBhIGR1bW15IHNjb3BlLgotLy8KLS8vIFRoaXMgaGVscGVyIGNhbiBiZSB1c2VkIGlu
IHRlc3RzIHRoYXQgYXNzZXJ0IHRoYXQgYWN0aXZhdGlvbiBkb2Vzbid0IGhhcHBlbi4KLS8vIEl0
IHdvdWxkIG5vdCBiZSBzdWZmaWNpZW50IHRvIGNoZWNrIHRoZSAud2FpdGluZy8uYWN0aXZlIHBy
b3BlcnRpZXMgb25jZSwKLS8vIHNpbmNlIGFjdGl2YXRpb24gY291bGQgYmUgc2NoZWR1bGVkIGFu
ZCBqdXN0IGhhc24ndCBoYXBwZW5lZCB5ZXQuIFNpbmNlIHRoaXMKLS8vIGhlbHBlciBzaG93cyB0
aGF0IGFjdGl2YXRpb24gb2YgYW5vdGhlciByZWdpc3RyYXRpb24gY29tcGxldGVkLCB3ZSBjYW4g
YmUKLS8vIHN1cmUgdGhhdCBhY3RpdmF0aW9uIHJlYWxseSB3aWxsIG5vdCBoYXBwZW4uCi1mdW5j
dGlvbiB3YWl0X2Zvcl9hY3RpdmF0aW9uX29uX2R1bW15X3Njb3BlKHQpIHsKLSAgdmFyIGR1bW15
X3Njb3BlID0gJ3Jlc291cmNlcy90aGVyZS9pcy9uby90aGVyZS90aGVyZSc7Ci0gIHZhciByZWdp
c3RyYXRpb247Ci0gIHJldHVybiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigncmVz
b3VyY2VzL2VtcHR5LXdvcmtlci5qcycsCi0gICAgICB7IHNjb3BlOiBkdW1teV9zY29wZSB9KQot
ICAgIC50aGVuKHIgPT4gewotICAgICAgICByZWdpc3RyYXRpb24gPSByOwotICAgICAgICByZXR1
cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKLSAgICAgIH0pCi0gICAgLnRoZW4oKCkgPT4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKSk7
Ci19CiAvLyBSZXR1cm5zIHtyZWdpc3RyYXRpb24sIGlmcmFtZX0sIHdoZXJlIHxyZWdpc3RyYXRp
b258IGhhcyBhbiBhY3RpdmUgYW5kCiAvLyB3YWl0aW5nIHdvcmtlci4gVGhlIGFjdGl2ZSB3b3Jr
ZXIgY29udHJvbHMgfGlmcmFtZXwgYW5kIGhhcyBhbiBpbmZsaWdodAogLy8gbWVzc2FnZSBldmVu
dCB0aGF0IGNhbiBiZSBmaW5pc2hlZCBieSBjYWxsaW5nCkBAIC02Nyw3ICs0OSw3IEBAIGZ1bmN0
aW9uIHNldHVwX2FjdGl2YXRpb25fdGVzdCh0LCBzY29wZSwgd29ya2VyX3VybCkgewogICAgICAg
ICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdpbnN0
YWxsZWQnKTsKICAgICAgIH0pCiAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gd2Fp
dF9mb3JfYWN0aXZhdGlvbl9vbl9kdW1teV9zY29wZSh0KTsKKyAgICAgICAgcmV0dXJuIHdhaXRf
Zm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2NvcGUodCwgc2VsZik7CiAgICAgICB9KQogICAgIC50
aGVuKCgpID0+IHsKICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRp
bmcsIG51bGwpOwpAQCAtODcsNyArNjksNyBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAgICAg
ICAgaWZyYW1lID0gcmVzdWx0LmlmcmFtZTsKICAgICAgICAgICAvLyBGaW5pc2ggdGhlIGluLWZs
aWdodCByZXF1ZXN0LgogICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hY3RpdmUucG9zdE1lc3NhZ2Uo
J2dvJyk7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2Nv
cGUodCk7CisgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2Nv
cGUodCwgc2VsZik7CiAgICAgICAgIH0pCiAgICAgICAudGhlbigoKSA9PiB7CiAgICAgICAgICAg
Ly8gVGhlIG5ldyB3b3JrZXIgaXMgc3RpbGwgd2FpdGluZy4gUmVtb3ZlIHRoZSBmcmFtZSBhbmQg
aXQgc2hvdWxkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hY3RpdmUuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCAzOWZlZGNhNDE3ODBlYjQ0MmY1Yjg4ZGY3ZjRlZTdjMjMzNjA0ZjA2Li40NDc5NzIyMjhj
NGJmYTU1Y2VjOWIwYzQ5ZmY0NjE2MmY3ZDMwNDc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9hY3RpdmUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fj
dGl2ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgYWN0aXZlIGlz
IHNldCAKK1BBU1MgVGhlIFNlcnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIGFjdGl2
ZSBhdHRyaWJ1dGUgZ2V0dGVyIHRoYXQgcmVwcmVzZW50IHRoZSBzYW1lIHNlcnZpY2Ugd29ya2Vy
IGFyZSB0aGUgc2FtZSBvYmplY3RzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9h
Y3RpdmUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2ZS5odHRwcy5odG1sCmlu
ZGV4IGRlZWU2YTUwZWEwMDllZjU0MWMxMTU0MzUzMjg4MjQyZTNjM2FlYWUuLjM1MGEzNGI4MDJm
NzBkNmI2Yzc4ZTZmZGJhOWIyYWNhYmU3ZDE0M2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2FjdGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2ZS5odHRw
cy5odG1sCkBAIC01LDUxICs1LDQ2IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVs
cGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0PgorCitjb25zdCBTQ1JJUFQg
PSAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Citjb25zdCBTQ09QRSA9ICdyZXNvdXJjZXMv
YmxhbmsuaHRtbCc7CisKIC8vICJhY3RpdmUiIGlzIHNldAotYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7Ci0gICAgdmFyIHN0ZXAgPSB0LnN0ZXBfZnVuYy5iaW5kKHQpOwotICAgIHZhciB1cmwgPSAn
cmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Ci0gICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9i
bGFuay5odG1sJzsKLSAgICB2YXIgZnJhbWU7Ci0gICAgdmFyIHJlZ2lzdHJhdGlvbjsKK3Byb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKworICB0LmFkZF9jbGVhbnVwKGFzeW5jKCkgPT4geworICAg
IGlmIChmcmFtZSkKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgIGlmIChyZWdpc3RyYXRpb24p
CisgICAgICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICB9KTsKKworICBhd2Fp
dCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgY29uc3QgZnJhbWUgPSBh
d2FpdCB3aXRoX2lmcmFtZShTQ09QRSk7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9CisgICAgICBh
d2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihTQ1JJUFQsIHtzY29wZTogU0NP
UEV9KTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcs
ICdhY3RpdmF0aW5nJyk7CisgIGNvbnN0IGNvbnRhaW5lciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7CisgIGFzc2VydF9lcXVhbHMoY29udGFpbmVyLmNvbnRy
b2xsZXIsIG51bGwsICdjb250cm9sbGVyJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9u
LmFjdGl2ZS5zdGF0ZSwgJ2FjdGl2YXRpbmcnLAorICAgICAgICAgICAgICAgICdyZWdpc3RyYXRp
b24uYWN0aXZlJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRpbmcsIG51bGws
ICdyZWdpc3RyYXRpb24ud2FpdGluZycpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5p
bnN0YWxsaW5nLCBudWxsLCAncmVnaXN0cmF0aW9uLmluc3RhbGxpbmcnKTsKIAotICAgIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpCi0gICAgICAudGhlbihzdGVwKGZ1bmN0aW9u
KCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KSkKLSAgICAgIC50aGVuKHN0ZXAoZnVu
Y3Rpb24oZikgewotICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAgICAgICByZXR1cm4gbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIodXJsLCB7c2NvcGU6IHNjb3BlfSk7Ci0gICAgICAg
IH0pKQotICAgICAgLnRoZW4oc3RlcChmdW5jdGlvbihyKSB7Ci0gICAgICAgICAgcmVnaXN0cmF0
aW9uID0gcjsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgci5pbnN0YWxsaW5n
LCAnYWN0aXZhdGluZycpOwotICAgICAgICB9KSkKLSAgICAgIC50aGVuKHN0ZXAoZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXI7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAg
IGNvbnRhaW5lci5jb250cm9sbGVyLAotICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgICdP
biBhY3RpdmF0aW5nIHN0YXRlIGEgZG9jdW1lbnQgc2hvdWxkIG5vdCBoYXZlIGEgY29udHJvbGxl
cicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICByZWdpc3RyYXRpb24u
YWN0aXZlLnNjcmlwdFVSTCwKLSAgICAgICAgICAgIG5vcm1hbGl6ZVVSTCh1cmwpLAotICAgICAg
ICAgICAgJ09uIGFjdGl2YXRpbmcgc3RhdGUgYSBkb2N1bWVudCBzaG91bGQgaGF2ZSBhbiBhY3Rp
dmUgd29ya2VyICcpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICByZWdp
c3RyYXRpb24ud2FpdGluZywKLSAgICAgICAgICAgIG51bGwsCi0gICAgICAgICAgICAnT24gYWN0
aXZhdGluZyBzdGF0ZSBhIGRvY3VtZW50IHNob3VsZCBub3QgaGF2ZSBhIHdhaXRpbmcgd29ya2Vy
Jyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi5p
bnN0YWxsaW5nLAotICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgICdPbiBhY3RpdmF0aW5n
IHN0YXRlIGEgZG9jdW1lbnQgc2hvdWxkIG5vdCBoYXZlIGFuIGluc3RhbGxpbmcgJyArCi0gICAg
ICAgICAgICAgICAgJ3dvcmtlcicpOworICAvLyBGSVhNRTogQWRkIGEgdGVzdCBmb3IgYSBmcmFt
ZSBjcmVhdGVkIGFmdGVyIGluc3RhbGxhdGlvbi4KKyAgLy8gU2hvdWxkIHRoZSBleGlzdGluZyBm
cmFtZSAoImZyYW1lIikgYmxvY2sgYWN0aXZhdGlvbj8KK30sICdhY3RpdmUgaXMgc2V0Jyk7CiAK
LSAgICAgICAgICAvLyBGSVhNRTogQWRkIGEgdGVzdCBmb3IgYSBmcmFtZSBjcmVhdGVkIGFmdGVy
IGluc3RhbGxhdGlvbi4KLSAgICAgICAgICAvLyBTaG91bGQgdGhlIGV4aXN0aW5nIGZyYW1lICgi
ZnJhbWUiKSBibG9jayBhY3RpdmF0aW9uPwotICAgICAgICB9KSkKLSAgICAgIC50aGVuKHN0ZXAo
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJu
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9
KSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKLSAgfSwgJ2FjdGl2ZSBp
cyBzZXQnKTsKKy8vIFRlc3RzIHRoYXQgdGhlIFNlcnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5l
ZCBmcm9tIGFjdGl2ZSBhdHRyaWJ1dGUgZ2V0dGVyCisvLyB0aGF0IHJlcHJlc2VudCB0aGUgc2Ft
ZSBzZXJ2aWNlIHdvcmtlciBhcmUgdGhlIHNhbWUgb2JqZWN0cy4KK3Byb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgY29uc3QgcmVnaXN0cmF0aW9uMSA9CisgICAgICBhd2FpdCBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKTsKKyAgY29uc3Qg
cmVnaXN0cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJh
dGlvbihTQ09QRSk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uMS5hY3RpdmUsIHJlZ2lz
dHJhdGlvbjIuYWN0aXZlLAorICAgICAgICAgICAgICAgICdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmFjdGl2ZSBzaG91bGQgcmV0dXJuIHRoZSBzYW1lICcgKworICAgICAgICAgICAgICAgICdv
YmplY3QnKTsKKyAgYXdhaXQgcmVnaXN0cmF0aW9uMS51bnJlZ2lzdGVyKCk7Cit9LCAnVGhlIFNl
cnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIGFjdGl2ZSBhdHRyaWJ1dGUgZ2V0dGVy
IHRoYXQgJyArCisgICAncmVwcmVzZW50IHRoZSBzYW1lIHNlcnZpY2Ugd29ya2VyIGFyZSB0aGUg
c2FtZSBvYmplY3RzJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2FwcGNhY2hlLW9yZGVyaW5nLW1haW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Fw
cGNhY2hlLW9yZGVyaW5nLW1haW4uaHR0cHMuaHRtbAppbmRleCA2MDlkNjdlNDUwNGM5NDg4Nzgw
MzY5YzE1ZTFiOTZmYzBiZDIwMzk0Li45MjFkYWUwMTVjYjU1Y2Y4MDVhZDk2MGU5MDJiYmIyMjg5
MGY4MGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hcHBjYWNoZS1vcmRlcmluZy1t
YWluLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvYXBwY2FjaGUtb3JkZXJpbmct
bWFpbi5odHRwcy5odG1sCkBAIC02MCw4ICs2MCw4IEBAIGZ1bmN0aW9uIGlzX2FwcGNhY2hlZCgp
IHsKICAgfSk7CiB9CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXIodCwgU0VSVklDRV9XT1JLRVJfU0NPUEUpCitwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgeworICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNFUlZJ
Q0VfV09SS0VSX1NDT1BFKQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgcmV0
dXJuIGluc3RhbGxfYXBwY2FjaGUoKTsKICAgICAgICAgfSkKQEAgLTc0LDYgKzc0LDEwIEBAIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICB0LCBTRVJWSUNFX1dPUktFUl9T
Q1JJUFQsIFNFUlZJQ0VfV09SS0VSX1NDT1BFKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1
bmN0aW9uKHIpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBTRVJWSUNFX1dPUktF
Ul9TQ09QRSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9z
dGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50
aGVuKGZ1bmN0aW9uKCkgewpAQCAtODIsOSArODYsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewogICAgICAgICAgIGFzc2VydF9mYWxz
ZShyZXN1bHQsICdidXQgc2VydmljZXdvcmtlcnMgc2hvdWxkIHRha2UgcHJpb3JpdHknKTsKICAg
ICAgICAgICBmcmFtZXMuZm9yRWFjaChmdW5jdGlvbihmKSB7IGYucmVtb3ZlKCk7IH0pOwotICAg
ICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0VSVklDRV9XT1JL
RVJfU0NPUEUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpOworICAgICAgICB9KTsKICAgfSwgJ3NlcnZpY2V3b3JrZXJzIHRha2UgcHJpb3JpdHkgb3Zl
ciBhcHBjYWNoZXMnKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9jbGFpbS13b3JrZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvY2xhaW0td29ya2VyLWZldGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBjMWJkZGYzMWVi
Zjc3ODU3OWRkYzc3YjQ0OTM0NGYyZmQzNmVkNDkzLi43YzI1ZGEwZWIwNTA3MzNkYjk0YTA4YzMy
ZTNhM2I4NjJkNTlhMzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13b3Jr
ZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWlt
LXdvcmtlci1mZXRjaC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1Mg
ZmV0Y2goKSBpbiBXb3JrZXIgc2hvdWxkIGJlIGludGVyY2VwdGVkIGFmdGVyIHRoZSBjbGllbnQg
aXMgY2xhaW1lZC4gCitGQUlMIGZldGNoKCkgaW4gbmVzdGVkIFdvcmtlciBzaG91bGQgYmUgaW50
ZXJjZXB0ZWQgYWZ0ZXIgdGhlIGNsaWVudCBpcyBjbGFpbWVkLiBhc3NlcnRfZXF1YWxzOiBmZXRj
aCgpIHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQuIGV4cGVjdGVkICJhIHNpbXBsZSB0ZXh0IGZp
bGVcbiIgYnV0IGdvdCAiRmFpbDogdW5kZWZpbmVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGFpbS13b3JrZXItZmV0Y2guaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsYWltLXdvcmtlci1mZXRjaC5odHRwcy5odG1sCmluZGV4IDJiYzY1MzY4ZThmNjYyZGU5NzQ5
MjA0ZmNjMTNhYWFjZWMwYWNkZDEuLjRiNDlhODE1MmE0MmM5ZTQ1MTA0MTM5YjQ2YjlmYTU2NzYy
ZGU2YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdvcmtlci1mZXRjaC5o
dHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdvcmtlci1mZXRjaC5odHRw
cy5odG1sCkBAIC04LDE3ICs4LDI5IEBACiA8c2NyaXB0PgogCiBwcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgewotICB2YXIgZnJhbWU7CisgIHJldHVybiBydW5UZXN0KHQsICdyZXNvdXJjZXMvY2xh
aW0td29ya2VyLWZldGNoLWlmcmFtZS5odG1sJyk7Cit9LCAnZmV0Y2goKSBpbiBXb3JrZXIgc2hv
dWxkIGJlIGludGVyY2VwdGVkIGFmdGVyIHRoZSBjbGllbnQgaXMgY2xhaW1lZC4nKTsKKworcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIHJ1blRlc3QodCwgJ3Jlc291cmNlcy9j
bGFpbS1uZXN0ZWQtd29ya2VyLWZldGNoLWlmcmFtZS5odG1sJyk7Cit9LCAnZmV0Y2goKSBpbiBu
ZXN0ZWQgV29ya2VyIHNob3VsZCBiZSBpbnRlcmNlcHRlZCBhZnRlciB0aGUgY2xpZW50IGlzIGNs
YWltZWQuJyk7CisKK2Z1bmN0aW9uIHJ1blRlc3QodCwgaWZyYW1lX3VybCkgewogICB2YXIgcmVz
b3VyY2UgPSAnc2ltcGxlLnR4dCc7CiAKKyAgdmFyIGZyYW1lOworICB2YXIgcmVnaXN0cmF0aW9u
OwogICB2YXIgd29ya2VyOwogICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzLyc7CiAgIHZhciBzY3Jp
cHQgPSAncmVzb3VyY2VzL2NsYWltLXdvcmtlci5qcyc7CiAKICAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZSgpCiAgICAgLy8gQ3JlYXRlIHRoZSB0ZXN0IGlmcmFtZSB3aXRoIGEgZGVkaWNhdGVkIHdv
cmtlci4KLSAgICAudGhlbigoKSA9PiB3aXRoX2lmcmFtZSgncmVzb3VyY2VzL2NsYWltLXdvcmtl
ci1mZXRjaC1pZnJhbWUuaHRtbCcpKQotICAgIC50aGVuKGYgPT4gZnJhbWUgPSBmKQorICAgIC50
aGVuKCgpID0+IHdpdGhfaWZyYW1lKGlmcmFtZV91cmwpKQorICAgIC50aGVuKGYgPT4geworICAg
ICAgdC5hZGRfY2xlYW51cCgoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIGZyYW1lID0gZjsKKyAg
ICB9KQogCiAgICAgLy8gQ2hlY2sgdGhlIGNvbnRyb2xsZXIgYW5kIHRlc3Qgd2l0aCBmZXRjaCBp
biB0aGUgd29ya2VyLgogICAgIC50aGVuKCgpID0+IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVu
dFdpbmRvdy5uYXZpZ2F0b3IuY29udHJvbGxlciwKQEAgLTMwLDcgKzQyLDEwIEBAIHByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdmZXRjaCgpIHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQuJykpCiAgICAgLy8gUmVnaXN0
ZXIgYSBzZXJ2aWNlIHdvcmtlci4KICAgICAudGhlbigoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQsIHNjb3BlKSkKLSAgICAudGhlbihyID0+IHdv
cmtlciA9IHIuaW5zdGFsbGluZykKKyAgICAudGhlbihyID0+IHsKKyAgICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4gci51bnJlZ2lzdGVyKCkpOworICAgICAgd29ya2VyID0gci5pbnN0YWxsaW5nOwor
ICAgIH0pCiAgICAgLnRoZW4oKCkgPT4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAnYWN0aXZh
dGVkJykpCiAKICAgICAvLyBMZXQgdGhlIHNlcnZpY2Ugd29ya2VyIGNsYWltIHRoZSBpZnJhbWUg
YW5kIHRoZSB3b3JrZXIuCkBAIC00OSwyMCArNjQsMTcgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKIAogICAgIC8vIENoZWNrIHRoZSBjb250cm9sbGVyIGFuZCB0ZXN0IHdpdGggZmV0Y2gg
aW4gdGhlIHdvcmtlci4KICAgICAudGhlbigoKSA9PiBmcmFtZS5jb250ZW50V2luZG93Lm5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihzY29wZSkpCi0gICAgLnRoZW4ociA9
PiBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3Jr
ZXIuY29udHJvbGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci5hY3RpdmUsCisg
ICAgLnRoZW4ociA9PiByZWdpc3RyYXRpb24gPSByKQorICAgIC50aGVuKCgpID0+IGFzc2VydF9l
cXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9s
bGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24uYWN0aXZlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGVzdCBpZnJhbWUgc2hvdWxkIGJlIGNsYWlt
ZWQuJykpCiAgICAgLy8gVE9ETyhob3JvKTogQ2hlY2sgdGhlIHdvcmtlcidzIG5hdmlnYXRvci5z
ZXZpY2VXb3JrZXIuY29udHJvbGxlci4KICAgICAudGhlbigoKSA9PiBmcmFtZS5jb250ZW50V2lu
ZG93LmZldGNoX2luX3dvcmtlcihyZXNvdXJjZSkpCiAgICAgLnRoZW4ocmVzcG9uc2VfdGV4dCA9
PgogICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzcG9uc2VfdGV4dCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICdJbnRlcmNlcHRlZCEnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ2ZldGNo
KCkgaW4gdGhlIHdvcmtlciBzaG91bGQgYmUgaW50ZXJjZXB0ZWQuJykpCi0KLSAgICAvLyBDbGVh
bnVwIHRoaXMgdGVzdGNhc2UuCi0gICAgLnRoZW4oKCkgPT4gZnJhbWUucmVtb3ZlKCkpCi0gICAg
LnRoZW4oKCkgPT4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSkp
OwotfSwgJ2ZldGNoKCkgaW4gV29ya2VyIHNob3VsZCBiZSBpbnRlcmNlcHRlZCBhZnRlciB0aGUg
Y2xpZW50IGlzIGNsYWltZWQuJykKKyAgICAgICAgICAgICAgICAgICAgICAgICdmZXRjaCgpIGlu
IHRoZSB3b3JrZXIgc2hvdWxkIGJlIGludGVyY2VwdGVkLicpKTsKK30KIAogPC9zY3JpcHQ+CiA8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnQtaWQuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC1pZC5odHRwcy5odG1sCmluZGV4IGE1M2MxMGM5
NjkxOTE5MDRiNDIxNDdiYjU4NzFlZTc5N2IwOGIzNjIuLmI5M2IzNDE4OTk5OWZlMzdkODlkMjdm
YmExZDQ0MDA5OTRiMjc2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC1p
ZC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudC1pZC5odHRwcy5odG1s
CkBAIC00LDE1ICs0LDE3IEBACiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5z
dWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciB0ZXN0OwogdmFyIHNjb3BlID0gJ3Jlc291
cmNlcy9ibGFuay5odG1sP2NsaWVudC1pZCc7CiB2YXIgZnJhbWUxLCBmcmFtZTI7CiAKLWFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHRlc3QgPSB0OwotICAgIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBy
ZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCiAgICAgICAgIHQs
ICdyZXNvdXJjZXMvY2xpZW50LWlkLXdvcmtlci5qcycsIHNjb3BlKQogICAgICAgLnRoZW4oZnVu
Y3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2Nv
cGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUo
dCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAg
ICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUgKyAnIzEnKTsg
fSkKQEAgLTI1LDExICsyNywxNSBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIC50
aGVuKGZ1bmN0aW9uKGYpIHsKICAgICAgICAgICBmcmFtZTIgPSBmOwogICAgICAgICAgIHZhciBj
aGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgY2hhbm5lbC5wb3J0MS5v
bm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhvbl9tZXNzYWdlKTsKLSAgICAgICAgICBmLmNvbnRlbnRX
aW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5wb3N0TWVzc2FnZSgKLSAg
ICAgICAgICAgICAge3BvcnQ6Y2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CisKKyAg
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Cisg
ICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICAgICAg
ICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2VlcnJvciA9IHJlamVjdDsKKyAgICAgICAgICAg
ICAgZi5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9z
dE1lc3NhZ2UoCisgICAgICAgICAgICAgICAgICB7cG9ydDpjaGFubmVsLnBvcnQyfSwgW2NoYW5u
ZWwucG9ydDJdKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9KQotICAgICAgLmNhdGNoKHVu
cmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgLnRoZW4ob25fbWVzc2FnZSk7CiAgIH0sICdD
bGllbnQuaWQgcmV0dXJucyB0aGUgY2xpZW50XCdzIElELicpOwogCiBmdW5jdGlvbiBvbl9tZXNz
YWdlKGUpIHsKQEAgLTUwLDYgKzU2LDUgQEAgZnVuY3Rpb24gb25fbWVzc2FnZShlKSB7CiAgIGFz
c2VydF9lcXVhbHMoZS5kYXRhWzFdLCBlLmRhdGFbM10pOwogICBmcmFtZTEucmVtb3ZlKCk7CiAg
IGZyYW1lMi5yZW1vdmUoKTsKLSAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0
ZXN0LCBzY29wZSk7CiB9CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLmh0bWwKaW5kZXggODk3ZTM2ODllZDM0ZjFm
MmFiYWZmZmI2ZTRhNmU0NzQwOGJkMWYwMy4uNjNlM2U1MWIzMjAyZGU5MjdkODk4MzNiMzEwMzU3
OTIzNjlhZWMzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xp
ZW50LXR5cGVzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQt
Y2xpZW50LXR5cGVzLmh0dHBzLmh0bWwKQEAgLTksMTEgKzksMTMgQEAgdmFyIGZyYW1lX3VybCA9
IHNjb3BlICsgJy1mcmFtZS5odG1sJzsKIHZhciBzaGFyZWRfd29ya2VyX3VybCA9IHNjb3BlICsg
Jy1zaGFyZWQtd29ya2VyLmpzJzsKIHZhciB3b3JrZXJfdXJsID0gc2NvcGUgKyAnLXdvcmtlci5q
cyc7CiB2YXIgY2xpZW50X2lkcyA9IFtdOwordmFyIHJlZ2lzdHJhdGlvbjsKIHZhciBmcmFtZTsK
IHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAogICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtZ2V0
LXdvcmtlci5qcycsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7
CisgICAgICAudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsK
ICAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsgcmVnaXN0cmF0
aW9uLnVucmVnaXN0ZXIoKTsgfSk7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBAIC01
OSwxMiArNjEsMTAgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgfSkKICAg
ICAgIC50aGVuKGZ1bmN0aW9uKGNsaWVudF9pZCkgewogICAgICAgICAgIGNsaWVudF9pZHMucHVz
aChjbGllbnRfaWQpOwotICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVs
KCk7CiAgICAgICAgICAgdmFyIHNhd19tZXNzYWdlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVz
b2x2ZSkgewotICAgICAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7
CisgICAgICAgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IHJlc29s
dmU7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoCi0gICAgICAgICAgICAg
IHtwb3J0OiBjaGFubmVsLnBvcnQyLCBjbGllbnRJZHM6IGNsaWVudF9pZHN9LCBbY2hhbm5lbC5w
b3J0Ml0pOworICAgICAgICAgIHJlZ2lzdHJhdGlvbi5hY3RpdmUucG9zdE1lc3NhZ2Uoe2NsaWVu
dElkczogY2xpZW50X2lkc30pOwogICAgICAgICAgIHJldHVybiBzYXdfbWVzc2FnZTsKICAgICAg
ICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtZ2V0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtZ2V0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxN2QxOWU0YTNiZTQzMDk0NmQ3
ZWIxMjMxMTgzM2QzMGMzMGYyMDE0Li4wZjljNDExYTliNTY1NmQ3NTQxOTMwMTFlZmI3MThhYjUw
ZWM2M2Q0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCiBGQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCBmYWxzZSBidXQgZ290IHRydWUK
K0ZBSUwgVGVzdCBzdWNjZXNzZnVsIENsaWVudHMuZ2V0KEZldGNoRXZlbnQucmVzdWx0aW5nQ2xp
ZW50SWQpIGFzc2VydF9mYWxzZTogQ2xpZW50cy5nZXQoRmV0Y2hFdmVudC5yZXN1bHRpbmdDbGll
bnRJZCkgcmVzb2x2ZWQgd2l0aCBhIENsaWVudCBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFT
UyBUZXN0IHVuc3VjY2Vzc2Z1bCBDbGllbnRzLmdldChGZXRjaEV2ZW50LnJlc3VsdGluZ0NsaWVu
dElkKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0Lmh0dHBzLmh0bWwKaW5kZXggNjhj
NmQ3ZjdhYzAyYTMxNjg1NmE0MDVmNjU3OWViMTkxZTczODkyNC4uNGNmYmY1OTVjYWRlZWVhNWZj
OGE1MDg5MTI3YzU2ODdlYzE3NGY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1nZXQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC5o
dHRwcy5odG1sCkBAIC00LDY1ICs0LDE1MSBAQAogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0
LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgc2NvcGUgPSAncmVzb3Vy
Y2VzL2NsaWVudHMtZ2V0LWZyYW1lLmh0bWwnOwotdmFyIGNsaWVudF9pZHMgPSBbXTsKLXZhciBm
cmFtZTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAotICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVu
dHMtZ2V0LXdvcmtlci5qcycsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0
aW9uKSB7Ci0gICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24oKSB7IHJl
Z2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7IH0pOwotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9z
dGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9
KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgcmV0dXJuIHdpdGhfaWZyYW1l
KHNjb3BlICsgJyMxJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihmcmFtZTEp
IHsKLSAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsgZnJhbWUx
LnJlbW92ZSgpOyB9KTsKLSAgICAgICAgICBmcmFtZTEuZm9jdXMoKTsKLSAgICAgICAgICByZXR1
cm4gd2FpdF9mb3JfY2xpZW50SWQoKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9u
KGNsaWVudF9pZCkgewotICAgICAgICAgIGNsaWVudF9pZHMucHVzaChjbGllbnRfaWQpOwotICAg
ICAgICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29wZSArICcjMicpOwotICAgICAgICB9KQotICAg
ICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUyKSB7Ci0gICAgICAgICAgZnJhbWUgPSBmcmFtZTI7Ci0g
ICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soZnVuY3Rpb24oKSB7IGZyYW1lMi5yZW1v
dmUoKTsgfSk7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX2NsaWVudElkKCk7Ci0gICAgICAg
IH0pCi0gICAgICAudGhlbihmdW5jdGlvbihjbGllbnRfaWQpIHsKLSAgICAgICAgICBjbGllbnRf
aWRzLnB1c2goY2xpZW50X2lkLCAnaW52YWxpZC1pZCcpOwotICAgICAgICAgIHZhciBjaGFubmVs
ID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgdmFyIHNhd19tZXNzYWdlID0gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAgICBjaGFubmVsLnBvcnQx
Lm9ubWVzc2FnZSA9IHJlc29sdmU7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgICBmcmFtZS5j
b250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3Nh
Z2UoCi0gICAgICAgICAgICAgIHtwb3J0OiBjaGFubmVsLnBvcnQyLCBjbGllbnRJZHM6IGNsaWVu
dF9pZHN9LCBbY2hhbm5lbC5wb3J0Ml0pOwotICAgICAgICAgIHJldHVybiBzYXdfbWVzc2FnZTsK
LSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGUuZGF0YS5sZW5ndGgsIDMpOwotICAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZS5kYXRhWzBdLCBleHBlY3RlZFswXSk7Ci0gICAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhl
LmRhdGFbMV0sIGV4cGVjdGVkWzFdKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVsy
XSwgZXhwZWN0ZWRbMl0pOwotICAgICAgICB9KTsKLSAgfSwgJ1Rlc3QgQ2xpZW50cy5nZXQoKScp
OwotCiBmdW5jdGlvbiB3YWl0X2Zvcl9jbGllbnRJZCgpIHsKICAgcmV0dXJuIG5ldyBQcm9taXNl
KGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgZnVuY3Rpb24gZ2V0X2NsaWVudF9p
ZChlKSB7Ci0gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZ2V0
X2NsaWVudF9pZCk7Ci0gICAgICAgIHJlc29sdmUoZS5kYXRhLmNsaWVudElkKTsKLSAgICAgIH0K
LSAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZ2V0X2NsaWVudF9pZCwg
ZmFsc2UpOwotICAgIH0pOworICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgIHJl
c29sdmUoZS5kYXRhLmNsaWVudElkKTsKKyAgICB9OworICB9KTsKIH0KIAotdmFyIGV4cGVjdGVk
ID0gWworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAvLyBSZWdpc3RlciBzZXJ2aWNlIHdv
cmtlci4KKyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2NsaWVudHMtZ2V0LWZyYW1lLmh0bWwn
OworICBjb25zdCBjbGllbnRfaWRzID0gW107CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHQsICdyZXNvdXJj
ZXMvY2xpZW50cy1nZXQtd29ya2VyLmpzJywgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+
IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCBy
ZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworCisgIC8vIFByZXBhcmUgZm9y
IHRlc3QgY2FzZXMuCisgIC8vIENhc2UgMTogZnJhbWUxIHdoaWNoIGlzIGZvY3VzZWQuCisgIGNv
bnN0IGZyYW1lMSA9IGF3YWl0IHdpdGhfaWZyYW1lKHNjb3BlICsgJyMxJyk7CisgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4gZnJhbWUxLnJlbW92ZSgpKTsKKyAgZnJhbWUxLmZvY3VzKCk7CisgIGNsaWVu
dF9pZHMucHVzaChhd2FpdCB3YWl0X2Zvcl9jbGllbnRJZCgpKTsKKyAgLy8gQ2FzZSAyOiBmcmFt
ZTIgd2hpY2ggaXMgbm90IGZvY3VzZWQuCisgIGNvbnN0IGZyYW1lMiA9IGF3YWl0IHdpdGhfaWZy
YW1lKHNjb3BlICsgJyMyJyk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gIGZyYW1lMi5yZW1vdmUo
KSk7CisgIGNsaWVudF9pZHMucHVzaChhd2FpdCB3YWl0X2Zvcl9jbGllbnRJZCgpKTsKKyAgLy8g
Q2FzZSAzOiBpbnZhbGlkIGlkLgorICBjbGllbnRfaWRzLnB1c2goJ2ludmFsaWQtaWQnKTsKKwor
ICAvLyBDYWxsIGNsaWVudHMuZ2V0KCkgZm9yIGVhY2ggaWQgb24gdGhlIHNlcnZpY2Ugd29ya2Vy
LgorICBjb25zdCBtZXNzYWdlX2V2ZW50ID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICBy
ZWdpc3RyYXRpb24uYWN0aXZlLnBvc3RNZXNzYWdlKHtjbGllbnRJZHM6IGNsaWVudF9pZHN9KTsK
KyAgfSk7CisKKyAgY29uc3QgZXhwZWN0ZWQgPSBbCiAgICAgLy8gdmlzaWJpbGl0eVN0YXRlLCBm
b2N1c2VkLCB1cmwsIHR5cGUsIGZyYW1lVHlwZQogICAgIFsndmlzaWJsZScsIHRydWUsIG5vcm1h
bGl6ZVVSTChzY29wZSkgKyAnIzEnLCAnd2luZG93JywgJ25lc3RlZCddLAogICAgIFsndmlzaWJs
ZScsIGZhbHNlLCBub3JtYWxpemVVUkwoc2NvcGUpICsgJyMyJywgJ3dpbmRvdycsICduZXN0ZWQn
XSwKICAgICB1bmRlZmluZWQKLV07CisgIF07CisgIGFzc2VydF9lcXVhbHMobWVzc2FnZV9ldmVu
dC5kYXRhLmxlbmd0aCwgMyk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobWVzc2FnZV9ldmVudC5k
YXRhWzBdLCBleHBlY3RlZFswXSk7CisgIGFzc2VydF9hcnJheV9lcXVhbHMobWVzc2FnZV9ldmVu
dC5kYXRhWzFdLCBleHBlY3RlZFsxXSk7CisgIGFzc2VydF9lcXVhbHMobWVzc2FnZV9ldmVudC5k
YXRhWzJdLCBleHBlY3RlZFsyXSk7Cit9LCAnVGVzdCBDbGllbnRzLmdldCgpJyk7CisKK3Byb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgLy8gUmVnaXN0ZXIgc2VydmljZSB3b3JrZXIuCisgIGNv
bnN0IHNjb3BlID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbCc7CisgIGNvbnN0IHJlZ2lzdHJhdGlv
biA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHQs
ICdyZXNvdXJjZXMvY2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQtd29ya2VyLmpzJywgc2Nv
cGUpCisgIHQuYWRkX2NsZWFudXAoKCkgPT4gIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOwor
ICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2
YXRlZCcpOworICBjb25zdCB3b3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworCisgIC8vIExv
YWQgZnJhbWUgd2l0aGluIHRoZSBzY29wZS4KKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lm
cmFtZShzY29wZSk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gZnJhbWUucmVtb3ZlKCkpOworICBm
cmFtZS5mb2N1cygpOworCisgIC8vIEdldCByZXN1bHRpbmcgY2xpZW50IGlkLgorICBjb25zdCBy
ZXN1bHRpbmdDbGllbnRJZCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgaWYgKGUuZGF0
YS5tc2cgPT0gJ2dldFJlc3VsdGluZ0NsaWVudElkJykgeworICAgICAgICByZXNvbHZlKGUuZGF0
YS5yZXN1bHRpbmdDbGllbnRJZCk7CisgICAgICB9CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1l
c3NhZ2Uoe21zZzogJ2dldFJlc3VsdGluZ0NsaWVudElkJ30pOworICB9KTsKKworICAvLyBRdWVy
eSBzZXJ2aWNlIHdvcmtlciBmb3IgY2xpZW50cy5nZXQocmVzdWx0aW5nQ2xpZW50SWQpLgorICBj
b25zdCBpc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IGUgPT4gewor
ICAgICAgaWYgKGUuZGF0YS5tc2cgPT0gJ2dldElzUmVzdWx0aW5nQ2xpZW50VW5kZWZpbmVkJykg
eworICAgICAgICByZXNvbHZlKGUuZGF0YS5pc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCk7Cisg
ICAgICB9CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe21zZzogJ2dldElzUmVzdWx0
aW5nQ2xpZW50VW5kZWZpbmVkJywKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdGluZ0Ns
aWVudElkfSk7CisgIH0pOworCisgIGFzc2VydF9mYWxzZSgKKyAgICBpc1Jlc3VsdGluZ0NsaWVu
dFVuZGVmaW5lZCwKKyAgICAnQ2xpZW50cy5nZXQoRmV0Y2hFdmVudC5yZXN1bHRpbmdDbGllbnRJ
ZCkgcmVzb2x2ZWQgd2l0aCBhIENsaWVudCcpOworfSwgJ1Rlc3Qgc3VjY2Vzc2Z1bCBDbGllbnRz
LmdldChGZXRjaEV2ZW50LnJlc3VsdGluZ0NsaWVudElkKScpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgIC8vIFJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyLgorICBjb25zdCBzY29wZSA9
ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/ZmFpbCc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3
YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHQsICdyZXNv
dXJjZXMvY2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQtd29ya2VyLmpzJywgc2NvcGUpOwor
ICB0LmFkZF9jbGVhbnVwKCgpID0+ICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgYXdh
aXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQn
KTsKKworICAvLyBMb2FkIGZyYW1lLCBhbmQgZGVzdHJveSBpdCB3aGlsZSBsb2FkaW5nLgorICBj
b25zdCB3b3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworICBsZXQgZnJhbWUgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgZnJhbWUuc3JjID0gc2NvcGU7CisgIHQuYWRk
X2NsZWFudXAoKCkgPT4geworICAgIGlmIChmcmFtZSkgeworICAgICAgZnJhbWUucmVtb3ZlKCk7
CisgICAgfQorICB9KTsKKworICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSBlID0+IHsKKyAgICAgIC8vIFRoZSBz
ZXJ2aWNlIHdvcmtlciBwb3N0cyBhIG1lc3NhZ2UgdG8gcmVtb3ZlIHRoZSBpZnJhbWUgZHVyaW5n
IGZldGNoCisgICAgICAvLyBldmVudC4KKyAgICAgIGlmIChlLmRhdGEubXNnID09ICdkZXN0cm95
UmVzdWx0aW5nQ2xpZW50JykgeworICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgZnJh
bWUgPSBudWxsOworICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe21zZzogJ3Jlc3VsdGluZ0Ns
aWVudERlc3Ryb3llZCd9KTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfQorICAgIH07Cisg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOworCisgIHJlc3VsdGlu
Z0Rlc3Ryb3llZENsaWVudElkID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gZSA9PiB7CisgICAgICAvLyBUaGUg
d29ya2VyIHNlbmRzIGEgbWVzc2FnZSBiYWNrIHdoZW4gaXQgcmVjZWl2ZXMgdGhlIG1lc3NhZ2UK
KyAgICAgIC8vICdyZXN1bHRpbmdDbGllbnREZXN0cm95ZWQnIHdpdGggdGhlIHJlc3VsdGluZ0Ns
aWVudElkLgorICAgICAgaWYgKGUuZGF0YS5tc2cgPT0gJ3Jlc3VsdGluZ0NsaWVudERlc3Ryb3ll
ZEFjaycpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZSwgbnVsbCwgJ0ZyYW1lIHNob3Vs
ZCBiZSBkZXN0cm95ZWQgYXQgdGhpcyBwb2ludC4nKTsKKyAgICAgICAgcmVzb2x2ZShlLmRhdGEu
cmVzdWx0aW5nRGVzdHJveWVkQ2xpZW50SWQpOworICAgICAgfQorICAgIH07CisgIH0pOworCisg
IC8vIFF1ZXJ5IHNlcnZpY2Ugd29ya2VyIGZvciBjbGllbnRzLmdldChyZXN1bHRpbmdEZXN0cm95
ZWRDbGllbnRJZCkuCisgIGNvbnN0IGlzUmVzdWx0aW5nQ2xpZW50VW5kZWZpbmVkID0gYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25t
ZXNzYWdlID0gZSA9PiB7CisgICAgICBpZiAoZS5kYXRhLm1zZyA9PSAnZ2V0SXNSZXN1bHRpbmdD
bGllbnRVbmRlZmluZWQnKSB7CisgICAgICAgIHJlc29sdmUoZS5kYXRhLmlzUmVzdWx0aW5nQ2xp
ZW50VW5kZWZpbmVkKTsKKyAgICAgIH0KKyAgICB9OworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7
bXNnOiAnZ2V0SXNSZXN1bHRpbmdDbGllbnRVbmRlZmluZWQnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0aW5nQ2xpZW50SWQ6IHJlc3VsdGluZ0Rlc3Ryb3llZENsaWVudElkIH0pOwor
ICB9KTsKKworICBhc3NlcnRfdHJ1ZSgKKyAgICBpc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCwK
KyAgICAnQ2xpZW50cy5nZXQoRmV0Y2hFdmVudC5yZXN1bHRpbmdDbGllbnRJZCkgcmVzb2x2ZWQg
d2l0aCBgdW5kZWZpbmVkYCcpOworfSwgJ1Rlc3QgdW5zdWNjZXNzZnVsIENsaWVudHMuZ2V0KEZl
dGNoRXZlbnQucmVzdWx0aW5nQ2xpZW50SWQpJyk7CisKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1leGFjdC1jb250cm9sbGVyLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtZXhhY3Qt
Y29udHJvbGxlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggOTMwZWMzM2E0NWY4N2UxZDcyOGRm
YTZiZTQxMTdjYzYzN2U0OTRmNi4uZTQyNDczZTFmNGQ3YWJkN2Y0MGYwOTdjMmZmOGFmYmMzNTk3
ZGYwYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1leGFj
dC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsNCBAQAogCiAKLUZBSUwgVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBleGFjdCBj
b250cm9sbGVyIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCBmYWxzZSBidXQgZ290IHRydWUgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgQ2xpZW50cy5tYXRjaEFsbCgpIHdpdGgg
ZXhhY3QgY29udHJvbGxlciBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3Rl
ZCBmYWxzZSBidXQgZ290IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1leGFjdC1jb250cm9sbGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbAppbmRleCBl
ZTYwYzRhNjA3N2Q3OTljMjU1N2UwOTYzMjIyODFhNzI2ZGY5ZDhiLi5hNjFjOGFmNzAxOTZhYzIz
MGM0YjcwODU4NjJlMWJmZjg0MzNmZTM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWV4YWN0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbApA
QCAtNSw3ICs1LDYgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0
bWw/Y2xpZW50cy1tYXRjaEFsbCc7Ci1jb25zdCB0ID0gYXN5bmNfdGVzdCgnVGVzdCBDbGllbnRz
Lm1hdGNoQWxsKCkgd2l0aCBleGFjdCBjb250cm9sbGVyJyk7CiBsZXQgZnJhbWVzID0gW107CiAK
IGZ1bmN0aW9uIGNoZWNrV29ya2VyQ2xpZW50cyh3b3JrZXIsIGV4cGVjdGVkKSB7CkBAIC0zMywx
MCArMzIsMTIgQEAgbGV0IGV4cGVjdGVkID0gWwogICAgIFsndmlzaWJsZScsIGZhbHNlLCBuZXcg
VVJMKHNjb3BlICsgJyMyJywgbG9jYXRpb24pLnRvU3RyaW5nKCksICd3aW5kb3cnLCAnbmVzdGVk
J10KIF07CiAKLXQuc3RlcChfID0+IHsKK3Byb21pc2VfdGVzdCh0ID0+IHsKICAgICBsZXQgc2Ny
aXB0ID0gJ3Jlc291cmNlcy9jbGllbnRzLW1hdGNoYWxsLXdvcmtlci5qcyc7Ci0gICAgc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKKyAgICBy
ZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBz
Y29wZSkKICAgICAgIC50aGVuKHJlZ2lzdHJhdGlvbiA9PiB7CisgICAgICAgICAgdC5hZGRfY2xl
YW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKSk7CisKICAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKF8gPT4gd2l0aF9pZnJhbWUoc2Nv
cGUgKyAnIzEnKSApCkBAIC02MSw4ICs2Miw2IEBAIHQuc3RlcChfID0+IHsKICAgICAgICAgfSkK
ICAgICAgIC50aGVuKF8gPT4gewogICAgICAgICAgIGZyYW1lcy5mb3JFYWNoKGYgPT4gZi5yZW1v
dmUoKSApOwotICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwg
c2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkp
OwotICB9KTsKKyAgICAgICAgfSk7Cit9LCAnVGVzdCBDbGllbnRzLm1hdGNoQWxsKCkgd2l0aCBl
eGFjdCBjb250cm9sbGVyJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsaWVudHMtbWF0Y2hhbGwtaW5jbHVkZS11bmNvbnRyb2xsZWQuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtaW5jbHVkZS11bmNvbnRyb2xsZWQuaHR0
cHMuaHRtbAppbmRleCA1MGJkODE3ZjU2ODg3ZWQyODdhYzE0YzEwOGY4ZjNkN2NiNGVlNjMyLi45
ZjM0ZTU3MDllYjNjYjYwN2RjZDFiOTFlYzgwYjUxYzM3MDZkY2E2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWluY2x1ZGUtdW5jb250cm9sbGVkLmh0dHBz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1pbmNsdWRlLXVu
Y29udHJvbGxlZC5odHRwcy5odG1sCkBAIC00LDkwICs0LDExNCBAQAogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJl
c291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci12YXIgYmFz
ZV91cmwgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOyAvLyBUaGlzIGlzIG91dC1vZi1zY29wZS4K
LXZhciBzY29wZSA9IGJhc2VfdXJsICsgJz9jbGllbnRzLW1hdGNoQWxsLWluY2x1ZGVVbmNvbnRy
b2xsZWQnOwotdmFyIGZyYW1lcyA9IFtdOwotCi0vLyBDcmVhdGVzIDMgaWZyYW1lcywgMiBmb3Ig
aW4tc2NvcGUgYW5kIDEgZm9yIG91dC1vZi1zY29wZS4KLS8vIFRoZSBmcmFtZSBvcGVuZWQgZm9y
IHNjb3BlICsgJyMyJyBpcyByZXR1cm5lZCB2aWEgYSBwcm9taXNlLgotZnVuY3Rpb24gY3JlYXRl
X2lmcmFtZXMoc2NvcGUpIHsKLSAgcmV0dXJuIHdpdGhfaWZyYW1lKGJhc2VfdXJsKQotICAgIC50
aGVuKGZ1bmN0aW9uKGZyYW1lMCkgewotICAgICAgICBmcmFtZXMucHVzaChmcmFtZTApOwotICAg
ICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUgKyAnIzEnKTsKLSAgICAgIH0pCi0gICAgLnRo
ZW4oZnVuY3Rpb24oZnJhbWUxKSB7Ci0gICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lMSk7Ci0gICAg
ICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29wZSArICcjMicpOwotICAgICAgfSkKLSAgICAudGhl
bihmdW5jdGlvbihmcmFtZTIpIHsKLSAgICAgICAgZnJhbWVzLnB1c2goZnJhbWUyKTsKLSAgICAg
ICAgcmV0dXJuIGZyYW1lMjsKLSAgICAgIH0pCitmdW5jdGlvbiB0ZXN0X21hdGNoYWxsKHNlcnZp
Y2Vfd29ya2VyLCBleHBlY3RlZCwgcXVlcnlfb3B0aW9ucykgeworICBleHBlY3RlZC5zb3J0KChh
LCBiKSA9PiBhWzJdID4gYlsyXSA/IDEgOiAtMSk7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgY29uc3QgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5l
bCgpOworICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZSA9PiB7CisgICAgICBjb25zdCBk
YXRhID0gZS5kYXRhLmZpbHRlcihpbmZvID0+IHsKKyAgICAgICAgcmV0dXJuIGluZm9bMl0uaW5k
ZXhPZignY2xpZW50cy1tYXRjaGFsbCcpID4gLTE7CisgICAgICB9KTsKKyAgICAgIGRhdGEuc29y
dCgoYSwgYikgPT4gYVsyXSA+IGJbMl0gPyAxIDogLTEpOworICAgICAgYXNzZXJ0X2VxdWFscyhk
YXRhLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoKTsKKyAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
ZGF0YS5sZW5ndGg7IGkrKykKKyAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhkYXRhW2ldLCBl
eHBlY3RlZFtpXSk7CisgICAgICByZXNvbHZlKCk7CisgICAgfTsKKyAgICBzZXJ2aWNlX3dvcmtl
ci5wb3N0TWVzc2FnZSh7cG9ydDpjaGFubmVsLnBvcnQyLCBvcHRpb25zOnF1ZXJ5X29wdGlvbnN9
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CisgIH0p
OwogfQogCi12YXIgZXhwZWN0ZWRfd2l0aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCA9IFsKKy8v
IFJ1biBjbGllbnRzLm1hdGNoQWxsIHdpdGhvdXQgYW5kIHdpdGggaW5jbHVkZVVuY29udHJvbGxl
ZD10cnVlLgorLy8gKFdlIHdhbnQgdG8gcnVuIHRoZSB0d28gdGVzdHMgc2VxdWVudGlhbGx5IGlu
IHRoZSBzYW1lIHByb21pc2VfdGVzdAorLy8gc28gdGhhdCB3ZSBjYW4gdXNlIHRoZSBzYW1lIHNl
dCBvZiBpZnJhbWVzIHdpdGhvdXQgaW50ZWZlcmluZyBlYWNoIG90aGVyLgorcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAvLyB8YmFzZV91cmx8IGlzIG91dC1vZi1zY29wZS4KKyAgY29uc3Qg
YmFzZV91cmwgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWw/Y2xpZW50cy1tYXRjaGFsbCc7CisgIGNv
bnN0IHNjb3BlID0gYmFzZV91cmwgKyAnLWluY2x1ZGVVbmNvbnRyb2xsZWQnOworCisgIGNvbnN0
IHJlZ2lzdHJhdGlvbiA9CisgICAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2Fu
ZF9yZWdpc3RlcigKKyAgICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtbWF0Y2hhbGwtd29y
a2VyLmpzJywgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXIodCwgc2NvcGUpKTsKKyAgY29uc3Qgc2VydmljZV93b3JrZXIgPSByZWdpc3RyYXRp
b24uaW5zdGFsbGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgc2VydmljZV93b3JrZXIs
ICdhY3RpdmF0ZWQnKTsKKworICAvLyBDcmVhdGVzIDMgaWZyYW1lcywgMiBmb3IgaW4tc2NvcGUg
YW5kIDEgZm9yIG91dC1vZi1zY29wZS4KKyAgbGV0IGZyYW1lcyA9IFtdOworICBmcmFtZXMucHVz
aChhd2FpdCB3aXRoX2lmcmFtZShiYXNlX3VybCkpOworICBmcmFtZXMucHVzaChhd2FpdCB3aXRo
X2lmcmFtZShzY29wZSArICcjMScpKTsKKyAgZnJhbWVzLnB1c2goYXdhaXQgd2l0aF9pZnJhbWUo
c2NvcGUgKyAnIzInKSk7CisKKyAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgZm9jdXMgZm9yICcjMicg
ZnJhbWUgYW5kIGl0cyBwYXJlbnQgd2luZG93LgorICBmcmFtZXNbMl0uZm9jdXMoKTsKKyAgZnJh
bWVzWzJdLmNvbnRlbnRXaW5kb3cuZm9jdXMoKTsKKworICBjb25zdCBleHBlY3RlZF93aXRob3V0
X2luY2x1ZGVfdW5jb250cm9sbGVkID0gWwogICAgIC8vIHZpc2liaWxpdHlTdGF0ZSwgZm9jdXNl
ZCwgdXJsLCB0eXBlLCBmcmFtZVR5cGUKICAgICBbJ3Zpc2libGUnLCBmYWxzZSwgbmV3IFVSTChz
Y29wZSArICcjMScsIGxvY2F0aW9uKS50b1N0cmluZygpLCAnd2luZG93JywgJ25lc3RlZCddLAog
ICAgIFsndmlzaWJsZScsIHRydWUsIG5ldyBVUkwoc2NvcGUgKyAnIzInLCBsb2NhdGlvbikudG9T
dHJpbmcoKSwgJ3dpbmRvdycsICduZXN0ZWQnXQotXTsKLQotdmFyIGV4cGVjdGVkX3dpdGhfaW5j
bHVkZV91bmNvbnRyb2xsZWQgPSBbCisgIF07CisgIGNvbnN0IGV4cGVjdGVkX3dpdGhfaW5jbHVk
ZV91bmNvbnRyb2xsZWQgPSBbCiAgICAgLy8gdmlzaWJpbGl0eVN0YXRlLCBmb2N1c2VkLCB1cmws
IHR5cGUsIGZyYW1lVHlwZQogICAgIFsndmlzaWJsZScsIHRydWUsIGxvY2F0aW9uLmhyZWYsICd3
aW5kb3cnLCAndG9wLWxldmVsJ10sCiAgICAgWyd2aXNpYmxlJywgZmFsc2UsIG5ldyBVUkwoc2Nv
cGUgKyAnIzEnLCBsb2NhdGlvbikudG9TdHJpbmcoKSwgJ3dpbmRvdycsICduZXN0ZWQnXSwKICAg
ICBbJ3Zpc2libGUnLCB0cnVlLCBuZXcgVVJMKHNjb3BlICsgJyMyJywgbG9jYXRpb24pLnRvU3Ry
aW5nKCksICd3aW5kb3cnLCAnbmVzdGVkJ10sCiAgICAgWyd2aXNpYmxlJywgZmFsc2UsIG5ldyBV
UkwoYmFzZV91cmwsIGxvY2F0aW9uKS50b1N0cmluZygpLCAnd2luZG93JywgJ25lc3RlZCddCi1d
OworICBdOwogCi1mdW5jdGlvbiB0ZXN0X21hdGNoYWxsKGZyYW1lLCBleHBlY3RlZCwgcXVlcnlf
b3B0aW9ucykgewotICAvLyBNYWtlIHN1cmUgd2UgaGF2ZSBmb2N1cyBmb3IgJyMyJyBmcmFtZSBh
bmQgaXRzIHBhcmVudCB3aW5kb3cuCi0gIGZyYW1lLmZvY3VzKCk7Ci0gIGZyYW1lLmNvbnRlbnRX
aW5kb3cuZm9jdXMoKTsKLSAgZXhwZWN0ZWQuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiBh
WzJdID4gYlsyXSA/IDEgOiAtMTsgfSk7Ci0gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgp
OwotICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewotICAgICAgLy8g
SWdub3JlIGhpZGRlbiBjbGllbnRzIHdoaWNoIG1heSBiZSBjb21pbmcgZnJvbSBiYWNrZ3JvdW5k
IHRhYnMsIG9yCi0gICAgICAvLyBjbGllbnRzIHVucmVsYXRlZCB0byB0aGlzIHRlc3QuCi0gICAg
ICB2YXIgZGF0YSA9IGUuZGF0YS5maWx0ZXIoZnVuY3Rpb24oaW5mbykgewotICAgICAgICByZXR1
cm4gaW5mb1swXSA9PSAndmlzaWJsZScgJiYKLSAgICAgICAgICAgICAgIGluZm9bMl0uaW5kZXhP
Zignc2VydmljZS13b3JrZXInKSA+IC0xOwotICAgICAgfSk7Ci0gICAgICBkYXRhLnNvcnQoZnVu
Y3Rpb24oYSwgYikgeyByZXR1cm4gYVsyXSA+IGJbMl0gPyAxIDogLTE7IH0pOwotICAgICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLmxlbmd0aCwgZXhwZWN0ZWQubGVuZ3RoKTsKLSAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykKLSAgICAgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhkYXRhW2ldLCBleHBlY3RlZFtpXSk7Ci0gICAgICByZXNvbHZlKGZyYW1lKTsKLSAgICB9Owot
ICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxl
ci5wb3N0TWVzc2FnZSgKLSAgICAgICAge3BvcnQ6Y2hhbm5lbC5wb3J0Miwgb3B0aW9uczpxdWVy
eV9vcHRpb25zfSwKLSAgICAgICAgW2NoYW5uZWwucG9ydDJdKTsKLSAgfSk7CisgIGF3YWl0IHRl
c3RfbWF0Y2hhbGwoc2VydmljZV93b3JrZXIsIGV4cGVjdGVkX3dpdGhvdXRfaW5jbHVkZV91bmNv
bnRyb2xsZWQpOworICBhd2FpdCB0ZXN0X21hdGNoYWxsKHNlcnZpY2Vfd29ya2VyLCBleHBlY3Rl
ZF93aXRoX2luY2x1ZGVfdW5jb250cm9sbGVkLAorICAgICAgICAgICAgICAgICAgICAgIHsgaW5j
bHVkZVVuY29udHJvbGxlZDogdHJ1ZSB9KTsKK30sICdWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdp
bmRvd3MgcmVzcGVjdCBpbmNsdWRlVW5jb250cm9sbGVkJyk7CisKKy8vIFRPRE86IEFkZCB0ZXN0
cyBmb3IgY2xpZW50cy5tYXRjaEFsbCBmb3IgZGVkaWNhdGVkIHdvcmtlcnMuCisKK2FzeW5jIGZ1
bmN0aW9uIGNyZWF0ZV9zaGFyZWRfd29ya2VyKHNjcmlwdF91cmwpIHsKKyAgY29uc3Qgc2hhcmVk
X3dvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoc2NyaXB0X3VybCk7CisgIGNvbnN0IG1zZ0V2ZW50
ID0gYXdhaXQgbmV3IFByb21pc2UociA9PiBzaGFyZWRfd29ya2VyLnBvcnQub25tZXNzYWdlID0g
cik7CisgIGFzc2VydF9lcXVhbHMobXNnRXZlbnQuZGF0YSwgJ3N0YXJ0ZWQnKTsKKyAgcmV0dXJu
IHNoYXJlZF93b3JrZXI7CiB9CiAKLS8vIFJ1biBjbGllbnRzLm1hdGNoQWxsIHdpdGhvdXQgYW5k
IHdpdGggaW5jbHVkZVVuY29udHJvbGxlZD10cnVlLgotLy8gKFdlIHdhbnQgdG8gcnVuIHRoZSB0
d28gdGVzdHMgc2VxdWVudGlhbGx5IGluIHRoZSBzYW1lIGFzeW5jX3Rlc3QKLS8vIHNvIHRoYXQg
d2UgY2FuIHVzZSB0aGUgc2FtZSBzZXQgb2YgaWZyYW1lcyB3aXRob3V0IGludGVmZXJpbmcgZWFj
aCBvdGhlci4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAotICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtbWF0
Y2hhbGwtd29ya2VyLmpzJywgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRp
b24pIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgeyByZXR1cm4gY3JlYXRlX2lmcmFtZXMoc2NvcGUpOyB9KQotICAgICAgLnRoZW4oZnVuY3Rp
b24oZnJhbWUpIHsKLSAgICAgICAgICByZXR1cm4gdGVzdF9tYXRjaGFsbChmcmFtZSwgZXhwZWN0
ZWRfd2l0aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCk7Ci0gICAgICAgIH0pCi0gICAgICAudGhl
bihmdW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIHJldHVybiB0ZXN0X21hdGNoYWxsKGZyYW1l
LCBleHBlY3RlZF93aXRoX2luY2x1ZGVfdW5jb250cm9sbGVkLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHtpbmNsdWRlVW5jb250cm9sbGVkOnRydWV9KTsKLSAgICAgICAgfSkKLSAg
ICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIGZyYW1lcy5mb3JFYWNoKGZ1bmN0aW9u
KGYpIHsgZi5yZW1vdmUoKSB9KTsKLSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRf
cmVqZWN0aW9uKHQpKTsKLSAgfSwgJ1ZlcmlmeSBtYXRjaEFsbCgpIHJlc3BlY3QgaW5jbHVkZVVu
Y29udHJvbGxlZCcpOworLy8gUnVuIGNsaWVudHMubWF0Y2hBbGwgZm9yIHNoYXJlZCB3b3JrZXJz
IHdpdGhvdXQgYW5kIHdpdGgKKy8vIGluY2x1ZGVVbmNvbnRyb2xsZWQ9dHJ1ZS4KK3Byb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0X3VybCA9ICdyZXNvdXJjZXMvY2xpZW50
cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMtc2hhcmVkLXdvcmtlci5qcyc7CisgIGNvbnN0IHVuY29u
dHJvbGxlZF9zY3JpcHRfdXJsID0KKyAgICAgIG5ldyBVUkwoc2NyaXB0X3VybCArICc/dW5jb250
cm9sbGVkJywgbG9jYXRpb24pLnRvU3RyaW5nKCk7CisgIGNvbnN0IGNvbnRyb2xsZWRfc2NyaXB0
X3VybCA9CisgICAgICBuZXcgVVJMKHNjcmlwdF91cmwgKyAnP2NvbnRyb2xsZWQnLCBsb2NhdGlv
bikudG9TdHJpbmcoKTsKKworICAvLyBTdGFydCBhIHNoYXJlZCB3b3JrZXIgdGhhdCBpcyBub3Qg
Y29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgorICBjb25zdCB1bmNvbnRyb2xsZWRfc2hh
cmVkX3dvcmtlciA9CisgICAgICBhd2FpdCBjcmVhdGVfc2hhcmVkX3dvcmtlcih1bmNvbnRyb2xs
ZWRfc2NyaXB0X3VybCk7CisKKyAgLy8gUmVnaXN0ZXIgYSBzZXJ2aWNlIHdvcmtlci4KKyAgY29u
c3QgcmVnaXN0cmF0aW9uID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKAorICAgICAgICAgIHQsICdyZXNvdXJjZXMvY2xpZW50cy1tYXRjaGFsbC13
b3JrZXIuanMnLCBzY3JpcHRfdXJsKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyKHQsIHNjcmlwdF91cmwpKTsKKyAgY29uc3Qgc2VydmljZV93b3JrZXIg
PSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgc2Vy
dmljZV93b3JrZXIsICdhY3RpdmF0ZWQnKTsKKworICAvLyBTdGFydCBhbm90aGVyIHNoYXJlZCB3
b3JrZXIgY29udHJvbGxlZCBieSB0aGUgc2VydmljZSB3b3JrZXIuCisgIGF3YWl0IGNyZWF0ZV9z
aGFyZWRfd29ya2VyKGNvbnRyb2xsZWRfc2NyaXB0X3VybCk7CisKKyAgY29uc3QgZXhwZWN0ZWRf
d2l0aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCA9IFsKKyAgICAvLyB2aXNpYmlsaXR5U3RhdGUs
IGZvY3VzZWQsIHVybCwgdHlwZSwgZnJhbWVUeXBlCisgICAgW3VuZGVmaW5lZCwgdW5kZWZpbmVk
LCBjb250cm9sbGVkX3NjcmlwdF91cmwsICdzaGFyZWR3b3JrZXInLCAnbm9uZSddLAorICBdOwor
ICBjb25zdCBleHBlY3RlZF93aXRoX2luY2x1ZGVfdW5jb250cm9sbGVkID0gWworICAgIC8vIHZp
c2liaWxpdHlTdGF0ZSwgZm9jdXNlZCwgdXJsLCB0eXBlLCBmcmFtZVR5cGUKKyAgICBbdW5kZWZp
bmVkLCB1bmRlZmluZWQsIGNvbnRyb2xsZWRfc2NyaXB0X3VybCwgJ3NoYXJlZHdvcmtlcicsICdu
b25lJ10sCisgICAgW3VuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmNvbnRyb2xsZWRfc2NyaXB0X3Vy
bCwgJ3NoYXJlZHdvcmtlcicsICdub25lJ10sCisgIF07CiAKKyAgYXdhaXQgdGVzdF9tYXRjaGFs
bChzZXJ2aWNlX3dvcmtlciwgZXhwZWN0ZWRfd2l0aG91dF9pbmNsdWRlX3VuY29udHJvbGxlZCwK
KyAgICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdzaGFyZWR3b3JrZXInIH0pOworICBhd2Fp
dCB0ZXN0X21hdGNoYWxsKHNlcnZpY2Vfd29ya2VyLCBleHBlY3RlZF93aXRoX2luY2x1ZGVfdW5j
b250cm9sbGVkLAorICAgICAgICAgICAgICAgICAgICAgIHsgaW5jbHVkZVVuY29udHJvbGxlZDog
dHJ1ZSwgdHlwZTogJ3NoYXJlZHdvcmtlcicgfSk7Cit9LCAnVmVyaWZ5IG1hdGNoQWxsKCkgd2l0
aCBzaGFyZWQgd29ya2VycyByZXNwZWN0IGluY2x1ZGVVbmNvbnRyb2xsZWQnKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1vcmRlci5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1vcmRlci5odHRw
cy5odG1sCmluZGV4IDJjMWU5NTZkMWQ4NGJmODJlMzc5ODI3ODE5MTRiYmFhNzJhNDIwNjIuLjA1
OTYwNTBjMjRhZjRlMjc1ZWJmZTNlMDQwOTE4YzExNTc5N2YyZTggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtb3JkZXIuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLW9yZGVyLmh0dHBzLmh0bWwKQEAgLTEsNSAr
MSw2IEBACiA8IURPQ1RZUEUgaHRtbD4KIDx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogQ2xpZW50cy5t
YXRjaEFsbCBvcmRlcmluZzwvdGl0bGU+Cis8bWV0YSBuYW1lPXRpbWVvdXQgY29udGVudD1sb25n
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwuaHR0cHMuaHRtbAppbmRleCAzNjI2OWI0
ZDk4ZTJiNzJmNTU1MTgyNjhjMWJjZmQxNGFiYjIxMjk5Li5jZTQ0ZjE5MjRkNTQ5NTJhZmU0NDJi
MTliZDBiNDZjNWY5Mjk1MWQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRj
aGFsbC5odHRwcy5odG1sCkBAIC01LDEyICs1LDE1IEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIHZhciBzY29wZSA9ICdy
ZXNvdXJjZXMvYmxhbmsuaHRtbD9jbGllbnRzLW1hdGNoQWxsJzsKLXZhciB0ID0gYXN5bmNfdGVz
dCgnVGVzdCBDbGllbnRzLm1hdGNoQWxsKCknKTsKIHZhciBmcmFtZXMgPSBbXTsKLXQuc3RlcChm
dW5jdGlvbigpIHsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigK
K3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAogICAgICAgICB0LCAncmVzb3VyY2VzL2NsaWVudHMtbWF0
Y2hhbGwtd29ya2VyLmpzJywgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRp
b24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAg
ICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24u
aW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSArICcjMScpOyB9KQpAQCAtMjIsMTIgKzI1
LDE1IEBAIHQuc3RlcChmdW5jdGlvbigpIHsKICAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lMikg
ewogICAgICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lMik7CiAgICAgICAgICAgdmFyIGNoYW5uZWwg
PSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2Fn
ZSA9IHQuc3RlcF9mdW5jKG9uTWVzc2FnZSk7Ci0gICAgICAgICAgZnJhbWUyLmNvbnRlbnRXaW5k
b3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5wb3N0TWVzc2FnZSgKLSAgICAg
ICAgICAgICAge3BvcnQ6Y2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CisKKyAgICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAg
ICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAgICAgICAgICAgIGZyYW1l
Mi5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1l
c3NhZ2UoCisgICAgICAgICAgICAgICAgICB7cG9ydDpjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwu
cG9ydDJdKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVh
Y2hlZF9yZWplY3Rpb24odCkpOwotICB9KTsKKyAgICAgIC50aGVuKG9uTWVzc2FnZSk7Cit9LCAn
VGVzdCBDbGllbnRzLm1hdGNoQWxsKCknKTsKIAogdmFyIGV4cGVjdGVkID0gWwogICAgIC8vIHZp
c2liaWxpdHlTdGF0ZSwgZm9jdXNlZCwgdXJsLCB0eXBlLCBmcmFtZVR5cGUKQEAgLTQwLDYgKzQ2
LDUgQEAgZnVuY3Rpb24gb25NZXNzYWdlKGUpIHsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlLmRh
dGFbMF0sIGV4cGVjdGVkWzBdKTsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlLmRhdGFbMV0sIGV4
cGVjdGVkWzFdKTsKICAgZnJhbWVzLmZvckVhY2goZnVuY3Rpb24oZikgeyBmLnJlbW92ZSgpOyB9
KTsKLSAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7CiB9CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItb24tZGlz
Y29ubmVjdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1kaXNj
b25uZWN0Lmh0dHBzLmh0bWwKaW5kZXggOTIwZDE5MGUzYjIwMTQ3Y2YxODNmODk2NjRmZjdlZDg0
YTRlYzNkZS4uZjIzZGZlNzFiYWM1MDVmMWNjMzk2YmNhYjE5MWRiZWU3YTY0NjFmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1kaXNjb25uZWN0Lmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1kaXNjb25uZWN0Lmh0dHBz
Lmh0bWwKQEAgLTUsMjIgKzUsMjUgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxw
ZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rl
c3QoJ2NvbnRyb2xsZXIgaXMgY2xlYXJlZCBvbiBkaXNjb25uZWN0ZWQgd2luZG93Jyk7Ci10LnN0
ZXAoZnVuY3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciB1cmwg
PSAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNl
cy9ibGFuay5odG1sJzsKICAgICB2YXIgcmVnaXN0cmF0aW9uOwogICAgIHZhciBjb250cm9sbGVy
OwogICAgIHZhciBmcmFtZTsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCB1cmwsIHNjb3BlKQotICAgICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oc3dy
KSB7CisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IHVybCwgc2NvcGUpCisgICAgICAudGhlbihmdW5jdGlvbihzd3IpIHsKKyAgICAgICAgICB0LmFk
ZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJl
Z2lzdHJhdGlvbiA9IHN3cjsKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVn
aXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkpCi0gICAgICAu
dGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgewogICAgICAgICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29wZSkKLSAgICAgICAg
fSkpCi0gICAgICAudGhlbih0LnN0ZXBfZnVuYyhmdW5jdGlvbihmKSB7CisgICAgICAgIH0pCisg
ICAgICAudGhlbihmdW5jdGlvbihmKSB7CiAgICAgICAgICAgZnJhbWUgPSBmOwogICAgICAgICAg
IHZhciB3ID0gZnJhbWUuY29udGVudFdpbmRvdzsKICAgICAgICAgICB2YXIgc3djID0gdy5uYXZp
Z2F0b3Iuc2VydmljZVdvcmtlcjsKQEAgLTMxLDEwICszNCw3IEBAIHQuc3RlcChmdW5jdGlvbigp
IHsKIAogICAgICAgICAgIGFzc2VydF9lcXVhbHMoc3djLmNvbnRyb2xsZXIsIG51bGwsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAnZGlzY29ubmVjdGVkIGZyYW1lIHNob3VsZCBub3QgYmUgY29u
dHJvbGxlZCcpOwotCi0gICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9u
ZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pKQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rp
b24odCkpOwotICB9KTsKKyAgICAgICAgfSk7Cit9LCAnY29udHJvbGxlciBpcyBjbGVhcmVkIG9u
IGRpc2Nvbm5lY3RlZCB3aW5kb3cnKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1sb2FkLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jb250cm9sbGVyLW9uLWxvYWQuaHR0cHMuaHRtbAppbmRleCA0OWY5ODc5NjI2
YjBjNTk1N2M3NWU2NGMzNDIxNWM4ZTVjY2NiNTM0Li5lNGM1ZTVmODFmODEzOWUxYzc4OGYwNjhm
NzE2Y2RiYjM2N2ZiODNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jb250cm9sbGVy
LW9uLWxvYWQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jb250cm9sbGVyLW9u
LWxvYWQuaHR0cHMuaHRtbApAQCAtNSwyMiArNSwyNSBAQAogPHNjcmlwdCBzcmM9InJlc291cmNl
cy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxib2R5PgogPHNjcmlwdD4KLXZhciB0
ID0gYXN5bmNfdGVzdCgnY29udHJvbGxlciBpcyBzZXQgZm9yIGEgY29udHJvbGxlZCBkb2N1bWVu
dCcpOwotdC5zdGVwKGZ1bmN0aW9uKCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAg
ICB2YXIgdXJsID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOwogICAgIHZhciBzY29wZSA9
ICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7CiAgICAgdmFyIHJlZ2lzdHJhdGlvbjsKICAgICB2YXIg
Y29udHJvbGxlcjsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodCwgdXJsLCBzY29wZSkKLSAgICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1
bmN0aW9uKHN3cikgeworICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9y
ZWdpc3Rlcih0LCB1cmwsIHNjb3BlKQorICAgICAgLnRoZW4oZnVuY3Rpb24oc3dyKSB7CisgICAg
ICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAg
ICAgICAgICByZWdpc3RyYXRpb24gPSBzd3I7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0
YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0p
KQotICAgICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICAgIH0pCisgICAg
ICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUp
OwotICAgICAgICB9KSkKLSAgICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGYpIHsKKyAg
ICAgICAgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKICAgICAgICAgICBmcmFtZSA9IGY7
CiAgICAgICAgICAgdmFyIHcgPSBmcmFtZS5jb250ZW50V2luZG93OwogICAgICAgICAgIGNvbnRy
b2xsZXIgPSB3Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXI7CkBAIC0zMiwxNCAr
MzUsMTIgQEAgdC5zdGVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxz
KGNvbnRyb2xsZXIsIHJlZ2lzdHJhdGlvbi5hY3RpdmUpOwogCiAgICAgICAgICAgcmV0dXJuIHcu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKCk7Ci0gICAgICAgIH0pKQot
ICAgICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24oZnJhbWVSZWdpc3RyYXRpb24pIHsKKyAg
ICAgICAgfSkKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lUmVnaXN0cmF0aW9uKSB7CiAgICAg
ICAgICAgLy8gU1cgb2JqZWN0cyBmcm9tIHNhbWUgd2luZG93IHNob3VsZCBiZSBlcXVhbAogICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZnJhbWVSZWdpc3RyYXRpb24uYWN0aXZlLCBjb250cm9sbGVy
KTsKICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkpCi0gICAgICAuY2F0Y2go
dW5yZWFjaGVkX3JlamVjdGlvbih0KSk7Ci0gIH0pOworICAgICAgICB9KTsKK30sICdjb250cm9s
bGVyIGlzIHNldCBmb3IgYSBjb250cm9sbGVkIGRvY3VtZW50Jyk7CiA8L3NjcmlwdD4KIDwvYm9k
eT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItd2l0aC1uby1mZXRj
aC1ldmVudC1oYW5kbGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Nv
bnRyb2xsZXItd2l0aC1uby1mZXRjaC1ldmVudC1oYW5kbGVyLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNDU1NjgyZDNmMmIyYTJhMzJjYzEyZmVhN2Y2YjY2YTM4Mjg2YWM3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci13aXRoLW5vLWZldGNo
LWV2ZW50LWhhbmRsZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09M
RSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBi
eSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQ
SSBjYW5ub3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvY29ycy1kZW5pZWQudHh0IGR1ZSB0byBhY2Nlc3MgY29udHJv
bCBjaGVja3MuCisKK1BBU1MgZ2xvYmFsIHNldHVwIAorUEFTUyBjcm9zcy1vcmlnaW4gcmVxdWVz
dCwgbm8tY29ycyBtb2RlIAorUEFTUyBjcm9zcy1vcmlnaW4gcmVxdWVzdCwgY29ycyBkZW5pZWQg
CitQQVNTIGNyb3NzLW9yaWdpbiByZXF1ZXN0LCBjb3JzIGFwcHJvdmVkIAorUEFTUyBjbGVhbnVw
IGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxl
ci13aXRoLW5vLWZldGNoLWV2ZW50LWhhbmRsZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NvbnRyb2xsZXItd2l0aC1uby1mZXRjaC1ldmVudC1oYW5kbGVyLmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzE0N2MzM2EwNDgyNDQzYjRiMzMyYjgzMmM2MjY2YTM0M2FhZWQxMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItd2l0aC1uby1mZXRjaC1l
dmVudC1oYW5kbGVyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IGNvbnRyb2xs
ZXIgd2l0aG91dCBhIGZldGNoIGV2ZW50IGhhbmRsZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90
ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4K
K2xldCByZWdpc3RyYXRpb247CitsZXQgZnJhbWU7Citjb25zdCBob3N0X2luZm8gPSBnZXRfaG9z
dF9pbmZvKCk7Citjb25zdCByZW1vdGVfYmFzZV91cmwgPQorICAgIG5ldyBVUkwoYCR7aG9zdF9p
bmZvLkhUVFBTX1JFTU9URV9PUklHSU59JHtiYXNlX3BhdGgoKX1yZXNvdXJjZXMvYCk7CisKK3By
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9lbXB0
eS5qcycKKyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzLyc7CisKKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIGlmIChmcmFtZSkKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworCisgICAg
aWYgKHJlZ2lzdHJhdGlvbikKKyAgICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7
CisgIH0sICdjbGVhbnVwIGdsb2JhbCBzdGF0ZScpOworCisgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0
CisgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQs
IHNjb3BlKTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxp
bmcsICdhY3RpdmF0ZWQnKTsKKyAgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSArICdi
bGFuay5odG1sJyk7Cit9LCAnZ2xvYmFsIHNldHVwJyk7CisKK3Byb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBjb25zdCB1cmwgPSBuZXcgVVJMKCdjb3JzLWFwcHJvdmVkLnR4dCcsIHJlbW90
ZV9iYXNlX3VybCk7CisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmcmFtZS5jb250ZW50V2lu
ZG93LmZldGNoKHVybCwge21vZGU6J25vLWNvcnMnfSk7CisgICAgY29uc3QgdGV4dCA9IGF3YWl0
IHJlc3BvbnNlLnRleHQoKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRleHQsICcnKTsKK30sICdjcm9z
cy1vcmlnaW4gcmVxdWVzdCwgbm8tY29ycyBtb2RlJyk7CisKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoJ2NvcnMtZGVuaWVkLnR4dCcsIHJlbW90
ZV9iYXNlX3VybCk7CisgICAgY29uc3QgcmVzcG9uc2UgPSBmcmFtZS5jb250ZW50V2luZG93LmZl
dGNoKHVybCk7CisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwg
cmVzcG9uc2UpOworfSwgJ2Nyb3NzLW9yaWdpbiByZXF1ZXN0LCBjb3JzIGRlbmllZCcpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgdXJsID0gbmV3IFVSTCgnY29ycy1h
cHByb3ZlZC50eHQnLCByZW1vdGVfYmFzZV91cmwpOworICAgIHJlc3BvbnNlID0gYXdhaXQgZnJh
bWUuY29udGVudFdpbmRvdy5mZXRjaCh1cmwpOworICAgIGxldCB0ZXh0ID0gYXdhaXQgcmVzcG9u
c2UudGV4dCgpOworICAgIHRleHQgPSB0ZXh0LnRyaW0oKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRl
eHQsICdwbGFpbnRleHQnKTsKK30sICdjcm9zcy1vcmlnaW4gcmVxdWVzdCwgY29ycyBhcHByb3Zl
ZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9k
ZWRpY2F0ZWQtd29ya2VyLXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZWRpY2F0ZWQtd29ya2VyLXNlcnZpY2Utd29ya2Vy
LWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJhYzQzMGI5ODhi
NGZjOTA5YTM4OWZkMDZkMTAzYTRkNDg2NTdkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2RlZGljYXRlZC13b3JrZXItc2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAx
OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBzdHJpbmcgbGl0ZXJhbCAnLi9zZXJ2aWNlLXdvcmtl
ci1pbnRlcmNlcHRpb24tbmV0d29yay13b3JrZXIuanMnLiBpbXBvcnQgY2FsbCBleHBlY3RzIGV4
YWN0bHkgb25lIGFyZ3VtZW50LgorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIHN0cmluZyBsaXRlcmFsICcuL3NlcnZpY2Utd29ya2VyLWlu
dGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5qcycuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3Rs
eSBvbmUgYXJndW1lbnQuCisKK0ZBSUwgVG9wLWxldmVsIG1vZHVsZSBsb2FkaW5nIHNob3VsZCBi
ZSBpbnRlcmNlcHRlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiTE9BREVEX0ZST01fU0VSVklDRV9XT1JLRVIiIGJ1dCBnb3QgIkxPQURFRF9GUk9NX05FVFdP
UksiCitUSU1FT1VUIFN0YXRpYyBpbXBvcnQgc2hvdWxkIGJlIGludGVyY2VwdGVkIGJ5IGEgc2Vy
dmljZSB3b3JrZXIuIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gRHluYW1pYyBpbXBvcnQgc2hvdWxk
IGJlIGludGVyY2VwdGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9kZWRpY2F0ZWQtd29ya2VyLXNlcnZpY2Utd29ya2VyLWludGVyY2VwdGlv
bi5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZGVkaWNhdGVkLXdvcmtlci1zZXJ2aWNl
LXdvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTQ0ZjQ4MjcxMjFi
NDkwMmQ4YzU2YTYxZGY4MjNmMDRlZTg4MDFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZGVkaWNhdGVkLXdvcmtlci1zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24uaHR0
cHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5EZWRpY2F0
ZWRXb3JrZXI6IFNlcnZpY2VXb3JrZXIgaW50ZXJjZXB0aW9uPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCisvLyBOb3Rl
IHRoYXQgQ2hyb21lIGNhbm5vdCBwYXNzIHRoZXNlIHRlc3RzIGJlY2F1c2Ugb2YgaHR0cHM6Ly9j
cmJ1Zy5jb20vNzMxNTk5LgorCitmdW5jdGlvbiBzZXJ2aWNlX3dvcmtlcl9pbnRlcmNlcHRpb25f
dGVzdCh1cmwsIGRlc2NyaXB0aW9uKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICAvLyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIHdob3NlIHNjb3BlIGluY2x1ZGVzIHx1cmx8
LgorICAgIGNvbnN0IGtTZXJ2aWNlV29ya2VyU2NyaXB0VVJMID0KKyAgICAgICAgJ3Jlc291cmNl
cy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc2VydmljZS13b3JrZXIuanMnOworICAgIGNv
bnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKAorICAgICAgICB0LCBrU2VydmljZVdvcmtlclNjcmlwdFVSTCwgdXJsKTsKKyAgICBh
ZGRfcmVzdWx0X2NhbGxiYWNrKCgpID0+IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICAg
IGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZh
dGVkJyk7CisKKyAgICAvLyBTdGFydCBhIGRlZGljYXRlZCB3b3JrZXIgZm9yIHx1cmx8LiBUaGUg
dG9wLWxldmVsIHNjcmlwdCByZXF1ZXN0IGFuZCBhbnkKKyAgICAvLyBtb2R1bGUgaW1wb3J0cyBz
aG91bGQgYmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLgorICAgIGNvbnN0IHdv
cmtlciA9IG5ldyBXb3JrZXIodXJsLCB7IHR5cGU6ICdtb2R1bGUnIH0pOworICAgIGNvbnN0IG1z
Z19ldmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVzc2FnZSA9
IHJlc29sdmUpOworICAgIGFzc2VydF9lcXVhbHMobXNnX2V2ZW50LmRhdGEsICdMT0FERURfRlJP
TV9TRVJWSUNFX1dPUktFUicpOworICB9LCBkZXNjcmlwdGlvbik7Cit9CisKK3NlcnZpY2Vfd29y
a2VyX2ludGVyY2VwdGlvbl90ZXN0KAorICAgICdyZXNvdXJjZXMvc2VydmljZS13b3JrZXItaW50
ZXJjZXB0aW9uLW5ldHdvcmstd29ya2VyLmpzJywKKyAgICAnVG9wLWxldmVsIG1vZHVsZSBsb2Fk
aW5nIHNob3VsZCBiZSBpbnRlcmNlcHRlZCBieSBhIHNlcnZpY2Ugd29ya2VyLicpOworCitzZXJ2
aWNlX3dvcmtlcl9pbnRlcmNlcHRpb25fdGVzdCgKKyAgICAncmVzb3VyY2VzL3NlcnZpY2Utd29y
a2VyLWludGVyY2VwdGlvbi1zdGF0aWMtaW1wb3J0LXdvcmtlci5qcycsCisgICAgJ1N0YXRpYyBp
bXBvcnQgc2hvdWxkIGJlIGludGVyY2VwdGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuJyk7CisKK3Nl
cnZpY2Vfd29ya2VyX2ludGVyY2VwdGlvbl90ZXN0KAorICAgICdyZXNvdXJjZXMvc2VydmljZS13
b3JrZXItaW50ZXJjZXB0aW9uLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcycsCisgICAgJ0R5bmFt
aWMgaW1wb3J0IHNob3VsZCBiZSBpbnRlcmNlcHRlZCBieSBhIHNlcnZpY2Ugd29ya2VyLicpOwor
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRl
eHQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRleHQuaHR0cHMu
aHRtbAppbmRleCBkMzQ1OTgyMzQzZjA1ZjFiNzFlODljYzQ2YTAwZjA1N2VlYzg5ZDhlLi41YWU0
ZGU4Y2M4MWUwYzM2NTBlYWFmNmI1NjU2MTkzZDRhMmNmOGIwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9kZXRhY2hlZC1jb250ZXh0Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZGV0YWNoZWQtY29udGV4dC5odHRwcy5odG1sCkBAIC0xNiw2ICsxNiw3IEBAIHByb21p
c2VfdGVzdCh0ID0+IHsKICAgICBjb25zdCBzY29wZV9mb3JfbWFpbiA9ICdyZXNvdXJjZXMvJyAr
IHNjb3BlX2Zvcl9pZnJhbWU7CiAgICAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9lbXB0eS13
b3JrZXIuanMnOwogICAgIGxldCBmcmFtZTsKKyAgICBsZXQgcmVzb2x2ZWRDb3VudCA9IDA7CiAK
ICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZV9mb3JfbWFpbikK
ICAgICAgIC50aGVuKCgpID0+IHsKQEAgLTQxLDkgKzQyLDIzIEBAIHByb21pc2VfdGVzdCh0ID0+
IHsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHIuYWN0aXZlLnN0YXRlLCAnYWN0aXZhdGVkJyk7
CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyLnNjb3BlLCBub3JtYWxpemVVUkwoc2NvcGVfZm9y
X21haW4pKTsKICAgICAgICAgICByLm9udXBkYXRlZm91bmQgPSAoKSA9PiB7IC8qIGVtcHR5ICov
IH07Ci0gICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFsKLSAgICAgICAgICAgICAgcHJvbWlz
ZV9yZWplY3RzKHQsICdJbnZhbGlkU3RhdGVFcnJvcicsIHIudW5yZWdpc3RlcigpKSwKLSAgICAg
ICAgICAgICAgcHJvbWlzZV9yZWplY3RzKHQsICdJbnZhbGlkU3RhdGVFcnJvcicsIHIudXBkYXRl
KCkpXSk7CisKKyAgICAgICAgICAvLyBXZSB3YW50IHRvIHZlcmlmeSB0aGF0IHVucmVnaXN0ZXIo
KSBhbmQgdXBkYXRlKCkgZG8gbm90CisgICAgICAgICAgLy8gcmVzb2x2ZSBvbiBhIGRldGFjaGVk
IHJlZ2lzdHJhdGlvbi4gIFdlIGNhbid0IGNoZWNrIGZvcgorICAgICAgICAgIC8vIGFuIGV4cGxp
Y2l0IHJlamVjdGlvbiwgdGhvdWdoLCBiZWNhdXNlIG5vdCBhbGwgYnJvd3NlcnMKKyAgICAgICAg
ICAvLyBmaXJlIHJlamVjdGlvbiBjYWxsYmFja3Mgb24gZGV0YWNoZWQgcHJvbWlzZXMuICBJbnN0
ZWFkCisgICAgICAgICAgLy8gd2Ugd2FpdCBmb3IgYSBkdW1teSBzY29wZSB0byBpbnN0YWxsLCBh
Y3RpdmF0ZSwgYW5kCisgICAgICAgICAgLy8gdW5yZWdpc3RlciBiZWZvcmUgZGVjbGFyaW5nIHRo
YXQgdGhlIHByb21pc2VzIGRpZCBub3QKKyAgICAgICAgICAvLyByZXNvbHZlLgorICAgICAgICAg
IHIudW5yZWdpc3RlcigpLnRoZW4oKCkgPT4gcmVzb2x2ZWRDb3VudCArPSAxLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge30pOworICAgICAgICAgIHIudXBkYXRlKCkudGhl
bigoKSA9PiByZXNvbHZlZENvdW50ICs9IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICgp
ID0+IHt9KTsKKyAgICAgICAgICByZXR1cm4gd2FpdF9mb3JfYWN0aXZhdGlvbl9vbl9kdW1teV9z
Y29wZSh0LCB3aW5kb3cpOworICAgICAgICB9KQorICAgICAgLnRoZW4oKCkgPT4geworICAgICAg
ICAgIGFzc2VydF9lcXVhbHMocmVzb2x2ZWRDb3VudCwgMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICdtZXRob2RzIGNhbGxlZCBvbiBhIGRldGFjaGVkIHJlZ2lzdHJhdGlvbiBzaG91bGQgbm90
IHJlc29sdmUnKTsKICAgICAgICAgfSkKICAgfSwgJ2FjY2Vzc2luZyBhIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gZnJvbSBhIHJlbW92ZWQgaWZyYW1lJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3Qt
aW50ZXJjZXB0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxNGY2OTEzMDRiNTJm
NDJmMTIzMTYzOTA4ZWJjZmQ3NDQ4ZDA5NzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJjZXB0ZWQuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3Bv
bmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiBuZXR3b3JrIGVycm9yIHRvIHNob3cgaW50ZXJjZXB0
aW9uIG9jY3VycmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvaW1hZ2VzL2dyZWVuLnBuZy4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5y
ZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogbmV0d29yayBlcnJvciB0byBzaG93IGludGVy
Y2VwdGlvbiBvY2N1cnJlZAorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRwczovL2xv
Y2FsaG9zdDo5NDQzL2ltYWdlcy9ncmVlbi5wbmcuCisjUElEIFVOUkVTUE9OU0lWRSAtIGNvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudC5EZXZlbG9wbWVudCAocGlkIDU2MzkwKQorRkFJTDogVGlt
ZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCisKKyNFT0YKKyNFT0YK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1p
bnRlcmNlcHRlZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZW1iZWQtYW5kLW9iamVj
dC1hcmUtbm90LWludGVyY2VwdGVkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ1NTZhNzg1YWVh
NjgxMDI0M2NhNDczZmM0MDA2NmQxNjI2NTExNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZC5odHRwcy5odG1s
CkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPmVtYmVkIGFuZCBvYmplY3QgYXJlIG5vdCBpbnRlcmNlcHRlZDwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPGJv
ZHk+Cis8c2NyaXB0PgorbGV0IHJlZ2lzdHJhdGlvbjsKKworY29uc3Qga1NjcmlwdCA9ICdyZXNv
dXJjZXMvZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkLXdvcmtlci5qcyc7Citj
b25zdCBrU2NvcGUgPSAncmVzb3VyY2VzLyc7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBy
ZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwga1NjcmlwdCwg
a1Njb3BlKQorICAgICAgLnRoZW4ocmVnaXN0cmF0aW9uID0+IHsKKyAgICAgICAgICBwcm9taXNl
X3Rlc3QoKCkgPT4geworICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0
ZXIoKTsKKyAgICAgICAgICAgIH0sICdyZXN0b3JlIGdsb2JhbCBzdGF0ZScpOworCisgICAgICAg
ICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0
aXZhdGVkJyk7CisgICAgICAgIH0pCisgIH0sICdpbml0aWFsaXplIGdsb2JhbCBzdGF0ZScpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgbGV0IGZyYW1lOworICAgIHJldHVybiB3aXRoX2lm
cmFtZSgncmVzb3VyY2VzL2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbCcpCisg
ICAgICAudGhlbihmID0+IHsKKyAgICAgICAgICBmcmFtZSA9IGY7CisgICAgICAgICAgdC5hZGRf
Y2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKyAgICAgICAgICByZXR1cm4gZnJh
bWUuY29udGVudFdpbmRvdy50ZXN0X3Byb21pc2U7CisgICAgICAgIH0pCisgICAgICAudGhlbihy
ZXN1bHQgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAncmVxdWVzdCBmb3Ig
ZW1iZWRkZWQgY29udGVudCB3YXMgbm90IGludGVyY2VwdGVkJyk7CisgICAgICAgIH0pOworICB9
LCAncmVxdWVzdHMgZm9yIEVNQkVEIGVsZW1lbnRzIG9mIGVtYmVkZGVkIEhUTUwgY29udGVudCBz
aG91bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5IHNlcnZpY2Ugd29ya2VycycpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgICAgbGV0IGZyYW1lOworICAgIHJldHVybiB3aXRoX2lmcmFtZSgncmVz
b3VyY2VzL29iamVjdC1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0bWwnKQorICAgICAgLnRo
ZW4oZiA9PiB7CisgICAgICAgICAgZnJhbWUgPSBmOworICAgICAgICAgIHQuYWRkX2NsZWFudXAo
KCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgICAgcmV0dXJuIGZyYW1lLmNvbnRl
bnRXaW5kb3cudGVzdF9wcm9taXNlOworICAgICAgICB9KQorICAgICAgLnRoZW4ocmVzdWx0ID0+
IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ3JlcXVlc3QgZm9yIGVtYmVkZGVk
IGNvbnRlbnQgd2FzIG5vdCBpbnRlcmNlcHRlZCcpOworICAgICAgICB9KTsKKyAgfSwgJ3JlcXVl
c3RzIGZvciBPQkpFQ1QgZWxlbWVudHMgb2YgZW1iZWRkZWQgSFRNTCBjb250ZW50IHNob3VsZCBu
b3QgYmUgaW50ZXJjZXB0ZWQgYnkgc2VydmljZSB3b3JrZXJzJyk7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgICBsZXQgZnJhbWU7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMv
ZW1iZWQtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sJykKKyAgICAgIC50aGVu
KGYgPT4geworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgp
ID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50
V2luZG93LnRlc3RfcHJvbWlzZTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7
CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdyZXF1ZXN0IHdhcyBub3QgaW50ZXJj
ZXB0ZWQnKTsKKyAgICAgICAgfSk7CisgIH0sICdyZXF1ZXN0cyBmb3IgRU1CRUQgZWxlbWVudHMg
b2YgYW4gaW1hZ2Ugc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBzZXJ2aWNlIHdvcmtlcnMn
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCBmcmFtZTsKKyAgICByZXR1cm4gd2l0
aF9pZnJhbWUoJ3Jlc291cmNlcy9vYmplY3QtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFt
ZS5odG1sJykKKyAgICAgIC50aGVuKGYgPT4geworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAg
ICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgICAgICAg
IHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LnRlc3RfcHJvbWlzZTsKKyAgICAgICAgfSkKKyAg
ICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdy
ZXF1ZXN0IHdhcyBub3QgaW50ZXJjZXB0ZWQnKTsKKyAgICAgICAgfSk7CisgIH0sICdyZXF1ZXN0
cyBmb3IgT0JKRUNUIGVsZW1lbnRzIG9mIGFuIGltYWdlIHNob3VsZCBub3QgYmUgaW50ZXJjZXB0
ZWQgYnkgc2VydmljZSB3b3JrZXJzJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50
aWwuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDkwMmE5Nzg0ZDc2MWQ5Nzc2ZmZiNDYyMTJlYzU2
MzE5NzA1YWRmNGUuLjMxMTBkM2ViM2JiNGI5N2MzYjY4M2I0YWQyZTBiNzE0NjgxYTdlM2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtYXN5bmMtd2FpdHVu
dGlsLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxl
LWV2ZW50LWFzeW5jLXdhaXR1bnRpbC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTMgKzEsMTMg
QEAKIAogCiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgaW4gYSBkaWZmZXJlbnQgdGFzayB3
aXRob3V0IGFuIGV4aXN0aW5nIGV4dGVuc2lvbiB0aHJvd3MgCi1GQUlMIFRlc3QgY2FsbGluZyB3
YWl0VW50aWwgaW4gYSBkaWZmZXJlbnQgbWljcm90YXNrIHdpdGhvdXQgYW4gZXhpc3RpbmcgZXh0
ZW5zaW9uIHRocm93cyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIkludmFsaWRTdGF0ZUVycm9yIiBidXQgZ290ICJPSyIgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgaW4gYSBk
aWZmZXJlbnQgbWljcm90YXNrIHdpdGhvdXQgYW4gZXhpc3RpbmcgZXh0ZW5zaW9uIHRocm93cyBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiSW52YWxpZFN0YXRlRXJyb3IiIGJ1dCBnb3QgIk9LIgog
UEFTUyBUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGluIGEgZGlmZmVyZW50IHRhc2sgd2l0aCBhbiBl
eGlzdGluZyBleHRlbnNpb24gc3VjY2VlZHMgCiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwg
d2l0aCBhbiBleGlzdGluZyBleHRlbnNpb24gcHJvbWlzZSBoYW5kbGVyIHN1Y2NlZWRzIAotRkFJ
TCBUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGF0IHRoZSBlbmQgb2YgdGhlIG1pY3JvdGFzayB0dXJu
IHRocm93cyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIkludmFsaWRTdGF0ZUVycm9yIiBidXQgZ290ICJPSyIgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitGQUlMIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgYXQgdGhlIGVuZCBv
ZiB0aGUgbWljcm90YXNrIHR1cm4gdGhyb3dzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJJbnZh
bGlkU3RhdGVFcnJvciIgYnV0IGdvdCAiT0siCiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwg
YWZ0ZXIgdGhlIGN1cnJlbnQgZXh0ZW5zaW9uIGV4cGlyZWQgaW4gYSBkaWZmZXJlbnQgdGFzayBm
YWlscyAKIFBBU1MgVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBvbiBhIHNjcmlwdCBjb25zdHJ1Y3Rl
ZCBFeHRlbmRhYmxlRXZlbnQgdGhyb3dzIGV4Y2VwdGlvbiAKIFBBU1MgVGVzdCBjYWxsaW5nIHdh
aXRVbnRpbCBhc3luY2hyb25vdXNseSB3aXRoIHBlbmRpbmcgcmVzcG9uZFdpdGggcHJvbWlzZS4g
CiBQQVNTIFRlc3QgY2FsbGluZyB3YWl0VW50aWwgc3luY2hyb25vdXNseSBpbnNpZGUgbWljcm90
YXNrIG9mIHJlc3BvbmRXaXRoIHByb21pc2UuIAotRkFJTCBUZXN0IGNhbGxpbmcgd2FpdFVudGls
IGFzeW5jaHJvbm91c2x5IGluc2lkZSBtaWNyb3Rhc2sgb2YgcmVzcG9uZFdpdGggcHJvbWlzZS4g
YXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJJbnZhbGlkU3RhdGVFcnJvciIgYnV0IGdvdCAiT0siIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQorRkFJTCBUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGFzeW5jaHJvbm91c2x5IGluc2lk
ZSBtaWNyb3Rhc2sgb2YgcmVzcG9uZFdpdGggcHJvbWlzZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIkludmFsaWRTdGF0ZUVycm9yIiBidXQgZ290ICJPSyIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtYXN5bmMtd2FpdHVudGlsLmh0dHBz
Lmh0bWwKaW5kZXggYmU0ZWZiYmMzNDIyMmY3MDg3NzUzYzc1OTIwYWVlMWVjZWQ5OThiMC4uY2I0
ZWQzMGEzN2ZkZmQwN2ZkOGIzNDE4MWYwNzNjNmRlMmUxNjViOSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC1hc3luYy13YWl0dW50aWwuaHR0cHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50LWFzeW5jLXdhaXR1bnRpbC5o
dHRwcy5odG1sCkBAIC0yMiwxNSArMjIsMTkgQEAgZnVuY3Rpb24gc3luY19tZXNzYWdlKHdvcmtl
ciwgbWVzc2FnZSwgdHJhbnNmZXIpIHsKIGZ1bmN0aW9uIHJ1blRlc3QodGVzdCwgc3RlcCwgdGVz
dEJvZHkpIHsKICAgdmFyIHNjb3BlID0gJy4vcmVzb3VyY2VzLycgKyBzdGVwOwogICB2YXIgc2Ny
aXB0ID0gJ3Jlc291cmNlcy9leHRlbmRhYmxlLWV2ZW50LWFzeW5jLXdhaXR1bnRpbC5qcz8nICsg
c2NvcGU7Ci0gIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHNj
cmlwdCwgc2NvcGUpCisgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0ZXN0LCBzY3JpcHQsIHNjb3BlKQogICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlv
bikgeworICAgICAgICB0ZXN0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
cmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodGVzdCwgc2NvcGUpOworICAgICAgICAg
IH0pOworCiAgICAgICAgIGxldCB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKICAg
ICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKICAgICAgICAgdmFyIHNh
d19tZXNzYWdlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAgICAgICAgIGNo
YW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeyByZXNvbHZlKGUuZGF0YSk7IH0K
ICAgICAgICAgfSk7CiAKLSAgICAgICAgd2FpdF9mb3Jfc3RhdGUodGVzdCwgd29ya2VyLCAnYWN0
aXZhdGVkJykKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHRlc3QsIHdvcmtlciwgJ2Fj
dGl2YXRlZCcpCiAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIHJl
dHVybiBzeW5jX21lc3NhZ2Uod29ya2VyLCB7IHN0ZXA6ICdpbml0JywgcG9ydDogY2hhbm5lbC5w
b3J0MiB9LAogICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CkBAIC00MCw5ICs0NCw3
IEBAIGZ1bmN0aW9uIHJ1blRlc3QodGVzdCwgc3RlcCwgdGVzdEJvZHkpIHsKICAgICAgICAgICAu
dGhlbihmdW5jdGlvbihvdXRwdXQpIHsKICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhvdXRw
dXQucmVzdWx0LCBvdXRwdXQuZXhwZWN0ZWQpOwogICAgICAgICAgICAgfSkKLSAgICAgICAgICAu
dGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHN5bmNfbWVzc2FnZSh3b3JrZXIsIHsgc3RlcDogJ2Rv
bmUnIH0pOyB9KQotICAgICAgICAgIC50aGVuKCgpID0+IHsgc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfZG9uZSh0ZXN0LCBzY29wZSk7IH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVhY2hl
ZF9yZWplY3Rpb24odGVzdCkpOworICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4g
c3luY19tZXNzYWdlKHdvcmtlciwgeyBzdGVwOiAnZG9uZScgfSk7IH0pOwogICAgICAgfSk7CiB9
CiAKQEAgLTUwLDUxICs1Miw1MSBAQCBmdW5jdGlvbiBtc2dfZXZlbnRfdGVzdChzY29wZSwgdGVz
dCkgewogICB2YXIgdGVzdEJvZHkgPSBmdW5jdGlvbih3b3JrZXIpIHsKICAgICByZXR1cm4gc3lu
Y19tZXNzYWdlKHdvcmtlciwgeyBzdGVwOiBzY29wZSB9KTsKICAgfTsKLSAgcnVuVGVzdCh0ZXN0
LCBzY29wZSwgdGVzdEJvZHkpOworICByZXR1cm4gcnVuVGVzdCh0ZXN0LCBzY29wZSwgdGVzdEJv
ZHkpOwogfQogCi1hc3luY190ZXN0KG1zZ19ldmVudF90ZXN0LmJpbmQodGhpcywgJ25vLWN1cnJl
bnQtZXh0ZW5zaW9uLWRpZmZlcmVudC10YXNrJyksCitwcm9taXNlX3Rlc3QobXNnX2V2ZW50X3Rl
c3QuYmluZCh0aGlzLCAnbm8tY3VycmVudC1leHRlbnNpb24tZGlmZmVyZW50LXRhc2snKSwKICAg
J1Rlc3QgY2FsbGluZyB3YWl0VW50aWwgaW4gYSBkaWZmZXJlbnQgdGFzayB3aXRob3V0IGFuIGV4
aXN0aW5nIGV4dGVuc2lvbiB0aHJvd3MnKTsKIAotYXN5bmNfdGVzdChtc2dfZXZlbnRfdGVzdC5i
aW5kKHRoaXMsICduby1jdXJyZW50LWV4dGVuc2lvbi1kaWZmZXJlbnQtbWljcm90YXNrJyksCitw
cm9taXNlX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnbm8tY3VycmVudC1leHRlbnNp
b24tZGlmZmVyZW50LW1pY3JvdGFzaycpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBpbiBh
IGRpZmZlcmVudCBtaWNyb3Rhc2sgd2l0aG91dCBhbiBleGlzdGluZyBleHRlbnNpb24gdGhyb3dz
Jyk7CiAKLWFzeW5jX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVudC1leHRl
bnNpb24tZGlmZmVyZW50LXRhc2snKSwKK3Byb21pc2VfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5k
KHRoaXMsICdjdXJyZW50LWV4dGVuc2lvbi1kaWZmZXJlbnQtdGFzaycpLAogICAnVGVzdCBjYWxs
aW5nIHdhaXRVbnRpbCBpbiBhIGRpZmZlcmVudCB0YXNrIHdpdGggYW4gZXhpc3RpbmcgZXh0ZW5z
aW9uIHN1Y2NlZWRzJyk7CiAKLWFzeW5jX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAn
Y3VycmVudC1leHRlbnNpb24tZXhwaXJlZC1zYW1lLW1pY3JvdGFzay10dXJuJyksCitwcm9taXNl
X3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVudC1leHRlbnNpb24tZXhwaXJl
ZC1zYW1lLW1pY3JvdGFzay10dXJuJyksCiAgICdUZXN0IGNhbGxpbmcgd2FpdFVudGlsIHdpdGgg
YW4gZXhpc3RpbmcgZXh0ZW5zaW9uIHByb21pc2UgaGFuZGxlciBzdWNjZWVkcycpOwogCiAvLyBU
aGUgcHJvbWlzZSBoYW5kbGVyIHdpbGwgcXVldWUgYSBuZXcgbWljcm90YXNrIGFmdGVyIHRoZSBj
aGVjayBmb3IgbmV3CiAvLyBleHRlbnNpb25zIHdhcyBwZXJmb3JtZWQuCi1hc3luY190ZXN0KG1z
Z19ldmVudF90ZXN0LmJpbmQodGhpcywgJ2N1cnJlbnQtZXh0ZW5zaW9uLWV4cGlyZWQtc2FtZS1t
aWNyb3Rhc2stdHVybi1leHRyYScpLAorcHJvbWlzZV90ZXN0KG1zZ19ldmVudF90ZXN0LmJpbmQo
dGhpcywgJ2N1cnJlbnQtZXh0ZW5zaW9uLWV4cGlyZWQtc2FtZS1taWNyb3Rhc2stdHVybi1leHRy
YScpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBhdCB0aGUgZW5kIG9mIHRoZSBtaWNyb3Rh
c2sgdHVybiB0aHJvd3MnKTsKIAotYXN5bmNfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5kKHRoaXMs
ICdjdXJyZW50LWV4dGVuc2lvbi1leHBpcmVkLWRpZmZlcmVudC10YXNrJyksCitwcm9taXNlX3Rl
c3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnY3VycmVudC1leHRlbnNpb24tZXhwaXJlZC1k
aWZmZXJlbnQtdGFzaycpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBhZnRlciB0aGUgY3Vy
cmVudCBleHRlbnNpb24gZXhwaXJlZCBpbiBhIGRpZmZlcmVudCB0YXNrIGZhaWxzJyk7CiAKLWFz
eW5jX3Rlc3QobXNnX2V2ZW50X3Rlc3QuYmluZCh0aGlzLCAnc2NyaXB0LWV4dGVuZGFibGUtZXZl
bnQnKSwKK3Byb21pc2VfdGVzdChtc2dfZXZlbnRfdGVzdC5iaW5kKHRoaXMsICdzY3JpcHQtZXh0
ZW5kYWJsZS1ldmVudCcpLAogICAnVGVzdCBjYWxsaW5nIHdhaXRVbnRpbCBvbiBhIHNjcmlwdCBj
b25zdHJ1Y3RlZCBFeHRlbmRhYmxlRXZlbnQgdGhyb3dzIGV4Y2VwdGlvbicpOwogCi1hc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHRl
c3RCb2R5ID0gZnVuY3Rpb24od29ya2VyKSB7CiAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoJy4v
cmVzb3VyY2VzL3BlbmRpbmctcmVzcG9uZHdpdGgtYXN5bmMtd2FpdHVudGlsL2R1bW15Lmh0bWwn
KTsKICAgICB9Ci0gICAgcnVuVGVzdCh0LCAncGVuZGluZy1yZXNwb25kd2l0aC1hc3luYy13YWl0
dW50aWwnLCB0ZXN0Qm9keSk7CisgICAgcmV0dXJuIHJ1blRlc3QodCwgJ3BlbmRpbmctcmVzcG9u
ZHdpdGgtYXN5bmMtd2FpdHVudGlsJywgdGVzdEJvZHkpOwogICB9LCAnVGVzdCBjYWxsaW5nIHdh
aXRVbnRpbCBhc3luY2hyb25vdXNseSB3aXRoIHBlbmRpbmcgcmVzcG9uZFdpdGggcHJvbWlzZS4n
KTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewogICAgIHZhciB0ZXN0Qm9keSA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAgcmV0dXJuIHdp
dGhfaWZyYW1lKCcuL3Jlc291cmNlcy9yZXNwb25kd2l0aC1taWNyb3Rhc2stc3luYy13YWl0dW50
aWwvZHVtbXkuaHRtbCcpOwogICAgIH0KLSAgICBydW5UZXN0KHQsICdyZXNwb25kd2l0aC1taWNy
b3Rhc2stc3luYy13YWl0dW50aWwnLCB0ZXN0Qm9keSk7CisgICAgcmV0dXJuIHJ1blRlc3QodCwg
J3Jlc3BvbmR3aXRoLW1pY3JvdGFzay1zeW5jLXdhaXR1bnRpbCcsIHRlc3RCb2R5KTsKICAgfSwg
J1Rlc3QgY2FsbGluZyB3YWl0VW50aWwgc3luY2hyb25vdXNseSBpbnNpZGUgbWljcm90YXNrIG9m
IHJlc3BvbmRXaXRoIHByb21pc2UuJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgdGVzdEJvZHkgPSBmdW5jdGlvbih3b3Jr
ZXIpIHsKICAgICAgIHJldHVybiB3aXRoX2lmcmFtZSgnLi9yZXNvdXJjZXMvcmVzcG9uZHdpdGgt
bWljcm90YXNrLWFzeW5jLXdhaXR1bnRpbC9kdW1teS5odG1sJyk7CiAgICAgfQotICAgIHJ1blRl
c3QodCwgJ3Jlc3BvbmR3aXRoLW1pY3JvdGFzay1hc3luYy13YWl0dW50aWwnLCB0ZXN0Qm9keSk7
CisgICAgcmV0dXJuIHJ1blRlc3QodCwgJ3Jlc3BvbmR3aXRoLW1pY3JvdGFzay1hc3luYy13YWl0
dW50aWwnLCB0ZXN0Qm9keSk7CiAgIH0sICdUZXN0IGNhbGxpbmcgd2FpdFVudGlsIGFzeW5jaHJv
bm91c2x5IGluc2lkZSBtaWNyb3Rhc2sgb2YgcmVzcG9uZFdpdGggcHJvbWlzZS4nKTsKIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50LXdhaXR1bnRpbC5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZXh0ZW5kYWJsZS1ldmVudC13YWl0dW50aWwu
aHR0cHMuaHRtbAppbmRleCA4ZTc5MGQwZWY1YWQ2ZDg1MTUzNDM2MmRlNTY0N2Q5NjY5OWE2NWY3
Li4zM2I0ZWFjNWMxODVlOTExMDIzMDk0ZjIxMGNlNGRiOWI2ZGRkYWRiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9leHRlbmRhYmxlLWV2ZW50LXdhaXR1bnRpbC5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZlbnQtd2FpdHVudGlsLmh0dHBzLmh0
bWwKQEAgLTYsNzUgKzYsODUgQEAKIDxzY3JpcHQ+CiBmdW5jdGlvbiBydW5UZXN0KHRlc3QsIHNj
b3BlLCBvblJlZ2lzdGVyKSB7CiAgIHZhciBzY3JpcHQgPSAncmVzb3VyY2VzL2V4dGVuZGFibGUt
ZXZlbnQtd2FpdHVudGlsLmpzPycgKyBzY29wZTsKLSAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfcmVnaXN0ZXIodGVzdCwgc2NyaXB0LCBzY29wZSkKKyAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHNjcmlwdCwgc2NvcGUpCiAgICAgLnRo
ZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgIG9uUmVnaXN0ZXIocmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcpOworICAgICAgICB0ZXN0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodGVzdCwgc2NvcGUp
OworICAgICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBvblJlZ2lzdGVyKHJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nKTsKICAgICAgIH0pOwogfQogCiAvLyBTZW5kcyBhIFNZTiB0byB0aGUgd29y
a2VyIGFuZCBhc3luY2hyb25vdXNseSBsaXN0ZW5zIGZvciBhbiBBQ0s7IHNldHMKIC8vIHxvYmou
c3luY2VkfCB0byB0cnVlIG9uY2UgYWNrJ2QuCi1mdW5jdGlvbiBzeW5jV29ya2VyKHRlc3QsIHdv
cmtlciwgb2JqKSB7CitmdW5jdGlvbiBzeW5jV29ya2VyKHdvcmtlciwgb2JqKSB7CiAgIHZhciBj
aGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CiAgIHdvcmtlci5wb3N0TWVzc2FnZSh7cG9y
dDogY2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7CiAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHRl
c3Quc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICB2YXIgbWVzc2FnZSA9IGUuZGF0
YTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKG1lc3NhZ2UsICdTWU5DJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICdTaG91bGQgcmVjZWl2ZSBzeW5jIG1lc3NhZ2UgZnJvbSB3b3JrZXIuJyk7
Ci0gICAgICAgICAgb2JqLnN5bmNlZCA9IHRydWU7Ci0gICAgICAgICAgY2hhbm5lbC5wb3J0MS5w
b3N0TWVzc2FnZSgnQUNLJyk7Ci0gICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsKKyAg
ICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICB9KS50aGVuKGZ1bmN0
aW9uKGUpIHsKKyAgICAgIHZhciBtZXNzYWdlID0gZS5kYXRhOworICAgICAgYXNzZXJ0X2VxdWFs
cyhtZXNzYWdlLCAnU1lOQycsCisgICAgICAgICAgICAgICAgICAgICdTaG91bGQgcmVjZWl2ZSBz
eW5jIG1lc3NhZ2UgZnJvbSB3b3JrZXIuJyk7CisgICAgICBvYmouc3luY2VkID0gdHJ1ZTsKKyAg
ICAgIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoJ0FDSycpOwogICAgIH0pOwogfQogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgLy8g
UGFzc2luZyBzY29wZSBhcyB0aGUgdGVzdCBzd2l0Y2ggZm9yIHdvcmtlciBzY3JpcHQuCiAgICAg
dmFyIHNjb3BlID0gJ3Jlc291cmNlcy9pbnN0YWxsLWZ1bGZpbGxlZCc7CiAgICAgdmFyIG9uUmVn
aXN0ZXIgPSBmdW5jdGlvbih3b3JrZXIpIHsKICAgICAgICAgdmFyIG9iaiA9IHt9OwotICAgICAg
ICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdpbnN0YWxsZWQnKQotICAgICAgICAgIC50aGVu
KGZ1bmN0aW9uKCkgeworCisgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAg
ICBzeW5jV29ya2VyKHdvcmtlciwgb2JqKSwKKyAgICAgICAgICAgIHdhaXRfZm9yX3N0YXRlKHQs
IHdvcmtlciwgJ2luc3RhbGxlZCcpCisgICAgICAgICAgXSkudGhlbihmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgICAgYXNzZXJ0X3RydWUoCiAgICAgICAgICAgICAgICAgb2JqLnN5bmNlZCwKICAg
ICAgICAgICAgICAgICAnc3RhdGUgc2hvdWxkIGJlICJpbnN0YWxsZWQiIGFmdGVyIHRoZSB3YWl0
VW50aWwgcHJvbWlzZSAnICsKICAgICAgICAgICAgICAgICAgICAgJ2ZvciAib25pbnN0YWxsIiBp
cyBmdWxmaWxsZWQuJyk7CiAgICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICAgICAgfSkKLSAgICAgICAgICAuY2F0Y2godW5y
ZWFjaGVkX3JlamVjdGlvbih0KSk7Ci0gICAgICAgIHN5bmNXb3JrZXIodCwgd29ya2VyLCBvYmop
OworICAgICAgICAgICAgfSk7CiAgICAgICB9OwotICAgIHJ1blRlc3QodCwgc2NvcGUsIG9uUmVn
aXN0ZXIpOworICAgIHJldHVybiBydW5UZXN0KHQsIHNjb3BlLCBvblJlZ2lzdGVyKTsKICAgfSwg
J1Rlc3QgaW5zdGFsbCBldmVudCB3YWl0VW50aWwgZnVsZmlsbGVkJyk7CiAKLWFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgc2NvcGUg
PSAncmVzb3VyY2VzL2luc3RhbGwtbXVsdGlwbGUtZnVsZmlsbGVkJzsKICAgICB2YXIgb25SZWdp
c3RlciA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAgICB2YXIgb2JqMSA9IHt9OwogICAgICAg
ICB2YXIgb2JqMiA9IHt9OwotICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdpbnN0
YWxsZWQnKQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeworCisgICAgICAgIHJldHVybiBQ
cm9taXNlLmFsbChbCisgICAgICAgICAgICBzeW5jV29ya2VyKHdvcmtlciwgb2JqMSksCisgICAg
ICAgICAgICBzeW5jV29ya2VyKHdvcmtlciwgb2JqMiksCisgICAgICAgICAgICB3YWl0X2Zvcl9z
dGF0ZSh0LCB3b3JrZXIsICdpbnN0YWxsZWQnKQorICAgICAgICAgIF0pLnRoZW4oZnVuY3Rpb24o
KSB7CiAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAogICAgICAgICAgICAgICAgIG9iajEuc3lu
Y2VkICYmIG9iajIuc3luY2VkLAogICAgICAgICAgICAgICAgICdzdGF0ZSBzaG91bGQgYmUgImlu
c3RhbGxlZCIgYWZ0ZXIgYWxsIHdhaXRVbnRpbCBwcm9taXNlcyAnICsKICAgICAgICAgICAgICAg
ICAgICAgJ2ZvciAib25pbnN0YWxsIiBhcmUgZnVsZmlsbGVkLicpOwotICAgICAgICAgICAgICBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgICAg
IH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotICAgICAgICBz
eW5jV29ya2VyKHQsIHdvcmtlciwgb2JqMSk7Ci0gICAgICAgIHN5bmNXb3JrZXIodCwgd29ya2Vy
LCBvYmoyKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgfTsKLSAgICBydW5UZXN0KHQsIHNjb3Bl
LCBvblJlZ2lzdGVyKTsKKyAgICByZXR1cm4gcnVuVGVzdCh0LCBzY29wZSwgb25SZWdpc3Rlcik7
CiAgIH0sICdUZXN0IEV4dGVuZGFibGVFdmVudCBtdWx0aXBsZSB3YWl0VW50aWwgZnVsZmlsbGVk
LicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9pbnN0YWxsLXJlamVjdC1wcmVjZWRlbmNl
JzsKICAgICB2YXIgb25SZWdpc3RlciA9IGZ1bmN0aW9uKHdvcmtlcikgewogICAgICAgICB2YXIg
b2JqMSA9IHt9OwogICAgICAgICB2YXIgb2JqMiA9IHt9OwotICAgICAgICB3YWl0X2Zvcl9zdGF0
ZSh0LCB3b3JrZXIsICdyZWR1bmRhbnQnKQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewor
CisgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICBzeW5jV29ya2VyKHdv
cmtlciwgb2JqMSkKKyAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgICBzeW5jV29ya2VyKHdvcmtlciwgb2JqMik7CisgICAgICAgICAgICAgICAgfSksCisg
ICAgICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdyZWR1bmRhbnQnKQorICAgICAg
ICAgIF0pLnRoZW4oZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIGFzc2VydF90cnVlKAogICAg
ICAgICAgICAgICAgIG9iajEuc3luY2VkLAogICAgICAgICAgICAgICAgICdUaGUgInJlZHVuZGFu
dCIgc3RhdGUgd2FzIGVudGVyZWQgYWZ0ZXIgdGhlIGZpcnN0ICJleHRlbmQgJyArCkBAIC04NSw2
MSArOTUsNDYgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICAgICAgJ1Ro
ZSAicmVkdW5kYW50IiBzdGF0ZSB3YXMgZW50ZXJlZCBhZnRlciB0aGUgdGhpcmQgImV4dGVuZCAn
ICsKICAgICAgICAgICAgICAgICAgICdsaWZldGltZSBwcm9taXNlIiByZXNvbHZlZC4nCiAgICAg
ICAgICAgICAgICk7Ci0gICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X2RvbmUodCwgc2NvcGUpOwotICAgICAgICAgICAgfSkKLSAgICAgICAgICAuY2F0Y2godW5yZWFj
aGVkX3JlamVjdGlvbih0KSk7Ci0KLSAgICAgICAgc3luY1dvcmtlcih0LCB3b3JrZXIsIG9iajEp
Ci0gICAgICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHN5bmNXb3JrZXIo
dCwgd29ya2VyLCBvYmoyKTsKICAgICAgICAgICAgIH0pOwogICAgICAgfTsKLSAgICBydW5UZXN0
KHQsIHNjb3BlLCBvblJlZ2lzdGVyKTsKKyAgICByZXR1cm4gcnVuVGVzdCh0LCBzY29wZSwgb25S
ZWdpc3Rlcik7CiAgIH0sICdUZXN0IEV4dGVuZGFibGVFdmVudCB3YWl0VW50aWwgcmVqZWN0IHBy
ZWNlZGVuY2UuJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2FjdGl2YXRlLWZ1bGZpbGxl
ZCc7CiAgICAgdmFyIG9uUmVnaXN0ZXIgPSBmdW5jdGlvbih3b3JrZXIpIHsKICAgICAgICAgdmFy
IG9iaiA9IHt9OwotICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdhY3RpdmF0aW5n
JykKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRpbmcn
KQogICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBzeW5jV29ya2Vy
KHQsIHdvcmtlciwgb2JqKTsKLSAgICAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHdvcmtlciwgJ2FjdGl2YXRlZCcpOworICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwo
WworICAgICAgICAgICAgICAgIHN5bmNXb3JrZXIod29ya2VyLCBvYmopLAorICAgICAgICAgICAg
ICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRlZCcpCisgICAgICAgICAgICAg
IF0pOwogICAgICAgICAgICAgfSkKICAgICAgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAg
ICAgICAgICAgYXNzZXJ0X3RydWUoCiAgICAgICAgICAgICAgICAgb2JqLnN5bmNlZCwKICAgICAg
ICAgICAgICAgICAnc3RhdGUgc2hvdWxkIGJlICJhY3RpdmF0ZWQiIGFmdGVyIHRoZSB3YWl0VW50
aWwgcHJvbWlzZSAnICsKICAgICAgICAgICAgICAgICAgICAgJ2ZvciAib25hY3RpdmF0ZSIgaXMg
ZnVsZmlsbGVkLicpOwotICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2Fu
ZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgICAgIH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVh
Y2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICAgICAgfSk7CiAgICAgICB9OwotICAgIHJ1blRl
c3QodCwgc2NvcGUsIG9uUmVnaXN0ZXIpOworICAgIHJldHVybiBydW5UZXN0KHQsIHNjb3BlLCBv
blJlZ2lzdGVyKTsKICAgfSwgJ1Rlc3QgYWN0aXZhdGUgZXZlbnQgd2FpdFVudGlsIGZ1bGZpbGxl
ZCcpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9pbnN0YWxsLXJlamVjdGVkJzsKICAgICB2
YXIgb25SZWdpc3RlciA9IGZ1bmN0aW9uKHdvcmtlcikgewotICAgICAgICB3YWl0X2Zvcl9zdGF0
ZSh0LCB3b3JrZXIsICdyZWR1bmRhbnQnKQotICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3Bl
KTsKLSAgICAgICAgICAgIH0pCi0gICAgICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpOworICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAncmVkdW5kYW50
Jyk7CiAgICAgICB9OwotICAgIHJ1blRlc3QodCwgc2NvcGUsIG9uUmVnaXN0ZXIpOworICAgIHJl
dHVybiBydW5UZXN0KHQsIHNjb3BlLCBvblJlZ2lzdGVyKTsKICAgfSwgJ1Rlc3QgaW5zdGFsbCBl
dmVudCB3YWl0VW50aWwgcmVqZWN0ZWQnKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citw
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvYWN0
aXZhdGUtcmVqZWN0ZWQnOwogICAgIHZhciBvblJlZ2lzdGVyID0gZnVuY3Rpb24od29ya2VyKSB7
Ci0gICAgICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRlZCcpCi0gICAgICAg
ICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICAgICAgfSkKLSAgICAgICAgICAuY2F0
Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0
ZSh0LCB3b3JrZXIsICdhY3RpdmF0ZWQnKTsKICAgICAgIH07Ci0gICAgcnVuVGVzdCh0LCBzY29w
ZSwgb25SZWdpc3Rlcik7CisgICAgcmV0dXJuIHJ1blRlc3QodCwgc2NvcGUsIG9uUmVnaXN0ZXIp
OwogICB9LCAnVGVzdCBhY3RpdmF0ZSBldmVudCB3YWl0VW50aWwgcmVqZWN0ZWQuJyk7CiAKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtYXVkaW8tdGFpbnRp
bmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtYXVkaW8tdGFp
bnRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5OGY0MTM3MDM3NzIyNmEzY2Rk
ZjIzODFjZGNhZTU5NWE1NDBkZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1hdWRpby10YWludGluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CisKKworRkFJTCBWZXJpZnkgQ09SUyBYSFIgb2YgZmV0Y2goKSBpbiBhIFNlcnZpY2UgV29ya2Vy
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcg
d2luLkF1ZGlvQ29udGV4dCgpJykiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLWF1ZGlvLXRhaW50aW5nLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1h
dWRpby10YWludGluZy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4MjE3NTliYzdiMzExNjcyYTU0
Mzg3ZWRjN2Q4YzI2YTExZDVlNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1hdWRpby10YWludGluZy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhZG9j
dHlwZSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48
L3NjcmlwdD4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25z
dCBTQ09QRSA9ICdyZXNvdXJjZXMvZW1wdHkuaHRtbCc7CisgICAgY29uc3QgU0NSSVBUID0gJ3Jl
c291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci5qcyc7CisgICAgY29uc3QgaG9zdF9pbmZvID0g
Z2V0X2hvc3RfaW5mbygpOworICAgIGNvbnN0IFJFTU9URV9PUklHSU4gPSBob3N0X2luZm8uSFRU
UFNfUkVNT1RFX09SSUdJTjsKKworICAgIGNvbnN0IHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpOworICAgIGF3YWl0IHdh
aXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgICAgY29uc3Qg
ZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShTQ09QRSk7CisKKyAgICBjb25zdCBkb2MgPSBmcmFt
ZS5jb250ZW50RG9jdW1lbnQ7CisgICAgY29uc3Qgd2luID0gZnJhbWUuY29udGVudFdpbmRvdzsK
KworICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgd2luLkF1ZGlvQ29udGV4dCgpOworICAgIHRyeSB7
CisgICAgICBjb250ZXh0LnN1c3BlbmQoKTsKKyAgICAgIGNvbnN0IGF1ZGlvID0gZG9jLmNyZWF0
ZUVsZW1lbnQoJ2F1ZGlvJyk7CisgICAgICBhdWRpby5hdXRvcGxheSA9IHRydWU7CisgICAgICBj
b25zdCBzb3VyY2UgPSBjb250ZXh0LmNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZShhdWRpbyk7Cisg
ICAgICBjb25zdCBzcG4gPSBjb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigxNjM4NCwgMSwg
MSk7CisgICAgICBzb3VyY2UuY29ubmVjdChzcG4pLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlv
bik7CisgICAgICBjb25zdCB1cmwgPSBgJHtSRU1PVEVfT1JJR0lOfS93ZWJhdWRpby9yZXNvdXJj
ZXMvc2luXzQ0MEh6Xy02ZEJGU18xcy53YXZgOworICAgICAgYXVkaW8uc3JjID0gJy90ZXN0P3Vy
bD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7CisgICAgICBkb2MuYm9keS5hcHBlbmRDaGls
ZChhdWRpbyk7CisKKyAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAg
ICAgIGF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ3BsYXlpbmcnLCByZXNvbHZlKTsKKyAgICAgIH0p
OworICAgICAgYXdhaXQgY29udGV4dC5yZXN1bWUoKTsKKyAgICAgIGNvbnN0IGV2ZW50ID0gYXdh
aXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgc3BuLmFkZEV2ZW50TGlzdGVu
ZXIoJ2F1ZGlvcHJvY2VzcycsIHJlc29sdmUpOworICAgICAgfSk7CisgICAgICBjb25zdCBkYXRh
ID0gZXZlbnQuaW5wdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7CisgICAgICBmb3IgKGNvbnN0
IGUgb2YgZGF0YSkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGUsIDApOworICAgICAgfQorICAg
IH0gZmluYWxseSB7CisgICAgICBjb250ZXh0LmNsb3NlKCk7CisgICAgfQorICB9LCAnVmVyaWZ5
IENPUlMgWEhSIG9mIGZldGNoKCkgaW4gYSBTZXJ2aWNlIFdvcmtlcicpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50
aW5nLWNhY2hlLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDNjMGI0M2Y2Y2Y3MjA3YWYxOGM1ZGEzZDY1MmUzYWVkYjkyMGFiNy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNDEgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBjYW52YXMgdGFpbnRpbmcgb2YgZmV0Y2hl
ZCBpbWFnZSBpbiBhIFNlcnZpY2UgV29ya2VyIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0JmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCZjYWNoZSAtIGFub255bW91cyAK
LVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCZjYWNo
ZSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1BOR0lNQUdFJmlnbm9yZSZjYWNoZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4x
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUmY2FjaGUgLSBkZWZhdWx0IAotUEFTUyBodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlJmNhY2hlIC0gYW5vbnlt
b3VzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3Jp
Z2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlJmNhY2hlIC0gYW5vbnltb3VzIAotUEFT
UyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlJmNhY2hlIC0g
dXNlLWNyZWRlbnRpYWxzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5H
SU1BR0UmQUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlJmNhY2hlIC0gdXNl
LWNyZWRlbnRpYWxzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmQUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmQUNBQ3JlZGVudGlhbHM9dHJ1ZSZp
Z25vcmUmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSZjYWNoZSAtIGRlZmF1bHQgCi1QQVNTIGh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSZjYWNoZSAt
IGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZB
dXRoJmlnbm9yZSZjYWNoZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1BOR0lNQUdFJkF1dGgmaWdub3JlJmNhY2hlIC0gdXNlLWNyZWRlbnRpYWxzIAot
UEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZBQ0FPcmln
aW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMg
Ci1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJkFDQU9y
aWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlJmNh
Y2hlIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3Ql
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJmNhY2hlIC0gZGVmYXVsdCAKLVBBU1Mg
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4m
dXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJ
TUFHRSZjYWNoZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0
JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJG
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSZjYWNoZSAtIHVzZS1jcmVkZW50aWFs
cyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2Ft
ZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZQTkdJTUFHRSZjYWNoZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRmxv
Y2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291
cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UmY2FjaGUgLSBhbm9ueW1v
dXMgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPXNh
bWUtb3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGUE5HSU1BR0UmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJG
JTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSZjYWNoZSAtIGRl
ZmF1bHQgCi1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2Rl
PW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZQTkdJTUFHRSZjYWNoZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJmNhY2hlIC0gdXNlLWNyZWRl
bnRpYWxzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9k
ZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGUE5HSU1BR0UmY2FjaGUgLSBkZWZhdWx0IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4w
LjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNl
cyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UmY2FjaGUgLSBhbm9ueW1vdXMg
Ci1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSZjYWNoZSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4w
LjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMl
MkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMl
M0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1l
LW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQz
JmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BO
R0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vy
dmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhv
c3QlM0E5NDQzJmNhY2hlIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUz
QTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZl
dGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUy
RiUyRmxvY2FsaG9zdCUzQTk0NDMmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNB
JTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2Vy
JTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQUNy
ZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNB
OTQ0MyZjYWNoZSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0El
MkYlMkZsb2NhbGhvc3QlM0E5NDQzJmNhY2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9y
aWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJz
JTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUz
RlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJmNh
Y2hlIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lN
QUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3Ql
M0E5NDQzJmNhY2hlIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0
NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNo
LWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUy
RmxvY2FsaG9zdCUzQTk0NDMmY2FjaGUgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJG
JTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQUNyZWRl
bnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0
MyZjYWNoZSAtIHVzZS1jcmVkZW50aWFscyAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWNhY2hlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZTkxZjk3ZTE4NzMxYzUwYmVkODEwM2ZhZmM3YjI4NTg1NDk1Yzc1
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctY2FjaGUuaHR0cHMuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRpdGxlPlNlcnZpY2Ug
V29ya2VyOiBjYW52YXMgdGFpbnRpbmcgb2YgdGhlIGZldGNoZWQgaW1hZ2UgdXNpbmcgY2FjaGVk
IHJlc3BvbnNlczwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlw
ZT1zdWIiPjwvc2NyaXB0PgotPGJvZHk+Ci08c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7Ci0gICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctaWZy
YW1lLmh0bWw/Y2FjaGUnOwotICAgIHZhciBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3Jp
dGUtd29ya2VyLmpzJzsKLSAgICB2YXIgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOwotCi0g
ICAgbG9naW5faHR0cHModCkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFND
T1BFKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewot
ICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGlu
ZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJl
dHVybiB3aXRoX2lmcmFtZShTQ09QRSk7IH0pCi0gICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkg
ewotICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAg
ICAgICAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhmdW5jdGlv
bihlKSB7Ci0gICAgICAgICAgICAgICAgICBmb3IgKHZhciByZXN1bHQgb2YgZS5kYXRhLnJlc3Vs
dHMpIHsKLSAgICAgICAgICAgICAgICAgICAgICB0ZXN0KCgpID0+IHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LnJlc3VsdCwgIlBBU1MiKTsKLSAgICAgICAg
ICAgICAgICAgICAgICB9LCByZXN1bHQubmFtZSk7Ci0gICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICAgICAgICAgIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAgICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHt9LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfaW5mb1snSFRU
UFNfT1JJR0lOJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgW2NoYW5uZWwucG9ydDJdKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KQotICAgICAg
LmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwotICB9LCAnVmVyaWZ5IGNhbnZhcyB0YWlu
dGluZyBvZiBmZXRjaGVkIGltYWdlIGluIGEgU2VydmljZSBXb3JrZXInKTsKLTwvc2NyaXB0Pgot
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50
aW5nLWRvdWJsZS13cml0ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MTRlMWRmNTc4ZTczNWU0NjhmMzNhZWM2NjQ3MDU5NGY4NDA3MTE0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJs
ZS13cml0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgY2FudmFz
IGlzIHRhaW50ZWQgYWZ0ZXIgd3JpdGluZyBib3RoIGEgbm9uLW9wYXF1ZSBpbWFnZSBhbmQgYW4g
b3BhcXVlIGltYWdlIGZyb20gdGhlIHNhbWUgVVJMIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGUyMzMwNTM3MjljNDJjMWY4YWM0OWQ5NTU0ZjMwMzVjOGYwNDcy
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWlu
dGluZy1kb3VibGUtd3JpdGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Y2FudmFzIHRhaW50aW5nIHdoZW4gd3JpdHRlbiB0
d2ljZTwvdGl0bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9hZEltYWdlKGRvYywgdXJsKSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgY29uc3QgaW1h
Z2UgPSBkb2MuY3JlYXRlRWxlbWVudCgnaW1nJyk7CisgICAgaW1hZ2Uub25sb2FkID0gKCkgPT4g
eyByZXNvbHZlKGltYWdlKTsgfQorICAgIGltYWdlLm9uZXJyb3IgPSAoKSA9PiB7IHJlamVjdCgn
ZmFpbGVkIHRvIGxvYWQ6ICcgKyB1cmwpOyB9OworICAgIGltYWdlLnNyYyA9IHVybDsKKyAgfSk7
Cit9CisKKy8vIFRlc3RzIHRoYXQgYSBjYW52YXMgaXMgdGFpbnRlZCBhZnRlciBpdCdzIHdyaXR0
ZW4gdG8gd2l0aCBib3RoIGEgY2xlYXIgaW1hZ2UKKy8vIGFuZCBvcGFxdWUgaW1hZ2UgZnJvbSB0
aGUgc2FtZSBVUkwuIEEgYmFkIGltcGxlbWVudGF0aW9uIG1pZ2h0IGNhY2hlIHRoZQorLy8gaW5m
byBvZiB0aGUgY2xlYXIgaW1hZ2UgYW5kIGFzc3VtZSB0aGUgb3BhcXVlIGltYWdlIGlzIGFsc28g
Y2xlYXIgYmVjYXVzZQorLy8gaXQncyBmcm9tIHRoZSBzYW1lIFVSTC4gU2VlIGh0dHBzOi8vY3Ji
dWcuY29tLzkwNzA0NyBmb3IgZGV0YWlscy4KK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4gewor
ICAvLyBTZXQgdXAgYSBzZXJ2aWNlIHdvcmtlciBhbmQgYSBjb250cm9sbGVkIGlmcmFtZS4KKyAg
Y29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctZG91YmxlLXdy
aXRlLXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9mZXRjaC1jYW52YXMt
dGFpbnRpbmctZG91YmxlLXdyaXRlLWlmcmFtZS5odG1sJzsKKyAgY29uc3QgcmVnaXN0cmF0aW9u
ID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCisgICAgICB0
LCBzY3JpcHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5y
ZWdpc3RlcigpKTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3Rh
bGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgY29uc3QgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUo
c2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1vdmUoKSk7CisKKyAgLy8g
TG9hZCB0aGUgc2FtZSBjcm9zcy1vcmlnaW4gaW1hZ2UgVVJMIHRocm91Z2ggdGhlIGNvbnRyb2xs
ZWQgaWZyYW1lIGFuZAorICAvLyB0aGlzIHVuY29udHJvbGxlZCBmcmFtZS4gVGhlIHNlcnZpY2Ug
d29ya2VyIHJlc3BvbmRzIHdpdGggYSBzYW1lLW9yaWdpbgorICAvLyBpbWFnZSBmb3IgdGhlIGNv
bnRyb2xsZWQgaWZyYW1lLCBzbyBpdCBpcyBjbGVhcnRleHQuCisgIGNvbnN0IGltYWdlUGF0aCA9
IGJhc2VfcGF0aCgpICsgJ3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSc7CisgIGNvbnN0IGltYWdlVXJsID0gZ2V0X2hvc3RfaW5mbygpWydIVFRQU19SRU1PVEVfT1JJ
R0lOJ10gKyBpbWFnZVBhdGg7CisgIGNvbnN0IGNsZWFySW1hZ2UgPSBhd2FpdCBsb2FkSW1hZ2Uo
aWZyYW1lLmNvbnRlbnREb2N1bWVudCwgaW1hZ2VVcmwpOworICBjb25zdCBvcGFxdWVJbWFnZSA9
IGF3YWl0IGxvYWRJbWFnZShkb2N1bWVudCwgaW1hZ2VVcmwpOworCisgIC8vIFNldCB1cCBhIGNh
bnZhcyBmb3IgdGVzdGluZyB0YWludGluZy4KKyAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnY2FudmFzJyk7CisgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4
dCgnMmQnKTsKKyAgY2FudmFzLndpZHRoID0gY2xlYXJJbWFnZS53aWR0aDsKKyAgY2FudmFzLmhl
aWdodCA9IGNsZWFySW1hZ2UuaGVpZ2h0OworCisgIC8vIFRoZSBjbGVhciBpbWFnZSBhbmQgdGhl
IG9wYXF1ZSBpbWFnZSBoYXZlIHRoZSBzYW1lIHNyYyBVUkwuIEJ1dC4uLgorCisgIC8vIC4uLiB0
aGUgY2xlYXIgaW1hZ2UgZG9lc24ndCB0YWludCB0aGUgY2FudmFzLgorICBjb250ZXh0LmRyYXdJ
bWFnZShjbGVhckltYWdlLCAwLCAwKTsKKyAgYXNzZXJ0X3RydWUoY2FudmFzLnRvRGF0YVVSTCgp
Lmxlbmd0aCA+IDApOworCisgIC8vIC4uLiB0aGUgb3BhcXVlIGltYWdlIHRhaW50cyB0aGUgY2Fu
dmFzLgorICBjb250ZXh0LmRyYXdJbWFnZShvcGFxdWVJbWFnZSwgMCwgMCk7CisgIGFzc2VydF90
aHJvd3MoJ1NlY3VyaXR5RXJyb3InLCAoKSA9PiB7IGNhbnZhcy50b0RhdGFVUkwoKTsgfSk7Cit9
LCAnY2FudmFzIGlzIHRhaW50ZWQgYWZ0ZXIgd3JpdGluZyBib3RoIGEgbm9uLW9wYXF1ZSBpbWFn
ZSBhbmQgYW4gb3BhcXVlIGltYWdlIGZyb20gdGhlIHNhbWUgVVJMJyk7Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1pbWFnZS1j
YWNoZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMt
dGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNWVj
NzkxNTg1NmY1MDk3YjIyOWU3ZWVlZjQ4NDliZTljNjI4ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzIgQEAKK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVu
dC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NB
R0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZj
YWNoZT10cnVlJnJlamVjdC4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0
aCByZWNlaXZlZCBhbiBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBs
b2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJnJl
amVjdC4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBh
biBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJnJlamVjdC4KK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFz
IGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRh
LgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3Qg
YWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6
IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZjYWNoZT10cnVlJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09M
RSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBi
eSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBs
b2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10
cnVlJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdF
OiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVk
ZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBpbWFn
ZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBQ0FP
cmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9s
IGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBk
YXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNy
b3NzLW9yaWdpbiBkYXRhLgorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJkF1dGgmaWdub3JlIGZyb20gYXNr
aW5nIGZvciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGEgY3Jvc3Mtb3JpZ2luIHJlcXVlc3Qu
CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBh
bGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FHRTog
Q2Fubm90IGxvYWQgaW1hZ2UgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdF
JmNhY2hlPXRydWUmQXV0aCZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NP
TlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93
ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDYW5u
b3QgbG9hZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2Fj
aGU9dHJ1ZSZBdXRoJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09M
RSBNRVNTQUdFOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3Qg
bG9hZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9
dHJ1ZSZBdXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJmlnbm9yZSBkdWUgdG8g
YWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBVbmFibGUg
dG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVu
IHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2luIGRhdGEuCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNl
IHNlcnZlZCBieSBzZXJ2aWNlIHdvcmtlciBpcyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogQ2Fu
bm90IGxvYWQgaW1hZ2UgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNh
Y2hlPXRydWUmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMl
MkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNoZSUzRHRydWUgZHVlIHRvIGFjY2VzcyBj
b250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogUmVzcG9uc2Ugc2VydmVkIGJ5IHNlcnZp
Y2Ugd29ya2VyIGlzIG9wYXF1ZQorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBpbWFnZSBo
dHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5v
LWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2Vy
cyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkl
M0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJvbSBj
YW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3JpZ2lu
IGRhdGEuCisgCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQ
QVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0YXRlIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJnJlamVjdCIgd2l0aCBjcm9zc09yaWdp
biAiIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZyZWplY3QiIHdpdGggY3Jvc3NPcmlnaW4g
ImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmcmVqZWN0IiB3aXRoIGNyb3Nz
T3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmlnbm9y
ZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAi
aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmaWdub3Jl
IiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVEIAorUEFTUyB1cmwgImh0dHBz
Oi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmlnbm9yZSIgd2l0
aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJs
ICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBQ0FP
cmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gImFu
b255bW91cyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09y
aWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBQ0FPcmln
aW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1j
cmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmQUNBT3JpZ2luPWh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMmQUNBQ3JlZGVudGlhbHM9dHJ1ZSZpZ25vcmUiIHdpdGggY3Jvc3NPcmln
aW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJkF1dGgmaWdu
b3JlIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJs
ICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRo
Jmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1BBU1MgdXJs
ICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRo
Jmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJP
UiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2Fj
aGU9dHJ1ZSZBdXRoJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBz
aG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9z
dDo5NDQzJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQg
YmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmY2FjaGU9dHJ1ZSZBdXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQz
JkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVu
dGlhbHMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9z
dDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPXNhbWUtb3JpZ2luJnVybD1o
dHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNl
LXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0Ul
MjZjYWNoZSUzRHRydWUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVE
IAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNo
ZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09y
aWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1zYW1lLW9y
aWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTJGc2VydmljZS13b3JrZXJz
JTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUz
RlBOR0lNQUdFJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlh
bHMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRw
cyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZj
YWNoZSUzRHRydWUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAor
UEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10
cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUy
RnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdp
biAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1zYW1lLW9yaWdp
biZ1cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBO
R0lNQUdFJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMi
IHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJG
JTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNE
dHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1BBU1MgdXJsICJo
dHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5v
LWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2Vy
cyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkl
M0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBz
aG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJG
MTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1
ZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJP
UiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2Fj
aGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUy
RnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdp
biAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1RJTUVPVVQgdXJsICJodHRwczovLzEyNy4wLjAuMTo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNB
JTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2Vy
JTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hl
JTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJP
UiBUZXN0IHRpbWVkIG91dAorTk9UUlVOIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEy
Ny4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291
cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZjYWNoZSUzRHRydWUi
IHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1Ig
CitOT1RSVU4gdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2Fj
aGU9dHJ1ZSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBz
JTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUg
TE9BRF9FUlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9Q
TkdJTUFHRSZjYWNoZT10cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9
aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vydmlj
ZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdF
JTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5
NDQzIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK05PVFJVTiB1
cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZjYWNoZT10cnVlJm1v
ZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlBOR0lNQUdFJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZs
b2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBiZSBO
T1RfVEFJTlRFRCAKK05PVFJVTiB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9Q
TkdJTUFHRSZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3Jp
Z2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJ1
c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorTk9UUlVOIHVybCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVy
bD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1B
R0UlMjZjYWNoZSUzRHRydWUlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUlMjZBQ0FPcmlnaW4lM0Ro
dHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVk
ZW50aWFscyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorTk9UUlVOIHVybCAiaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRw
cyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZj
YWNoZSUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMi
IHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIExPQURfRVJST1IgCitOT1RSVU4gdXJsICJo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPWNv
cnMmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNB
OTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSUyNkFDQU9yaWdp
biUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAiIiBz
aG91bGQgYmUgTk9UX1RBSU5URUQgCitOT1RSVU4gdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJG
MTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNmNhY2hlJTNEdHJ1
ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9z
c09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitOT1RSVU4gdXJsICJo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmY2FjaGU9dHJ1ZSZtb2RlPWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSUyNmNhY2hlJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUg
TE9BRF9FUlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9Q
TkdJTUFHRSZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjEl
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZm
ZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2Y2FjaGUlM0R0cnVlJTI2QUNBQ3Jl
ZGVudGlhbHMlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5
NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBOT1RfVEFJ
TlRFRCAKK05PVFJVTiByZXN0b3JlIGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWltYWdlLWNhY2hlLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTMyMzgxMTIyNTc5MjM2NTdmZTg0YTYzN2RkZDQ1Y2MwYzAz
OGM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRh
aW50aW5nLWltYWdlLWNhY2hlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IGNh
bnZhcyB0YWludGluZyBvZiB0aGUgZmV0Y2hlZCBpbWFnZSB1c2luZyBjYWNoZWQgcmVzcG9uc2Vz
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0
cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citkb19jYW52YXNfdGFpbnRpbmdfdGVz
dHMoeworICByZXNvdXJjZV9wYXRoOiBiYXNlX3BhdGgoKSArICdyZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UnLAorICBjYWNoZTogdHJ1ZQorfSk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWlu
dGluZy1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1j
YW52YXMtdGFpbnRpbmctaW1hZ2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlM2Uw
ZjkwMDAwYmI5ZThmZTE4N2IwODViODQzODU5NzEzOThiZmQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctaW1hZ2UuaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsODEgQEAKK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNw
b25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogdW5kZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENh
bm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZyZWplY3Qu
CitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJy
b3I6IHVuZGVmaW5lZAorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRwczovL2xvY2Fs
aG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0LgorQ09OU09MRSBNRVNTQUdFOiBGZXRj
aEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUg
TUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lN
QUdFJnJlamVjdC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFn
ZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5
IGNyb3NzLW9yaWdpbiBkYXRhLgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4u
CitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4K
K0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFs
bG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBD
YW5ub3QgbG9hZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0Um
aWdub3JlIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IENy
ZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRp
YWxzIGlzIG5vdCAidHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0
dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBQ0FPcmlnaW49aHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0MyZpZ25vcmUgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNP
TEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRvIGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFz
IGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRh
LgorQ09OU09MRSBNRVNTQUdFOiBCbG9ja2VkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9QTkdJTUFHRSZBdXRoJmlnbm9yZSBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVz
ZSBpdCBpcyBhIGNyb3NzLW9yaWdpbiByZXF1ZXN0LgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4g
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSBkdWUgdG8gYWNjZXNz
IGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitD
T05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29u
dHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tz
LgorQ09OU09MRSBNRVNTQUdFOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdF
OiBDYW5ub3QgbG9hZCBpbWFnZSBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmQXV0aCZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUgZHVlIHRvIGFj
Y2VzcyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjogVW5hYmxlIHRv
IGdldCBpbWFnZSBkYXRhIGZyb20gY2FudmFzIGJlY2F1c2UgdGhlIGNhbnZhcyBoYXMgYmVlbiB0
YWludGVkIGJ5IGNyb3NzLW9yaWdpbiBkYXRhLgorQ09OU09MRSBNRVNTQUdFOiBSZXNwb25zZSBz
ZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVlCitDT05TT0xFIE1FU1NBR0U6IENhbm5v
dCBsb2FkIGltYWdlIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2Rl
PW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZQTkdJTUFHRSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNT
QUdFOiBSZXNwb25zZSBzZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVlCitDT05TT0xF
IE1FU1NBR0U6IENhbm5vdCBsb2FkIGltYWdlIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tz
LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI2OiBVbmFibGUgdG8gZ2V0IGltYWdlIGRhdGEgZnJv
bSBjYW52YXMgYmVjYXVzZSB0aGUgY2FudmFzIGhhcyBiZWVuIHRhaW50ZWQgYnkgY3Jvc3Mtb3Jp
Z2luIGRhdGEuCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZlZCBieSBzZXJ2aWNlIHdv
cmtlciBpcyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaW1hZ2UgaHR0cHM6
Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMl
M0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3Jr
ZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFIGR1ZSB0
byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZl
ZCBieSBzZXJ2aWNlIHdvcmtlciBpcyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxv
YWQgaW1hZ2UgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8t
Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJz
JTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUz
RlBOR0lNQUdFIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6
IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3Jl
ZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlh
bHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2lu
JTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzLgorQ09OU09MRSBNRVNTQUdFOiBGZXRj
aEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiBUeXBlRXJyb3I6IENyZWRlbnRp
YWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIGlz
IG5vdCAidHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1h
Y2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQU9yaWdpbiUzRGh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0My4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVu
dC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBDcmVkZW50aWFscyBm
bGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3Qg
InRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAu
MSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUy
RmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUz
QSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVz
cG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3JlZGVudGlhbHMgZmxhZyBp
cyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVl
Ii4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYl
MkZsb2NhbGhvc3QlM0E5NDQzLgorCitQQVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0YXRlIAorUEFT
UyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZyZWplY3QiIHdp
dGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJlamVjdCIgd2l0aCBjcm9zc09yaWdp
biAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovL2xv
Y2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0IiB3aXRoIGNyb3NzT3JpZ2luICJ1
c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4g
IiIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJl
IFRBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lN
QUdFJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9F
UlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0Um
QUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2lu
ICJhbm9ueW1vdXMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEy
Ny4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1
c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8v
MTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0MyZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxk
IGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1BOR0lNQUdFJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJkFDQUNyZWRlbnRpYWxz
PXRydWUmaWdub3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBi
ZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmQXV0aCZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9U
QUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZBdXRoJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRFRCAKK1BB
U1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZpZ25v
cmUiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQ
QVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJkF1dGgmaWdu
b3JlIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VS
Uk9SIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZB
dXRoJkFDQU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJmlnbm9yZSIgd2l0aCBjcm9zc09y
aWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJo
dHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZBQ0FPcmlnaW49aHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZSIgd2l0aCBjcm9z
c09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVy
bCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmln
aW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNT
IHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1v
cmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2Vy
cyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkl
M0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RB
SU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdF
Jm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxz
IiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1j
b250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9j
YWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdp
biAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJG
bG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09y
aWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6
Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Ut
d29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSIg
d2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQg
CitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9
bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlBOR0lNQUdFIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVEIAorUEFT
UyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNv
cnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUy
RnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQ
TkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTE9BRF9FUlJP
UiAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9k
ZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGUE5HSU1BR0UiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxk
IGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5
P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1h
Y2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBi
ZSBUQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJ
TUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZQTkdJTUFHRSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91
bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0
NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNo
LWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVk
ZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0
cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBi
ZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9Q
TkdJTUFHRSZtb2RlPWNvcnMmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJG
JTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQU9yaWdp
biUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAiIiBz
aG91bGQgYmUgTk9UX1RBSU5URUQgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYl
MkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBi
ZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZz
ZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vz
cy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2Fs
aG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJl
IExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BO
R0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vy
dmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJTI2QUNBT3JpZ2lu
JTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJ1c2Ut
Y3JlZGVudGlhbHMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEy
Ny4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUy
RjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJl
c291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4l
M0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hv
dWxkIGJlIExPQURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMl
M0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3Jr
ZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNB
T3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2lu
ICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAu
MSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUy
RmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUz
QSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hv
dWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJG
bG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91
bGQgYmUgTE9BRF9FUlJPUiAKK1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMl
MkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUlMjZBQ0FP
cmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4g
InVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorUEFTUyByZXN0b3JlIGds
b2JhbCBzdGF0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFz
LXRhaW50aW5nLWltYWdlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52
YXMtdGFpbnRpbmctaW1hZ2UuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2RjN2Q5OGNhYTJmNDg2
Y2JlMmRlZTA1YzhmNDMwYWQ1NjBmOWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWltYWdlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwx
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2Vy
dmljZSBXb3JrZXI6IGNhbnZhcyB0YWludGluZyBvZiB0aGUgZmV0Y2hlZCBpbWFnZTwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctdGVzdHMuanMiPjwv
c2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorZG9fY2FudmFzX3RhaW50aW5nX3Rlc3RzKHsKKyAg
cmVzb3VyY2VfcGF0aDogYmFzZV9wYXRoKCkgKyAncmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1BOR0lNQUdFJywKKyAgY2FjaGU6IGZhbHNlCit9KTsKKzwvc2NyaXB0PgorPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZp
ZGVvLWNhY2hlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNh
bnZhcy10YWludGluZy12aWRlby1jYWNoZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWFiZGU2ZjBlZjk3ZGMyZmM4NDcwZDYwMjhiZTZjYWMyZDEyZTVhOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby1jYWNoZS5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2MCBAQAorQ09OU09MRSBNRVNTQUdFOiBGZXRj
aEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUg
TUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVP
JmNhY2hlPXRydWUmcmVqZWN0LgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRX
aXRoIHJlY2VpdmVkIGFuIGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90
IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmcmVq
ZWN0LgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFu
IGVycm9yOiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmcmVqZWN0LgorQ09OU09MRSBN
RVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRw
czovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93
LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FHRTogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUg
TUVTU0FHRTogQmxvY2tlZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2Fj
aGU9dHJ1ZSZBdXRoJmlnbm9yZSBmcm9tIGFza2luZyBmb3IgY3JlZGVudGlhbHMgYmVjYXVzZSBp
dCBpcyBhIGNyb3NzLW9yaWdpbiByZXF1ZXN0LgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0
cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxv
dy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQz
IGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUg
TUVTU0FHRTogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxs
b3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FHRTogUmVzcG9uc2Ug
c2VydmVkIGJ5IHNlcnZpY2Ugd29ya2VyIGlzIG9wYXF1ZQorQ09OU09MRSBNRVNTQUdFOiBSZXNw
b25zZSBzZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMgb3BhcXVlCisgCisKK0hhcm5lc3MgRXJy
b3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0
YXRlIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNo
ZT10cnVlJnJlamVjdCIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAK
K1BBU1MgdXJsICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1
ZSZyZWplY3QiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJS
T1IgCitQQVNTIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hl
PXRydWUmcmVqZWN0IiB3aXRoIGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBi
ZSBMT0FEX0VSUk9SIAorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9W
SURFTyZjYWNoZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9U
X1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJM
T0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURF
TyZjYWNoZT10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91bGQgYmUgVEFJTlRF
RCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVEFJTlRFRCIgYnV0IGdvdCAiTE9BRF9FUlJPUiIK
K1BBU1MgdXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1
ZSZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJS
T1IgCitGQUlMIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hl
PXRydWUmQUNBT3JpZ2luPWh0dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlIiB3aXRoIGNyb3Nz
T3JpZ2luICJhbm9ueW1vdXMiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiTk9UX1RBSU5URUQiIGJ1dCBnb3QgIkxPQURfRVJST1IiCitQQVNTIHVybCAiaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmaWdub3JlIiB3aXRo
IGNyb3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorUEFT
UyB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJkFD
QU9yaWdpbj1odHRwczovL2xvY2FsaG9zdDo5NDQzJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAi
dXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK0ZBSUwgdXJsICJodHRwczov
LzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZBQ0FPcmlnaW49aHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0MyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09y
aWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJkF1dGgmaWdu
b3JlIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJTlRFRCBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiTk9UX1RBSU5URUQiIGJ1dCBnb3QgIkxPQURfRVJST1IiCitGQUlMIHVy
bCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0aCZp
Z25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIFRBSU5URUQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgIlRBSU5URUQiIGJ1dCBnb3QgIkxPQURfRVJST1IiCitQQVNTIHVybCAiaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0aCZpZ25vcmUi
IHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitQQVNT
IHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmQXV0
aCZpZ25vcmUiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExP
QURfRVJST1IgCitQQVNTIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVP
JmNhY2hlPXRydWUmQXV0aCZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUi
IHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1Ig
CitGQUlMIHVybCAiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRy
dWUmQXV0aCZBQ0FPcmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZBQ0FDcmVkZW50aWFscz10
cnVlJmlnbm9yZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUg
Tk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290
ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9W
SURFTyZjYWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBj
cm9zc09yaWdpbiAiIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4m
dXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURF
TyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUg
Tk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290
ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9W
SURFTyZjYWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxo
b3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2Vz
JTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBj
cm9zc09yaWdpbiAidXNlLWNyZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJ
TCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1v
ZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAiIiBzaG91
bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBi
dXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJG
bG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIg
d2l0aCBjcm9zc09yaWdpbiAiYW5vbnltb3VzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgIk5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJ
TCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1v
ZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNy
ZWRlbnRpYWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
Ik5PVF9UQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorRkFJTCB1cmwgImh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9bm8tY29ycyZ1cmw9aHR0
cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13
b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2Fj
aGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBUQUlOVEVEIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJUQUlOVEVEIiBidXQgZ290ICJMT0FEX0VSUk9SIgorUEFTUyB1cmwg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9bm8t
Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJz
JTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUz
RlZJREVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNob3Vs
ZCBiZSBMT0FEX0VSUk9SIAorUEFTUyB1cmwgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9WSURFTyZjYWNoZT10cnVlJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4w
LjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMl
MkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNy
b3NzT3JpZ2luICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorRkFJTCB1
cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9
bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBU
QUlOVEVEIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUQUlOVEVEIiBidXQgZ290ICJMT0FEX0VS
Uk9SIgorVElNRU9VVCB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZj
YWNoZT10cnVlJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQz
JTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1h
Y2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlIiB3aXRoIGNyb3NzT3JpZ2lu
ICJhbm9ueW1vdXMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIFRlc3QgdGltZWQgb3V0CitOT1RSVU4g
dXJsICJodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZtb2Rl
PW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1ZSIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRp
YWxzIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nl
c3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVl
JTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3Nz
T3JpZ2luICIiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorTk9UUlVOIHVybCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxz
PXNhbWUtb3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNl
LXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250
cm9sLnB5JTNGVklERU8lMjZjYWNoZSUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUy
RmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gIiIgc2hvdWxkIGJlIE5PVF9UQUlO
VEVEIAorTk9UUlVOIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNh
Y2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZz
ZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vz
cy1jb250cm9sLnB5JTNGVklERU8lMjZjYWNoZSUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRwcyUz
QSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gImFub255bW91cyIgc2hv
dWxkIGJlIE5PVF9UQUlOVEVEIAorTk9UUlVOIHVybCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250
cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4w
LjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNl
cyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGVklERU8lMjZjYWNoZSUzRHRydWUlMjZBQ0FP
cmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4g
InVzZS1jcmVkZW50aWFscyIgc2hvdWxkIGJlIExPQURfRVJST1IgCitOT1RSVU4gdXJsICJodHRw
czovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJs
PWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUy
NmNhY2hlJTNEdHJ1ZSUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBz
JTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9zc09yaWdpbiAidXNlLWNyZWRlbnRp
YWxzIiBzaG91bGQgYmUgTk9UX1RBSU5URUQgCitOT1RSVU4gdXJsICJodHRwczovLzEyNy4wLjAu
MTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHk/VklERU8mY2FjaGU9dHJ1ZSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJG
JTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZWSURFTyUyNmNhY2hlJTNEdHJ1
ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyIgd2l0aCBjcm9z
c09yaWdpbiAiIiBzaG91bGQgYmUgTE9BRF9FUlJPUiAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3
LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFs
cz1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYl
MkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICIiIHNob3VsZCBiZSBOT1RfVEFJ
TlRFRCAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZj
YWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJG
c2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nl
c3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNBT3JpZ2luJTNEaHR0cHMl
M0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2luICJhbm9ueW1vdXMiIHNo
b3VsZCBiZSBOT1RfVEFJTlRFRCAKK05PVFJVTiB1cmwgImh0dHBzOi8vMTI3LjAuMC4xOjk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29u
dHJvbC5weT9WSURFTyZjYWNoZT10cnVlJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2Y2FjaGUlM0R0cnVlJTI2QUNB
T3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIiB3aXRoIGNyb3NzT3JpZ2lu
ICJ1c2UtY3JlZGVudGlhbHMiIHNob3VsZCBiZSBMT0FEX0VSUk9SIAorTk9UUlVOIHVybCAiaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJmNhY2hlPXRydWUmbW9kZT1jb3JzJnVy
bD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGVklERU8l
MjZjYWNoZSUzRHRydWUlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUlMjZBQ0FPcmlnaW4lM0RodHRw
cyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMiIHdpdGggY3Jvc3NPcmlnaW4gInVzZS1jcmVkZW50
aWFscyIgc2hvdWxkIGJlIE5PVF9UQUlOVEVEIAorTk9UUlVOIHJlc3RvcmUgZ2xvYmFsIHN0YXRl
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmct
dmlkZW8tY2FjaGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10
YWludGluZy12aWRlby1jYWNoZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmM2QxMmJiZTQ5ODJj
NjQ5OTJiM2NkMGY0ZWQwOTJlYWE3MjUwN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8tY2FjaGUuaHR0cHMuaHRtbApAQCAt
MCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5TZXJ2aWNlIFdvcmtlcjogY2FudmFzIHRhaW50aW5nIG9mIHRoZSBmZXRjaGVkIHZpZGVv
IHVzaW5nIGNhY2hlIHJlc3BvbnNlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVy
cy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9mZXRj
aC1jYW52YXMtdGFpbnRpbmctdGVzdHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
ZG9fY2FudmFzX3RhaW50aW5nX3Rlc3RzKHsKKyAgcmVzb3VyY2VfcGF0aDogYmFzZV9wYXRoKCkg
KyAncmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJywKKyAgY2FjaGU6IHRy
dWUKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRl
by13aXRoLXJhbmdlLXJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMmRj
ZjllYWQ3YzY1NzMyMjQxYThmZjZjYWY3YjU5NWEyOTY0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1y
ZXF1ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKyNQSUQgVU5SRVNQT05T
SVZFIC0gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LkRldmVsb3BtZW50IChwaWQgNTY2MDAp
CitGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBiZSBjYWxsZWQKKwor
I0VPRgorI0VPRgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRh
aW50aW5nLXZpZGVvLXdpdGgtcmFuZ2UtcmVxdWVzdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLXdpdGgtcmFuZ2UtcmVxdWVzdC5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYxZmY3YWU1OWE3ZGViNDExN2VlNGM0M2JkYWZiNWQzZWM3M2Zl
ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFp
bnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1ZXN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw5MyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q2FudmFz
IHRhaW50aW5nIGR1ZSB0byB2aWRlbyB3aG9zZSByZXNwb25zZXMgYXJlIGZldGNoZWQgdmlhIGEg
c2VydmljZSB3b3JrZXIgaW5jbHVkaW5nIHJhbmdlIHJlcXVlc3RzPC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisvLyBUaGVzZSB0ZXN0cyB0cnkgdG8gdGVzdCBjYW52YXMgdGFpbnRpbmcgZHVlIHRv
IGEgPHZpZGVvPiBlbGVtZW50LiBUaGUgdmlkZW8KKy8vIHNyYyBVUkwgaXMgc2FtZS1vcmlnaW4g
YXMgdGhlIHBhZ2UsIGJ1dCB0aGUgcmVzcG9uc2UgaXMgZmV0Y2hlZCB2aWEgYSBzZXJ2aWNlCisv
LyB3b3JrZXIgdGhhdCBkb2VzIHRyaWNreSB0aGluZ3MgbGlrZSByZXR1cm5pbmcgb3BhcXVlIHJl
c3BvbnNlcyBmcm9tIGFub3RoZXIKKy8vIG9yaWdpbi4gRnVydGhlcm1vcmUsIHRoaXMgdGVzdHMg
cmFuZ2UgcmVxdWVzdHMgc28gdGhlcmUgYXJlIG11bHRpcGxlCisvLyByZXNwb25zZXMuCisvLwor
Ly8gV2UgdGVzdCByYW5nZSByZXF1ZXN0cyBieSBoYXZpbmcgdGhlIHNlcnZlciByZXR1cm4gMjA2
IFBhcnRpYWwgQ29udGVudCB0byB0aGUKKy8vIGZpcnN0IHJlcXVlc3QgKHdoaWNoIGRvZXNuJ3Qg
bmVjZXNzYXJpbHkgaGF2ZSBhICJSYW5nZSIgaGVhZGVyIG9yIG9uZSB3aXRoIGEKKy8vIGJ5dGUg
cmFuZ2UpLiBUaGVuIHRoZSA8dmlkZW8+IGVsZW1lbnQgYXV0b21hdGljYWxseSBtYWtlcyByYW5n
ZWQgcmVxdWVzdHMKKy8vICh0aGUgIlJhbmdlIiBIVFRQIHJlcXVlc3QgaGVhZGVyIHNwZWNpZmll
cyBhIGJ5dGUgcmFuZ2UpLiBUaGUgc2VydmVyIHJlc3BvbmRzCisvLyB0byB0aGVzZSB3aXRoIDIw
NiBQYXJ0aWFsIENvbnRlbnQgZm9yIHRoZSBnaXZlbiByYW5nZS4KK2Z1bmN0aW9uIHJhbmdlX3Jl
cXVlc3RfdGVzdChzY3JpcHQsIGV4cGVjdGVkLCBkZXNjcmlwdGlvbikgeworICBwcm9taXNlX3Rl
c3QodCA9PiB7CisgICAgICBsZXQgZnJhbWU7CisgICAgICBsZXQgcmVnaXN0cmF0aW9uOworICAg
ICAgYWRkX3Jlc3VsdF9jYWxsYmFjaygoKSA9PiB7CisgICAgICAgICAgaWYgKGZyYW1lKSBmcmFt
ZS5yZW1vdmUoKTsKKyAgICAgICAgICBpZiAocmVnaXN0cmF0aW9uKSByZWdpc3RyYXRpb24udW5y
ZWdpc3RlcigpOworICAgICAgICB9KTsKKworICAgICAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2Vz
L2ZldGNoLWNhbnZhcy10YWludGluZy1pZnJhbWUuaHRtbCc7CisgICAgICByZXR1cm4gc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKKyAgICAg
ICAgLnRoZW4ociA9PiB7CisgICAgICAgICAgICByZWdpc3RyYXRpb24gPSByOworICAgICAgICAg
ICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0
aXZhdGVkJyk7CisgICAgICAgICAgfSkKKyAgICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICAg
ICAgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsKKyAgICAgICAgICB9KQorICAgICAgICAudGhl
bihmID0+IHsKKyAgICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICAgIC8vIEFkZCAiP1ZJ
REVPJlBhcnRpYWxDb250ZW50IiB0byBnZXQgYSB2aWRlbyByZXNvdXJjZSBmcm9tIHRoZQorICAg
ICAgICAgICAgLy8gc2VydmVyIHVzaW5nIHJhbmdlIHJlcXVlc3RzLgorICAgICAgICAgICAgY29u
c3QgdmlkZW9fdXJsID0gJ2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJlBhcnRpYWxDb250
ZW50JzsKKyAgICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmNyZWF0ZV90ZXN0
X2Nhc2VfcHJvbWlzZSh2aWRlb191cmwpOworICAgICAgICAgIH0pCisgICAgICAgIC50aGVuKHJl
c3VsdCA9PiB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgZXhwZWN0ZWQpOwor
ICAgICAgICAgIH0pOworICAgIH0sIGRlc2NyaXB0aW9uKTsKK30KKworLy8gV2Ugd2FudCB0byBj
b25zaWRlciBhIG51bWJlciBvZiBzY2VuYXJpb3M6CisvLyAoMSkgUmFuZ2UgcmVzcG9uc2VzIGNv
bWUgZnJvbSBhIHNpbmdsZSBvcmlnaW4sIHRoZSBzYW1lLW9yaWdpbiBhcyB0aGUgcGFnZS4KKy8v
ICAgICBUaGUgY2FudmFzIHNob3VsZCBub3QgYmUgdGFpbnRlZC4KK3JhbmdlX3JlcXVlc3RfdGVz
dCgKKyAgJ3Jlc291cmNlcy9mZXRjaC1ldmVudC1uZXR3b3JrLWZhbGxiYWNrLXdvcmtlci5qcycs
CisgICdOT1RfVEFJTlRFRCcsCisgICdyYW5nZSByZXNwb25zZXMgZnJvbSBzaW5nbGUgb3JpZ2lu
IChzYW1lLW9yaWdpbiknKTsKKworLy8gKDIpIFJhbmdlIHJlc3BvbnNlcyBjb21lIGZyb20gYSBz
aW5nbGUgb3JpZ2luLCBjcm9zcy1vcmlnaW4gZnJvbSB0aGUgcGFnZQorLy8gICAgIChhbmQgd2l0
aG91dCBDT1JTIHNoYXJpbmcpLiBUaGlzIGlzIG5vdCBwb3NzaWJsZSB0byB0ZXN0LCBzaW5jZSBz
ZXJ2aWNlCisvLyAgICAgd29ya2VyIGNhbid0IG1ha2UgYSByZXF1ZXN0IHdpdGggYSAiUmFuZ2Ui
IEhUVFAgaGVhZGVyIGluIG5vLWNvcnMgbW9kZS4KKworLy8gKDMpIFJhbmdlIHJlc3BvbnNlcyBj
b21lIGZyb20gbXVsdGlwbGUgb3JpZ2lucy4gVGhlIGZpcnN0IHJlc3BvbnNlIGNvbWVzIGZyb20K
Ky8vICAgICBjcm9zcy1vcmlnaW4gKGFuZCB3aXRob3V0IENPUlMgc2hhcmluZywgc28gaXMgb3Bh
cXVlKS4gU3Vic2VxdWVudAorLy8gICAgIHJlc3BvbnNlcyBjb21lIGZyb20gc2FtZS1vcmlnaW4u
IFRoZSBjYW52YXMgc2hvdWxkIGJlIHRhaW50ZWQgKGJ1dCBpbgorLy8gICAgIENocm9tZSB0aGlz
IGlzIGEgTE9BRF9FUlJPUiBzaW5jZSBpdCBkaXNhbGxvd3MgcmFuZ2UgcmVzcG9uc2VzIGZyb20K
Ky8vICAgICBtdWx0aXBsZSBvcmlnaW5zLCBwZXJpb2QpLgorcmFuZ2VfcmVxdWVzdF90ZXN0KAor
ICAncmVzb3VyY2VzL3JhbmdlLXJlcXVlc3QtdG8tZGlmZmVyZW50LW9yaWdpbnMtd29ya2VyLmpz
JywKKyAgJ1RBSU5URUQnLAorICAncmFuZ2UgcmVzcG9uc2VzIGZyb20gbXVsdGlwbGUgb3JpZ2lu
cyAoY3Jvc3Mtb3JpZ2luIGZpcnN0KScpOworCisvLyAoNCkgUmFuZ2UgcmVzcG9uc2VzIGNvbWUg
ZnJvbSBtdWx0aXBsZSBvcmlnaW5zLiBUaGUgZmlyc3QgcmVzcG9uc2UgY29tZXMgZnJvbQorLy8g
ICAgIHNhbWUtb3JpZ2luLiBTdWJzZXF1ZW50IHJlc3BvbnNlcyBjb21lIGZyb20gY3Jvc3Mtb3Jp
Z2luIChhbmQgd2l0aG91dAorLy8gICAgIENPUlMgc2hhcmluZykuIExpa2UgKDIpIHRoaXMgaXMg
bm90IHBvc3NpYmxlIHNpbmNlIHRoZSBzZXJ2aWNlIHdvcmtlcgorLy8gICAgIGNhbm5vdCBtYWtl
IHJhbmdlIHJlcXVlc3RzIGNyb3NzLW9yaWdpbi4KKworLy8gKDUpIFJhbmdlIHJlc3BvbnNlcyBj
b21lIGZyb20gYSBzaW5nbGUgb3JpZ2luLCB3aXRoIGEgbWl4IG9mIG9wYXF1ZSBhbmQKKy8vICAg
ICBub24tb3BhcXVlIHJlc3BvbnNlcy4gVGhlIGZpcnN0IHJlcXVlc3QgdXNlcyAnbm8tY29ycycg
bW9kZSB0bworLy8gICAgIHJlY2VpdmUgYW4gb3BhcXVlIHJlc3BvbnNlLCBhbmQgc3Vic2VxdWVu
dCByYW5nZSByZXF1ZXN0cyB1c2UgJ2NvcnMnCisvLyAgICAgdG8gcmVjZWl2ZSBub24tb3BhcXVl
IHJlc3BvbnNlcy4gVGhlIGNhbnZhcyBzaG91bGQgYmUgdGFpbnRlZC4KK3JhbmdlX3JlcXVlc3Rf
dGVzdCgKKyAgJ3Jlc291cmNlcy9yYW5nZS1yZXF1ZXN0LXdpdGgtZGlmZmVyZW50LWNvcnMtbW9k
ZXMtd29ya2VyLmpzJywKKyAgJ1RBSU5URUQnLAorICAncmFuZ2UgcmVzcG9uc2VzIGZyb20gc2lu
Z2xlIG9yaWdpbiB3aXRoIGJvdGggb3BhcXVlIGFuZCBub24tb3BhcXVlIHJlc3BvbnNlcycpOwor
CisvLyAoNikgUmFuZ2UgcmVzcG9uc2VzIGNvbWUgZnJvbSBhIHNpbmdsZSBvcmlnaW4sIHdpdGgg
YSBtaXggb2Ygb3BhcXVlIGFuZAorLy8gICAgIG5vbi1vcGFxdWUgcmVzcG9uc2VzLiBUaGUgZmly
c3QgcmVxdWVzdCB1c2VzICdjb3JzJyBtb2RlIHRvCisvLyAgICAgcmVjZWl2ZSBhbiBub24tb3Bh
cXVlIHJlc3BvbnNlLCBhbmQgc3Vic2VxdWVudCByYW5nZSByZXF1ZXN0cyB1c2UKKy8vICAgICAn
bm8tY29ycycgdG8gcmVjZWl2ZSBub24tb3BhcXVlIHJlc3BvbnNlcy4gTGlrZSAoMikgdGhpcyBp
cyBub3QgcG9zc2libGUuCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy12aWRlby5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8uaHR0cHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExODBhNWZlY2RjZTkzNzc3NWJlYjgyY2E3N2Y2NDU0MGJk
MWY2MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMt
dGFpbnRpbmctdmlkZW8uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK0NPTlNP
TEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogdW5k
ZWZpbmVkCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3Mt
Y29udHJvbC5weT9WSURFTyZyZWplY3QuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVz
cG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IHVuZGVmaW5lZAorQ09OU09MRSBNRVNTQUdFOiBD
YW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mcmVqZWN0Lgor
Q09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9y
OiB1bmRlZmluZWQKK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1ZJREVPJnJlamVjdC4KK0NPTlNPTEUgTUVTU0FHRTogT3JpZ2luIGh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBPcmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xF
IE1FU1NBR0U6IENyZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFjY2Vzcy1Db250cm9sLUFs
bG93LUNyZWRlbnRpYWxzIGlzIG5vdCAidHJ1ZSIuCitDT05TT0xFIE1FU1NBR0U6IEJsb2NrZWQg
aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJkF1dGgmaWdub3JlIGZyb20gYXNr
aW5nIGZvciBjcmVkZW50aWFscyBiZWNhdXNlIGl0IGlzIGEgY3Jvc3Mtb3JpZ2luIHJlcXVlc3Qu
CitDT05TT0xFIE1FU1NBR0U6IE9yaWdpbiBodHRwczovL2xvY2FsaG9zdDo5NDQzIGlzIG5vdCBh
bGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbi4KK0NPTlNPTEUgTUVTU0FHRTog
T3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDcmVkZW50aWFscyBmbGFnIGlz
IHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUi
LgorQ09OU09MRSBNRVNTQUdFOiBSZXNwb25zZSBzZXJ2ZWQgYnkgc2VydmljZSB3b3JrZXIgaXMg
b3BhcXVlCitDT05TT0xFIE1FU1NBR0U6IFJlc3BvbnNlIHNlcnZlZCBieSBzZXJ2aWNlIHdvcmtl
ciBpcyBvcGFxdWUKK0NPTlNPTEUgTUVTU0FHRTogUmVzcG9uc2Ugc2VydmVkIGJ5IHNlcnZpY2Ug
d29ya2VyIGlzIG9wYXF1ZQorQ09OU09MRSBNRVNTQUdFOiBSZXNwb25zZSBzZXJ2ZWQgYnkgc2Vy
dmljZSB3b3JrZXIgaXMgb3BhcXVlCitDT05TT0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9u
ZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogQ3JlZGVudGlhbHMgZmxhZyBpcyB0
cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4K
K0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9s
LnB5P1ZJREVPJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJG
c2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nl
c3MtY29udHJvbC5weSUzRlZJREVPJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhv
c3QlM0E5NDQzLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaEV2ZW50LnJlc3BvbmRXaXRoIHJlY2Vp
dmVkIGFuIGVycm9yOiBUeXBlRXJyb3I6IENyZWRlbnRpYWxzIGZsYWcgaXMgdHJ1ZSwgYnV0IEFj
Y2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIGlzIG5vdCAidHJ1ZSIuCitDT05TT0xFIE1F
U1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9WSURFTyZt
b2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZWSURFTyUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0My4K
K0NPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJv
cjogVHlwZUVycm9yOiBDcmVkZW50aWFscyBmbGFnIGlzIHRydWUsIGJ1dCBBY2Nlc3MtQ29udHJv
bC1BbGxvdy1DcmVkZW50aWFscyBpcyBub3QgInRydWUiLgorQ09OU09MRSBNRVNTQUdFOiBDYW5u
b3QgbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklERU8mbW9kZT1jb3JzJnVy
bD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGVklERU8l
MjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMuCitDT05TT0xFIE1F
U1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJv
cjogQ3JlZGVudGlhbHMgZmxhZyBpcyB0cnVlLCBidXQgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHMgaXMgbm90ICJ0cnVlIi4KK0NPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGxvYWQgaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1ZJREVPJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0El
MkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIl
MkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlZJREVPJTI2QUNBT3JpZ2lu
JTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzLgorI1BJRCBVTlJFU1BPTlNJVkUgLSBj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuRGV2ZWxvcG1lbnQgKHBpZCA1NjgyMykKK0ZBSUw6
IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAorCisjRU9GCisj
RU9GCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmct
dmlkZW8uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGlu
Zy12aWRlby5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3NzY1MDg4MWMxNWZhOWE5NWM0M2RjYjk1
NWJkNTgxOGJhOGE4ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1jYW52YXMtdGFpbnRpbmctdmlkZW8uaHR0cHMuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtl
cjogY2FudmFzIHRhaW50aW5nIG9mIHRoZSBmZXRjaGVkIHZpZGVvPC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
Y29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
Ym9keT4KKzxzY3JpcHQ+Citkb19jYW52YXNfdGFpbnRpbmdfdGVzdHMoeworICByZXNvdXJjZV9w
YXRoOiBiYXNlX3BhdGgoKSArICdyZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/VklE
RU8nLAorICBjYWNoZTogZmFsc2UKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLmh0dHBzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQ0YmUwNDU2NTE3ZTBmZTll
OGIyOWIyZmRhYmE2MzliNzMzMjk3ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotCi1QQVNTIFZl
cmlmeSBjYW52YXMgdGFpbnRpbmcgb2YgZmV0Y2hlZCBpbWFnZSBpbiBhIFNlcnZpY2UgV29ya2Vy
IAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmcmVqZWN0IC0g
ZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJnJl
amVjdCAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BO
R0lNQUdFJnJlamVjdCAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJmlnbm9yZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3
LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZpZ25vcmUgLSBkZWZhdWx0IAotUEFTUyBodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlIC0gYW5vbnltb3VzIAot
UEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczovLzEy
Ny4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmaWdub3JlIC0gdXNlLWNyZWRlbnRpYWxzIAot
UEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMmaWdub3JlIC0gdXNlLWNyZWRlbnRpYWxzIAotUEFTUyBodHRw
czovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQUNBT3JpZ2luPWh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMmQUNBQ3JlZGVudGlhbHM9dHJ1ZSZpZ25vcmUgLSB1c2UtY3JlZGVudGlhbHMg
Ci1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJmlnbm9y
ZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZBdXRoJmlnbm9yZSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJv
bC5weT9QTkdJTUFHRSZBdXRoJmlnbm9yZSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJkF1dGgmaWdub3JlIC0gdXNlLWNyZWRlbnRpYWxz
IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmQXV0aCZBQ0FP
cmlnaW49aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyZpZ25vcmUgLSB1c2UtY3JlZGVudGlhbHMgCi1Q
QVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZBdXRoJkFDQU9yaWdp
bj1odHRwczovL2xvY2FsaG9zdDo5NDQzJkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlIC0gdXNl
LWNyZWRlbnRpYWxzIAotUEFTUyBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1B
R0UmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTJG
c2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nl
c3MtY29udHJvbC5weSUzRlBOR0lNQUdFIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJG
JTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIGFub255bW91
cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2Ft
ZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0ZQTkdJTUFHRSAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9c2FtZS1vcmlnaW4mdXJsPWh0dHBzJTNBJTJGJTJG
bG9jYWxob3N0JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVz
b3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIGRlZmF1bHQgCi1Q
QVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPXNhbWUtb3Jp
Z2luJnVybD1odHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
UE5HSU1BR0UgLSBhbm9ueW1vdXMgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9QTkdJTUFHRSZtb2RlPXNhbWUtb3JpZ2luJnVybD1odHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUz
QTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZl
dGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNT
IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJs
PWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFH
RSAtIGRlZmF1bHQgCi1QQVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFH
RSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZp
Y2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNv
bnRyb2wucHklM0ZQTkdJTUFHRSAtIGFub255bW91cyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9bm8tY29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFIC0gdXNlLWNyZWRlbnRpYWxz
IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1uby1j
b3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
UE5HSU1BR0UgLSBkZWZhdWx0IAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/
UE5HSU1BR0UmbW9kZT1uby1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMl
MkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UgLSBhbm9ueW1vdXMgCi1QQVNTIGh0dHBzOi8vMTI3
LjAuMC4xOjk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPW5vLWNvcnMmdXJsPWh0dHBzJTNBJTJG
JTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJG
cmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSAtIHVzZS1jcmVk
ZW50aWFscyAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1v
ZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQz
IC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdF
Jm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0
cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYx
MjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNv
dXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNE
aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gYW5vbnltb3VzIAotUEFTUyBodHRwczov
L2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UmbW9kZT1jb3JzJnVybD1odHRwcyUzQSUy
RiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUy
RnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmln
aW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMgLSB1c2UtY3JlZGVudGlhbHMgCi1Q
QVNTIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJs
PWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZp
Y2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFH
RSUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9j
YWxob3N0JTNBOTQ0MyAtIHVzZS1jcmVkZW50aWFscyAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vz
cy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4w
LjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMl
MkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMl
M0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVmYXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4w
LjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFj
Y2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdp
biZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJG
c2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRlBO
R0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0gZGVm
YXVsdCAKLVBBU1MgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5P1BOR0lNQUdFJm1vZGU9
Y29ycyZ1cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJz
JTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUz
RlBOR0lNQUdFJTI2QUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzIC0g
YW5vbnltb3VzIAotUEFTUyBodHRwczovLzEyNy4wLjAuMTo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0Um
bW9kZT1jb3JzJnVybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGUE5HSU1BR0UlMjZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0
NDMgLSB1c2UtY3JlZGVudGlhbHMgCi1QQVNTIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1hY2Nlc3MtY29udHJvbC5w
eT9QTkdJTUFHRSZtb2RlPWNvcnMmdXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUy
RnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNj
ZXNzLWNvbnRyb2wucHklM0ZQTkdJTUFHRSUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSUyNkFDQU9y
aWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyAtIHVzZS1jcmVkZW50aWFscyAK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzZmUyNzdkNmU0ZjIxMjYyNzUy
NmJkM2ZkZjcxNjk5ODFkOGFjOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmcuaHR0cHMu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRp
dGxlPlNlcnZpY2UgV29ya2VyOiBjYW52YXMgdGFpbnRpbmcgb2YgdGhlIGZldGNoZWQgaW1hZ2U8
L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3Nj
cmlwdD4KLTxib2R5PgotPHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZh
ciBTQ09QRSA9ICdyZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWlmcmFtZS5odG1sJzsK
LSAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci5qcyc7Ci0g
ICAgdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKLQotICAgIGxvZ2luX2h0dHBzKHQp
Ci0gICAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSk7Ci0gICAgICAgIH0p
Ci0gICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgICByZXR1cm4g
d2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsK
LSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUo
U0NPUEUpOyB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICAg
IHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAgICAgICAgIGNoYW5u
ZWwucG9ydDEub25tZXNzYWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAg
ICAgICAgICAgZm9yICh2YXIgcmVzdWx0IG9mIGUuZGF0YS5yZXN1bHRzKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgdGVzdCgoKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHJlc3VsdC5yZXN1bHQsICJQQVNTIik7Ci0gICAgICAgICAgICAgICAgICAgICAgfSwg
cmVzdWx0Lm5hbWUpOwotICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgZnJh
bWUucmVtb3ZlKCk7Ci0gICAgICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9kb25lKHQsIFNDT1BFKTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQy
XSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRf
cmVqZWN0aW9uKHQpKTsKLSAgfSwgJ1ZlcmlmeSBjYW52YXMgdGFpbnRpbmcgb2YgZmV0Y2hlZCBp
bWFnZSBpbiBhIFNlcnZpY2UgV29ya2VyJyk7Ci08L3NjcmlwdD4KLTwvYm9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY29ycy1leHBvc2VkLWhl
YWRlci1uYW1lcy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNmMDdlYzUzZjM1YjE0
YTFlZGUxYzdhYTA4ZjI4ZTZlNTg4YmRhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCisKK0ZBSUwgQ09SUy1leHBvc2VkIGhlYWRlciBuYW1lcyBmb3Ig
YSByZXNwb25zZSBmcm9tIHN3IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJiYXIi
IGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLmh0dHBzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzE3YjAyMTc1ZjJmMTVkNDY3ZDMzMzZjZDQ4Y2EwZmMyMWI0NzNjYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFkZXItbmFtZXMu
aHR0cHMuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TZXJ2
aWNlIFdvcmtlcjogQ09SUy1leHBvc2VkIGhlYWRlciBuYW1lcyBzaG91bGQgYmUgdHJhbnNmZXJy
ZWQgY29ycmVjdGx5PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9uKHQpIHsKKyAg
ICBjb25zdCBTQ09QRSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWwnOworICAgIGNvbnN0IFNDUklQ
VCA9ICdyZXNvdXJjZXMvZmV0Y2gtY29ycy1leHBvc2VkLWhlYWRlci1uYW1lcy13b3JrZXIuanMn
OworICAgIGNvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKworICAgIGNvbnN0IFVS
TCA9IGdldF9ob3N0X2luZm8oKS5IVFRQU19SRU1PVEVfT1JJR0lOICsKKyAgICAgICcvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0P3BpcGU9JyArCisg
ICAgICAnaGVhZGVyKGFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbiwqKXwnICsKKyAgICAgICdo
ZWFkZXIoYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMsKil8JyArCisgICAgICAnaGVhZGVy
KGZvbyxiYXIpfCcgKworICAgICAgJ2hlYWRlcihzZXQtY29va2llLFgpJzsKKworICAgIGNvbnN0
IHJlZyA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFND
UklQVCwgU0NPUEUpOworICAgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5n
LCAnYWN0aXZhdGVkJyk7CisgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShTQ09Q
RSk7CisKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0
Y2goVVJMKTsKKyAgICBjb25zdCBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVyczsKKyAgICBhc3Nl
cnRfZXF1YWxzKGhlYWRlcnMuZ2V0KCdmb28nKSwgJ2JhcicpOworICAgIGFzc2VydF9lcXVhbHMo
aGVhZGVycy5nZXQoJ3NldC1jb29raWUnKSwgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhoZWFk
ZXJzLmdldCgnYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMnKSwgJyonKTsKKyAgfSwgJ0NP
UlMtZXhwb3NlZCBoZWFkZXIgbmFtZXMgZm9yIGEgcmVzcG9uc2UgZnJvbSBzdycpOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jb3JzLXhoci5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtY29ycy14aHIuaHR0cHMuaHRtbAppbmRleCA1
MjFjMDFjNTk0ZjI0ODliOTQ1ZDY3NDllYjZmYjgwMDBlYTJiOTFjLi4zOTdjYjgxZDU0NjJjNmEx
ZGI3YjY3YzA4YWQ5YTU3MzkxNDc3NDViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1jb3JzLXhoci5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNv
cnMteGhyLmh0dHBzLmh0bWwKQEAgLTYsMzMgKzYsMzkgQEAKIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcz9waXBlPXN1YiI+PC9zY3JpcHQ+CiA8Ym9keT4KIDxzY3Jp
cHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9mZXRjaC1jb3JzLXhoci1pZnJhbWUuaHRtbCc7
CiAgICAgdmFyIFNDUklQVCA9ICdyZXNvdXJjZXMvZmV0Y2gtcmV3cml0ZS13b3JrZXIuanMnOwog
ICAgIHZhciBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7CiAKLSAgICBsb2dpbl9odHRwcyh0
KQorICAgIHJldHVybiBsb2dpbl9odHRwcyh0KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CiAg
ICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IFNDUklQVCwgU0NPUEUpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0
cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NPUEUpOworICAgICAg
ICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1
bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUpOyB9KQogICAgICAgLnRoZW4oZnVu
Y3Rpb24oZnJhbWUpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICAg
ICAgICB2YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgICAgICAgICAgICBj
aGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLnJlc3VsdHMsICdmaW5pc2gnKTsKLSAg
ICAgICAgICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgICAgICAgICAgc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09QRSk7Ci0gICAgICAgICAgICAgICAg
fSk7CisgICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsKICAg
ICAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX09S
SUdJTiddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtj
aGFubmVsLnBvcnQyXSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfSkKLSAgICAgIC5jYXRj
aCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7CisgICAgICAg
IH0pOwogICB9LCAnVmVyaWZ5IENPUlMgWEhSIG9mIGZldGNoKCkgaW4gYSBTZXJ2aWNlIFdvcmtl
cicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1ldmVudC1pcy1oaXN0b3J5LWJhY2t3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1oaXN0b3J5LWJhY2t3YXJkLW5h
dmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NmNTkyMmYzOTZhZmU0ZmE0
YTQ3ODc5MTdmZTBhYjNmYWEzNmYwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50LWlzLWhpc3RvcnktYmFja3dhcmQtbmF2aWdhdGlvbi1tYW51YWwuaHR0
cHMuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8cD5DbGlj
ayA8YSBocmVmPSJyZXNvdXJjZXMvaW5zdGFsbC13b3JrZXIuaHRtbD9pc0hpc3RvcnlOYXZpZ2F0
aW9uJmFtcDtzY3JpcHQ9ZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMiPnRoaXMgbGluazwvYT4u
CisgICBPbmNlIHlvdSBzZWUgJnF1b3Q7bWV0aG9kID0gR0VULC4uLiZxdW90OyBpbiB0aGUgcGFn
ZSwgZ28gdG8gYW5vdGhlciBwYWdlLCBhbmQgdGhlbiBnbyBiYWNrIHRvIHRoZSBwYWdlIHVzaW5n
IHRoZSBCYWNrd2FyZCBidXR0b24uCisgICBZb3Ugc2hvdWxkIHNlZSAmcXVvdDttZXRob2QgPSBH
RVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB0cnVlJnF1b3Q7LgorPC9wPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9y
eS1mb3J3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1ldmVudC1pcy1oaXN0b3J5LWZvcndhcmQtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MDE5MzliM2NiMmQ5MTlhMTVmZmQxNmQzOGNjM2UwYzg2NmI0M2U5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlz
dG9yeS1mb3J3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPHA+Q2xpY2sgPGEgaHJlZj0icmVzb3VyY2VzL2lu
c3RhbGwtd29ya2VyLmh0bWw/aXNIaXN0b3J5TmF2aWdhdGlvbiZhbXA7c2NyaXB0PWZldGNoLWV2
ZW50LXRlc3Qtd29ya2VyLmpzIj50aGlzIGxpbms8L2E+LgorICAgT25jZSB5b3Ugc2VlICZxdW90
O21ldGhvZCA9IEdFVCwuLi4mcXVvdDsgaW4gdGhlIHBhZ2UsIGdvIGJhY2sgdG8gdGhpcyBwYWdl
IHVzaW5nIHRoZSBCYWNrd2FyZCBidXR0b24sIGFuZCB0aGVuIGdvIHRvIHRoZSBzZWNvbmQgcGFn
ZSB1c2luZyB0aGUgRm9yd2FyZCBidXR0b24uCisgICBZb3Ugc2hvdWxkIHNlZSAmcXVvdDttZXRo
b2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB0cnVlJnF1b3Q7LgorPC9wPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMt
cmVsb2FkLWlmcmFtZS1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1yZWxvYWQtaWZyYW1lLW5hdmlnYXRpb24tbWFu
dWFsLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTZkZmI3MmEyMTk1MDBiMDI1Y2Y2
ZjViYWM1OWE4ZGU0MDQ5NTYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
ZmV0Y2gtZXZlbnQtaXMtcmVsb2FkLWlmcmFtZS1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuaXNS
ZWxvYWROYXZpZ2F0aW9uIGlzIHRydWUgZm9yIG1hbnVhbCByZWxvYWQuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlIiBidXQg
Z290ICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHVuZGVmaW5lZCIKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtcmVsb2FkLWlmcmFtZS1u
YXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZl
bnQtaXMtcmVsb2FkLWlmcmFtZS1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNmMWZlY2NmNmU0NDEyZTEyZjIyYTdjZTFlYmU1NWE1NGJhNzQ4ZjEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1yZWxvYWQtaWZyYW1lLW5h
dmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+
Cis8c2NyaXB0PgorY29uc3Qgd29ya2VyID0gJ3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdv
cmtlci5qcyc7CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICBjb25zdCBzY29wZSA9
ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNSZWxvYWROYXZpZ2F0aW9uJzsKKworICBjb25zdCBy
ZWcgPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3Jr
ZXIsIHNjb3BlKTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7Cisg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisg
ICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gZmFsc2Un
KTsKKyAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICBmcmFtZS5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgZnJhbWUuY29udGVudERvY3VtZW50LmJv
ZHkuaW5uZXJUZXh0ID0KKyAgICAgICdSZWxvYWQgdGhpcyBmcmFtZSBtYW51YWxseSEnOworICB9
KTsKKyAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVu
dCwKKyAgICAgICdtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHRydWUnKTsKKyAg
ZnJhbWUucmVtb3ZlKCk7CisgIGF3YWl0IHJlZy51bnJlZ2lzdGVyKCk7Cit9LCAnRmV0Y2hFdmVu
dCNyZXF1ZXN0LmlzUmVsb2FkTmF2aWdhdGlvbiBpcyB0cnVlIGZvciBtYW51YWwgcmVsb2FkLicp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLWV2ZW50LWlzLXJlbG9hZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtcmVsb2FkLW5hdmlnYXRpb24tbWFu
dWFsLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM0OWYwN2MzNmMyMjZlNzczMjNhYmRhMDVlZWZl
YzI1ZmMzYjIxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2
ZW50LWlzLXJlbG9hZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sCkBAIC0wLDAgKzEsOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8Ym9keT4KKzxwPkNsaWNrIDxhIGhyZWY9InJlc291cmNlcy9p
bnN0YWxsLXdvcmtlci5odG1sP2lzUmVsb2FkTmF2aWdhdGlvbiZzY3JpcHQ9ZmV0Y2gtZXZlbnQt
dGVzdC13b3JrZXIuanMiPnRoaXMgbGluazwvYT4uCisgICBPbmNlIHlvdSBzZWUgJnF1b3Q7bWV0
aG9kID0gR0VULC4uLiZxdW90OyBpbiB0aGUgcGFnZSwgcmVsb2FkIHRoZSBwYWdlLgorICAgWW91
IHdpbGwgc2VlICZxdW90O21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gdHJ1ZSZx
dW90Oy4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLWV2ZW50LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxZGJj
MDg1OGY4ZWM4M2JiMTA5MmMzYmNlYWQ2ZTA4M2JhODg2ZjVhLi5jYjdjN2NkZTI5OTcwNTNlMGYw
MzA4OTgzYTEwYjY3Yjg1ZTQ0OTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1ldmVudC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZXZlbnQtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsMjEg
QEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogTm8tQ29ycyBtb2RlIHJlcXVpcmVzIGZvbGxv
dyByZWRpcmVjdCBtb2RlCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vdCBhbGxvd2VkIHRv
IHJlcXVlc3QgcmVzb3VyY2UKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogRmV0Y2ggQVBJIGNh
bm5vdCBsb2FkIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvbm9uYXYtbWFudWFsLW5vY29ycy1yZWRp
cmVjdHMtdG8tc2FtZW9yaWdpbi1ub2NyZWRzP3VybD1yZWRpcmVjdC5weSUzRlJlZGlyZWN0JTNE
aHR0cHMlMjUzQSUyNTJGJTI1MkZsb2NhbGhvc3QlMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2Vy
cyUyNTJGc2VydmljZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSZleHBlY3Rl
ZF90eXBlPW9wYXF1ZXJlZGlyZWN0IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNTU6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJl
Y3QgbW9kZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0
IHJlc291cmNlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTU6IEZldGNoIEFQSSBjYW5ub3QgbG9h
ZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25vbmF2LW1hbnVhbC1ub2NvcnMtcmVkaXJlY3RzLXRv
LXNhbWVvcmlnaW4tbm9jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1
M0ElMjUyRiUyNTJGbG9jYWxob3N0JTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNl
cnZpY2Utd29ya2VyJTI1MkZyZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkmZXhwZWN0ZWRfdHlwZT1v
cGFxdWVyZWRpcmVjdCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDU1OiBOby1Db3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJj
ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9ub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1ub2NvcnMt
bm9jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJG
MTI3LjAuMC4xJTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Utd29ya2Vy
JTI1MkZyZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkmZXhwZWN0ZWRfdHlwZT1vcGFxdWVyZWRpcmVj
dCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1
OiBOby1Db3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9ub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1jb3JzLW5vY3JlZHM/dXJsPXJl
ZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNB
OTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2Vz
JTI1MkZzdWNjZXNzLnB5JTI1M0ZBQ0FPcmlnaW4lMjUzRGh0dHBzJTI1MjUzQSUyNTI1MkYlMjUy
NTJGbG9jYWxob3N0JTI1MjUzQTk0NDMmZXhwZWN0ZWRfdHlwZT1vcGFxdWVyZWRpcmVjdCBkdWUg
dG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBOby1D
b3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9u
b25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1zYW1lb3JpZ2luLWNyZWRzP3VybD1yZWRp
cmVjdC5weSUzRlJlZGlyZWN0JTNEaHR0cHMlMjUzQSUyNTJGJTI1MkZmb28lMjUzQWJhciUyNTQw
bG9jYWxob3N0JTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Utd29ya2Vy
JTI1MkZyZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkmZXhwZWN0ZWRfdHlwZT1vcGFxdWVyZWRpcmVj
dCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDU1
OiBOby1Db3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA1NTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDU1OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9ub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1ub2NvcnMtY3JlZHM/dXJsPXJl
ZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNBYmFyJTI1
NDAxMjcuMC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3Jr
ZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSZleHBlY3RlZF90eXBlPW9wYXF1ZXJlZGly
ZWN0IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NTU6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9kZQorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDU1OiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlCitDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNTU6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9z
dDo5NDQzL25vbmF2LW1hbnVhbC1ub2NvcnMtcmVkaXJlY3RzLXRvLWNvcnMtY3JlZHM/dXJsPXJl
ZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNBYmFyJTI1
NDAxMjcuMC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3Jr
ZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSUyNTNGQUNBT3JpZ2luJTI1M0RodHRwcyUy
NTI1M0ElMjUyNTJGJTI1MjUyRmxvY2FsaG9zdCUyNTI1M0E5NDQzJmV4cGVjdGVkX3R5cGU9b3Bh
cXVlcmVkaXJlY3QgZHVlIHRvIGFjY2VzcyBjb250cm9sIGNoZWNrcy4KIENPTlNPTEUgTUVTU0FH
RTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBP
cmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4uCiBDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9h
ZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25vbmF2LWZvbGxvdy1jb3JzLXJlZGlyZWN0cy10by1u
b2NvcnMtbm9jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUy
RiUyNTJGMTI3LjAuMC4xJTI1M0E5NDQzJTI1MkZzZXJ2aWNlLXdvcmtlcnMlMjUyRnNlcnZpY2Ut
d29ya2VyJTI1MkZyZXNvdXJjZXMlMjUyRnN1Y2Nlc3MucHkuCiBDT05TT0xFIE1FU1NBR0U6IEZl
dGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjogVW5zYWZl
IGF0dGVtcHQgdG8gbG9hZCBVUkwgaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1Y2Nlc3MucHkgZnJvbSBvcmlnaW4gaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNo
LgpAQCAtMzIsNiArNDcsMTIgQEAgQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90IGxv
YWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9ub25hdi1lcnJvci1zYW1lb3IKIENPTlNPTEUgTUVT
U0FHRTogbGluZSA1MTogTm8tQ29ycyBtb2RlIHJlcXVpcmVzIGZvbGxvdyByZWRpcmVjdCBtb2Rl
CiBDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3Vy
Y2UKIENPTlNPTEUgTUVTU0FHRTogbGluZSA1MTogRmV0Y2ggQVBJIGNhbm5vdCBsb2FkIGh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvbm9uYXYtZXJyb3Itbm9jb3JzLXJlZGlyZWN0cy10by1zYW1lb3Jp
Z2luLW5vY3JlZHM/dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYl
MjUyRmxvY2FsaG9zdCUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdv
cmtlciUyNTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBj
aGVja3MuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBm
b2xsb3cgcmVkaXJlY3QgbW9kZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBOb3QgYWxsb3dl
ZCB0byByZXF1ZXN0IHJlc291cmNlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IEZldGNoIEFQ
SSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25vbmF2LWVycm9yLW5vY29ycy1y
ZWRpcmVjdHMtdG8tbm9jb3JzLW5vY3JlZHM/dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0Ro
dHRwcyUyNTNBJTI1MkYlMjUyRjEyNy4wLjAuMSUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJz
JTI1MkZzZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5IGR1ZSB0byBh
Y2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IE5vLUNvcnMg
bW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9kZQorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDUxOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTE6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL25vbmF2
LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1ub2NyZWRzP3VybD1yZWRpcmVjdC5weSUz
RlJlZGlyZWN0JTNEaHR0cHMlMjUzQSUyNTJGJTI1MkYxMjcuMC4wLjElMjUzQTk0NDMlMjUyRnNl
cnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vz
cy5weSUyNTNGQUNBT3JpZ2luJTI1M0RodHRwcyUyNTI1M0ElMjUyNTJGJTI1MjUyRmxvY2FsaG9z
dCUyNTI1M0E5NDQzIGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCiBDT05TT0xFIE1FU1NB
R0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5cGVFcnJvcjog
Tm90IGFsbG93ZWQgdG8gZm9sbG93IGEgcmVkaXJlY3Rpb24gd2hpbGUgbG9hZGluZyBodHRwczov
L2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
cmVkaXJlY3QucHk/UmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZmb28lM0FiYXIlNDBsb2NhbGhvc3Ql
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZz
dWNjZXNzLnB5CiBDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczov
L2xvY2FsaG9zdDo5NDQzL25vbmF2LWVycm9yLWNvcnMtcmVkaXJlY3RzLXRvLXNhbWVvcmlnaW4t
Y3JlZHM/dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZv
byUyNTNBYmFyJTI1NDBsb2NhbGhvc3QlMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJG
c2VydmljZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weS4KIENPTlNPTEUgTUVT
U0FHRTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9y
OiBOb3QgYWxsb3dlZCB0byBmb2xsb3cgYSByZWRpcmVjdGlvbiB3aGlsZSBsb2FkaW5nIGh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9yZWRpcmVjdC5weT9SZWRpcmVjdD1odHRwcyUzQSUyRiUyRmZvbyUzQWJhciU0MDEyNy4wLjAu
MSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUy
RnN1Y2Nlc3MucHkKQEAgLTQ0LDYgKzY1LDE1IEBAIENPTlNPTEUgTUVTU0FHRTogRmV0Y2hFdmVu
dC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBOb3QgYWxsb3dlCiBD
T05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5
NDQzL25vbmF2LWVycm9yLXNhbWVvcmlnaW4tcmVkaXJlY3RzLXRvLW5vY29ycy1jcmVkcz91cmw9
cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGZm9vJTI1M0FiYXIl
MjU0MDEyNy4wLjAuMSUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdv
cmtlciUyNTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5LgogQ09OU09MRSBNRVNTQUdFOiBGZXRj
aEV2ZW50LnJlc3BvbmRXaXRoIHJlY2VpdmVkIGFuIGVycm9yOiBUeXBlRXJyb3I6IE5vdCBhbGxv
d2VkIHRvIGZvbGxvdyBhIHJlZGlyZWN0aW9uIHdoaWxlIGxvYWRpbmcgaHR0cHM6Ly9sb2NhbGhv
c3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZGlyZWN0
LnB5P1JlZGlyZWN0PWh0dHBzJTNBJTJGJTJGZm9vJTNBYmFyJTQwMTI3LjAuMC4xJTNBOTQ0MyUy
RnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGc3VjY2Vzcy5w
eSUzRkFDQU9yaWdpbiUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGbG9jYWxob3N0JTI1M0E5NDQzCiBD
T05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRwczovL2xvY2FsaG9zdDo5
NDQzL25vbmF2LWVycm9yLXNhbWVvcmlnaW4tcmVkaXJlY3RzLXRvLWNvcnMtY3JlZHM/dXJsPXJl
ZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZvbyUyNTNBYmFyJTI1
NDAxMjcuMC4wLjElMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJGc2VydmljZS13b3Jr
ZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSUyNTNGQUNBT3JpZ2luJTI1M0RodHRwcyUy
NTI1M0ElMjUyNTJGJTI1MjUyRmxvY2FsaG9zdCUyNTI1M0E5NDQzLgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDUxOiBOby1Db3JzIG1vZGUgcmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NP
TlNPTEUgTUVTU0FHRTogbGluZSA1MTogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9ub25hdi1lcnJvci1ub2NvcnMtcmVkaXJlY3RzLXRvLXNhbWVvcmlnaW4t
Y3JlZHM/dXJsPXJlZGlyZWN0LnB5JTNGUmVkaXJlY3QlM0RodHRwcyUyNTNBJTI1MkYlMjUyRmZv
byUyNTNBYmFyJTI1NDBsb2NhbGhvc3QlMjUzQTk0NDMlMjUyRnNlcnZpY2Utd29ya2VycyUyNTJG
c2VydmljZS13b3JrZXIlMjUyRnJlc291cmNlcyUyNTJGc3VjY2Vzcy5weSBkdWUgdG8gYWNjZXNz
IGNvbnRyb2wgY2hlY2tzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBOby1Db3JzIG1vZGUg
cmVxdWlyZXMgZm9sbG93IHJlZGlyZWN0IG1vZGUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MTog
Tm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNvdXJjZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUx
OiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9ub25hdi1lcnJv
ci1ub2NvcnMtcmVkaXJlY3RzLXRvLW5vY29ycy1jcmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRp
cmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGZm9vJTI1M0FiYXIlMjU0MDEyNy4wLjAuMSUyNTNB
OTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZzZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2Vz
JTI1MkZzdWNjZXNzLnB5IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTE6IE5vLUNvcnMgbW9kZSByZXF1aXJlcyBmb2xsb3cgcmVkaXJlY3QgbW9k
ZQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUxOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291
cmNlCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTE6IEZldGNoIEFQSSBjYW5ub3QgbG9hZCBodHRw
czovL2xvY2FsaG9zdDo5NDQzL25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1j
cmVkcz91cmw9cmVkaXJlY3QucHklM0ZSZWRpcmVjdCUzRGh0dHBzJTI1M0ElMjUyRiUyNTJGZm9v
JTI1M0FiYXIlMjU0MDEyNy4wLjAuMSUyNTNBOTQ0MyUyNTJGc2VydmljZS13b3JrZXJzJTI1MkZz
ZXJ2aWNlLXdvcmtlciUyNTJGcmVzb3VyY2VzJTI1MkZzdWNjZXNzLnB5JTI1M0ZBQ0FPcmlnaW4l
MjUzRGh0dHBzJTI1MjUzQSUyNTI1MkYlMjUyNTJGbG9jYWxob3N0JTI1MjUzQTk0NDMgZHVlIHRv
IGFjY2VzcyBjb250cm9sIGNoZWNrcy4KIAogUEFTUyBpbml0aWFsaXplIGdsb2JhbCBzdGF0ZSAK
IFBBU1MgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgY29ycyBtb2RlIFJlcXVlc3Qg
cmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNj
ZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBi
ZSByZWRpcmVjdGVkIApAQCAtNTIsMTMgKzgyLDE4IEBAIFBBU1MgTm9uLW5hdmlnYXRpb24sIG1h
bnVhbCByZWRpcmVjdCwgY29ycyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGhv
CiBQQVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIHNhbWUtb3JpZ2luIG1vZGUg
UmVxdWVzdCByZWRpcmVjdGVkIHRvIHNhbWUtb3JpZ2luIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hv
dWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91
bGQgbm90IGJlIHJlZGlyZWN0ZWQgCiBQQVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJl
Y3QsIHNhbWUtb3JpZ2luIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMgd2l0aG91
dCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVyZWRpcmVjdCBpbnRlcmNlcHRpb24g
YW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRp
b24sIG1hbnVhbCByZWRpcmVjdCwgc2FtZS1vcmlnaW4gbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQg
dG8gY29ycyB3aXRob3V0IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0
IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAotUEFT
UyBOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCBz
aG91bGQgZmFpbCAKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29y
cyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRp
YWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9u
c2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGFsbG93ZWQgdG8gcmVxdWVz
dCByZXNvdXJjZSIKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29y
cyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBuby1jb3JzIHdpdGhvdXQgY3JlZGVudGlhbHMg
c2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBz
aG91bGQgbm90IGJlIHJlZGlyZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJl
c291cmNlIgorRkFJTCBOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1v
ZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIGNvcnMgd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQg
c3VjY2VlZCBvcGFxdWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBu
b3QgYmUgcmVkaXJlY3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3VyY2Ui
CiBQQVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0
IHJlZGlyZWN0ZWQgdG8gc2FtZS1vcmlnaW4gd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2Vl
ZCBvcGFxdWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUg
cmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgY29ycyBt
b2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBuby1jb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxk
IHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQg
bm90IGJlIHJlZGlyZWN0ZWQgCiBQQVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3Qs
IGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNo
b3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hv
dWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGly
ZWN0LCBzYW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3
aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlv
biBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdh
dGlvbiwgbWFudWFsIHJlZGlyZWN0LCBzYW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3Rl
ZCB0byBuby1jb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJl
Y3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQgCiBQ
QVNTIE5vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3QsIHNhbWUtb3JpZ2luIG1vZGUgUmVx
dWVzdCByZWRpcmVjdGVkIHRvIGNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBv
cGFxdWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVk
aXJlY3RlZCAKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29ycyBt
b2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRoIGNyZWRlbnRpYWxzIHNo
b3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hv
dWxkIG5vdCBiZSByZWRpcmVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTm90IGFsbG93ZWQgdG8gcmVxdWVzdCByZXNv
dXJjZSIKK0ZBSUwgTm9uLW5hdmlnYXRpb24sIG1hbnVhbCByZWRpcmVjdCwgbm8tY29ycyBtb2Rl
IFJlcXVlc3QgcmVkaXJlY3RlZCB0byBuby1jb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1
Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90
IGJlIHJlZGlyZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgYWxsb3dlZCB0byByZXF1ZXN0IHJlc291cmNlIgor
RkFJTCBOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVz
dCByZWRpcmVjdGVkIHRvIGNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFx
dWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJl
Y3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IE5vdCBhbGxvd2VkIHRvIHJlcXVlc3QgcmVzb3VyY2UiCiBQQVNTIE5vbi1u
YXZpZ2F0aW9uLCBmb2xsb3cgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQg
dG8gc2FtZS1vcmlnaW4gd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBpbnRlcmNl
cHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdh
dGlvbiwgZm9sbG93IHJlZGlyZWN0LCBjb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5v
LWNvcnMgd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJl
c3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGZv
bGxvdyByZWRpcmVjdCwgY29ycyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGhv
dXQgY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBz
aG91bGQgYmUgcmVkaXJlY3RlZCAKQEAgLTgzLDEyICsxMTgsMTcgQEAgUEFTUyBOb24tbmF2aWdh
dGlvbiwgZXJyb3IgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29y
cyB3aXRob3UKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBzYW1lLW9yaWdp
biBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNyZWRlbnRp
YWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSBy
ZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIHNhbWUtb3Jp
Z2luIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMgd2l0aG91dCBjcmVkZW50aWFs
cyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVk
aXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBzYW1lLW9yaWdp
biBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hv
dWxkIGZhaWwgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0
ZWQgCi1QQVNTIE5vbi1uYXZpZ2F0aW9uLCBlcnJvciByZWRpcmVjdCwgbm8tY29ycyBtb2RlIFJl
cXVlc3Qgc2hvdWxkIGZhaWwgCitQQVNTIE5vbi1uYXZpZ2F0aW9uLCBlcnJvciByZWRpcmVjdCwg
bm8tY29ycyBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRob3V0IGNy
ZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5v
dCBiZSByZWRpcmVjdGVkIAorUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5v
LWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gbm8tY29ycyB3aXRob3V0IGNyZWRlbnRp
YWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSBy
ZWRpcmVjdGVkIAorUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMg
bW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gY29ycyB3aXRob3V0IGNyZWRlbnRpYWxzIHNob3Vs
ZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVk
IAogUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIGNvcnMgbW9kZSBSZXF1ZXN0
IHJlZGlyZWN0ZWQgdG8gc2FtZS1vcmlnaW4gd2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBp
bnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1Mg
Tm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBjb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVj
dGVkIHRvIG5vLWNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24g
YW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRp
b24sIGVycm9yIHJlZGlyZWN0LCBjb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIGNvcnMg
d2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNo
b3VsZCBub3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGly
ZWN0LCBzYW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3
aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hv
dWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJl
Y3QsIHNhbWUtb3JpZ2luIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvIG5vLWNvcnMgd2l0aCBj
cmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gYW5kIHJlc3BvbnNlIHNob3VsZCBu
b3QgYmUgcmVkaXJlY3RlZCAKIFBBU1MgTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBz
YW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBjb3JzIHdpdGggY3JlZGVudGlh
bHMgc2hvdWxkIGZhaWwgaW50ZXJjZXB0aW9uIGFuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJl
ZGlyZWN0ZWQgCitQQVNTIE5vbi1uYXZpZ2F0aW9uLCBlcnJvciByZWRpcmVjdCwgbm8tY29ycyBt
b2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byBzYW1lLW9yaWdpbiB3aXRoIGNyZWRlbnRpYWxzIHNo
b3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVj
dGVkIAorUEFTUyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBS
ZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gbm8tY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWls
IGludGVyY2VwdGlvbiBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAorUEFT
UyBOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJl
ZGlyZWN0ZWQgdG8gY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlv
biBhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkIAogUEFTUyByZXN0b3JlIGds
b2JhbCBzdGF0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQt
cmVkaXJlY3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlZGly
ZWN0Lmh0dHBzLmh0bWwKaW5kZXggZjM0OGNhMGMwZDcwODcwMDQ3Y2M4YjNmZTM2NGZiOTMxY2I0
Mzk4MS4uYzQyZDdmNzViZTFlMWY1YTQyN2NkNjJkMWYzNzc0NTI3Zjk5ZWY4ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVkaXJlY3QuaHR0cHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZWRpcmVjdC5odHRwcy5odG1sCkBAIC0y
MTIsOSArMjEyLDUzIEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICByZWRpcmVj
dDogJ21hbnVhbCcsCiAgICAgICBtb2RlOiAnbm8tY29ycycKICAgICB9LAotICAgIHNob3VsZF9y
ZWplY3Q6IHRydWUKKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2
aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVk
IHRvICcgKworICAgJ3NhbWUtb3JpZ2luIHdpdGhvdXQgY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2Nl
ZWQgb3BhcXVlcmVkaXJlY3QgaW50ZXJjZXB0aW9uICcgKworICAgJ2FuZCByZXNwb25zZSBzaG91
bGQgbm90IGJlIHJlZGlyZWN0ZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
cmV0dXJuIHJlZGlyZWN0X2ZldGNoX3Rlc3QodCwgeworICAgIG5hbWU6ICdub25hdi1tYW51YWwt
bm9jb3JzLXJlZGlyZWN0cy10by1ub2NvcnMtbm9jcmVkcycsCisgICAgcmVkaXJlY3RfZGVzdDog
J25vLWNvcnMnLAorICAgIHVybF9jcmVkZW50aWFsczogZmFsc2UsCisgICAgZXhwZWN0ZWRfdHlw
ZTogJ29wYXF1ZXJlZGlyZWN0JywKKyAgICBleHBlY3RlZF9yZWRpcmVjdGVkOiBmYWxzZSwKKyAg
ICByZXF1ZXN0X2luaXQ6IHsKKyAgICAgIHJlZGlyZWN0OiAnbWFudWFsJywKKyAgICAgIG1vZGU6
ICduby1jb3JzJworICAgIH0sCisgICAgLy8gVGhpcyBzaG91bGQgc3VjY2VlZCBiZWNhdXNlIGl0
cyByZWRpcmVjdGluZyBmcm9tIHNhbWUtb3JpZ2luIHRvCisgICAgLy8gY3Jvc3Mtb3JpZ2luLiAg
U2luY2UgdGhlIHNhbWUtb3JpZ2luIFVSTCBwcm92aWRlcyB0aGUgbG9jYXRpb24KKyAgICAvLyBo
ZWFkZXIgdGhlIG1hbnVhbCByZWRpcmVjdCBtb2RlIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVl
cmVkaXJlY3QKKyAgICAvLyByZXNwb25zZS4KKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQogICB9
KTsKLX0sICdOb24tbmF2aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVx
dWVzdCBzaG91bGQgZmFpbCcpOworfSwgJ05vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVkaXJlY3Qs
IG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisgICAnbm8tY29ycyB3aXRo
b3V0IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2VwdGlv
biAnICsKKyAgICdhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiByZWRpcmVjdF9mZXRjaF90ZXN0KHQs
IHsKKyAgICBuYW1lOiAnbm9uYXYtbWFudWFsLW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1ub2Ny
ZWRzJywKKyAgICByZWRpcmVjdF9kZXN0OiAnY29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiBm
YWxzZSwKKyAgICBleHBlY3RlZF90eXBlOiAnb3BhcXVlcmVkaXJlY3QnLAorICAgIGV4cGVjdGVk
X3JlZGlyZWN0ZWQ6IGZhbHNlLAorICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6
ICdtYW51YWwnLAorICAgICAgbW9kZTogJ25vLWNvcnMnCisgICAgfSwKKyAgICAvLyBUaGlzIHNo
b3VsZCBzdWNjZWVkIGJlY2F1c2UgaXRzIHJlZGlyZWN0aW5nIGZyb20gc2FtZS1vcmlnaW4gdG8K
KyAgICAvLyBjcm9zcy1vcmlnaW4uICBTaW5jZSB0aGUgc2FtZS1vcmlnaW4gVVJMIHByb3ZpZGVz
IHRoZSBsb2NhdGlvbgorICAgIC8vIGhlYWRlciB0aGUgbWFudWFsIHJlZGlyZWN0IG1vZGUgc2hv
dWxkIHJlc3VsdCBpbiBhbiBvcGFxdWVyZWRpcmVjdAorICAgIC8vIHJlc3BvbnNlLgorICAgIHNo
b3VsZF9yZWplY3Q6IGZhbHNlCisgIH0pOworfSwgJ05vbi1uYXZpZ2F0aW9uLCBtYW51YWwgcmVk
aXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisgICAnY29ycyB3
aXRob3V0IGNyZWRlbnRpYWxzIHNob3VsZCBzdWNjZWVkIG9wYXF1ZXJlZGlyZWN0IGludGVyY2Vw
dGlvbiAnICsKKyAgICdhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkJyk7CiAK
IHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgIHJldHVybiByZWRpcmVjdF9mZXRjaF90ZXN0
KHQsIHsKQEAgLTMxOCw2ICszNjIsNjUgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAg
ICdjb3JzIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVkaXJlY3QgaW50
ZXJjZXB0aW9uICcgKwogICAgJ2FuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQn
KTsKIAorcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIHJlZGlyZWN0X2ZldGNo
X3Rlc3QodCwgeworICAgIG5hbWU6ICdub25hdi1tYW51YWwtbm9jb3JzLXJlZGlyZWN0cy10by1z
YW1lb3JpZ2luLWNyZWRzJywKKyAgICByZWRpcmVjdF9kZXN0OiAnc2FtZS1vcmlnaW4nLAorICAg
IHVybF9jcmVkZW50aWFsczogdHJ1ZSwKKyAgICBleHBlY3RlZF90eXBlOiAnb3BhcXVlcmVkaXJl
Y3QnLAorICAgIGV4cGVjdGVkX3JlZGlyZWN0ZWQ6IGZhbHNlLAorICAgIHJlcXVlc3RfaW5pdDog
eworICAgICAgcmVkaXJlY3Q6ICdtYW51YWwnLAorICAgICAgbW9kZTogJ25vLWNvcnMnCisgICAg
fSwKKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwg
bWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcgKwor
ICAgJ3NhbWUtb3JpZ2luIHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIHN1Y2NlZWQgb3BhcXVlcmVk
aXJlY3QgaW50ZXJjZXB0aW9uICcgKworICAgJ2FuZCByZXNwb25zZSBzaG91bGQgbm90IGJlIHJl
ZGlyZWN0ZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIHJlZGly
ZWN0X2ZldGNoX3Rlc3QodCwgeworICAgIG5hbWU6ICdub25hdi1tYW51YWwtbm9jb3JzLXJlZGly
ZWN0cy10by1ub2NvcnMtY3JlZHMnLAorICAgIHJlZGlyZWN0X2Rlc3Q6ICduby1jb3JzJywKKyAg
ICB1cmxfY3JlZGVudGlhbHM6IHRydWUsCisgICAgZXhwZWN0ZWRfdHlwZTogJ29wYXF1ZXJlZGly
ZWN0JywKKyAgICBleHBlY3RlZF9yZWRpcmVjdGVkOiBmYWxzZSwKKyAgICByZXF1ZXN0X2luaXQ6
IHsKKyAgICAgIHJlZGlyZWN0OiAnbWFudWFsJywKKyAgICAgIG1vZGU6ICduby1jb3JzJworICAg
IH0sCisgICAgLy8gVGhpcyBzaG91bGQgc3VjY2VlZCBiZWNhdXNlIGl0cyByZWRpcmVjdGluZyBm
cm9tIHNhbWUtb3JpZ2luIHRvCisgICAgLy8gY3Jvc3Mtb3JpZ2luLiAgU2luY2UgdGhlIHNhbWUt
b3JpZ2luIFVSTCBwcm92aWRlcyB0aGUgbG9jYXRpb24KKyAgICAvLyBoZWFkZXIgdGhlIG1hbnVh
bCByZWRpcmVjdCBtb2RlIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlcmVkaXJlY3QKKyAgICAv
LyByZXNwb25zZS4KKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2
aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVk
IHRvICcgKworICAgJ25vLWNvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFx
dWVyZWRpcmVjdCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3Qg
YmUgcmVkaXJlY3RlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4g
cmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7CisgICAgbmFtZTogJ25vbmF2LW1hbnVhbC1ub2NvcnMt
cmVkaXJlY3RzLXRvLWNvcnMtY3JlZHMnLAorICAgIHJlZGlyZWN0X2Rlc3Q6ICdjb3JzJywKKyAg
ICB1cmxfY3JlZGVudGlhbHM6IHRydWUsCisgICAgZXhwZWN0ZWRfdHlwZTogJ29wYXF1ZXJlZGly
ZWN0JywKKyAgICBleHBlY3RlZF9yZWRpcmVjdGVkOiBmYWxzZSwKKyAgICByZXF1ZXN0X2luaXQ6
IHsKKyAgICAgIHJlZGlyZWN0OiAnbWFudWFsJywKKyAgICAgIG1vZGU6ICduby1jb3JzJworICAg
IH0sCisgICAgLy8gVGhpcyBzaG91bGQgc3VjY2VlZCBiZWNhdXNlIGl0cyByZWRpcmVjdGluZyBm
cm9tIHNhbWUtb3JpZ2luIHRvCisgICAgLy8gY3Jvc3Mtb3JpZ2luLiAgU2luY2UgdGhlIHNhbWUt
b3JpZ2luIFVSTCBwcm92aWRlcyB0aGUgbG9jYXRpb24KKyAgICAvLyBoZWFkZXIgdGhlIG1hbnVh
bCByZWRpcmVjdCBtb2RlIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlcmVkaXJlY3QKKyAgICAv
LyByZXNwb25zZS4KKyAgICBzaG91bGRfcmVqZWN0OiBmYWxzZQorICB9KTsKK30sICdOb24tbmF2
aWdhdGlvbiwgbWFudWFsIHJlZGlyZWN0LCBuby1jb3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVk
IHRvICcgKworICAgJ2NvcnMgd2l0aCBjcmVkZW50aWFscyBzaG91bGQgc3VjY2VlZCBvcGFxdWVy
ZWRpcmVjdCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUg
cmVkaXJlY3RlZCcpOworCiBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICByZXR1cm4gcmVk
aXJlY3RfZmV0Y2hfdGVzdCh0LCB7CiAgICAgbmFtZTogJ25vbmF2LWZvbGxvdy1jb3JzLXJlZGly
ZWN0cy10by1zYW1lb3JpZ2luLW5vY3JlZHMnLApAQCAtNzM2LDEwICs4MzksNDcgQEAgcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIHJlZGlyZWN0OiAnZXJyb3InLAogICAgICAgbW9k
ZTogJ25vLWNvcnMnCiAgICAgfSwKLSAgICAvLyBzaG91bGQgcmVqZWN0IGJlY2F1c2UgZXJyb3Ig
KyBuby1jb3JzIGlzIG5vdCBhbGxvd2VkLgorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSBy
ZXF1ZXN0cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJl
ZGlyZWN0ZWQuCisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdh
dGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8g
JyArCisgICAnc2FtZS1vcmlnaW4gd2l0aG91dCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRl
cmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCcp
OworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gcmVkaXJlY3RfZmV0Y2hf
dGVzdCh0LCB7CisgICAgbmFtZTogJ25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tbm9j
b3JzLW5vY3JlZHMnLAorICAgIHJlZGlyZWN0X2Rlc3Q6ICduby1jb3JzJywKKyAgICB1cmxfY3Jl
ZGVudGlhbHM6IGZhbHNlLAorICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdl
cnJvcicsCisgICAgICBtb2RlOiAnbm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWpl
Y3QgYmVjYXVzZSByZXF1ZXN0cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBi
ZQorICAgIC8vIHJlZGlyZWN0ZWQuCiAgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQogICB9KTsKLX0s
ICdOb24tbmF2aWdhdGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHNo
b3VsZCBmYWlsJyk7Cit9LCAnTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBuby1jb3Jz
IG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcgKworICAgJ25vLWNvcnMgd2l0aG91dCBjcmVk
ZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNo
b3VsZCBub3QgYmUgcmVkaXJlY3RlZCcpOworCitwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICByZXR1cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7CisgICAgbmFtZTogJ25vbmF2LWVycm9y
LW5vY29ycy1yZWRpcmVjdHMtdG8tY29ycy1ub2NyZWRzJywKKyAgICByZWRpcmVjdF9kZXN0OiAn
Y29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiBmYWxzZSwKKyAgICByZXF1ZXN0X2luaXQ6IHsK
KyAgICAgIHJlZGlyZWN0OiAnZXJyb3InLAorICAgICAgbW9kZTogJ25vLWNvcnMnCisgICAgfSwK
KyAgICAvLyBzaG91bGQgcmVqZWN0IGJlY2F1c2UgcmVxdWVzdHMgd2l0aCAnZXJyb3InIFJlcXVl
c3RSZWRpcmVjdCBjYW5ub3QgYmUKKyAgICAvLyByZWRpcmVjdGVkLgorICAgIHNob3VsZF9yZWpl
Y3Q6IHRydWUKKyAgfSk7Cit9LCAnTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGlyZWN0LCBuby1j
b3JzIG1vZGUgUmVxdWVzdCByZWRpcmVjdGVkIHRvICcgKworICAgJ2NvcnMgd2l0aG91dCBjcmVk
ZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24gJyArCisgICAnYW5kIHJlc3BvbnNlIHNo
b3VsZCBub3QgYmUgcmVkaXJlY3RlZCcpOwogCiBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewog
ICByZXR1cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7CkBAIC04NDIsNSArOTgyLDU2IEBAIHBy
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiB9LCAnTm9uLW5hdmlnYXRpb24sIGVycm9yIHJlZGly
ZWN0LCBzYW1lLW9yaWdpbiBtb2RlIFJlcXVlc3QgcmVkaXJlY3RlZCB0byAnICsKICAgICdjb3Jz
IHdpdGggY3JlZGVudGlhbHMgc2hvdWxkIGZhaWwgaW50ZXJjZXB0aW9uICcgKwogICAgJ2FuZCBy
ZXNwb25zZSBzaG91bGQgbm90IGJlIHJlZGlyZWN0ZWQnKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgcmV0dXJuIHJlZGlyZWN0X2ZldGNoX3Rlc3QodCwgeworICAgIG5hbWU6ICdu
b25hdi1lcnJvci1ub2NvcnMtcmVkaXJlY3RzLXRvLXNhbWVvcmlnaW4tY3JlZHMnLAorICAgIHJl
ZGlyZWN0X2Rlc3Q6ICdzYW1lLW9yaWdpbicsCisgICAgdXJsX2NyZWRlbnRpYWxzOiB0cnVlLAor
ICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcicsCisgICAgICBtb2Rl
OiAnbm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSByZXF1ZXN0
cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJlZGlyZWN0
ZWQuCisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlvbiwg
ZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyArCisg
ICAnc2FtZS1vcmlnaW4gd2l0aCBjcmVkZW50aWFscyBzaG91bGQgZmFpbCBpbnRlcmNlcHRpb24g
JyArCisgICAnYW5kIHJlc3BvbnNlIHNob3VsZCBub3QgYmUgcmVkaXJlY3RlZCcpOworCitwcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gcmVkaXJlY3RfZmV0Y2hfdGVzdCh0LCB7
CisgICAgbmFtZTogJ25vbmF2LWVycm9yLW5vY29ycy1yZWRpcmVjdHMtdG8tbm9jb3JzLWNyZWRz
JywKKyAgICByZWRpcmVjdF9kZXN0OiAnbm8tY29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiB0
cnVlLAorICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcicsCisgICAg
ICBtb2RlOiAnbm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSBy
ZXF1ZXN0cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJl
ZGlyZWN0ZWQuCisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdh
dGlvbiwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8g
JyArCisgICAnbm8tY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlv
biAnICsKKyAgICdhbmQgcmVzcG9uc2Ugc2hvdWxkIG5vdCBiZSByZWRpcmVjdGVkJyk7CisKK3By
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiByZWRpcmVjdF9mZXRjaF90ZXN0KHQs
IHsKKyAgICBuYW1lOiAnbm9uYXYtZXJyb3Itbm9jb3JzLXJlZGlyZWN0cy10by1jb3JzLWNyZWRz
JywKKyAgICByZWRpcmVjdF9kZXN0OiAnY29ycycsCisgICAgdXJsX2NyZWRlbnRpYWxzOiB0cnVl
LAorICAgIHJlcXVlc3RfaW5pdDogeworICAgICAgcmVkaXJlY3Q6ICdlcnJvcicsCisgICAgICBt
b2RlOiAnbm8tY29ycycKKyAgICB9LAorICAgIC8vIHNob3VsZCByZWplY3QgYmVjYXVzZSByZXF1
ZXN0cyB3aXRoICdlcnJvcicgUmVxdWVzdFJlZGlyZWN0IGNhbm5vdCBiZQorICAgIC8vIHJlZGly
ZWN0ZWQuCisgICAgc2hvdWxkX3JlamVjdDogdHJ1ZQorICB9KTsKK30sICdOb24tbmF2aWdhdGlv
biwgZXJyb3IgcmVkaXJlY3QsIG5vLWNvcnMgbW9kZSBSZXF1ZXN0IHJlZGlyZWN0ZWQgdG8gJyAr
CisgICAnY29ycyB3aXRoIGNyZWRlbnRpYWxzIHNob3VsZCBmYWlsIGludGVyY2VwdGlvbiBhbmQg
cmVzcG9uc2Ugc2hvdWxkIG5vdCAnICsKKyAgICdiZSByZWRpcmVjdGVkJyk7CiA8L3NjcmlwdD4K
IDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlZmVy
cmVyLXBvbGljeS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVm
ZXJyZXItcG9saWN5Lmh0dHBzLmh0bWwKaW5kZXggMTVkNGVkNWY4NGM0OGIzNzFjNjdjZGNiOTQ1
MWFlOTVhMWVlODlkZC4uMzg0NmM1YjFkZGUyYmI3YjExZjk5ODA2NzFjYzk5NmMwZjA5YTc2OSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVmZXJyZXItcG9saWN5
Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVmZXJyZXIt
cG9saWN5Lmh0dHBzLmh0bWwKQEAgLTI0MSwxMSArMjQxLDE1IEBAIGZ1bmN0aW9uIHJ1bl9yZWZl
cnJlcl9wb2xpY3lfdGVzdHMoZnJhbWUsIHJlZmVycmVyLCBocmVmLCBvcmlnaW4pIHsKICAgICAg
ICAgfSk7CiB9CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP3JlZmVycmVy
UG9saWN5JzsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJf
dW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1
bmN0aW9uKHJlZykgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAg
ICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5p
bnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlv
bigpIHsgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsgfSkKQEAgLTI2Niw5ICsyNzAsNyBAQCBh
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgewogICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAg
IC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdTZXJ2
aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSByZWZlcnJlciBwb2xp
Y3knKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1l
dmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1jdXN0b20tcmVzcG9uc2Uu
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzMzJlMzQ4NjY5NDY5OWQ2ZWU2NDUxMjk3
NzMyZTA4MDdjZDE0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEzIEBACisKK1BBU1MgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIHN0cmluZyAK
K1BBU1MgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIGJsb2IgCitQQVNTIFN1YnJlc291cmNlIGJ1
aWx0IGZyb20gYSBidWZmZXIgCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBidWZmZXIt
dmlldyAKK0ZBSUwgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBmb3JtLWRhdGEgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iCitQQVNTIFN1YnJlc291cmNlIGJ1
aWx0IGZyb20gc2VhcmNoLXBhcmFtcyAKK1BBU1MgTmF2aWdhdGlvbiByZXNvdXJjZSBidWlsdCBm
cm9tIGEgc3RyaW5nIAorUEFTUyBOYXZpZ2F0aW9uIHJlc291cmNlIGJ1aWx0IGZyb20gYSBibG9i
IAorUEFTUyBOYXZpZ2F0aW9uIHJlc291cmNlIGJ1aWx0IGZyb20gYSBidWZmZXIgCitQQVNTIE5h
dmlnYXRpb24gcmVzb3VyY2UgYnVpbHQgZnJvbSBhIGJ1ZmZlci12aWV3IAorUEFTUyBOYXZpZ2F0
aW9uIHJlc291cmNlIGJ1aWx0IGZyb20gc2VhcmNoLXBhcmFtcyAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWN1c3RvbS1yZXNwb25zZS5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWN1
c3RvbS1yZXNwb25zZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0NWEyOWM5YjRmMTQ2YjhjNDAy
NDY1MGMzNThjODMyNTY2M2NiYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLmh0dHBzLmh0bWwKQEAg
LTAsMCArMSw4MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+cmVzcG9uZFdpdGggd2l0aCBhIG5ldyBSZXNwb25zZTwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyd1c2Ugc3Ry
aWN0JzsKKworY29uc3QgV09SS0VSID0KKyAgJ3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25k
LXdpdGgtY3VzdG9tLXJlc3BvbnNlLXdvcmtlci5qcyc7Citjb25zdCBTQ09QRSA9CisgICdyZXNv
dXJjZXMvYmxhbmsuaHRtbCc7CisKKy8vIFJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIsIHRoZW4g
Y3JlYXRlIGFuIGlmcmFtZSBhdCB1cmwuCitmdW5jdGlvbiBpZnJhbWVUZXN0KHVybCwgY2FsbGJh
Y2ssIG5hbWUpIHsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25z
dCByZWcgPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBX
T1JLRVIsIFNDT1BFKTsKKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiByZWcudW5y
ZWdpc3RlcigpKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywg
J2FjdGl2YXRlZCcpOworICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHVybCk7
CisgICAgY29uc3QgaXdpbiA9IGlmcmFtZS5jb250ZW50V2luZG93OworICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKyAgICBhd2FpdCBjYWxsYmFjayh0LCBpd2luKTsK
KyAgfSwgbmFtZSk7Cit9CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBpd2luKSA9PiB7
CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3R5cGU9c3RyaW5nJyk7Cisg
IGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTUycpOworfSwgJ1N1YnJl
c291cmNlIGJ1aWx0IGZyb20gYSBzdHJpbmcnKTsKKworaWZyYW1lVGVzdChTQ09QRSwgYXN5bmMg
KHQsIGl3aW4pID0+IHsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpd2luLmZldGNoKCc/dHlw
ZT1ibG9iJyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTUycp
OworfSwgJ1N1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBibG9iJyk7CisKK2lmcmFtZVRlc3QoU0NP
UEUsIGFzeW5jICh0LCBpd2luKSA9PiB7CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5m
ZXRjaCgnP3R5cGU9YnVmZmVyJyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4
dCgpLCAnUEFTUycpOworfSwgJ1N1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBidWZmZXInKTsKKwor
aWZyYW1lVGVzdChTQ09QRSwgYXN5bmMgKHQsIGl3aW4pID0+IHsKKyAgY29uc3QgcmVzcG9uc2Ug
PSBhd2FpdCBpd2luLmZldGNoKCc/dHlwZT1idWZmZXItdmlldycpOworICBhc3NlcnRfZXF1YWxz
KGF3YWl0IHJlc3BvbnNlLnRleHQoKSwgJ1BBU1MnKTsKK30sICdTdWJyZXNvdXJjZSBidWlsdCBm
cm9tIGEgYnVmZmVyLXZpZXcnKTsKKworaWZyYW1lVGVzdChTQ09QRSwgYXN5bmMgKHQsIGl3aW4p
ID0+IHsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpd2luLmZldGNoKCc/dHlwZT1mb3JtLWRh
dGEnKTsKKyAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmZvcm1EYXRhKCk7CisgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5nZXQoJ3Jlc3VsdCcpLCAnUEFTUycpOworfSwgJ1N1YnJlc291cmNlIGJ1
aWx0IGZyb20gZm9ybS1kYXRhJyk7CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBpd2lu
KSA9PiB7CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3R5cGU9c2VhcmNo
LXBhcmFtcycpOworICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlc3BvbnNlLnRleHQoKSwgJ3Jlc3Vs
dD1QQVNTJyk7Cit9LCAnU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBzZWFyY2gtcGFyYW1zJyk7CisK
Ky8vIEFzIGFib3ZlLCBidXQgbmF2aWdhdGlvbnMKKworaWZyYW1lVGVzdChTQ09QRSArICc/dHlw
ZT1zdHJpbmcnLCAodCwgaXdpbikgPT4geworICBhc3NlcnRfZXF1YWxzKGl3aW4uZG9jdW1lbnQu
Ym9keS50ZXh0Q29udGVudCwgJ1BBU1MnKTsKK30sICdOYXZpZ2F0aW9uIHJlc291cmNlIGJ1aWx0
IGZyb20gYSBzdHJpbmcnKTsKKworaWZyYW1lVGVzdChTQ09QRSArICc/dHlwZT1ibG9iJywgKHQs
IGl3aW4pID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsICdQQVNTJyk7Cit9LCAnTmF2aWdhdGlvbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgYmxvYicp
OworCitpZnJhbWVUZXN0KFNDT1BFICsgJz90eXBlPWJ1ZmZlcicsICh0LCBpd2luKSA9PiB7Cisg
IGFzc2VydF9lcXVhbHMoaXdpbi5kb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAnUEFTUycpOwor
fSwgJ05hdmlnYXRpb24gcmVzb3VyY2UgYnVpbHQgZnJvbSBhIGJ1ZmZlcicpOworCitpZnJhbWVU
ZXN0KFNDT1BFICsgJz90eXBlPWJ1ZmZlci12aWV3JywgKHQsIGl3aW4pID0+IHsKKyAgYXNzZXJ0
X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQQVNTJyk7Cit9LCAnTmF2
aWdhdGlvbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgYnVmZmVyLXZpZXcnKTsKKworLy8gTm90ZTog
bm90IHRlc3RpbmcgZm9ybSBkYXRhIGZvciBhIG5hdmlnYXRpb24gYXMgdGhlIGJvdW5kYXJ5IGhl
YWRlciBpcyBsb3N0LgorCitpZnJhbWVUZXN0KFNDT1BFICsgJz90eXBlPXNlYXJjaC1wYXJhbXMn
LCAodCwgaXdpbikgPT4geworICBhc3NlcnRfZXF1YWxzKGl3aW4uZG9jdW1lbnQuYm9keS50ZXh0
Q29udGVudCwgJ3Jlc3VsdD1QQVNTJyk7Cit9LCAnTmF2aWdhdGlvbiByZXNvdXJjZSBidWlsdCBm
cm9tIHNlYXJjaC1wYXJhbXMnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVh
ZGFibGUtc3RyZWFtLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwODIxMWYxZTVhYjJkNjY3ZjY2
M2ZhMDRhM2ViMDdiYjdhMDBmMzdkLi5iYTc0NTk2NmZkZjBhZDE4OGFhNTFkMGVlZjAyZjc2OWEx
OWVmZTFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25k
LXdpdGgtcmVhZGFibGUtc3RyZWFtLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUtc3RyZWFtLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDggQEAKIAotUEFTUyBSZXNwb25kIHdpdGggYSBSZXNwb25z
ZSBidWlsdCBmcm9tIGEgUmVhZGFibGVTdHJlYW0gCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZy
b20gYSBSZWFkYWJsZVN0cmVhbSAKK1BBU1MgTWFpbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgUmVh
ZGFibGVTdHJlYW0gCitQQVNTIFN1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0cmVh
bSAtIGRlbGF5ZWQgCitQQVNTIE1haW4gcmVzb3VyY2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3Ry
ZWFtIC0gZGVsYXllZCAKK1BBU1MgU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3Ry
ZWFtIC0gZmV0Y2ggc3RyZWFtIAorUEFTUyBNYWluIHJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFk
YWJsZVN0cmVhbSAtIGZldGNoIHN0cmVhbSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVh
bS5odHRwcy5odG1sCmluZGV4IDA1YWZiNmJjMGZlMTFlOWViY2Y2YzQ2NGMxN2VhMTA4OWYwZGM4
NDYuLjc1NTQ1YWRiYzE5NWU4YWY4M2E4NjM0ZDc2MjZiMTEyZDAxY2YwMDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJl
YW0uaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25k
LXdpdGgtcmVhZGFibGUtc3RyZWFtLmh0dHBzLmh0bWwKQEAgLTEwLDIyICsxMCw0NSBAQAogY29u
c3QgV09SS0VSID0KICAgJ3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFi
bGUtc3RyZWFtLXdvcmtlci5qcyc7CiBjb25zdCBTQ09QRSA9Ci0gICdyZXNvdXJjZXMvZmV0Y2gt
ZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS1pZnJhbWUuaHRtbCc7Ci0vLyBDYWxs
ZWQgYnkgdGhlIGlmcmFtZSB3aGVuIGRvbmUuCi12YXIgZG9uZTsKLXZhciBkb25lX3dhc19jYWxs
ZWQgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGRvbmUgPSByZXNvbHZlKTsKLQotcHJvbWlzZV90
ZXN0KHQgPT4gewotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCBXT1JLRVIsIFNDT1BFKQotICAgICAgLnRoZW4ocmVnID0+IHsKLSAgICAgICAgICAg
YWRkX2NvbXBsZXRpb25fY2FsbGJhY2soKCkgPT4gcmVnLnVucmVnaXN0ZXIoKSk7Ci0gICAgICAg
ICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcp
OwotICAgICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+IHdpdGhfaWZyYW1lKFNDT1BFKSkKLSAg
ICAgIC50aGVuKGlmcmFtZSA9PiB7Ci0gICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBpZnJh
bWUucmVtb3ZlKCkpCi0gICAgICAgIH0pCi0gICAgICAudGhlbigoKSA9PiBkb25lX3dhc19jYWxs
ZWQpCi0gICAgICAudGhlbihyZXN1bHQgPT4gYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdQQVNTJykp
OwotICB9LCAnUmVzcG9uZCB3aXRoIGEgUmVzcG9uc2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3Ry
ZWFtJyk7CisgICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7CisKKy8vIFJlZ2lzdGVyIGEgc2Vydmlj
ZSB3b3JrZXIsIHRoZW4gY3JlYXRlIGFuIGlmcmFtZSBhdCB1cmwuCitmdW5jdGlvbiBpZnJhbWVU
ZXN0KHVybCwgY2FsbGJhY2ssIG5hbWUpIHsKKyAgcmV0dXJuIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBjb25zdCByZWcgPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2Fu
ZF9yZWdpc3Rlcih0LCBXT1JLRVIsIFNDT1BFKTsKKyAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFj
aygoKSA9PiByZWcudW5yZWdpc3RlcigpKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCBy
ZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworICAgIGNvbnN0IGlmcmFtZSA9IGF3YWl0IHdp
dGhfaWZyYW1lKHVybCk7CisgICAgY29uc3QgaXdpbiA9IGlmcmFtZS5jb250ZW50V2luZG93Owor
ICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gaWZyYW1lLnJlbW92ZSgpKTsKKyAgICBhd2FpdCBjYWxs
YmFjayh0LCBpd2luKTsKKyAgfSwgbmFtZSk7Cit9CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5j
ICh0LCBpd2luKSA9PiB7CisgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3N0
cmVhbScpOworICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlc3BvbnNlLnRleHQoKSwgJ1BBU1MnKTsK
K30sICdTdWJyZXNvdXJjZSBidWlsdCBmcm9tIGEgUmVhZGFibGVTdHJlYW0nKTsKKworaWZyYW1l
VGVzdChTQ09QRSArICc/c3RyZWFtJywgKHQsIGl3aW4pID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhp
d2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQQVNTJyk7Cit9LCAnTWFpbiByZXNvdXJj
ZSBidWlsdCBmcm9tIGEgUmVhZGFibGVTdHJlYW0nKTsKKworaWZyYW1lVGVzdChTQ09QRSwgYXN5
bmMgKHQsIGl3aW4pID0+IHsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpd2luLmZldGNoKCc/
c3RyZWFtJmRlbGF5Jyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAn
UEFTUycpOworfSwgJ1N1YnJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0cmVhbSAtIGRl
bGF5ZWQnKTsKKworaWZyYW1lVGVzdChTQ09QRSArICc/c3RyZWFtJmRlbGF5JywgKHQsIGl3aW4p
ID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsICdQ
QVNTJyk7Cit9LCAnTWFpbiByZXNvdXJjZSBidWlsdCBmcm9tIGEgUmVhZGFibGVTdHJlYW0gLSBk
ZWxheWVkJyk7CisKK2lmcmFtZVRlc3QoU0NPUEUsIGFzeW5jICh0LCBpd2luKSA9PiB7CisgIGNv
bnN0IHJlc3BvbnNlID0gYXdhaXQgaXdpbi5mZXRjaCgnP3N0cmVhbSZ1c2UtZmV0Y2gtc3RyZWFt
Jyk7CisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVzcG9uc2UudGV4dCgpLCAnUEFTU1xuJyk7Cit9
LCAnU3VicmVzb3VyY2UgYnVpbHQgZnJvbSBhIFJlYWRhYmxlU3RyZWFtIC0gZmV0Y2ggc3RyZWFt
Jyk7CisKK2lmcmFtZVRlc3QoU0NPUEUgKyAnP3N0cmVhbSZ1c2UtZmV0Y2gtc3RyZWFtJywgKHQs
IGl3aW4pID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhpd2luLmRvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsICdQQVNTXG4nKTsKK30sICdNYWluIHJlc291cmNlIGJ1aWx0IGZyb20gYSBSZWFkYWJsZVN0
cmVhbSAtIGZldGNoIHN0cmVhbScpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZGU0MTczMDA0NTIyMDI2YjVk
ZmI0Mjg2NDM2NzU1ZTBmZjVkMTQ3OC4uMDg3OTkwYmY4ZDRlODlkNTg1YWViODFhZGNmNmE3NmJh
ZWQ2NjEyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSwyMSArMSwzOCBAQAogCi0KK1BBU1MgZ2xvYmFsIHNldHVwIAogUEFT
UyBTZXJ2aWNlIFdvcmtlciBoZWFkZXJzIGluIHRoZSByZXF1ZXN0IG9mIGEgZmV0Y2ggZXZlbnQg
CiBQQVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggc3RyaW5n
IAorUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB1c2luZyByZXF1
ZXN0IGZyYWdtZW50IHdpdGggc3RyaW5nIAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0
byBmZXRjaCBldmVudCB3aXRoIGJsb2IgYm9keSAKIFBBU1MgU2VydmljZSBXb3JrZXIgcmVzcG9u
ZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgcmVmZXJyZXIgVVJMIAogUEFTUyBTZXJ2aWNlIFdv
cmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIGFuIGV4aXN0aW5nIGNsaWVudCBpZCAK
K0ZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29y
cmVjdCByZXN1bHRpbmcgY2xpZW50IGlkIGFzc2VydF9lcXVhbHM6IFNlcnZpY2UgV29ya2VyIHNo
b3VsZCByZXNwb25kIHdpdGggYW4gZW1wdHkgcmVzdWx0aW5nIGNsaWVudCBpZCBmb3Igc3VicmVz
b3VyY2UgcmVxdWVzdHMgZXhwZWN0ZWQgIlJlc3VsdGluZyBDbGllbnQgSUQgTm90IEZvdW5kIiBi
dXQgZ290ICJSZXN1bHRpbmcgQ2xpZW50IElEIEZvdW5kOiB1bmRlZmluZWQiCiBQQVNTIFNlcnZp
Y2UgV29ya2VyIGRvZXMgbm90IHJlc3BvbmQgdG8gZmV0Y2ggZXZlbnQgCiBQQVNTIFNlcnZpY2Ug
V29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggbnVsbCByZXNwb25zZSBib2R5IAog
UEFTUyBTZXJ2aWNlIFdvcmtlciBmZXRjaGVzIG90aGVyIGZpbGUgaW4gZmV0Y2ggZXZlbnQgCiBQ
QVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggUE9TVCBmb3Jt
IAorUEFTUyBTZXJ2aWNlIFdvcmtlciBmYWxscyBiYWNrIHRvIG5ldHdvcmsgaW4gZmV0Y2ggZXZl
bnQgd2l0aCBQT1NUIGZvcm0gCiBQQVNTIE11bHRpcGxlIGNhbGxzIG9mIHJlc3BvbmRXaXRoIG11
c3QgdGhyb3cgSW52YWxpZFN0YXRlRXJyb3JzIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBldmVudC5y
ZXNwb25kV2l0aCBtdXN0IHNldCB0aGUgdXNlZCBmbGFnIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBz
aG91bGQgZXhwb3NlIEZldGNoRXZlbnQgVVJMIGZyYWdtZW50cy4gCi1GQUlMIFNlcnZpY2UgV29y
a2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhlIGNvcnJlY3QgY2FjaGUgdHlwZXMg
YXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJuby1jYWNoZSIgYnV0IGdvdCAiZGVmYXVsdCIgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitGQUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhl
IGNvcnJlY3QgY2FjaGUgdHlwZXMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm5vLWNhY2hlIiBi
dXQgZ290ICJkZWZhdWx0IgogUEFTUyBTZXJ2aWNlIFdvcmtlciBzaG91bGQgaW50ZXJjZXB0IEV2
ZW50U291cmNlIAogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3
aXRoIHRoZSBjb3JyZWN0IGludGVncml0eV9tZXRhZGF0YSAKIFBBU1MgRmV0Y2hFdmVudCNib2R5
IGlzIGEgc3RyaW5nIAorUEFTUyBGZXRjaEV2ZW50I2JvZHkgaXMgYSBzdHJpbmcgYW5kIGlzIHBh
c3NlZCB0byBuZXR3b3JrIGZhbGxiYWNrIAogUEFTUyBGZXRjaEV2ZW50I2JvZHkgaXMgYSBibG9i
IAorUEFTUyBGZXRjaEV2ZW50I2JvZHkgaXMgYSBibG9iIGFuZCBpcyBwYXNzZWQgdG8gbmV0d29y
ayBmYWxsYmFjayAKIFBBU1MgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQg
d2l0aCB0aGUgY29ycmVjdCBrZWVwYWxpdmUgdmFsdWUgCitGQUlMIEZldGNoRXZlbnQjcmVxdWVz
dC5pc1JlbG9hZE5hdmlnYXRpb24gaXMgdHJ1ZSAobG9jYXRpb24ucmVsb2FkKCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNl
IiBidXQgZ290ICJtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHVuZGVmaW5lZCIK
K0ZBSUwgRmV0Y2hFdmVudCNyZXF1ZXN0LmlzUmVsb2FkTmF2aWdhdGlvbiBpcyB0cnVlIChoaXN0
b3J5LmdvKDApKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibWV0aG9kID0gR0VULCBpc1JlbG9h
ZE5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAibWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmln
YXRpb24gPSB1bmRlZmluZWQiCitGQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5pc1JlbG9hZE5hdmln
YXRpb24gaXMgdHJ1ZSAoUE9TVCArIGxvY2F0aW9uLnJlbG9hZCgpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAibWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdv
dCAibWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSB1bmRlZmluZWQiCitGQUlMIEZl
dGNoRXZlbnQjcmVxdWVzdC5pc1JlbG9hZE5hdmlnYXRpb24gaXMgdHJ1ZSAod2l0aCBoaXN0b3J5
IHRyYXZlcnNhbCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm1ldGhvZCA9IEdFVCwgaXNSZWxv
YWROYXZpZ2F0aW9uID0gZmFsc2UiIGJ1dCBnb3QgIm1ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZp
Z2F0aW9uID0gdW5kZWZpbmVkIgorRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2
aWdhdGlvbiBpcyB0cnVlICh3aXRoIGhpc3RvcnkuZ28oLTEpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAibWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gZmFsc2UiIGJ1dCBnb3Qg
Im1ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IHVuZGVmaW5lZCIKK0ZBSUwgRmV0
Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24gaXMgdHJ1ZSAod2l0aCBoaXN0b3J5
LmdvKDEpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibWV0aG9kID0gR0VULCBpc0hpc3RvcnlO
YXZpZ2F0aW9uID0gZmFsc2UiIGJ1dCBnb3QgIm1ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdh
dGlvbiA9IHVuZGVmaW5lZCIKK0ZBSUwgRmV0Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmln
YXRpb24gaXMgZmFsc2UgKHdpdGggaGlzdG9yeS5nbygwKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIm1ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IGZhbHNlIiBidXQgZ290ICJt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB1bmRlZmluZWQiCitGQUlMIEZldGNo
RXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9uIGlzIGZhbHNlICh3aXRoIGxvY2F0aW9u
LnJlbG9hZCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIm1ldGhvZCA9IEdFVCwgaXNIaXN0b3J5
TmF2aWdhdGlvbiA9IGZhbHNlIiBidXQgZ290ICJtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmln
YXRpb24gPSB1bmRlZmluZWQiCitGQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZp
Z2F0aW9uIGlzIHRydWUgKHdpdGggaGlzdG9yeS5nbygtMikpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAi
bWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gdW5kZWZpbmVkIgorRkFJTCBGZXRj
aEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdhdGlvbiBpcyB0cnVlICh3aXRoIGhpc3Rvcnku
Z28oMikpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5h
dmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAibWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0
aW9uID0gdW5kZWZpbmVkIgorRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdh
dGlvbiBpcyB0cnVlIChQT1NUICsgaGlzdG9yeS5nbygtMSkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZSIgYnV0IGdvdCAi
bWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gdW5kZWZpbmVkIgorUEFTUyByZXN0
b3JlIGdsb2JhbCBzdGF0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
ZXZlbnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLmh0
bWwKaW5kZXggMjQwMjE5YjA4MmRjN2YxY2ExYThhZmZhMzhjMDA2YTExZThiNGY0Yi4uMTY5YTBi
MTdkNjIzMDMzNWZiMGM4Mzk4ODAzOTg3NWM4MTVkOTllMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1ldmVudC5odHRwcy5odG1sCkBAIC0xLDQgKzEsNSBAQAogPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBuYW1lPXRpbWVvdXQgY29udGVudD1sb25nPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgpAQCAtNiwxNiArNywyNSBAQAogPGJvZHk+CiA8c2NyaXB0
PgogdmFyIHdvcmtlciA9ICdyZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMnOwor
ZnVuY3Rpb24gd2FpdChtcykgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHN0
ZXBfdGltZW91dChyZXNvbHZlLCBtcykpOworfQogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsK
LSAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aGVhZGVycyc7Ci0gICAg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkK
LSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9z
dGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAg
LnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCitwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzLyc7CisgICAg
Y29uc3QgcmVnaXN0cmF0aW9uID0KKyAgICAgICAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSk7CisgICAgYXdhaXQgd2FpdF9mb3Jf
c3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICBwcm9t
aXNlX3Rlc3QodCA9PiB7CisgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3Rlcigp
OworICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7CisgIH0sICdnbG9iYWwgc2V0dXAn
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNl
cy9zaW1wbGUuaHRtbD9oZWFkZXJzJzsKKyAgICByZXR1cm4gd2l0aF9pZnJhbWUocGFnZV91cmwp
CiAgICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIHQuYWRkX2NsZWFudXAo
ZnVuY3Rpb24oKSB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVw
KCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAgICAgICAgIGNvbnN0IGhlYWRlcnMgPSBK
U09OLnBhcnNlKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50KTsKICAgICAg
ICAgICBjb25zdCBoZWFkZXJfbmFtZXMgPSB7fTsKICAgICAgICAgICBmb3IgKGNvbnN0IFtuYW1l
LCB2YWx1ZV0gb2YgaGVhZGVycykgewpAQCAtMjYsMjAgKzM2LDE0IEBAIGFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewogICAgICAgICAgICAgaGVhZGVyX25hbWVzLmhhc093blByb3BlcnR5KCdhY2Nl
cHQnKSwKICAgICAgICAgICAgICdyZXF1ZXN0IGluY2x1ZGVzICJBY2NlcHQiIGhlYWRlciBhcyBp
bnNlcnRlZCBieSBGZXRjaCcKICAgICAgICAgICApOwotCi0gICAgICAgICAgcmV0dXJuIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAg
ICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1Nl
cnZpY2UgV29ya2VyIGhlYWRlcnMgaW4gdGhlIHJlcXVlc3Qgb2YgYSBmZXRjaCBldmVudCcpOwog
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Np
bXBsZS5odG1sP3N0cmluZyc7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZykgewotICAg
ICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRl
ZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lm
cmFtZShzY29wZSk7IH0pCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwg
PSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP3N0cmluZyc7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1l
KHBhZ2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKKyAgICAgICAgICB0LmFk
ZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOwogICAgICAgICAgIGFzc2VydF9l
cXVhbHMoCiAgICAgICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVu
dCwKICAgICAgICAgICAgICdUZXN0IHN0cmluZycsCkBAIC01Miw1OCArNTYsNTggQEAgYXN5bmNf
dGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICBmcmFtZS5jb250ZW50RG9jdW1lbnQuY2hh
cmFjdGVyU2V0LAogICAgICAgICAgICAgJ1VURi04JywKICAgICAgICAgICAgICdUaGUgY2hhcmFj
dGVyIHNldCBvZiB0aGUgcmVzcG9uc2UgY3JlYXRlZCB3aXRoIGEgc3RyaW5nIHNob3VsZCBiZSBV
VEYtOCcpOwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAg
ICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdT
ZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHN0cmluZycpOwogCi1h
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBs
ZS5odG1sP2Jsb2InOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVy
KHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAg
ICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsK
LSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUo
c2NvcGUpOyB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/c3RyaW5n
JzsKKyAgICB2YXIgZnJhbWU7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQorICAg
ICAgLnRoZW4oZnVuY3Rpb24oZikgeworICAgICAgICBmcmFtZSA9IGY7CisgICAgICAgIHQuYWRk
X2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgIHJldHVybiBmcmFt
ZS5jb250ZW50V2luZG93LmZldGNoKHBhZ2VfdXJsICsgIiNmb28iKQorICAgICAgfSkKKyAgICAg
IC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZS50ZXh0KCkgfSkKKyAg
ICAgIC50aGVuKGZ1bmN0aW9uKHRleHQpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAg
ICAgICAgICAgdGV4dCwKKyAgICAgICAgICAgICdUZXN0IHN0cmluZycsCisgICAgICAgICAgICAn
U2VydmljZSBXb3JrZXIgc2hvdWxkIHJlc3BvbmQgdG8gZmV0Y2ggd2l0aCBhIHRlc3Qgc3RyaW5n
Jyk7CisgICAgICAgIH0pOworICB9LCAnU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2gg
ZXZlbnQgdXNpbmcgcmVxdWVzdCBmcmFnbWVudCB3aXRoIHN0cmluZycpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Js
b2InOworICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVuKGZyYW1l
ID0+IHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0p
OwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoCiAgICAgICAgICAgICBmcmFtZS5jb250ZW50RG9j
dW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICdUZXN0IGJsb2InLAogICAgICAg
ICAgICAgJ1NlcnZpY2UgV29ya2VyIHNob3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggYSB0ZXN0
IHN0cmluZycpOwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkK
LSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0s
ICdTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIGJsb2IgYm9keScp
OwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2Vz
L3NpbXBsZS5odG1sP3JlZmVycmVyJzsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2Fu
ZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7
Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0
aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdp
dGhfaWZyYW1lKHNjb3BlKTsgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7Citwcm9t
aXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5o
dG1sP3JlZmVycmVyJzsKKyAgICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAg
IC50aGVuKGZyYW1lID0+IHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUu
cmVtb3ZlKCk7IH0pOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoCiAgICAgICAgICAgICBmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICdSZWZlcnJl
cjogJyArIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYsCiAgICAgICAgICAgICAnU2VydmljZSBXb3Jr
ZXIgc2hvdWxkIHJlc3BvbmQgdG8gZmV0Y2ggd2l0aCB0aGUgcmVmZXJyZXIgVVJMJyk7Ci0gICAg
ICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVu
cmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2Vy
IHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhlIHJlZmVycmVyIFVSTCcpOwogCi1hc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5o
dG1sP2NsaWVudElkJzsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9
ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/Y2xpZW50SWQnOwogICAgIHZhciBmcmFtZTsKLSAgICBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQot
ICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0
YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAu
dGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsgfSkKKyAgICByZXR1
cm4gd2l0aF9pZnJhbWUocGFnZV91cmwpCiAgICAgICAudGhlbihmdW5jdGlvbihmKSB7CiAgICAg
ICAgICAgZnJhbWUgPSBmOworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5y
ZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIGZyYW1l
LmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAgICAgICAgJ0NsaWVudCBJ
RCBOb3QgRm91bmQnLApAQCAtMTEyLDE0NyArMTE2LDE0NyBAQCBhc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKSB7IHJldHVy
biByZXNwb25zZS50ZXh0KCk7IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihyZXNwb25zZV90ZXh0
KSB7Ci0gICAgICAgICAgdmFyIG5ld19jbGllbnRfaWQgPSByZXNwb25zZV90ZXh0LnN1YnN0cigx
Nyk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQu
c3Vic3RyKDAsIDE1KSwKICAgICAgICAgICAgICdDbGllbnQgSUQgRm91bmQnLAogICAgICAgICAg
ICAgJ1NlcnZpY2UgV29ya2VyIHNob3VsZCByZXNwb25kIHRvIGZldGNoIHdpdGggYW4gZXhpc3Rp
bmcgY2xpZW50IGlkJyk7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0
dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAg
ICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsK
ICAgfSwgJ1NlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggYW4gZXhp
c3RpbmcgY2xpZW50IGlkJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBz
Y29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJzsKLSAgICBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAgLnRoZW4o
ZnVuY3Rpb24ocmVnKSB7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5p
bnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Citwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3Qg
cGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP3Jlc3VsdGluZ0NsaWVudElkJzsKKyAg
ICBjb25zdCBleHBlY3RlZF9mb3VuZCA9ICdSZXN1bHRpbmcgQ2xpZW50IElEIEZvdW5kJzsKKyAg
ICBjb25zdCBleHBlY3RlZF9ub3RfZm91bmQgPSAnUmVzdWx0aW5nIENsaWVudCBJRCBOb3QgRm91
bmQnOworICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVuKGZ1bmN0
aW9uKGZyYW1lKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92
ZSgpOyB9KTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgICAgZnJhbWUuY29u
dGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQuc3Vic3RyKDAsIGV4cGVjdGVkX2ZvdW5kLmxl
bmd0aCksCisgICAgICAgICAgICBleHBlY3RlZF9mb3VuZCwKKyAgICAgICAgICAgICdTZXJ2aWNl
IFdvcmtlciBzaG91bGQgcmVzcG9uZCB3aXRoIGFuIGV4aXN0aW5nIHJlc3VsdGluZyBjbGllbnQg
aWQgZm9yIG5vbi1zdWJyZXNvdXJjZSByZXF1ZXN0cycpOworICAgICAgICAgIHJldHVybiBmcmFt
ZS5jb250ZW50V2luZG93LmZldGNoKCdyZXNvdXJjZXMvb3RoZXIuaHRtbD9yZXN1bHRpbmdDbGll
bnRJZCcpOwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRo
X2lmcmFtZShzY29wZSk7IH0pCisgICAgICAudGhlbihmdW5jdGlvbihyZXNwb25zZSkgeyByZXR1
cm4gcmVzcG9uc2UudGV4dCgpOyB9KQorICAgICAgLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2VfdGV4
dCkgeworICAgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICByZXNwb25zZV90ZXh0
LnN1YnN0cigwKSwKKyAgICAgICAgICAgIGV4cGVjdGVkX25vdF9mb3VuZCwKKyAgICAgICAgICAg
ICdTZXJ2aWNlIFdvcmtlciBzaG91bGQgcmVzcG9uZCB3aXRoIGFuIGVtcHR5IHJlc3VsdGluZyBj
bGllbnQgaWQgZm9yIHN1YnJlc291cmNlIHJlcXVlc3RzJyk7CisgICAgICAgIH0pOworICB9LCAn
U2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCBy
ZXN1bHRpbmcgY2xpZW50IGlkJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBw
YWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJzsKKyAgICByZXR1cm4gd2l0
aF9pZnJhbWUocGFnZV91cmwpCiAgICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgICAg
ICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICdIZXJlXCdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbicsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAnUmVzcG9uc2Ugc2hvdWxkIGNvbWUgZnJvbSBmYWxsYmFj
ayB0byBuYXRpdmUgZmV0Y2gnKTsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0g
ICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAg
IH0pOwogICB9LCAnU2VydmljZSBXb3JrZXIgZG9lcyBub3QgcmVzcG9uZCB0byBmZXRjaCBldmVu
dCcpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3Vy
Y2VzL3NpbXBsZS5odG1sP251bGwnOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsK
LSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3Rp
dmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0
aF9pZnJhbWUoc2NvcGUpOyB9KQorcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGNvbnN0IHBhZ2Vf
dXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9udWxsJzsKKyAgICByZXR1cm4gd2l0aF9pZnJh
bWUocGFnZV91cmwpCiAgICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgICAgICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlIHNo
b3VsZCBiZSB0aGUgZW1wdHkgc3RyaW5nJyk7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0g
ICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2Nv
cGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50
IHdpdGggbnVsbCByZXNwb25zZSBib2R5Jyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewot
ICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/ZmV0Y2gnOwotICAgIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAg
ICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUo
dCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVu
KGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQorcHJvbWlzZV90ZXN0
KHQgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9mZXRj
aCc7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rp
b24oZnJhbWUpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3Zl
KCk7IH0pOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJv
ZHkudGV4dENvbnRlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAnSGVyZVwncyBhbiBvdGhl
ciBodG1sIGZpbGUuXG4nLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1Jlc3BvbnNlIHNob3Vs
ZCBjb21lIGZyb20gZmV0Y2hlZCBvdGhlciBmaWxlJyk7Ci0gICAgICAgICAgZnJhbWUucmVtb3Zl
KCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUo
dCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIGZldGNoZXMgb3RoZXIgZmls
ZSBpbiBmZXRjaCBldmVudCcpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIg
c2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Zvcm0tcG9zdCc7Ci0gICAgdmFyIGZyYW1l
X25hbWUgPSAneGhyLXBvc3QtZnJhbWUnOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcp
IHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHN3KSB7Ci0gICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAg
dmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0gICAgICAgICAg
ICBmcmFtZS5uYW1lID0gZnJhbWVfbmFtZTsKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZnJhbWUpOwotICAgICAgICAgICAgdmFyIGZvcm0gPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdmb3JtJyk7Ci0gICAgICAgICAgICBmb3JtLnRhcmdldCA9IGZyYW1lX25hbWU7Ci0g
ICAgICAgICAgICBmb3JtLmFjdGlvbiA9IHNjb3BlOwotICAgICAgICAgICAgZm9ybS5tZXRob2Qg
PSAncG9zdCc7Ci0gICAgICAgICAgICB2YXIgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKTsKLSAgICAgICAgICAgIGlucHV0MS50eXBlID0gJ3RleHQnOwotICAgICAgICAg
ICAgaW5wdXQxLnZhbHVlID0gJ3Rlc3RWYWx1ZTEnOwotICAgICAgICAgICAgaW5wdXQxLm5hbWUg
PSAndGVzdE5hbWUxJwotICAgICAgICAgICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dDEpOwotICAg
ICAgICAgICAgdmFyIGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7Ci0g
ICAgICAgICAgICBpbnB1dDIudHlwZSA9ICd0ZXh0JzsKLSAgICAgICAgICAgIGlucHV0Mi52YWx1
ZSA9ICd0ZXN0VmFsdWUyJzsKLSAgICAgICAgICAgIGlucHV0Mi5uYW1lID0gJ3Rlc3ROYW1lMicK
LSAgICAgICAgICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQyKTsKLSAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7Ci0gICAgICAgICAgICBmcmFtZS5vbmxvYWQgPSBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3Jt
KTsKLSAgICAgICAgICAgICAgcmVzb2x2ZShmcmFtZSk7Ci0gICAgICAgICAgICB9OwotICAgICAg
ICAgICAgZm9ybS5zdWJtaXQoKTsKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSkKLSAgICAgIC50
aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CisvLyBDcmVhdGVzIGEgZm9ybSBhbmQgYW4gaWZyYW1lIGFu
ZCBkb2VzIGEgZm9ybSBzdWJtaXNzaW9uIHRoYXQgbmF2aWdhdGVzIHRoZQorLy8gZnJhbWUgdG8g
fGFjdGlvbl91cmx8LiBSZXR1cm5zIHRoZSBmcmFtZSBhZnRlciBuYXZpZ2F0aW9uLgorZnVuY3Rp
b24gc3VibWl0X2Zvcm0oYWN0aW9uX3VybCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFt
ZScpOworICAgICAgZnJhbWUubmFtZSA9ICdwb3N0LWZyYW1lJzsKKyAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgICAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2Zvcm0nKTsKKyAgICAgIGZvcm0udGFyZ2V0ID0gZnJhbWUubmFtZTsKKyAgICAg
IGZvcm0uYWN0aW9uID0gYWN0aW9uX3VybDsKKyAgICAgIGZvcm0ubWV0aG9kID0gJ3Bvc3QnOwor
ICAgICAgY29uc3QgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKKyAg
ICAgIGlucHV0MS50eXBlID0gJ3RleHQnOworICAgICAgaW5wdXQxLnZhbHVlID0gJ3Rlc3RWYWx1
ZTEnOworICAgICAgaW5wdXQxLm5hbWUgPSAndGVzdE5hbWUxJworICAgICAgZm9ybS5hcHBlbmRD
aGlsZChpbnB1dDEpOworICAgICAgY29uc3QgaW5wdXQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaW5wdXQnKTsKKyAgICAgIGlucHV0Mi50eXBlID0gJ3RleHQnOworICAgICAgaW5wdXQyLnZh
bHVlID0gJ3Rlc3RWYWx1ZTInOworICAgICAgaW5wdXQyLm5hbWUgPSAndGVzdE5hbWUyJworICAg
ICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dDIpOworICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChmb3JtKTsKKyAgICAgIGZyYW1lLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICBm
b3JtLnJlbW92ZSgpOworICAgICAgICByZXNvbHZlKGZyYW1lKTsKKyAgICAgIH07CisgICAgICBm
b3JtLnN1Ym1pdCgpOworICAgIH0pOworfQorCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29u
c3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2Zvcm0tcG9zdCc7CisgICAgcmV0
dXJuIHN1Ym1pdF9mb3JtKHBhZ2VfdXJsKQorICAgICAgLnRoZW4oZnJhbWUgPT4geworICAgICAg
ICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICdQT1NUOmFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5j
b2RlZDonICsKICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0TmFtZTE9dGVzdFZhbHVlMSZ0
ZXN0TmFtZTI9dGVzdFZhbHVlMicpOwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAg
ICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsK
LSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAg
ICAgfSk7CiAgIH0sICdTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRo
IFBPU1QgZm9ybScpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUg
PSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP211bHRpcGxlLXJlc3BvbmQtd2l0aCc7Ci0gICAgc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAg
ICAgIC50aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0
ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCi0gICAgICAudGhl
bihmdW5jdGlvbihmcmFtZSkgeworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIC8vIEFkZCAnP2ln
bm9yZScgc28gdGhlIHNlcnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sgdG8gbmV0d29yay4KKyAgICBj
b25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvZWNoby1jb250ZW50LnB5P2lnbm9yZSc7CisgICAg
cmV0dXJuIHN1Ym1pdF9mb3JtKHBhZ2VfdXJsKQorICAgICAgLnRoZW4oZnJhbWUgPT4geworICAg
ICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0TmFtZTE9dGVzdFZhbHVlMSZ0ZXN0TmFtZTI9
dGVzdFZhbHVlMicpOworICAgICAgICB9KTsKKyAgfSwgJ1NlcnZpY2UgV29ya2VyIGZhbGxzIGJh
Y2sgdG8gbmV0d29yayBpbiBmZXRjaCBldmVudCB3aXRoIFBPU1QgZm9ybScpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1s
P211bHRpcGxlLXJlc3BvbmQtd2l0aCc7CisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJs
KQorICAgICAgLnRoZW4oZnJhbWUgPT4geworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4g
eyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAg
ICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAgICAgICAg
JygwKSgxKVtJbnZhbGlkU3RhdGVFcnJvcl0oMilbSW52YWxpZFN0YXRlRXJyb3JdJywKICAgICAg
ICAgICAgICdNdWx0aXBsZSBjYWxscyBvZiByZXNwb25kV2l0aCBtdXN0IHRocm93IEludmFsaWRT
dGF0ZUVycm9ycy4nKTsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAg
IH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwog
ICB9LCAnTXVsdGlwbGUgY2FsbHMgb2YgcmVzcG9uZFdpdGggbXVzdCB0aHJvdyBJbnZhbGlkU3Rh
dGVFcnJvcnMnKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdmFyIHNjb3BlID0g
J3Jlc291cmNlcy9zaW1wbGUuaHRtbD91c2VkLWNoZWNrJzsKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/dXNlZC1jaGVjayc7
CiAgICAgdmFyIGZpcnN0X2ZyYW1lOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsK
LSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3Rp
dmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0
aF9pZnJhbWUoc2NvcGUpOyB9KQorICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKICAg
ICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICdIZXJlXCdzIGFuIG90aGVyIGh0bWwgZmlsZS5cbicsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAnUmVzcG9uc2Ugc2hvdWxkIGNvbWUgZnJvbSBmZXRjaGVkIG90aGVyIGZpbGUnKTsKICAg
ICAgICAgICBmaXJzdF9mcmFtZSA9IGZyYW1lOwotICAgICAgICAgIHJldHVybiB3aXRoX2lmcmFt
ZShzY29wZSk7CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZpcnN0X2ZyYW1lLnJl
bW92ZSgpOyB9KTsKKyAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUocGFnZV91cmwpOwogICAg
ICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICAvLyBXaGVu
IHdlIGFjY2VzcyB0byB0aGUgc2NvcGUgaW4gdGhlIHNlY29uZCB0aW1lLCB0aGUgY29udGVudCBv
ZiB0aGUKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0p
OworICAgICAgICAgIC8vIFdoZW4gd2UgYWNjZXNzIHRvIHRoZSBwYWdlX3VybCBpbiB0aGUgc2Vj
b25kIHRpbWUsIHRoZSBjb250ZW50IG9mIHRoZQogICAgICAgICAgIC8vIHJlc3BvbnNlIGlzIGdl
bmVyYXRlZCBpbnNpZGUgdGhlIFNlcnZpY2VXb3JrZXIuIFRoZSBib2R5IGNvbnRhaW5zCiAgICAg
ICAgICAgLy8gdGhlIHZhbHVlIG9mIGJvZHlVc2VkIG9mIHRoZSBmaXJzdCByZXNwb25zZSB3aGlj
aCBpcyBhbHJlYWR5CiAgICAgICAgICAgLy8gY29uc3VtZWQgYnkgRmV0Y2hFdmVudC5yZXNwb25k
V2l0aCBtZXRob2QuCkBAIC0yNjAsNDYgKzI2NCwzMyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKICAgICAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAog
ICAgICAgICAgICAgJ2JvZHlVc2VkOiB0cnVlJywKICAgICAgICAgICAgICdldmVudC5yZXNwb25k
V2l0aCBtdXN0IHNldCB0aGUgdXNlZCBmbGFnLicpOwotICAgICAgICAgIGZpcnN0X2ZyYW1lLnJl
bW92ZSgpOwotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAg
ICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdT
ZXJ2aWNlIFdvcmtlciBldmVudC5yZXNwb25kV2l0aCBtdXN0IHNldCB0aGUgdXNlZCBmbGFnJyk7
CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMv
c2ltcGxlLmh0bWw/ZnJhZ21lbnQtY2hlY2snOworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGNv
bnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9mcmFnbWVudC1jaGVjayc7CiAg
ICAgdmFyIGZyYWdtZW50ID0gJyMvc29tZS9mcmFnbWVudCc7CiAgICAgdmFyIGZpcnN0X2ZyYW1l
OwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwg
c2NvcGUpCi0gICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1cm4gd2Fp
dF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkK
LSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUgKyBmcmFn
bWVudCk7IH0pCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsICsgZnJhZ21lbnQpCiAg
ICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoKCkg
PT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAg
ICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAogICAgICAgICAg
ICAgJ0ZyYWdtZW50IEZvdW5kIDonICsgZnJhZ21lbnQsCiAgICAgICAgICAgICAnU2VydmljZSB3
b3JrZXIgc2hvdWxkIGV4cG9zZSBVUkwgZnJhZ21lbnRzIGluIHJlcXVlc3QuJyk7Ci0gICAgICAg
ICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVh
Y2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHNo
b3VsZCBleHBvc2UgRmV0Y2hFdmVudCBVUkwgZnJhZ21lbnRzLicpOwogCi1hc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2NhY2hl
JzsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMv
c2ltcGxlLmh0bWw/Y2FjaGUnOwogICAgIHZhciBmcmFtZTsKICAgICB2YXIgY2FjaGVUeXBlcyA9
IFsKICAgICAgIHVuZGVmaW5lZCwgJ2RlZmF1bHQnLCAnbm8tc3RvcmUnLCAncmVsb2FkJywgJ25v
LWNhY2hlJywgJ2ZvcmNlLWNhY2hlJywgJ29ubHktaWYtY2FjaGVkJwogICAgIF07Ci0gICAgc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAg
ICAgIC50aGVuKGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0
ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRo
ZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCisgICAgcmV0dXJu
IHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgewogICAgICAg
ICAgIGZyYW1lID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVt
b3ZlKCk7IH0pOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5k
b2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAnZGVmYXVsdCcpOwogICAgICAgICAgIHZhciB0ZXN0
cyA9IGNhY2hlVHlwZXMubWFwKGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgICAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKQEAgLTMwOSw3ICszMDAsNyBA
QCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgIC8vIHJlcXVpcmVz
IHRoZSBtb2RlIHRvIGJlIHNhbWUtb3JpZ2luLgogICAgICAgICAgICAgICAgICAgaW5pdC5tb2Rl
ID0gJ3NhbWUtb3JpZ2luJzsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0Y2goc2NvcGUgKyAnPScgKyB0eXBlLCBpbml0KQor
ICAgICAgICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKHBhZ2VfdXJs
ICsgJz0nICsgdHlwZSwgaW5pdCkKICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uKHJl
c3BvbnNlKSB7IHJldHVybiByZXNwb25zZS50ZXh0KCk7IH0pCiAgICAgICAgICAgICAgICAgICAu
dGhlbihmdW5jdGlvbihyZXNwb25zZV90ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFy
IGV4cGVjdGVkID0gKHR5cGUgPT09IHVuZGVmaW5lZCkgPyAnZGVmYXVsdCcgOiB0eXBlOwpAQCAt
MzM2LDIxICszMjcsMTYgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICB9
KTsKICAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAg
ICAgICAgICAgfSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAg
ICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5y
ZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnU2VydmljZSBXb3JrZXIg
cmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCBjYWNoZSB0eXBlcycpOwog
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Np
bXBsZS5odG1sP2V2ZW50c291cmNlJzsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBjb25zdCBw
YWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/ZXZlbnRzb3VyY2UnOwogICAgIHZhciBm
cmFtZTsKIAogICAgIGZ1bmN0aW9uIHRlc3RfZXZlbnRzb3VyY2Uob3B0cykgewogICAgICAgcmV0
dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICB2YXIg
ZXZlbnRTb3VyY2UgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5FdmVudFNvdXJjZShzY29wZSwg
b3B0cyk7CisgICAgICAgIHZhciBldmVudFNvdXJjZSA9IG5ldyBmcmFtZS5jb250ZW50V2luZG93
LkV2ZW50U291cmNlKHBhZ2VfdXJsLCBvcHRzKTsKICAgICAgICAgZXZlbnRTb3VyY2UuYWRkRXZl
bnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKG1zZykgewogICAgICAgICAgIGV2ZW50U291
cmNlLmNsb3NlKCk7CiAgICAgICAgICAgdHJ5IHsKQEAgLTM3NSw3MyArMzYxLDU0IEBAIGFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgfSk7CiAgICAgfQogCi0gICAgc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50aGVu
KGZ1bmN0aW9uKHJlZykgewotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcu
aW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCisgICAgcmV0dXJuIHdpdGhfaWZy
YW1lKHBhZ2VfdXJsKQogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgewogICAgICAgICAgIGZyYW1l
ID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0p
OwogICAgICAgICAgIHJldHVybiB0ZXN0X2V2ZW50c291cmNlKHsgd2l0aENyZWRlbnRpYWxzOiBm
YWxzZSB9KTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAg
IHJldHVybiB0ZXN0X2V2ZW50c291cmNlKHsgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pOwotICAg
ICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgZnJhbWUucmVtb3Zl
KCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUo
dCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpOworICAgICAgICB9KTsKICAgfSwgJ1NlcnZpY2UgV29ya2VyIHNob3VsZCBpbnRlcmNlcHQg
RXZlbnRTb3VyY2UnKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdmFyIHNjb3Bl
ID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9pbnRlZ3JpdHknOworcHJvbWlzZV90ZXN0KHQgPT4g
eworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9pbnRlZ3JpdHkn
OwogICAgIHZhciBmcmFtZTsKICAgICB2YXIgaW50ZWdyaXR5X21ldGFkYXRhID0gJ2dzMG5xcnU4
S2Jzckl0NVlUb1FxUzlmWWFvNEdRSlh0Y0lkNjEwZzdjQ1U9JzsKIAotICAgIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCi0gICAgICAudGhl
bihmdW5jdGlvbihyZWcpIHsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVn
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQorICAgIHJldHVybiB3aXRoX2lm
cmFtZShwYWdlX3VybCkKICAgICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKICAgICAgICAgICBmcmFt
ZSA9IGY7CisgICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9
KTsKICAgICAgICAgICAvLyBBIHJlcXVlc3QgaGFzIGFzc29jaWF0ZWQgaW50ZWdyaXR5IG1ldGFk
YXRhIChhIHN0cmluZykuCiAgICAgICAgICAgLy8gVW5sZXNzIHN0YXRlZCBvdGhlcndpc2UsIGl0
IGlzIHRoZSBlbXB0eSBzdHJpbmcuCiAgICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAg
ICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAnJyk7CiAKLSAgICAg
ICAgICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaChzY29wZSwgeydpbnRlZ3JpdHkn
OiBpbnRlZ3JpdHlfbWV0YWRhdGF9KTsKKyAgICAgICAgICByZXR1cm4gZnJhbWUuY29udGVudFdp
bmRvdy5mZXRjaChwYWdlX3VybCwgeydpbnRlZ3JpdHknOiBpbnRlZ3JpdHlfbWV0YWRhdGF9KTsK
ICAgICAgICAgfSkKICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICByZXR1cm4g
cmVzcG9uc2UudGV4dCgpOwogICAgICAgICB9KQogICAgICAgLnRoZW4ocmVzcG9uc2VfdGV4dCA9
PiB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZV90ZXh0LCBpbnRlZ3JpdHlfbWV0
YWRhdGEsICdpbnRlZ3JpdHknKTsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0g
ICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAg
IH0pOwogICB9LCAnU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0
aGUgY29ycmVjdCBpbnRlZ3JpdHlfbWV0YWRhdGEnKTsKIAogLy8gVGVzdCB0aGF0IHRoZSBzZXJ2
aWNlIHdvcmtlciBjYW4gcmVhZCBGZXRjaEV2ZW50I2JvZHkgd2hlbiBpdCBpcyBhIHN0cmluZy4K
IC8vIEl0IHJlc3BvbmRzIHdpdGggcmVxdWVzdCBib2R5IGl0IHJlYWQuCiBwcm9taXNlX3Rlc3Qo
dCA9PiB7Ci0gICAgLy8gU2V0IHNjb3BlIHRvICI/aWdub3JlIiBzbyB0aGUgc2VydmljZSB3b3Jr
ZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCisgICAgLy8gU2V0IHBhZ2VfdXJsIHRvICI/aWdub3Jl
IiBzbyB0aGUgc2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCiAgICAgLy8gZm9y
IHRoZSBtYWluIHJlc291cmNlIHJlcXVlc3QsIGFuZCBhZGQgYSBzdWZmaXggdG8gYXZvaWQgY29s
bGlkaW5nCiAgICAgLy8gd2l0aCBvdGhlciB0ZXN0cy4KLSAgICBjb25zdCBzY29wZSA9ICdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHktc3RyaW5nJzsKKyAgICBj
b25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0
LWJvZHktc3RyaW5nJzsKICAgICBsZXQgZnJhbWU7CiAKLSAgICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKLSAgICAgIC50aGVu
KHJlZyA9PiB7Ci0gICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soKCkgPT4geyByZWcu
dW5yZWdpc3RlcigpOyB9KTsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVn
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+
IHsKLSAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQorICAgIHJldHVybiB3
aXRoX2lmcmFtZShwYWdlX3VybCkKICAgICAgIC50aGVuKGYgPT4gewogICAgICAgICAgIGZyYW1l
ID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0p
OwogICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKCdzaW1wbGUuaHRt
bD9yZXF1ZXN0LWJvZHknLCB7CiAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAogICAgICAg
ICAgICAgICBib2R5OiAnaSBhbSB0aGUgcmVxdWVzdCBib2R5JwpAQCAtNDUxLDI5ICs0MTgsNTQg
QEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7
CiAgICAgICAgIH0pCiAgICAgICAudGhlbihyZXNwb25zZV90ZXh0ID0+IHsKLSAgICAgICAgICBm
cmFtZS5yZW1vdmUoKTsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlX3RleHQsICdp
IGFtIHRoZSByZXF1ZXN0IGJvZHknKTsKICAgICAgICAgfSk7CiAgIH0sICdGZXRjaEV2ZW50I2Jv
ZHkgaXMgYSBzdHJpbmcnKTsKIAorLy8gVGVzdCB0aGF0IHRoZSByZXF1ZXN0IGJvZHkgaXMgc2Vu
dCB0byBuZXR3b3JrIHVwb24gbmV0d29yayBmYWxsYmFjaywKKy8vIGZvciBhIHN0cmluZyBib2R5
LgorcHJvbWlzZV90ZXN0KHQgPT4geworICAgIC8vIFNldCBwYWdlX3VybCB0byAiP2lnbm9yZSIg
c28gdGhlIHNlcnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sgdG8gbmV0d29yaworICAgIC8vIGZvciB0
aGUgbWFpbiByZXNvdXJjZSByZXF1ZXN0LCBhbmQgYWRkIGEgc3VmZml4IHRvIGF2b2lkIGNvbGxp
ZGluZworICAgIC8vIHdpdGggb3RoZXIgdGVzdHMuCisgICAgY29uc3QgcGFnZV91cmwgPSAncmVz
b3VyY2VzLz9pZ25vcmUtZm9yLXJlcXVlc3QtYm9keS1mYWxsYmFjay1zdHJpbmcnOworICAgIGxl
dCBmcmFtZTsKKworICAgIHJldHVybiB3aXRoX2lmcmFtZShwYWdlX3VybCkKKyAgICAgIC50aGVu
KGYgPT4geworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgp
ID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgICAgICAgIC8vIEFkZCAiP2lnbm9yZSIgc28g
dGhlIHNlcnZpY2Ugd29ya2VyIGZhbGxzIGJhY2sgdG8gZWNoby1jb250ZW50LnB5LgorICAgICAg
ICAgIGNvbnN0IGVjaG9fdXJsID0gJy9mZXRjaC9hcGkvcmVzb3VyY2VzL2VjaG8tY29udGVudC5w
eT9pZ25vcmUnOworICAgICAgICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKGVj
aG9fdXJsLCB7CisgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAorICAgICAgICAgICAgICBi
b2R5OiAnaSBhbSB0aGUgcmVxdWVzdCBib2R5JworICAgICAgICAgICAgfSk7CisgICAgICAgIH0p
CisgICAgICAudGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRl
eHQoKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKHJlc3BvbnNlX3RleHQgPT4geworICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQsCisgICAgICAg
ICAgICAgICdpIGFtIHRoZSByZXF1ZXN0IGJvZHknLAorICAgICAgICAgICAgICAndGhlIG5ldHdv
cmsgZmFsbGJhY2sgcmVxdWVzdCBzaG91bGQgaW5jbHVkZSB0aGUgcmVxdWVzdCBib2R5Jyk7Cisg
ICAgICAgIH0pOworICB9LCAnRmV0Y2hFdmVudCNib2R5IGlzIGEgc3RyaW5nIGFuZCBpcyBwYXNz
ZWQgdG8gbmV0d29yayBmYWxsYmFjaycpOworCiAvLyBUZXN0IHRoYXQgdGhlIHNlcnZpY2Ugd29y
a2VyIGNhbiByZWFkIEZldGNoRXZlbnQjYm9keSB3aGVuIGl0IGlzIGEgYmxvYi4KIC8vIEl0IHJl
c3BvbmRzIHdpdGggcmVxdWVzdCBib2R5IGl0IHJlYWQuCiBwcm9taXNlX3Rlc3QodCA9PiB7Ci0g
ICAgLy8gU2V0IHNjb3BlIHRvICI/aWdub3JlIiBzbyB0aGUgc2VydmljZSB3b3JrZXIgZmFsbHMg
YmFjayB0byBuZXR3b3JrCisgICAgLy8gU2V0IHBhZ2VfdXJsIHRvICI/aWdub3JlIiBzbyB0aGUg
c2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCiAgICAgLy8gZm9yIHRoZSBtYWlu
IHJlc291cmNlIHJlcXVlc3QsIGFuZCBhZGQgYSBzdWZmaXggdG8gYXZvaWQgY29sbGlkaW5nCiAg
ICAgLy8gd2l0aCBvdGhlciB0ZXN0cy4KLSAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvc2lt
cGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHktYmxvYic7CisgICAgY29uc3QgcGFnZV91
cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lnbm9yZS1mb3ItcmVxdWVzdC1ib2R5LWJsb2In
OwogICAgIGxldCBmcmFtZTsKIAotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQotICAgICAgLnRoZW4ocmVnID0+IHsKLSAg
ICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiB7IHJlZy51bnJlZ2lzdGVyKCk7
IH0pOwotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywg
J2FjdGl2YXRlZCcpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oKCkgPT4gewotICAgICAgICAg
IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBh
Z2VfdXJsKQogICAgICAgLnRoZW4oZiA9PiB7CiAgICAgICAgICAgZnJhbWUgPSBmOworICAgICAg
ICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CiAgICAgICAgICAg
Y29uc3QgYmxvYiA9IG5ldyBCbG9iKFsnaXRcJ3MgbWUgdGhlIGJsb2InLCAnICcsICdhbmQgbW9y
ZSBibG9iISddKTsKICAgICAgICAgICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaCgn
c2ltcGxlLmh0bWw/cmVxdWVzdC1ib2R5JywgewogICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NU
JywKQEAgLTQ4NCwyMyArNDc2LDM1MyBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAgICAgICAg
cmV0dXJuIHJlc3BvbnNlLnRleHQoKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKHJlc3BvbnNl
X3RleHQgPT4gewotICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgIGFzc2VydF9l
cXVhbHMocmVzcG9uc2VfdGV4dCwgJ2l0XCdzIG1lIHRoZSBibG9iIGFuZCBtb3JlIGJsb2IhJyk7
CiAgICAgICAgIH0pOwogICB9LCAnRmV0Y2hFdmVudCNib2R5IGlzIGEgYmxvYicpOwogCi1wcm9t
aXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKLSAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvc2lt
cGxlLmh0bWw/a2VlcGFsaXZlJzsKKy8vIFRlc3QgdGhhdCB0aGUgcmVxdWVzdCBib2R5IGlzIHNl
bnQgdG8gbmV0d29yayB1cG9uIG5ldHdvcmsgZmFsbGJhY2ssCisvLyBmb3IgYSBibG9iIGJvZHku
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgLy8gU2V0IHBhZ2VfdXJsIHRvICI/aWdub3JlIiBz
byB0aGUgc2VydmljZSB3b3JrZXIgZmFsbHMgYmFjayB0byBuZXR3b3JrCisgICAgLy8gZm9yIHRo
ZSBtYWluIHJlc291cmNlIHJlcXVlc3QsIGFuZCBhZGQgYSBzdWZmaXggdG8gYXZvaWQgY29sbGlk
aW5nCisgICAgLy8gd2l0aCBvdGhlciB0ZXN0cy4KKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlLWZvci1yZXF1ZXN0LWJvZHktZmFsbGJhY2stYmxvYic7
CisgICAgbGV0IGZyYW1lOworCisgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHBhZ2VfdXJsKQorICAg
ICAgLnRoZW4oZiA9PiB7CisgICAgICAgICAgZnJhbWUgPSBmOworICAgICAgICAgIHQuYWRkX2Ns
ZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgICAgICAgY29uc3QgYmxvYiA9
IG5ldyBCbG9iKFsnaXRcJ3MgbWUgdGhlIGJsb2InLCAnICcsICdhbmQgbW9yZSBibG9iISddKTsK
KyAgICAgICAgICAvLyBBZGQgIj9pZ25vcmUiIHNvIHRoZSBzZXJ2aWNlIHdvcmtlciBmYWxscyBi
YWNrIHRvIGVjaG8tY29udGVudC5weS4KKyAgICAgICAgICBjb25zdCBlY2hvX3VybCA9ICcvZmV0
Y2gvYXBpL3Jlc291cmNlcy9lY2hvLWNvbnRlbnQucHk/aWdub3JlJzsKKyAgICAgICAgICByZXR1
cm4gZnJhbWUuY29udGVudFdpbmRvdy5mZXRjaChlY2hvX3VybCwgeworICAgICAgICAgICAgICBt
ZXRob2Q6ICdQT1NUJywKKyAgICAgICAgICAgICAgYm9keTogYmxvYgorICAgICAgICAgICAgfSk7
CisgICAgICAgIH0pCisgICAgICAudGhlbihyZXNwb25zZSA9PiB7CisgICAgICAgICAgcmV0dXJu
IHJlc3BvbnNlLnRleHQoKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKHJlc3BvbnNlX3RleHQg
PT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICAgIHJlc3BvbnNlX3Rl
eHQsCisgICAgICAgICAgICAgICdpdFwncyBtZSB0aGUgYmxvYiBhbmQgbW9yZSBibG9iIScsCisg
ICAgICAgICAgICAgICd0aGUgbmV0d29yayBmYWxsYmFjayByZXF1ZXN0IHNob3VsZCBpbmNsdWRl
IHRoZSByZXF1ZXN0IGJvZHknKTsKKyAgICAgICAgfSk7CisgIH0sICdGZXRjaEV2ZW50I2JvZHkg
aXMgYSBibG9iIGFuZCBpcyBwYXNzZWQgdG8gbmV0d29yayBmYWxsYmFjaycpOwogCi0gICAgY29u
c3QgcmVnID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwg
d29ya2VyLCBzY29wZSk7Ci0gICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxp
bmcsICdhY3RpdmF0ZWQnKTsKLSAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHNj
b3BlKTsKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0g
J3Jlc291cmNlcy9zaW1wbGUuaHRtbD9rZWVwYWxpdmUnOworICAgIGNvbnN0IGZyYW1lID0gYXdh
aXQgd2l0aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFt
ZS5yZW1vdmUoKTsgfSk7CiAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQu
Ym9keS50ZXh0Q29udGVudCwgJ2ZhbHNlJyk7Ci0gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBm
cmFtZS5jb250ZW50V2luZG93LmZldGNoKHNjb3BlLCB7a2VlcGFsaXZlOiB0cnVlfSk7CisgICAg
Y29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKHBhZ2VfdXJs
LCB7a2VlcGFsaXZlOiB0cnVlfSk7CiAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRl
eHQoKTsKICAgICBhc3NlcnRfZXF1YWxzKHRleHQsICd0cnVlJyk7Ci0gICAgZnJhbWUucmVtb3Zl
KCk7Ci0gICAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29w
ZSk7CiAgIH0sICdTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRo
ZSBjb3JyZWN0IGtlZXBhbGl2ZSB2YWx1ZScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+
IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNSZWxvYWRO
YXZpZ2F0aW9uJzsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHBhZ2VfdXJs
KTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgIGFz
c2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAg
ICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSBmYWxzZScp
OworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2luZG93
LmxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29u
dGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9k
ID0gR0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSB0cnVlJyk7CisgIH0sICdGZXRjaEV2ZW50I3Jl
cXVlc3QuaXNSZWxvYWROYXZpZ2F0aW9uIGlzIHRydWUgKGxvY2F0aW9uLnJlbG9hZCgpKScpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/aXNSZWxvYWROYXZpZ2F0aW9uJzsKKyAgICBjb25zdCBmcmFtZSA9
IGF3YWl0IHdpdGhfaWZyYW1lKHBhZ2VfdXJsKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsg
ZnJhbWUucmVtb3ZlKCk7IH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3Vt
ZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBp
c1JlbG9hZE5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7
CisgICAgICBmcmFtZS5jb250ZW50V2luZG93Lmhpc3RvcnkuZ28oMCk7CisgICAgfSk7CisgICAg
YXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAg
ICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IHRydWUn
KTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5pc1JlbG9hZE5hdmlnYXRpb24gaXMgdHJ1ZSAo
aGlzdG9yeS5nbygwKSknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29u
c3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzUmVsb2FkTmF2aWdhdGlvbic7
CisgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShwYWdlX3VybCk7CisgICAgdC5h
ZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKKyAgICBhc3NlcnRfZXF1YWxz
KGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAg
ICAgJ21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gZmFsc2UnKTsKKyAgICBhd2Fp
dCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIHJlc29sdmUpOworICAgICAgY29uc3QgZm9ybSA9IGZyYW1lLmNvbnRlbnREb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7CisgICAgICBmb3JtLm1ldGhvZCA9ICdQT1NUJzsK
KyAgICAgIGZvcm0ubmFtZSA9ICdmb3JtJzsKKyAgICAgIGZvcm0uYWN0aW9uID0gbmV3IFJlcXVl
c3QocGFnZV91cmwpLnVybDsKKyAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKGZvcm0pOworICAgICAgZm9ybS5zdWJtaXQoKTsKKyAgICB9KTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAg
ICAgICAgICAgJ21ldGhvZCA9IFBPU1QsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlJyk7Cisg
ICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50
TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9j
YXRpb24ucmVsb2FkKCk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50
RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBQ
T1NULCBpc1JlbG9hZE5hdmlnYXRpb24gPSB0cnVlJyk7CisgIH0sICdGZXRjaEV2ZW50I3JlcXVl
c3QuaXNSZWxvYWROYXZpZ2F0aW9uIGlzIHRydWUgKFBPU1QgKyBsb2NhdGlvbi5yZWxvYWQoKSkn
KTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAn
cmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzUmVsb2FkTmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5v
dGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWwnKS51cmw7CisgICAg
bGV0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5j
b250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRo
b2QgPSBHRVQsIGlzUmVsb2FkTmF2aWdhdGlvbiA9IGZhbHNlJyk7CisgICAgLy8gVXNlIHN0ZXBf
dGltZW91dCgwKSB0byBlbnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBmb3IgQmxp
bmsKKyAgICAvLyBhbmQgV2ViS2l0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQyODYxLgorICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
ZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9IGFub3RoZXJVcmw7CisgICAgfSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUn
cyBhIHNpbXBsZSBodG1sIGZpbGUuXG4iKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOwor
ICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0b3J5LmdvKC0xKTsKKyAgICB9KTsKKyAgICBh
c3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAg
ICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNSZWxvYWROYXZpZ2F0aW9uID0gZmFsc2Un
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdpbmRv
dy5oaXN0b3J5LmdvKDApOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVu
dERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0g
R0VULCBpc1JlbG9hZE5hdmlnYXRpb24gPSB0cnVlJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2Uo
KHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNv
bHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cuaGlzdG9yeS5nbygxKTsKKyAgICB9KTsK
KyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50
LCAiSGVyZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICB9LCAnRmV0Y2hFdmVudCNyZXF1
ZXN0LmlzUmVsb2FkTmF2aWdhdGlvbiBpcyB0cnVlICh3aXRoIGhpc3RvcnkgdHJhdmVyc2FsKScp
OworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdy
ZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNIaXN0b3J5TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5v
dGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJs
OworICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAg
ICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIC8v
IFVzZSBzdGVwX3RpbWVvdXQoMCkgdG8gZW5zdXJlIHRoZSBoaXN0b3J5IGVudHJ5IGlzIGNyZWF0
ZWQgZm9yIEJsaW5rCisgICAgLy8gYW5kIFdlYktpdC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg2MS4KKyAgICBhd2FpdCB3YWl0KDApOworICAgIGF3YWl0
IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5zcmMgPSBhbm90aGVyVXJsOworICAgIH0p
OworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsICJIZXJlJ3MgYSBzaW1wbGUgaHRtbCBmaWxlLlxuIik7CisgICAgYXdhaXQgbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
ZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cuaGlzdG9yeS5nbygtMSk7CisgICAg
fSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29u
dGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRp
b24gPSB0cnVlJyk7CisgIH0sICdGZXRjaEV2ZW50I3JlcXVlc3QuaXNIaXN0b3J5TmF2aWdhdGlv
biBpcyB0cnVlICh3aXRoIGhpc3RvcnkuZ28oLTEpKScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMg
KHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNI
aXN0b3J5TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVybCA9IG5ldyBSZXF1ZXN0KCdy
ZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAgIGNvbnN0IGZyYW1lID0gYXdh
aXQgd2l0aF9pZnJhbWUoYW5vdGhlclVybCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZy
YW1lLnJlbW92ZSgpOyB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVu
dC5ib2R5LnRleHRDb250ZW50LCAiSGVyZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICAg
IC8vIFVzZSBzdGVwX3RpbWVvdXQoMCkgdG8gZW5zdXJlIHRoZSBoaXN0b3J5IGVudHJ5IGlzIGNy
ZWF0ZWQgZm9yIEJsaW5rCisgICAgLy8gYW5kIFdlYktpdC4gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjg2MS4KKyAgICBhd2FpdCB3YWl0KDApOworICAgIGF3
YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5zcmMgPSBwYWdlX3VybDsKKyAgICB9
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250
ZW50LAorICAgICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlv
biA9IGZhbHNlJyk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAg
IGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNv
bnRlbnRXaW5kb3cuaGlzdG9yeS5nbygtMSk7CisgICAgfSk7CisgICAgYXdhaXQgbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
ZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cuaGlzdG9yeS5nbygxKTsKKyAgICB9
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250
ZW50LAorICAgICAgICAgICAgICAgICAgJ21ldGhvZCA9IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlv
biA9IHRydWUnKTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9u
IGlzIHRydWUgKHdpdGggaGlzdG9yeS5nbygxKSknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0
KSA9PiB7CisgICAgY29uc3QgcGFnZV91cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzSGlz
dG9yeU5hdmlnYXRpb24nOworICAgIGNvbnN0IGFub3RoZXJVcmwgPSBuZXcgUmVxdWVzdCgncmVz
b3VyY2VzL3NpbXBsZS5odG1sP2lnbm9yZScpLnVybDsKKyAgICBjb25zdCBmcmFtZSA9ICBhd2Fp
dCB3aXRoX2lmcmFtZShhbm90aGVyVXJsKTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJh
bWUucmVtb3ZlKCk7IH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50
LmJvZHkudGV4dENvbnRlbnQsICJIZXJlJ3MgYSBzaW1wbGUgaHRtbCBmaWxlLlxuIik7CisgICAg
Ly8gVXNlIHN0ZXBfdGltZW91dCgwKSB0byBlbnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3Jl
YXRlZCBmb3IgQmxpbmsKKyAgICAvLyBhbmQgV2ViS2l0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQyODYxLgorICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9IHBhZ2VfdXJsOworICAgIH0p
OworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9u
ID0gZmFsc2UnKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAg
ZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29u
dGVudFdpbmRvdy5oaXN0b3J5LmdvKC0xKTsKKyAgICB9KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJl
c29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0b3J5LmdvKDEpOworICAgIH0p
OworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9u
ID0gdHJ1ZScpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBm
cmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250
ZW50V2luZG93Lmhpc3RvcnkuZ28oMCk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZScpOworICB9LCAnRmV0Y2hF
dmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24gaXMgZmFsc2UgKHdpdGggaGlzdG9yeS5n
bygwKSknKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0KSA9PiB7CisgICAgY29uc3QgcGFnZV91
cmwgPSAncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lzSGlzdG9yeU5hdmlnYXRpb24nOworICAgIGNv
bnN0IGFub3RoZXJVcmwgPSBuZXcgUmVxdWVzdCgncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lnbm9y
ZScpLnVybDsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKGFub3RoZXJVcmwp
OworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7CisgICAgYXNz
ZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUn
cyBhIHNpbXBsZSBodG1sIGZpbGUuXG4iKTsKKyAgICAvLyBVc2Ugc3RlcF90aW1lb3V0KDApIHRv
IGVuc3VyZSB0aGUgaGlzdG9yeSBlbnRyeSBpcyBjcmVhdGVkIGZvciBCbGluaworICAgIC8vIGFu
ZCBXZWJLaXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4
NjEuCisgICAgYXdhaXQgd2FpdCgwKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkg
PT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAg
ICAgZnJhbWUuc3JjID0gcGFnZV91cmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIGF3YWl0IG5l
dyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2luZG93Lmhpc3RvcnkuZ28oLTEp
OworICAgIH0pOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBm
cmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250
ZW50V2luZG93Lmhpc3RvcnkuZ28oMSk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFt
ZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdt
ZXRob2QgPSBHRVQsIGlzSGlzdG9yeU5hdmlnYXRpb24gPSB0cnVlJyk7CisgICAgYXdhaXQgbmV3
IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24ucmVsb2Fk
KCk7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9k
eS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9y
eU5hdmlnYXRpb24gPSBmYWxzZScpOworICB9LCAnRmV0Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9y
eU5hdmlnYXRpb24gaXMgZmFsc2UgKHdpdGggbG9jYXRpb24ucmVsb2FkKScpOworCitwcm9taXNl
X3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2lt
cGxlLmh0bWw/aXNIaXN0b3J5TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVybCA9IG5l
dyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAgIGNvbnN0
IG9uZUFub3RoZXJVcmwgPSBuZXcgUmVxdWVzdCgncmVzb3VyY2VzL3NpbXBsZS5odG1sP2lnbm9y
ZTInKS51cmw7CisKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKHBhZ2VfdXJs
KTsKKyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHsgZnJhbWUucmVtb3ZlKCk7IH0pOworICAgIGFz
c2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAg
ICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9uID0gZmFsc2Un
KTsKKyAgICAvLyBVc2Ugc3RlcF90aW1lb3V0KDApIHRvIGVuc3VyZSB0aGUgaGlzdG9yeSBlbnRy
eSBpcyBjcmVhdGVkIGZvciBCbGluaworICAgIC8vIGFuZCBXZWJLaXQuIFNlZSBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI4NjEuCisgICAgYXdhaXQgd2FpdCgwKTsK
KyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuc3JjID0gYW5vdGhlclVy
bDsKKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5
LnRleHRDb250ZW50LCAiSGVyZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICAgIGF3YWl0
IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZy
YW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9
IG9uZUFub3RoZXJVcmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50
RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUncyBhIHNpbXBsZSBodG1sIGZpbGUuXG4i
KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdpbmRv
dy5oaXN0b3J5LmdvKC0yKTsKKyAgICB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRl
bnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LAorICAgICAgICAgICAgICAgICAgJ21ldGhvZCA9
IEdFVCwgaXNIaXN0b3J5TmF2aWdhdGlvbiA9IHRydWUnKTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVx
dWVzdC5pc0hpc3RvcnlOYXZpZ2F0aW9uIGlzIHRydWUgKHdpdGggaGlzdG9yeS5nbygtMikpJyk7
CisKK3Byb21pc2VfdGVzdChhc3luYyAodCkgPT4geworICAgIGNvbnN0IHBhZ2VfdXJsID0gJ3Jl
c291cmNlcy9zaW1wbGUuaHRtbD9pc0hpc3RvcnlOYXZpZ2F0aW9uJzsKKyAgICBjb25zdCBhbm90
aGVyVXJsID0gbmV3IFJlcXVlc3QoJ3Jlc291cmNlcy9zaW1wbGUuaHRtbD9pZ25vcmUnKS51cmw7
CisgICAgY29uc3Qgb25lQW5vdGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNvdXJjZXMvc2ltcGxl
Lmh0bWw/aWdub3JlMicpLnVybDsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1l
KGFub3RoZXJVcmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsg
fSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29u
dGVudCwgIkhlcmUncyBhIHNpbXBsZSBodG1sIGZpbGUuXG4iKTsKKyAgICAvLyBVc2Ugc3RlcF90
aW1lb3V0KDApIHRvIGVuc3VyZSB0aGUgaGlzdG9yeSBlbnRyeSBpcyBjcmVhdGVkIGZvciBCbGlu
aworICAgIC8vIGFuZCBXZWJLaXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDI4NjEuCisgICAgYXdhaXQgd2FpdCgwKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJl
c29sdmUpOworICAgICAgZnJhbWUuc3JjID0gb25lQW5vdGhlclVybDsKKyAgICB9KTsKKyAgICBh
c3NlcnRfZXF1YWxzKGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50LCAiSGVy
ZSdzIGEgc2ltcGxlIGh0bWwgZmlsZS5cbiIpOworICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdh
aXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICAgIGZyYW1lLnNyYyA9IHBhZ2VfdXJsOworICAgIH0p
OworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9u
ID0gZmFsc2UnKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAg
ZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOworICAgICAgZnJhbWUuY29u
dGVudFdpbmRvdy5oaXN0b3J5LmdvKC0yKTsKKyAgICB9KTsKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geworICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJl
c29sdmUpOworICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5oaXN0b3J5LmdvKDIpOworICAgIH0p
OworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENvbnRl
bnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gR0VULCBpc0hpc3RvcnlOYXZpZ2F0aW9u
ID0gdHJ1ZScpOworICB9LCAnRmV0Y2hFdmVudCNyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb24g
aXMgdHJ1ZSAod2l0aCBoaXN0b3J5LmdvKDIpKScpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHQp
ID0+IHsKKyAgICBjb25zdCBwYWdlX3VybCA9ICdyZXNvdXJjZXMvc2ltcGxlLmh0bWw/aXNIaXN0
b3J5TmF2aWdhdGlvbic7CisgICAgY29uc3QgYW5vdGhlclVybCA9IG5ldyBSZXF1ZXN0KCdyZXNv
dXJjZXMvc2ltcGxlLmh0bWw/aWdub3JlJykudXJsOworICAgIGNvbnN0IGZyYW1lID0gYXdhaXQg
d2l0aF9pZnJhbWUocGFnZV91cmwpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5y
ZW1vdmUoKTsgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9k
eS50ZXh0Q29udGVudCwKKyAgICAgICAgICAgICAgICAgICdtZXRob2QgPSBHRVQsIGlzSGlzdG9y
eU5hdmlnYXRpb24gPSBmYWxzZScpOworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9
PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAg
ICBjb25zdCBmb3JtID0gZnJhbWUuY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0n
KTsKKyAgICAgIGZvcm0ubWV0aG9kID0gJ1BPU1QnOworICAgICAgZm9ybS5uYW1lID0gJ2Zvcm0n
OworICAgICAgZm9ybS5hY3Rpb24gPSBuZXcgUmVxdWVzdChwYWdlX3VybCkudXJsOworICAgICAg
ZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZm9ybSk7CisgICAgICBmb3Jt
LnN1Ym1pdCgpOworICAgIH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3Vt
ZW50LmJvZHkudGV4dENvbnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gUE9TVCwg
aXNIaXN0b3J5TmF2aWdhdGlvbiA9IGZhbHNlJyk7CisgICAgLy8gVXNlIHN0ZXBfdGltZW91dCgw
KSB0byBlbnN1cmUgdGhlIGhpc3RvcnkgZW50cnkgaXMgY3JlYXRlZCBmb3IgQmxpbmsKKyAgICAv
LyBhbmQgV2ViS2l0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQyODYxLgorICAgIGF3YWl0IHdhaXQoMCk7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUpID0+IHsKKyAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsK
KyAgICAgIGZyYW1lLnNyYyA9IGFub3RoZXJVcmw7CisgICAgfSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCwgIkhlcmUncyBhIHNpbXBs
ZSBodG1sIGZpbGUuXG4iKTsKKyAgICBhd2FpdCB3YWl0KDApOworICAgIGF3YWl0IG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiB7CisgICAgICBmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
cmVzb2x2ZSk7CisgICAgICBmcmFtZS5jb250ZW50V2luZG93Lmhpc3RvcnkuZ28oLTEpOworICAg
IH0pOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkudGV4dENv
bnRlbnQsCisgICAgICAgICAgICAgICAgICAnbWV0aG9kID0gUE9TVCwgaXNIaXN0b3J5TmF2aWdh
dGlvbiA9IHRydWUnKTsKKyAgfSwgJ0ZldGNoRXZlbnQjcmVxdWVzdC5pc0hpc3RvcnlOYXZpZ2F0
aW9uIGlzIHRydWUgKFBPU1QgKyBoaXN0b3J5LmdvKC0xKSknKTsKIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZnJhbWUtcmVzb3VyY2UuaHR0
cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWZyYW1lLXJlc291cmNlLmh0dHBzLmh0
bWwKaW5kZXggMjE2OGUzZTBkNDU4NTFjYzZmMDU5OWE5ZTAzMjNlOWE5NmU1NjRlMi4uYTMzMzA5
ZjM0Zjk4NzJkYTUzNzkyMWExMWRmYzk2MWFjMTQyYjBmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtZnJhbWUtcmVzb3VyY2UuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1mcmFtZS1yZXNvdXJjZS5odHRwcy5odG1sCkBAIC03MywxMSArNzMsMTUg
QEAgZnVuY3Rpb24gZ2V0TG9hZGVkV2luZG93QXNPYmplY3Qod2luKSB7CiAgICAgfSk7CiB9CiAK
LWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAg
ICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2ZldGNoLWZyYW1lLXJlc291cmNlL2ZyYW1lLWJhc2lj
JzsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KHJlZykgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAg
ICAgIH0pOworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxs
aW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsK
QEAgLTk0LDE2ICs5OCwxOCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAg
ICdzdWNjZXNzJywKICAgICAgICAgICAgICdCYXNpYyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxv
YWRlZCBpbiB0aGUgaWZyYW1lLicpOwogICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAg
ICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsK
LSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAg
ICAgfSk7CiAgIH0sICdCYXNpYyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBpbiB0aGUg
aWZyYW1lLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5j
dGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9mZXRjaC1mcmFtZS1yZXNvdXJj
ZS9mcmFtZS1jb3JzJzsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93
b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50
aGVuKGZ1bmN0aW9uKHJlZykgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3Bl
KTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihm
dW5jdGlvbigpIHsKQEAgLTEyMiwxNiArMTI4LDE4IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkg
ewogICAgICAgICAgICAgJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgJ0NPUlMgdHlwZSByZXNwb25z
ZSBjb3VsZCBiZSBsb2FkZWQgaW4gdGhlIGlmcmFtZS4nKTsKICAgICAgICAgICBmcmFtZS5yZW1v
dmUoKTsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9u
ZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlv
bih0KSk7CisgICAgICAgIH0pOwogICB9LCAnQ09SUyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxv
YWRlZCBpbiB0aGUgaWZyYW1lLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9mZXRjaC1m
cmFtZS1yZXNvdXJjZS9mcmFtZS1vcGFxdWUnOwogICAgIHZhciBmcmFtZTsKLSAgICBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNjb3BlKQorICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXIsIHNj
b3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2Fp
dF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkK
ICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewpAQCAtMTQ4LDE1ICsxNTYsMTcgQEAgYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICBudWxsLAogICAgICAgICAgICAgJ09wYXF1ZSB0
eXBlIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSBsb2FkZWQgaW4gdGhlIGlmcmFtZS4nKTsKICAgICAg
ICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5y
ZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnT3BhcXVlIHR5cGUgcmVz
cG9uc2UgY291bGQgbm90IGJlIGxvYWRlZCBpbiB0aGUgaWZyYW1lLicpOwogCi1hc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3Bl
ID0gJ3Jlc291cmNlcy9mZXRjaC1mcmFtZS1yZXNvdXJjZS93aW5kb3ctYmFzaWMnOwotICAgIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2NvcGUpCisg
ICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtl
ciwgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKKyAgICAgICAgICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJf
dW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVy
biB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAg
ICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CkBAIC0xNzAsMTUgKzE4MCwxNyBAQCBhc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgIHJlc3VsdC5qc29ucFJlc3VsdCwKICAg
ICAgICAgICAgICdzdWNjZXNzJywKICAgICAgICAgICAgICdCYXNpYyB0eXBlIHJlc3BvbnNlIGNv
dWxkIGJlIGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRvdy4nKTsKLSAgICAgICAgICByZXR1cm4gc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0g
ICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAn
QmFzaWMgdHlwZSByZXNwb25zZSBjb3VsZCBiZSBsb2FkZWQgaW4gdGhlIG5ldyB3aW5kb3cuJyk7
CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsK
ICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2ZldGNoLWZyYW1lLXJlc291cmNlL3dpbmRvdy1j
b3JzJzsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3Jr
ZXIsIHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCB3b3JrZXIsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAg
ICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAg
ICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewpAQCAtMTk0LDE1ICsy
MDYsMTcgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgICByZXN1bHQuanNv
bnBSZXN1bHQsCiAgICAgICAgICAgICAnc3VjY2VzcycsCiAgICAgICAgICAgICAnQ09SUyB0eXBl
IHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRvdy4nKTsKLSAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0g
ICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAg
IH0pOwogICB9LCAnQ09SUyB0eXBlIHJlc3BvbnNlIGNvdWxkIGJlIGxvYWRlZCBpbiB0aGUgbmV3
IHdpbmRvdy4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgewogICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvZmV0Y2gtZnJhbWUtcmVzb3Vy
Y2Uvd2luZG93LW9wYXF1ZSc7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgd29ya2VyLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KHJlZykgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAg
ICAgIH0pOworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxs
aW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsK
QEAgLTIxNiw5ICsyMzAsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAg
IHJlc3VsdCwKICAgICAgICAgICAgIG51bGwsCiAgICAgICAgICAgICAnT3BhcXVlIHR5cGUgcmVz
cG9uc2UgY291bGQgbm90IGJlIGxvYWRlZCBpbiB0aGUgbmV3IHdpbmRvdy4nKTsKLSAgICAgICAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0g
ICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAg
IH0pOwogICB9LCAnT3BhcXVlIHR5cGUgcmVzcG9uc2UgY291bGQgbm90IGJlIGxvYWRlZCBpbiB0
aGUgbmV3IHdpbmRvdy4nKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtaGVhZGVyLXZpc2liaWxpdHkuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWhlYWRlci12aXNpYmlsaXR5Lmh0dHBzLmh0bWwKaW5kZXggMWNlYjE2
NDY1M2I5NjM1OTk5Njc1Y2M4N2VhMTE0Nzk2ZWZlYWQ5ZC4uMWY0ODEzYzRmOGU2ZDkzYTAyNGI0
MzNkYjRjYjQ1NDk5YjY4NDI1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
aGVhZGVyLXZpc2liaWxpdHkuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1oZWFkZXItdmlzaWJpbGl0eS5odHRwcy5odG1sCkBAIC0xMSwxMCArMTEsMTQgQEAKICAgdmFy
IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKICAgdmFyIGZyYW1lOwogCi0gIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgeworICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBz
Y29wZSA9ICdyZXNvdXJjZXMvZmV0Y2gtaGVhZGVyLXZpc2liaWxpdHktaWZyYW1lLmh0bWwnOwot
ICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlciwgc2Nv
cGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IHdvcmtlciwgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKKyAgICAgICAgdC5h
ZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICB9KTsKKwogICAgICAgICByZXR1cm4g
d2FpdF9mb3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgIH0p
CiAgICAgICAudGhlbihmdW5jdGlvbigpIHsKQEAgLTQ0LDkgKzQ4LDcgQEAKICAgICAgIH0pCiAg
ICAgICAudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0g
ICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3Bl
KTsKLSAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAg
ICB9KTsKICAgfSwgJ1Zpc2liaWxpdHkgb2YgZGVmYXVsdGVkIGhlYWRlcnMgZHVyaW5nIGludGVy
Y2VwdGlvbicpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1iYXNlLXVybC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtYmFzZS11cmwuaHR0cHMuaHRtbAppbmRleCA3YzY2NTIw
MzA0NTc4NmZkZjI1NjY4MTAzYzdlMDllNGNlZjJlZDI1Li43ZmVjY2ZiOThjNTZmYTI5ZWFlMGMy
MDQ3OTFlYzkwZTY3ZTVkZDVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1y
ZXF1ZXN0LWNzcy1iYXNlLXVybC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Zl
dGNoLXJlcXVlc3QtY3NzLWJhc2UtdXJsLmh0dHBzLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8c2Ny
aXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKICAgICB2YXIgU0NPUEUgPSAncmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWJhc2Ut
dXJsLWlmcmFtZS5odG1sJzsKICAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXF1
ZXN0LWNzcy1iYXNlLXVybC13b3JrZXIuanMnOwogICAgIHZhciB3b3JrZXI7CkBAIC0xMyw2ICsx
MywxMCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKIAogICAgIHJldHVybiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRo
ZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIo
dCwgU0NPUEUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICB3b3JrZXIgPSByZWdpc3Ry
YXRpb24uaW5zdGFsbGluZzsKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29y
a2VyLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBAIC00OCw5ICs1Miw3IEBAIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgewogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgewogICAgICAgICAgIHJl
dHVybiB0ZXN0RG9uZVByb21pc2UudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICAgIGYucmVt
b3ZlKCk7Ci0gICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
ZG9uZSh0LCBTQ09QRSk7CiAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2go
dW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnQ1NTXCdzIGJhc2Ug
VVJMIG11c3QgYmUgdGhlIHJlcXVlc3QgVVJMIGV2ZW4gd2hlbiBmZXRjaGVkIGZyb20gb3RoZXIg
VVJMLicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1y
ZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVj
ay5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRlODI1
YWU5NzE1MzlhMjQ5OWQwZWEwNjUwMDZhZWE5NjQ5MmFhMzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVz
dC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2suaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsNCArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IERpZCBub3QgcGFyc2Ugc3R5
bGVzaGVldCBhdCAnaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2Nyb3NzLW9yaWdpbi1odG1sLmNzcycgYmVjYXVzZSBub24gQ1NT
IE1JTUUgdHlwZXMgYXJlIG5vdCBhbGxvd2VkIGZvciBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldHMu
Ci0KLVBBU1MgTWltZSB0eXBlIGNoZWNraW5nIG9mIENTUyBmaWxlcyBmZXRjaGVkIHZpYSBTVy4g
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3Nz
LW9yaWdpbi1taW1lLWNoZWNrLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1y
ZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay5odHRwcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3ODM1ZjYwYTJjYTE3ZTIwM2IwYzVlM2U3NmYxNjdlZDNmNGFl
Y2M4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLmh0
dHBzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogTWltZSB0eXBlIGNoZWNraW5nIG9mIENTUyBmaWxlcyBm
ZXRjaGVkIHZpYSBTVy48L3RpdGxlPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGdldEVsZW1lbnRDb2xvckluRnJhbWUo
ZnJhbWUsIGlkKSB7Ci0gIHZhciBlbGVtZW50ID0gZnJhbWUuY29udGVudERvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGlkKTsKLSAgdmFyIHN0eWxlID0gZnJhbWUuY29udGVudFdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKTsKLSAgcmV0dXJuIHN0eWxlWydjb2xvciddOwotfQotCi1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09QRSA9Ci0gICAgICAgICdyZXNv
dXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2staWZyYW1lLmh0
bWwnOwotICAgIHZhciBTQ1JJUFQgPQotICAgICAgICAncmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qt
Y3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLXdvcmtlci5qcyc7Ci0gICAgdmFyIEVYUEVDVEVE
X0NPTE9SID0gJ3JnYigwLCAwLCAyNTUpJzsKLQotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQotICAgICAgLnRoZW4ociA9
PiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKSkKLSAgICAgIC50
aGVuKF8gPT4gd2l0aF9pZnJhbWUoU0NPUEUpICkKLSAgICAgIC50aGVuKGYgPT4gewotICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGdldEVsZW1lbnRDb2xvckluRnJhbWUo
ZiwgJ2Nyb3NzT3JpZ2luQ3NzJyksCi0gICAgICAgICAgICAgIEVYUEVDVEVEX0NPTE9SLAotICAg
ICAgICAgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBjcm9zcyBvcmlnaW4g
Q1NTLicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGdldEVsZW1l
bnRDb2xvckluRnJhbWUoZiwgJ2Nyb3NzT3JpZ2luSHRtbCcpLAotICAgICAgICAgICAgICBFWFBF
Q1RFRF9DT0xPUiwKLSAgICAgICAgICAgICAgJ1RoZSBjb2xvciBtdXN0IG5vdCBiZSBvdmVycmlk
ZGVuIGJ5IGNyb3NzIG9yaWdpbiBub24gQ1NTIGZpbGUuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2Vx
dWFscygKLSAgICAgICAgICAgICAgZ2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnc2FtZU9yaWdp
bkNzcycpLAotICAgICAgICAgICAgICBFWFBFQ1RFRF9DT0xPUiwKLSAgICAgICAgICAgICAgJ1Ro
ZSBjb2xvciBtdXN0IGJlIG92ZXJyaWRkZW4gYnkgc2FtZSBvcmlnaW4gQ1NTLicpOwotICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGdldEVsZW1lbnRDb2xvckluRnJhbWUo
ZiwgJ3NhbWVPcmlnaW5IdG1sJyksCi0gICAgICAgICAgICAgIEVYUEVDVEVEX0NPTE9SLAotICAg
ICAgICAgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBzYW1lIG9yaWdpbiBu
b24gQ1NTIGZpbGUuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscygKLSAgICAgICAgICAgICAg
Z2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnc3ludGhldGljJyksCi0gICAgICAgICAgICAgIEVY
UEVDVEVEX0NPTE9SLAotICAgICAgICAgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRl
biBieSBzeW50aGV0aWMgQ1NTLicpOwotICAgICAgICAgIGYucmVtb3ZlKCk7Ci0gICAgICAgICAg
cmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAg
ICAgICB9KTsKLSAgfSwgJ01pbWUgdHlwZSBjaGVja2luZyBvZiBDU1MgZmlsZXMgZmV0Y2hlZCB2
aWEgU1cuJyk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJjMjFmNGYyZThiYzUyZjI4Y2NiZWEwZWMwZDExMzRhM2E2ZDA3ZDEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9z
cy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNT
QUdFOiBEaWQgbm90IHBhcnNlIHN0eWxlc2hlZXQgYXQgJ2h0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4taHRt
bC5jc3M/bWltZT1ubycgYmVjYXVzZSBub24gQ1NTIE1JTUUgdHlwZXMgYXJlIG5vdCBhbGxvd2Vk
IGZvciBjcm9zcy1vcmlnaW4gc3R5bGVzaGVldHMuCisKK1BBU1Mgc2V0dXAgZ2xvYmFsIHN0YXRl
IAorUEFTUyBNSU1FIGNoZWNraW5nIG9mIENTUyByZXNvdXJjZXMgZmV0Y2hlZCB2aWEgc2Vydmlj
ZSB3b3JrZXIgd2hlbiBDb250ZW50LVR5cGUgaXMgbm90IHNldC4gCitGQUlMIFNhbWUtb3JpZ2lu
IHBvbGljeSBmb3IgYWNjZXNzIHRvIENTUyByZXNvdXJjZXMgZmV0Y2hlZCB2aWEgc2VydmljZSB3
b3JrZXIgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gIigpID0+IHsKKyAgICBmLmNvbnRlbnREb2N1
bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlc1swXS5jc3NUZXh0OworICB9IiB0aHJldyBvYmpl
Y3QgIlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdmLmNvbnRl
bnREb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlc1swXScpIiB0aGF0IGlzIG5vdCBhIERP
TUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5k
ZWZpbmVkLCBleHBlY3RlZCAxOAorUEFTUyBjbGVhbnVwIGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmln
aW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2RmZGVhOTk2ZjdjNTVhNTZjNGJiY2Q2ZmU5NGRh
Y2UxOTJhNDk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVx
dWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IENyb3NzLW9yaWdpbiBDU1MgZmlsZXMg
ZmV0Y2hlZCB2aWEgU1cuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBnZXRFbGVtZW50Q29sb3JJbkZyYW1l
KGZyYW1lLCBpZCkgeworICB2YXIgZWxlbWVudCA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC5nZXRF
bGVtZW50QnlJZChpZCk7CisgIHZhciBzdHlsZSA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShlbGVtZW50LCAnJyk7CisgIHJldHVybiBzdHlsZVsnY29sb3InXTsKK30KKwor
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICB2YXIgU0NPUEUgPQorICAgICAgJ3Jlc291cmNl
cy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4nOworICB2YXIgU0NSSVBUID0KKyAgICAg
ICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLXdvcmtlci5qcyc7Cisg
IGxldCByZWdpc3RyYXRpb24gPSBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9y
ZWdpc3RlcigKKyAgICB0LCBTQ1JJUFQsIFNDT1BFKTsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIGF3YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgIH0sICdjbGVhbnVw
IGdsb2JhbCBzdGF0ZScpOworCisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Cit9LCAnc2V0dXAgZ2xvYmFsIHN0YXRlJyk7CisK
K3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgRVhQRUNURURfQ09MT1IgPSAncmdi
KDAsIDAsIDI1NSknOworICBjb25zdCBQQUdFID0KKyAgICAgICdyZXNvdXJjZXMvZmV0Y2gtcmVx
dWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2staWZyYW1lLmh0bWwnOworCisgIGNvbnN0
IGYgPSBhd2FpdCB3aXRoX2lmcmFtZShQQUdFKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiB7Zi5y
ZW1vdmUoKTsgfSk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRFbGVtZW50Q29sb3JJbkZy
YW1lKGYsICdjcm9zc09yaWdpbkNzcycpLAorICAgICAgRVhQRUNURURfQ09MT1IsCisgICAgICAn
VGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBjcm9zcyBvcmlnaW4gQ1NTLicpOworICBh
c3NlcnRfZXF1YWxzKAorICAgICAgZ2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnY3Jvc3NPcmln
aW5IdG1sJyksCisgICAgICBFWFBFQ1RFRF9DT0xPUiwKKyAgICAgICdUaGUgY29sb3IgbXVzdCBu
b3QgYmUgb3ZlcnJpZGRlbiBieSBjcm9zcyBvcmlnaW4gbm9uIENTUyBmaWxlLicpOworICBhc3Nl
cnRfZXF1YWxzKAorICAgICAgZ2V0RWxlbWVudENvbG9ySW5GcmFtZShmLCAnc2FtZU9yaWdpbkNz
cycpLAorICAgICAgRVhQRUNURURfQ09MT1IsCisgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3Zl
cnJpZGRlbiBieSBzYW1lIG9yaWdpbiBDU1MuJyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBn
ZXRFbGVtZW50Q29sb3JJbkZyYW1lKGYsICdzYW1lT3JpZ2luSHRtbCcpLAorICAgICAgRVhQRUNU
RURfQ09MT1IsCisgICAgICAnVGhlIGNvbG9yIG11c3QgYmUgb3ZlcnJpZGRlbiBieSBzYW1lIG9y
aWdpbiBub24gQ1NTIGZpbGUuJyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgICBnZXRFbGVtZW50
Q29sb3JJbkZyYW1lKGYsICdzeW50aGV0aWMnKSwKKyAgICAgIEVYUEVDVEVEX0NPTE9SLAorICAg
ICAgJ1RoZSBjb2xvciBtdXN0IGJlIG92ZXJyaWRkZW4gYnkgc3ludGhldGljIENTUy4nKTsKK30s
ICdNSU1FIGNoZWNraW5nIG9mIENTUyByZXNvdXJjZXMgZmV0Y2hlZCB2aWEgc2VydmljZSB3b3Jr
ZXIgd2hlbiBDb250ZW50LVR5cGUgaXMgbm90IHNldC4nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCBQQUdFID0KKyAgICAgICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1j
c3MtY3Jvc3Mtb3JpZ2luLXJlYWQtY29udGVudHMuaHRtbCc7CisKKyAgY29uc3QgZiA9IGF3YWl0
IHdpdGhfaWZyYW1lKFBBR0UpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHtmLnJlbW92ZSgpOyB9
KTsKKyAgYXNzZXJ0X3Rocm93cygnU2VjdXJpdHlFcnJvcicsICgpID0+IHsKKyAgICBmLmNvbnRl
bnREb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlc1swXS5jc3NUZXh0OworICB9KTsKKyAg
YXNzZXJ0X2VxdWFscygKKyAgICBmLmNvbnRlbnREb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NS
dWxlc1swXS5jc3NUZXh0LAorICAgICcjY3Jvc3NPcmlnaW5Dc3MgeyBjb2xvcjogYmx1ZTsgfScs
CisgICAgJ2Nyb3NzLW9yaWdpbiBDT1JTIGFwcHJvdmVkIHJlc3BvbnNlJyk7CisgIGFzc2VydF9l
cXVhbHMoCisgICAgZi5jb250ZW50RG9jdW1lbnQuc3R5bGVTaGVldHNbMl0uY3NzUnVsZXNbMF0u
Y3NzVGV4dCwKKyAgICAnI3NhbWVPcmlnaW5Dc3MgeyBjb2xvcjogYmx1ZTsgfScsCisgICAgJ3Nh
bWUtb3JpZ2luIHJlc3BvbnNlJyk7CisgIGFzc2VydF9lcXVhbHMoCisgICAgZi5jb250ZW50RG9j
dW1lbnQuc3R5bGVTaGVldHNbM10uY3NzUnVsZXNbMF0uY3NzVGV4dCwKKyAgICAnI3N5bnRoZXRp
YyB7IGNvbG9yOiBibHVlOyB9JywKKyAgICAnc2VydmljZSB3b3JrZXIgZ2VuZXJhdGVkIHJlc3Bv
bnNlJyk7CisgIH0sICdTYW1lLW9yaWdpbiBwb2xpY3kgZm9yIGFjY2VzcyB0byBDU1MgcmVzb3Vy
Y2VzIGZldGNoZWQgdmlhIHNlcnZpY2Ugd29ya2VyJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtaW1hZ2VzLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1pbWFnZXMuaHR0cHMuaHRtbApp
bmRleCA2ZjMyM2NhYzhkMTFkMzM4MTI4NDhiZWIxZWNlNjUxY2Y0OTRiYmJjLi45NThkZTFhZjg1
ZjRlZTZiYTU4YjQ3ZGUzODk3MWY5ZmYyYWEyYmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1pbWFnZXMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1pbWFnZXMuaHR0cHMuaHRtbApAQCAtMzUsMjAgKzM1
LDMwIEBAIGZ1bmN0aW9uIGNzc19pbWFnZV9zZXRfdGVzdChleHBlY3RlZF9yZXN1bHRzLCBmcmFt
ZSwgdXJsLCB0eXBlLAogICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5sb2FkX2Nzc19pbWFn
ZV9zZXQodXJsLCB0eXBlKTsKIH0KIAotZnVuY3Rpb24gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0
LCBleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgd29ya2VyLCB0ZXN0X2NvdW50LCBzY29wZSkgeworZnVuY3Rpb24gd2FpdEZvcldvcmtlcih3
b3JrZXIpIHsKICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKICAgICB2
YXIgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgIGNoYW5uZWwucG9ydDEub25t
ZXNzYWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24obXNnKSB7CisgICAgY2hhbm5lbC5wb3J0MS5h
ZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24obXNnKSB7CiAgICAgICBpZiAobXNn
LmRhdGEucmVhZHkpIHsKLSAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICByZXR1cm47CisgICAg
ICAgIHJlc29sdmUoY2hhbm5lbCk7CiAgICAgICB9CisgICAgfSk7CisgICAgY2hhbm5lbC5wb3J0
MS5zdGFydCgpOworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7cG9ydDogY2hhbm5lbC5wb3J0Mn0s
IFtjaGFubmVsLnBvcnQyXSk7CisgIH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVfbWVzc2FnZV9w
cm9taXNlKGNoYW5uZWwsIGV4cGVjdGVkX3Jlc3VsdHMsIHdvcmtlciwgc2NvcGUpIHsKKyAgcmV0
dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKKyAgICBjaGFubmVsLnBvcnQxLmFk
ZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihtc2cpIHsKICAgICAgIHZhciByZXN1
bHQgPSBtc2cuZGF0YTsKLSAgICAgIHZhciBleHBlY3RlZCA9IGV4cGVjdGVkX3Jlc3VsdHNbcmVz
dWx0LnVybF07Ci0gICAgICBpZiAoIWV4cGVjdGVkKSB7CisgICAgICBpZiAoIWV4cGVjdGVkX3Jl
c3VsdHNbcmVzdWx0LnVybF0pIHsKICAgICAgICAgcmV0dXJuOwogICAgICAgfQorICAgICAgcmVz
b2x2ZShyZXN1bHQpOworICAgIH0pOworICB9KS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
ICAgdmFyIGV4cGVjdGVkID0gZXhwZWN0ZWRfcmVzdWx0c1tyZXN1bHQudXJsXTsKICAgICAgIGFz
c2VydF9lcXVhbHMoCiAgICAgICAgICAgcmVzdWx0Lm1vZGUsIGV4cGVjdGVkLm1vZGUsCiAgICAg
ICAgICAgJ21vZGUgb2YgJyArIGV4cGVjdGVkLm1lc3NhZ2UgKyAgJyBtdXN0IGJlICcgKwpAQCAt
NTcsMTIwICs2NywxNDggQEAgZnVuY3Rpb24gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0LCBleHBl
Y3RlZF9yZXN1bHRzLCBmcmFtZSwKICAgICAgICAgICByZXN1bHQuY3JlZGVudGlhbHMsIGV4cGVj
dGVkLmNyZWRlbnRpYWxzLAogICAgICAgICAgICdjcmVkZW50aWFscyBvZiAnICsgZXhwZWN0ZWQu
bWVzc2FnZSArICAnIG11c3QgYmUgJyArCiAgICAgICAgICAgZXhwZWN0ZWQuY3JlZGVudGlhbHMg
KyAnLicpOwotICAgICAgLS10ZXN0X2NvdW50OwogICAgICAgZGVsZXRlIGV4cGVjdGVkX3Jlc3Vs
dHNbcmVzdWx0LnVybF07Ci0gICAgICBpZiAodGVzdF9jb3VudCA9PSAwKSB7Ci0gICAgICAgIGZy
YW1lLnJlbW92ZSgpOwotICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25l
KHQsIHNjb3BlKTsKLSAgICAgIH0KICAgICB9KTsKLSAgICB3b3JrZXIucG9zdE1lc3NhZ2UoCi0g
ICAgICB7cG9ydDogY2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7Ci0gIH0pOwogfQog
Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAg
ICAgdmFyIHNjb3BlID0gU0NPUEUgKyAiP2ltZz1iYWNrZ3JvdW5kSW1hZ2UiOwotICAgIHZhciB0
ZXN0X2NvdW50ID0gMjsKICAgICB2YXIgZXhwZWN0ZWRfcmVzdWx0cyA9IHt9OwogICAgIHZhciB3
b3JrZXI7CiAgICAgdmFyIGZyYW1lOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X3JlZ2lzdGVyKHQsIFNDUklQVCwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgc2NvcGUpCiAgICAgICAudGhlbihmdW5j
dGlvbihyZWdpc3RyYXRpb24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29w
ZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHdvcmtlciA9IHJlZ2lzdHJhdGlvbi5p
bnN0YWxsaW5nOwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdh
Y3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4g
d2l0aF9pZnJhbWUoc2NvcGUpOyB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZikgeworICAgICAg
ICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIGYucmVtb3ZlKCk7
CisgICAgICAgICAgICB9KTsKICAgICAgICAgICBmcmFtZSA9IGY7Ci0gICAgICAgICAgcmV0dXJu
IGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UodCwgZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2VyLCB0ZXN0X2NvdW50LCBz
Y29wZSk7CisgICAgICAgICAgcmV0dXJuIHdhaXRGb3JXb3JrZXIod29ya2VyKTsKICAgICAgICAg
fSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICBjc3NfaW1hZ2VfdGVzdChleHBl
Y3RlZF9yZXN1bHRzLCBmcmFtZSwgTE9DQUxfVVJMICsgRGF0ZS5ub3coKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgJ2JhY2tncm91bmRJbWFnZScsICduby1jb3JzJywgJ2luY2x1ZGUnKTsKLSAg
ICAgICAgY3NzX2ltYWdlX3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsIFJFTU9URV9VUkwg
KyBEYXRlLm5vdygpLAotICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kSW1hZ2UnLCAn
bm8tY29ycycsICdpbmNsdWRlJyk7Ci0gICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9y
ZWplY3Rpb24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oY2hhbm5lbCkgeworICAgICAgICAg
IGNzc19pbWFnZV90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBMT0NBTF9VUkwgKyBEYXRl
Lm5vdygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kSW1hZ2UnLCAnbm8t
Y29ycycsICdpbmNsdWRlJyk7CisgICAgICAgICAgY3NzX2ltYWdlX3Rlc3QoZXhwZWN0ZWRfcmVz
dWx0cywgZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRlLm5vdygpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgJ2JhY2tncm91bmRJbWFnZScsICduby1jb3JzJywgJ2luY2x1ZGUnKTsKKworICAgICAg
ICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3By
b21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSksCisgICAgICAg
ICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywg
d29ya2VyLCBzY29wZSkKKyAgICAgICAgICAgIF0pOworICAgICAgICB9KTsKICAgfSwgJ1Zlcmlm
eSBGZXRjaEV2ZW50IGZvciBjc3MgaW1hZ2UgKGJhY2tncm91bmRJbWFnZSkuJyk7CiAKLWFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIg
c2NvcGUgPSBTQ09QRSArICI/aW1nPXNoYXBlT3V0c2lkZSI7Ci0gICAgdmFyIHRlc3RfY291bnQg
PSAyOwogICAgIHZhciBleHBlY3RlZF9yZXN1bHRzID0ge307CiAgICAgdmFyIHdvcmtlcjsKICAg
ICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIo
dCwgU0NSSVBULCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lz
dHJhdGlvbikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAg
ICAgICAgIH0pOworCiAgICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7
CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2FjdGl2YXRlZCcp
OwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFt
ZShzY29wZSk7IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihmKSB7CisgICAgICAgICAgdC5hZGRf
Y2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgZi5yZW1vdmUoKTsKKyAgICAgICAg
ICAgIH0pOwogICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAgICAgICByZXR1cm4gY3JlYXRlX21l
c3NhZ2VfcHJvbWlzZSh0LCBleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXIsIHRlc3RfY291bnQsIHNjb3BlKTsKKyAg
ICAgICAgICByZXR1cm4gd2FpdEZvcldvcmtlcih3b3JrZXIpOwogICAgICAgICB9KQotICAgICAg
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICBjc3NfaW1hZ2VfdGVzdChleHBlY3RlZF9yZXN1
bHRzLCBmcmFtZSwgTE9DQUxfVVJMICsgRGF0ZS5ub3coKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICdzaGFwZU91dHNpZGUnLCAnY29ycycsICdzYW1lLW9yaWdpbicpOwotICAgICAgICAgY3Nz
X2ltYWdlX3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRlLm5v
dygpLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXBlT3V0c2lkZScsICdjb3JzJywgJ3Nh
bWUtb3JpZ2luJyk7Ci0gICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oY2hhbm5lbCkgeworICAgICAgICAgIGNzc19pbWFn
ZV90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBMT0NBTF9VUkwgKyBEYXRlLm5vdygpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZU91dHNpZGUnLCAnY29ycycsICdzYW1lLW9y
aWdpbicpOworICAgICAgICAgIGNzc19pbWFnZV90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1l
LCBSRU1PVEVfVVJMICsgRGF0ZS5ub3coKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc2hh
cGVPdXRzaWRlJywgJ2NvcnMnLCAnc2FtZS1vcmlnaW4nKTsKKworICAgICAgICAgIHJldHVybiBQ
cm9taXNlLmFsbChbCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5l
bCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSksCisgICAgICAgICAgICAgIGNyZWF0
ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29w
ZSkKKyAgICAgICAgICAgIF0pOworICAgICAgfSk7CiAgIH0sICdWZXJpZnkgRmV0Y2hFdmVudCBm
b3IgY3NzIGltYWdlIChzaGFwZU91dHNpZGUpLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gU0NPUEUgKyAi
P2ltZ19zZXQ9YmFja2dyb3VuZEltYWdlIjsKLSAgICB2YXIgdGVzdF9jb3VudCA9IDI7CiAgICAg
dmFyIGV4cGVjdGVkX3Jlc3VsdHMgPSB7fTsKICAgICB2YXIgd29ya2VyOwogICAgIHZhciBmcmFt
ZTsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQs
IHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rl
cih0LCBTQ1JJUFQsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7
CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0
dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7
CisKICAgICAgICAgICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKICAgICAgICAg
ICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAnYWN0aXZhdGVkJyk7CiAgICAgICAg
IH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsg
fSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICBmLnJlbW92ZSgpOzsKKyAgICAgICAgICAgIH0pOwog
ICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAgICAgICByZXR1cm4gY3JlYXRlX21lc3NhZ2VfcHJv
bWlzZSh0LCBleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3b3JrZXIsIHRlc3RfY291bnQsIHNjb3BlKTsKKyAgICAgICAgICBy
ZXR1cm4gd2FpdEZvcldvcmtlcih3b3JrZXIpOwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICBjc3NfaW1hZ2Vfc2V0X3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywg
ZnJhbWUsIExPQ0FMX1VSTCArIERhdGUubm93KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAnYmFja2dyb3VuZEltYWdlJywgJ25vLWNvcnMnLCAnaW5jbHVkZScpOwotICAgICAgICAgY3Nz
X2ltYWdlX3NldF90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBSRU1PVEVfVVJMICsgRGF0
ZS5ub3coKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kSW1hZ2UnLCAn
bm8tY29ycycsICdpbmNsdWRlJyk7Ci0gICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9y
ZWplY3Rpb24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oY2hhbm5lbCkgeworICAgICAgICAg
IGNzc19pbWFnZV9zZXRfdGVzdChleHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwgTE9DQUxfVVJMICsg
RGF0ZS5ub3coKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZEltYWdl
JywgJ25vLWNvcnMnLCAnaW5jbHVkZScpOworICAgICAgICAgIGNzc19pbWFnZV9zZXRfdGVzdChl
eHBlY3RlZF9yZXN1bHRzLCBmcmFtZSwgUkVNT1RFX1VSTCArIERhdGUubm93KCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ2JhY2tncm91bmRJbWFnZScsICduby1jb3JzJywgJ2luY2x1
ZGUnKTsKKworICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAgICAgICAgICAgIGNy
ZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBz
Y29wZSksCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhw
ZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSkKKyAgICAgICAgICAgIF0pOworICAgICAgfSk7
CiAgIH0sICdWZXJpZnkgRmV0Y2hFdmVudCBmb3IgY3NzIGltYWdlLXNldCAoYmFja2dyb3VuZElt
YWdlKS4nKTsKIAotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rp
b24odCkgewogICAgIHZhciBzY29wZSA9IFNDT1BFICsgIj9pbWdfc2V0PXNoYXBlT3V0c2lkZSI7
Ci0gICAgdmFyIHRlc3RfY291bnQgPSAyOwogICAgIHZhciBleHBlY3RlZF9yZXN1bHRzID0ge307
CiAgICAgdmFyIHdvcmtlcjsKICAgICB2YXIgZnJhbWU7Ci0gICAgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSkKKyAgICByZXR1cm4gc2Vydmlj
ZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSkKICAgICAg
IC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgd29ya2VyID0gcmVn
aXN0cmF0aW9uLmluc3RhbGxpbmc7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQs
IHdvcmtlciwgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihm
KSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
Zi5yZW1vdmUoKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICAgIGZyYW1lID0gZjsKLSAgICAg
ICAgICByZXR1cm4gY3JlYXRlX21lc3NhZ2VfcHJvbWlzZSh0LCBleHBlY3RlZF9yZXN1bHRzLCBm
cmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXIsIHRl
c3RfY291bnQsIHNjb3BlKTsKKyAgICAgICAgICByZXR1cm4gd2FpdEZvcldvcmtlcih3b3JrZXIp
OwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICBjc3NfaW1h
Z2Vfc2V0X3Rlc3QoZXhwZWN0ZWRfcmVzdWx0cywgZnJhbWUsIExPQ0FMX1VSTCArIERhdGUubm93
KCksCisgICAgICAudGhlbihmdW5jdGlvbihjaGFubmVsKSB7CisgICAgICAgICAgY3NzX2ltYWdl
X3NldF90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBMT0NBTF9VUkwgKyBEYXRlLm5vdygp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhcGVPdXRzaWRlJywgJ2NvcnMnLCAn
c2FtZS1vcmlnaW4nKTsKKyAgICAgICAgICBjc3NfaW1hZ2Vfc2V0X3Rlc3QoZXhwZWN0ZWRfcmVz
dWx0cywgZnJhbWUsIFJFTU9URV9VUkwgKyBEYXRlLm5vdygpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdzaGFwZU91dHNpZGUnLCAnY29ycycsICdzYW1lLW9yaWdpbicpOwotICAgICAg
ICAgY3NzX2ltYWdlX3NldF90ZXN0KGV4cGVjdGVkX3Jlc3VsdHMsIGZyYW1lLCBSRU1PVEVfVVJM
ICsgRGF0ZS5ub3coKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGFwZU91dHNpZGUn
LCAnY29ycycsICdzYW1lLW9yaWdpbicpOwotICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNo
ZWRfcmVqZWN0aW9uKHQpKTsKKworICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbCisgICAg
ICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2UoY2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0
cywgd29ya2VyLCBzY29wZSksCisgICAgICAgICAgICAgIGNyZWF0ZV9tZXNzYWdlX3Byb21pc2Uo
Y2hhbm5lbCwgZXhwZWN0ZWRfcmVzdWx0cywgd29ya2VyLCBzY29wZSkKKyAgICAgICAgICAgIF0p
OworICAgICAgICB9KTsKICAgfSwgJ1ZlcmlmeSBGZXRjaEV2ZW50IGZvciBjc3MgaW1hZ2Utc2V0
IChzaGFwZU91dHNpZGUpLicpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLXJlcXVlc3QtaHRtbC1pbXBvcnRzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtaHRtbC1pbXBvcnRzLmh0dHBzLWV4cGVjdGVk
LnR4dAppbmRleCA5YmIxNDJhZDQxMDg0YTY2YTYxNDZhNjUwZWUzYjkzYWU1ZmQxMmJiLi45NmQ5
MWQ5NTQ1NjNkYTkwNDgzY2U5OTUyMWFkMDU0YmM0NDU0YmNlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFZlcmlmeSB0aGUgRmV0Y2hFdmVu
dCBmb3IgSFRNTEltcG9ydHMgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246
IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzYW1lLmdldEVsZW1lbnRC
eUlkJykgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFZlcmlmeSB0aGUgRmV0Y2hFdmVu
dCBmb3IgSFRNTEltcG9ydHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZh
bHVhdGluZyAnc2FtZS5nZXRFbGVtZW50QnlJZCcpIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMuaHR0cHMuaHRtbAppbmRleCBiMmY1
NmRhOWYwMTcyNGFhMGJhMDQ0NTM4Y2M3NzMxNjIwYWI3ZjkxLi43YTM5ZmE4NTI4NGFkZGViOGI4
ZDExNDRlZmRhNzRiZGZhMDEzNGZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlcXVlc3QtaHRtbC1pbXBvcnRzLmh0dHBzLmh0bWwKQEAgLTUsMTIgKzUsMTYgQEAK
IDxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
ewogICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1odG1sLWltcG9ydHMt
aWZyYW1lLmh0bWwnOwogICAgIHZhciBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qt
aHRtbC1pbXBvcnRzLXdvcmtlci5qcyc7CiAgICAgdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2lu
Zm8oKTsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJ
UFQsIFNDT1BFKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdp
c3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9u
KSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
cmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NPUEUpOworICAgICAgICAgICAg
fSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9u
KCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUpOyB9KQpAQCAtNTYsOSArNjAsNiBAQCBhc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgJ21vZGU9Y29ycyBjcmVkZW50aWFs
cz1zYW1lLW9yaWdpbicsCiAgICAgICAgICAgICAgICdUaGUgcmVxdWVzdCBtb2RlIGFuZCBjcmVk
ZW50aWFscyBmb3Igb3RoZXIgb3JpZ2luIEhUTUxJbXBvcnQgJyArCiAgICAgICAgICAgICAgICdm
cm9tIG90aGVyIG9yaWdpbiBIVE1MSW1wb3J0IG11c3QgYmUgc2V0IGNvcnJlY3RseS4nKTsKLQot
ICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwot
ICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAg
ICB9KTsKICAgfSwgJ1ZlcmlmeSB0aGUgRmV0Y2hFdmVudCBmb3IgSFRNTEltcG9ydHMnKTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1uby1m
cmVzaG5lc3MtaGVhZGVycy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCBjNTljNTYwNzAyNjEwNWY0ZWM1YWU2NjU1ZmM0YmU3OWUyODI0Mjg3Li40YmY1MmM5MmI4NDY3
MTVhZDAwN2I1MDQ5NDQ4NzAzYTJjYjg5MmE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJz
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUaGUgaGVhZGVycyBv
ZiBGZXRjaEV2ZW50IHNob3VsZG4ndCBjb250YWluIGZyZXNobmVzcyBoZWFkZXJzLiAKK0ZBSUwg
VGhlIGhlYWRlcnMgb2YgRmV0Y2hFdmVudCBzaG91bGRuJ3QgY29udGFpbiBmcmVzaG5lc3MgaGVh
ZGVycy4gYXNzZXJ0X2ZhbHNlOiBpZi1ub25lLW1hdGNoIGhlYWRlciBtdXN0IG5vdCBiZSBzZXQg
aW4gdGhlIEZldGNoRXZlbnQncyByZXF1ZXN0LiAodXJsID0gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qt
bm8tZnJlc2huZXNzLWhlYWRlcnMtc2NyaXB0LnB5KSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVz
cy1oZWFkZXJzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LW5v
LWZyZXNobmVzcy1oZWFkZXJzLmh0dHBzLmh0bWwKaW5kZXggODI5YjBjZjI1OTRiNTg5MjlhZDI1
ZDA0ZTU5MDA2NjRiYjkyZDExZS4uMDNiN2QzNTc2MTBhOTA0ZWQyNjRiNjkxMDU0YjYwMjVmN2Zh
MjQxNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1uby1mcmVz
aG5lc3MtaGVhZGVycy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJl
cXVlc3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMuaHR0cHMuaHRtbApAQCAtNCwxMiArNCwxNiBAQAog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3Nj
cmlwdD4KIDxzY3JpcHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LW5v
LWZyZXNobmVzcy1oZWFkZXJzLWlmcmFtZS5odG1sJzsKICAgICB2YXIgU0NSSVBUID0gJ3Jlc291
cmNlcy9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXdvcmtlci5qcyc7CiAgICAg
dmFyIHdvcmtlcjsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
LCBTQ1JJUFQsIFNDT1BFKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2Fu
ZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0
cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgU0NPUEUpOworICAgICAg
ICAgICAgfSk7CisKICAgICAgICAgICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsK
ICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgd29ya2VyLCAnYWN0aXZhdGVkJyk7
CiAgICAgICAgIH0pCkBAIC0zOCwxNiArNDIsMTQgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgICAgICAgICAnaWYtbm9uZS1tYXRjaCc6IHRydWUsCiAgICAgICAgICAgICAnaWYtbW9k
aWZpZWQtc2luY2UnOiB0cnVlCiAgICAgICAgICAgfTsKLSAgICAgICAgICBtc2cuZGF0YS5yZXF1
ZXN0cy5mb3JFYWNoKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlcXVlc3QpIHsKLSAgICAgICAgICAg
ICAgcmVxdWVzdC5oZWFkZXJzLmZvckVhY2godC5zdGVwX2Z1bmMoZnVuY3Rpb24oaGVhZGVyKSB7
CisgICAgICAgICAgbXNnLmRhdGEucmVxdWVzdHMuZm9yRWFjaChmdW5jdGlvbihyZXF1ZXN0KSB7
CisgICAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGhlYWRlcikg
ewogICAgICAgICAgICAgICAgICAgYXNzZXJ0X2ZhbHNlKAogICAgICAgICAgICAgICAgICAgICAg
ICEhZnJlc2huZXNzX2hlYWRlcnNbaGVhZGVyWzBdXSwKICAgICAgICAgICAgICAgICAgICAgICBo
ZWFkZXJbMF0gKyAnIGhlYWRlciBtdXN0IG5vdCBiZSBzZXQgaW4gdGhlICcgKwogICAgICAgICAg
ICAgICAgICAgICAgICdGZXRjaEV2ZW50XCdzIHJlcXVlc3QuICh1cmwgPSAnICsgcmVxdWVzdC51
cmwgKyAnKScpOwotICAgICAgICAgICAgICAgIH0pKTsKLSAgICAgICAgICAgIH0pKQotICAgICAg
ICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwotICAgICAg
ICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgfSkKKyAgICAgICAgfSk7CiAgIH0sICdUaGUgaGVhZGVycyBv
ZiBGZXRjaEV2ZW50IHNob3VsZG5cJ3QgY29udGFpbiBmcmVzaG5lc3MgaGVhZGVycy4nKTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1yZXNv
dXJjZXMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtcmVzb3Vy
Y2VzLmh0dHBzLmh0bWwKaW5kZXggYjA2NDBlYzk4NWI4YzQwZGZlNmQzYzJiMzJiYzU4YzY5MDRk
NWRkOC4uNTA0MjFiNDBmYmI2OTgwM2YyNzcwYjAxNTlkZTg3MDZkZDJmZTMzOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1yZXNvdXJjZXMuaHR0cHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXJlc291cmNlcy5odHRwcy5odG1s
CkBAIC0xMSw5ICsxMSw4IEBAIHZhciBleHBlY3RlZF9yZXN1bHRzID0ge307CiBmdW5jdGlvbiBh
ZGRfcHJvbWlzZV90b190ZXN0KHVybCkKIHsKICAgdmFyIGV4cGVjdGVkID0gZXhwZWN0ZWRfcmVz
dWx0c1t1cmxdOwotICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKICAgICBleHBlY3RlZC5yZXNvbHZl
ID0gcmVzb2x2ZTsKLSAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgidGVzdCB0aW1lIG91dCIp
LCA1MDAwKTsKICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNDNlMGNlZDA2YmJiMTQzZDk5ZDA0OTI3MjcyYWJjOWM4NDlhNDBm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHIt
c3luYy1vbi13b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IFZlcmlmeSBTeW5jWEhSIG9uIFdvcmtlciBpcyBpbnRlcmNlcHRlZCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHItc3luYy1vbi13b3JrZXIuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2Vy
Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYxODA5NmFhMjliYjQ2MzVjZmVhZjBlYjlmYzM5Y2Zm
NWJjYzI0MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVl
c3QteGhyLXN5bmMtb24td29ya2VyLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IFN5bmNocm9ub3VzIFhIUiBvbiBXb3Jr
ZXIgaXMgaW50ZXJjZXB0ZWQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMu
c3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK3Byb21pc2VfdGVz
dCgodCkgPT4geworICAgIGNvbnN0IHVybCA9ICdyZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC14aHIt
c3luYy1vbi13b3JrZXItd29ya2VyLmpzJzsKKyAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMv
ZmV0Y2gtcmVxdWVzdC14aHItc3luYy1vbi13b3JrZXItc2NvcGUvJzsKKyAgICBjb25zdCBub25f
ZXhpc3RlbnRfZmlsZSA9ICdub24tZXhpc3RlbnQtZmlsZS50eHQnOworCisgICAgLy8gSW4gQ2hy
b21pdW0sIHRoZSBzZXJ2aWNlIHdvcmtlciBzY29wZSBtYXRjaGluZyBmb3Igd29ya2VycyBpcyBi
YXNlZCBvbgorICAgIC8vIHRoZSBVUkwgb2YgdGhlIHBhcmVudCBIVE1MLiBTbyB0aGlzIHRlc3Qg
Y3JlYXRlcyBhbiBpZnJhbWUgd2hpY2ggaXMKKyAgICAvLyBjb250cm9sbGVkIGJ5IHRoZSBzZXJ2
aWNlIHdvcmtlciBmaXJzdCwgYW5kIGNyZWF0ZXMgYSB3b3JrZXIgZnJvbSB0aGUKKyAgICAvLyBp
ZnJhbWUuCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVy
KHQsIHVybCwgc2NvcGUpCisgICAgICAudGhlbigocmVnaXN0cmF0aW9uKSA9PiB7CisgICAgICAg
ICAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHsgcmV0dXJuIHdpdGhf
aWZyYW1lKHNjb3BlICsgJ2lmcmFtZV9wYWdlJyk7IH0pCisgICAgICAudGhlbigoZnJhbWUpID0+
IHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgpKTsKKyAgICAg
ICAgICByZXR1cm4gZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtU3luY1hIUk9uV29ya2VyKG5v
bl9leGlzdGVudF9maWxlKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKChyZXN1bHQpID0+IHsK
KyAgICAgICAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgICAgICByZXN1bHQuc3RhdHVzLAor
ICAgICAgICAgICAgICAyMDAsCisgICAgICAgICAgICAgICdIVFRQIHJlc3BvbnNlIHN0YXR1cyBj
b2RlIGZvciBpbnRlcmNlcHRlZCByZXF1ZXN0JworICAgICAgICAgICAgKTsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKAorICAgICAgICAgICAgcmVzdWx0LnJlc3BvbnNlVGV4dCwKKyAgICAgICAg
ICAgICAgJ1Jlc3BvbnNlIGZyb20gc2VydmljZSB3b3JrZXInLAorICAgICAgICAgICAgICAnSFRU
UCByZXNwb25zZSB0ZXh0IGZvciBpbnRlcmNlcHRlZCByZXF1ZXN0JworICAgICAgICAgICAgKTsK
KyAgICAgICAgfSk7CisgIH0sICdWZXJpZnkgU3luY1hIUiBvbiBXb3JrZXIgaXMgaW50ZXJjZXB0
ZWQnKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVx
dWVzdC14aHItc3luYy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVz
dC14aHItc3luYy5odHRwcy5odG1sCmluZGV4IGYxZTRmZWNjMWIzNWJhMThiODljNTcxMGRlNWVm
ZDlmNmMxMTgzYzAuLmVjMjdmYjg5ODM0M2U3MGFiMjQ0ODY5ODMyMTJlZjZiNTc0NGNmMTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMuaHR0cHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXhoci1zeW5jLmh0dHBz
Lmh0bWwKQEAgLTE0LDcgKzE0LDcgQEAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICBy
ZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgdXJsLCBzY29w
ZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewogICAgICAgICAgIHQuYWRk
X2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lz
dGVyKCk7CisgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwog
ICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVn
aXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCBmZTBhYWIzYmU1MTEyYmNlMDE1MTI3NWU0NzFmN2Q4NGZjN2ZkYmExLi5iYTM2OWEzMTNjNjc1
ZTkxMTYwNGQzM2FjZWM2YTJkYjgwMWE4YTQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXNwb25zZS10YWludC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC05NCw5
ICs5NCw5IEBAIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91cmw9
aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGCiBQQVNTIHVybDoiaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Ut
d29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHklM0YmbW9kZT1uby1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVk
ZW50aWFsczoib21pdCIgc2hvdWxkIGZhaWwuIAogUEFTUyB1cmw6Imh0dHBzOi8vMTI3LjAuMC4x
Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtl
cnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5
JTNGJm1vZGU9bm8tY29ycyZjcmVkZW50aWFscz1vbWl0JiIgbW9kZToiY29ycyIgY3JlZGVudGlh
bHM6InNhbWUtb3JpZ2luIiBzaG91bGQgZmFpbC4gCiBQQVNTIHVybDoiaHR0cHM6Ly8xMjcuMC4w
LjE6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29y
a2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wu
cHklM0YmbW9kZT1uby1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVkZW50
aWFsczoiaW5jbHVkZSIgc2hvdWxkIGZhaWwuIAotUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2
aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1j
b250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1v
ZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoib21pdCIgc2hvdWxkIHN1Y2NlZWQuIAotUEFT
UyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUy
RjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJl
c291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNv
cnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoic2Ft
ZS1vcmlnaW4iIHNob3VsZCBzdWNjZWVkLiAKLVBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovL2xv
Y2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2Rl
OiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6ImluY2x1ZGUiIHNob3VsZCBzdWNjZWVkLiAKK0ZB
SUwgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4w
LjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMl
MkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRl
bnRpYWxzPW9taXQmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6Im9taXQiIHNob3Vs
ZCBmYWlsLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVk
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
QUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3Jp
Z2luIiBjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iIHNob3VsZCBmYWlsLiBhc3NlcnRfdW5yZWFj
aGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorRkFJTCB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUy
RjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJl
c291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNv
cnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoiaW5j
bHVkZSIgc2hvdWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGZldGNoaW5nIHVybDoi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0QqJm1vZGU9Y29ycyZjcmVkZW50aWFscz1v
bWl0JiIgbW9kZToibm8tY29ycyIgY3JlZGVudGlhbHM6Im9taXQiIHNob3VsZCBzdWNjZWVkLiAK
IFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0El
MkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIl
MkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9k
ZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJuby1jb3JzIiBjcmVkZW50aWFsczoic2Ft
ZS1vcmlnaW4iIHNob3VsZCBzdWNjZWVkLiAKIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovL2xv
Y2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2Vydmlj
ZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29u
dHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2Rl
OiJuby1jb3JzIiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIHN1Y2NlZWQuIApAQCAtMTEy
LDkgKzExMiw5IEBAIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91
cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGCiBQQVNTIGZldGNoaW5nIHVybDoi
aHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0QqJm1vZGU9Y29ycyZjcmVkZW50aWFscz1v
bWl0JiIgbW9kZToiY29ycyIgY3JlZGVudGlhbHM6Im9taXQiIHNob3VsZCBzdWNjZWVkLiAKIFBB
U1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9kZT1j
b3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVkZW50aWFsczoic2FtZS1vcmln
aW4iIHNob3VsZCBzdWNjZWVkLiAKIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAu
MTo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3Jz
IiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIHN1Y2NlZWQuIAotUEFTUyBmZXRjaGluZyB1
cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUz
QTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZl
dGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhv
c3QlM0E5NDQzJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1p
bmNsdWRlJiIgbW9kZToic2FtZS1vcmlnaW4iIGNyZWRlbnRpYWxzOiJvbWl0IiBzaG91bGQgc3Vj
Y2VlZC4gCi1QQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0
dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Ut
d29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4l
M0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUm
bW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVu
dGlhbHM6InNhbWUtb3JpZ2luIiBzaG91bGQgc3VjY2VlZC4gCi1QQVNTIGZldGNoaW5nIHVybDoi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0
MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gt
YWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUz
QTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1
ZGUmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6ImluY2x1ZGUiIHNob3VsZCBzdWNj
ZWVkLiAKK0ZBSUwgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYl
MkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZy
ZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0dHBzJTNB
JTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2RlPWNvcnMm
Y3JlZGVudGlhbHM9aW5jbHVkZSYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoib21p
dCIgc2hvdWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1
bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIHVybDoiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Ut
d29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRy
b2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FD
cmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJz
YW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIiBzaG91bGQgZmFpbC4gYXNzZXJ0
X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKK0ZBSUwgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMl
M0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3Jr
ZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0
dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2Rl
PWNvcnMmY3JlZGVudGlhbHM9aW5jbHVkZSYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFs
czoiaW5jbHVkZSIgc2hvdWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJl
amVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBQQVNTIGZldGNoaW5n
IHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4x
JTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJG
ZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2Fs
aG9zdCUzQTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxz
PWluY2x1ZGUmIiBtb2RlOiJuby1jb3JzIiBjcmVkZW50aWFsczoib21pdCIgc2hvdWxkIHN1Y2Nl
ZWQuIAogUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRw
cyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNE
aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJm1v
ZGU9Y29ycyZjcmVkZW50aWFscz1pbmNsdWRlJiIgbW9kZToibm8tY29ycyIgY3JlZGVudGlhbHM6
InNhbWUtb3JpZ2luIiBzaG91bGQgc3VjY2VlZC4gCiBQQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNl
cnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNz
LWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMl
MjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBt
b2RlOiJuby1jb3JzIiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIHN1Y2NlZWQuIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLmh0bWwKaW5k
ZXggYTZlN2Y5ODRlYTI0NDk5ZDU1NDAwNDhmYWVlNTc0MTcyYWE5ZWM0NC4uOGViZWUwYzA3Mzc0
YzM3Yjc0YmMxZmY3OWU2OTMyZDBkMTViMzVhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXNwb25zZS10YWludC5odHRwcy5odG1sCkBAIC0xOTMsNiArMTkzLDkgQEAgZm9y
X2VhY2hfb3JpZ2luX21vZGVfY3JlZGVudGlhbHMoZnVuY3Rpb24ob3JpZ2luLCBtb2RlLCBjcmVk
ZW50aWFscykgewogICAvLyBGZXRjaCB0byB0aGUgb3RoZXIgb3JpZ2luIHdpdGggc2FtZS1vcmln
aW4gbW9kZSBzaG91bGQgZmFpbC4KICAgaWYgKG9yaWdpbiA9PSBPVEhFUl9PUklHSU4gJiYgbW9k
ZSA9PSAnc2FtZS1vcmlnaW4nKSB7CiAgICAgbmdfdGVzdCh1cmwsIG1vZGUsIGNyZWRlbnRpYWxz
KTsKKyAgfSBlbHNlIGlmIChvcmlnaW4gPT0gQkFTRV9PUklHSU4gJiYgbW9kZSA9PSAnc2FtZS1v
cmlnaW4nKSB7CisgICAgLy8gQ29ycyB0eXBlIHJlc3BvbnNlIHRvIGEgc2FtZS1vcmlnaW4gbW9k
ZSByZXF1ZXN0IHNob3VsZCBmYWlsCisgICAgbmdfdGVzdCh1cmwsIG1vZGUsIGNyZWRlbnRpYWxz
KTsKICAgfSBlbHNlIHsKICAgICAvLyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgU1cgc2hvdWxkIGJl
IGNvcnMuCiAgICAgb2tfdGVzdCh1cmwsIG1vZGUsIGNyZWRlbnRpYWxzLCAnY29ycycsICd1bmRl
ZmluZWQnKTsKQEAgLTIwOCw2ICsyMTEsOSBAQCBmb3JfZWFjaF9vcmlnaW5fbW9kZV9jcmVkZW50
aWFscyhmdW5jdGlvbihvcmlnaW4sIG1vZGUsIGNyZWRlbnRpYWxzKSB7CiAgIC8vIEZldGNoIHRv
IHRoZSBvdGhlciBvcmlnaW4gd2l0aCBzYW1lLW9yaWdpbiBtb2RlIHNob3VsZCBmYWlsLgogICBp
ZiAob3JpZ2luID09IE9USEVSX09SSUdJTiAmJiBtb2RlID09ICdzYW1lLW9yaWdpbicpIHsKICAg
ICBuZ190ZXN0KHVybCwgbW9kZSwgY3JlZGVudGlhbHMpOworICB9IGVsc2UgaWYgKG9yaWdpbiA9
PSBCQVNFX09SSUdJTiAmJiBtb2RlID09ICdzYW1lLW9yaWdpbicpIHsKKyAgICAvLyBDb3JzIHR5
cGUgcmVzcG9uc2UgdG8gYSBzYW1lLW9yaWdpbiBtb2RlIHJlcXVlc3Qgc2hvdWxkIGZhaWwKKyAg
ICBuZ190ZXN0KHVybCwgbW9kZSwgY3JlZGVudGlhbHMpOwogICB9IGVsc2UgewogICAgIC8vIFRo
ZSByZXNwb25zZSBmcm9tIHRoZSBTVyBzaG91bGQgYmUgY29ycy4KICAgICBva190ZXN0KHVybCwg
bW9kZSwgY3JlZGVudGlhbHMsICdjb3JzJywgJ3VzZXJuYW1lMXMnKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXhoci5odHRwcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UteGhyLmh0dHBzLmh0bWwKaW5kZXggNzQxNzNlOGI5YmRj
Yzc3YzVmODU4MzJmODVhNWM0NDg1NmI3ODU2NS4uODkxZWIwMjk0MjJiN2JmMWNkNTc1MjcwY2Zh
NDYxNmJiODBkYTBiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9u
c2UteGhyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2Ut
eGhyLmh0dHBzLmh0bWwKQEAgLTUsNyArNSw3IEBACiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3Qt
aGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgU0NPUEUgPSAncmVzb3Vy
Y2VzL2ZldGNoLXJlc3BvbnNlLXhoci1pZnJhbWUuaHR0cHMuaHRtbCc7CiAgICAgdmFyIFNDUklQ
VCA9ICdyZXNvdXJjZXMvZmV0Y2gtcmVzcG9uc2UteGhyLXdvcmtlci5qcyc7CiAgICAgdmFyIGhv
c3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKQEAgLTE2LDggKzE2LDEyIEBAIGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgewogICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoJ0FDSycsIGhvc3RfaW5m
b1snSFRUUFNfT1JJR0lOJ10pOwogICAgIH0KIAotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCiAgICAgICAudGhl
bihmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0
LCBTQ09QRSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9z
dGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9
KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShTQ09QRSk7IH0p
CkBAIC0yNiwxOCArMzAsMjEgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAKICAgICAgICAg
ICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUo
KTsKLSAgICAgICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBT
Q09QRSk7CiAgICAgICAgICAgICB9KTsKIAogICAgICAgICAgIGNoYW5uZWwgPSBuZXcgTWVzc2Fn
ZUNoYW5uZWwoKTsKLSAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9m
dW5jKGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEucmVz
dWx0cywgJ2ZpbmlzaCcpOwotICAgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICB2YXIg
b25Qb3J0TXNnID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAg
ICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgICAgICAgICAgICB9KTsKKwog
ICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoJ1NUQVJUJywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJ
R0lOJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5l
bC5wb3J0Ml0pOworCisgICAgICAgICAgcmV0dXJuIG9uUG9ydE1zZzsKICAgICAgICAgfSkKLSAg
ICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgIC50aGVuKGZ1bmN0aW9u
KGUpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7
CisgICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHRoZSByZXNwb25zZSBvZiBGZXRjaEV2ZW50IHVz
aW5nIFhNTEh0dHBSZXF1ZXN0Jyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLXdhaXRzLWZvci1hY3RpdmF0ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtd2FpdHMtZm9yLWFjdGl2YXRlLmh0dHBzLmh0bWwKaW5kZXggMmM5ZDRhNTlk
YzE4ZGMxMjVhYmMyZjI3OWVmOGU2NTEwZGRiMzQ4My4uODg5YzVlYzdiYmI5MzY3NzE1MTE4Zjc4
YWU4MWE5OTQ4NTZhZDk5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtd2Fp
dHMtZm9yLWFjdGl2YXRlLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
d2FpdHMtZm9yLWFjdGl2YXRlLmh0dHBzLmh0bWwKQEAgLTEzLDExICsxMywxNSBAQCB2YXIgd29y
a2VyID0gJ3Jlc291cmNlcy9mZXRjaC13YWl0cy1mb3ItYWN0aXZhdGUtd29ya2VyLmpzJzsKIHZh
ciBleHBlY3RlZF91cmwgPSBub3JtYWxpemVVUkwod29ya2VyKTsKIHZhciBzY29wZSA9ICdyZXNv
dXJjZXMvZmV0Y2gtd2FpdHMtZm9yLWFjdGl2YXRlLyc7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgdmFyIHJlZ2lzdHJhdGlvbjsKICAg
dmFyIGZyYW1lTG9hZFByb21pc2U7CiAgIHZhciBmcmFtZTsKLSAgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyLCBzY29wZSkudGhlbihmdW5jdGlvbihyZWcp
IHsKKyAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdv
cmtlciwgc2NvcGUpLnRoZW4oZnVuY3Rpb24ocmVnKSB7CisgICAgdC5hZGRfY2xlYW51cChmdW5j
dGlvbigpIHsKKyAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3Bl
KTsKKyAgICB9KTsKKwogICAgIHJlZ2lzdHJhdGlvbiA9IHJlZzsKICAgICByZXR1cm4gd2FpdF9m
b3Jfc3RhdGUodCwgcmVnLmluc3RhbGxpbmcsICdhY3RpdmF0aW5nJyk7CiAgIH0pLnRoZW4oZnVu
Y3Rpb24oKSB7CkBAIC01NSw4ICs1OSw3IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAg
IGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLmFjdGl2ZS5zdGF0ZSwgJ2FjdGl2YXRlZCcsCiAg
ICAgICAgICAgICAgICAgICAnYWN0aXZlIHdvcmtlciBzaG91bGQgYmUgaW4gYWN0aXZhdGVkIHN0
YXRlJyk7CiAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICB9KS5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0
aW9uKHQpKTsKKyAgfSk7CiB9LCAnRmV0Y2ggZXZlbnRzIHNob3VsZCB3YWl0IGZvciB0aGUgYWN0
aXZhdGUgZXZlbnQgdG8gY29tcGxldGUuJyk7CiAKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZ2V0cmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9nZXRyZWdpc3RyYXRpb24uaHR0cHMuaHRtbAppbmRleCBjODZmZGE1MGQ1MmUyNzBjN2Y4
YTIxZjAzODkxZmE2MzJkMDJmZmI4Li43MmEyYzI1Mzc5Y2QwYzA0ZDYwNWE4ZDQyYmViZmQ3Y2I0
ZTVkNDRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRpb24uaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9nZXRyZWdpc3RyYXRpb24uaHR0cHMuaHRt
bApAQCAtMTQsMTIgKzE0LDE2IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgLmNh
dGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwogICB9LCAnZ2V0UmVnaXN0cmF0aW9uJyk7CiAK
LWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAg
ICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlL2dldHJlZ2lzdHJhdGlvbi9ub3JtYWwnOwog
ICAgIHZhciByZWdpc3RyYXRpb247Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
cmVnaXN0ZXIodCwgJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5q
cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj
b3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9u
ID0gcjsKICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0
cmF0aW9uKHNjb3BlKTsKICAgICAgICAgfSkKQEAgLTI3LDE4ICszMSwyMCBAQCBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKAogICAgICAgICAgICAgICB2
YWx1ZSwgcmVnaXN0cmF0aW9uLAogICAgICAgICAgICAgICAnZ2V0UmVnaXN0cmF0aW9uIHNob3Vs
ZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBvYmplY3QnKTsKLSAgICAgICAgICBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkK
LSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0s
ICdSZWdpc3RlciB0aGVuIGdldFJlZ2lzdHJhdGlvbicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291
cmNlcy9zY29wZS9nZXRyZWdpc3RyYXRpb24vdXJsLXdpdGgtZnJhZ21lbnQnOwogICAgIHZhciBk
b2N1bWVudFVSTCA9IHNjb3BlICsgJyNyZWYnOwogICAgIHZhciByZWdpc3RyYXRpb247Ci0gICAg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgJ3Jlc291cmNlcy9lbXB0
eS13b3JrZXIuanMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rl
cih0LCAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcycsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24o
cikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
IHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAg
IH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAgICByZXR1cm4gbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKGRvY3VtZW50VVJMKTsKICAgICAg
ICAgfSkKQEAgLTQ2LDkgKzUyLDcgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgICAgdmFsdWUsIHJlZ2lzdHJhdGlvbiwKICAg
ICAgICAgICAgICAgJ2dldFJlZ2lzdHJhdGlvbiBzaG91bGQgcmVzb2x2ZSB0byB0aGUgc2FtZSBy
ZWdpc3RyYXRpb24gb2JqZWN0Jyk7Ci0gICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cl9hbmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVk
X3JlamVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnUmVnaXN0ZXIgdGhlbiBnZXRSZWdp
c3RyYXRpb24gd2l0aCBhIFVSTCBoYXZpbmcgYSBmcmFnbWVudCcpOwogCiBhc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMt
cmVkaXJlY3QtYW5kLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2h0dHAtdG8taHR0cHMtcmVkaXJlY3QtYW5kLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCAwMmE1YTZlZmE1ZDkzYjM5NWU4YmI0ZGJlMjlhOGUzOTI0MmZjOTUxLi44YjViNDZh
MjJhYTEwYjZmMTdkN2RlMTNkNTEwZDNiMDIxNDQzNWNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9odHRwLXRvLWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaHR0cC10by1odHRwcy1yZWRpcmVjdC1hbmQt
cmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiBQQVNTIHJlZ2lz
dGVyIG9uIGEgc2VjdXJlIHBhZ2UgYWZ0ZXIgcmVkaXJlY3QgZnJvbSBhbiBub24tc2VjdXJlIHVy
bCAKLUZBSUwgcmVnaXN0ZXIgb24gYSBub24tc2VjdXJlIHBhZ2UgYWZ0ZXIgcmVkaXJlY3QgZnJv
bSBhbiBub24tc2VjdXJlIHVybCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiRkFJTDogU2VjdXJp
dHlFcnJvciIgYnV0IGdvdCAiT0siCitGQUlMIHJlZ2lzdGVyIG9uIGEgbm9uLXNlY3VyZSBwYWdl
IGFmdGVyIHJlZGlyZWN0IGZyb20gYW4gbm9uLXNlY3VyZSB1cmwgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgIkZBSUw6IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlzIHVuZGVmaW5lZCIgYnV0IGdv
dCAiT0siCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0cHMtcmVk
aXJlY3QtYW5kLXJlZ2lzdGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9odHRwLXRv
LWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci5odHRwcy5odG1sCmluZGV4IGQxYzY2NzhmYWE5
YWQwMjE3NjcxMzJmNmI2ZDRlMDlmNTU3ZjUzOGQuLjU2MjYyMzdkY2NjYmYyNzkwMjljYTA3MmI4
YTBiYzllODQ1ZmJiMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2h0dHAtdG8taHR0
cHMtcmVkaXJlY3QtYW5kLXJlZ2lzdGVyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvaHR0cC10by1odHRwcy1yZWRpcmVjdC1hbmQtcmVnaXN0ZXIuaHR0cHMuaHRtbApAQCAtNDIs
NyArNDIsNyBAQCBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogCiAgICAgcmV0dXJuIHJlZGly
ZWN0X2FuZF9yZWdpc3Rlcih0YXJnZXRfdXJsKQogICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKLSAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ0ZBSUw6IFNlY3VyaXR5RXJyb3InKTsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ0ZBSUw6IG5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyIGlzIHVuZGVmaW5lZCcpOwogICAgICAgICB9KTsKICAgfSwgJ3JlZ2lzdGVyIG9uIGEgbm9u
LXNlY3VyZSBwYWdlIGFmdGVyIHJlZGlyZWN0IGZyb20gYW4gbm9uLXNlY3VyZSB1cmwnKTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3Jp
cHRzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUt
c2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQyZTUwNzJjNjRmZGY3OTU0
MTAyY2JlNjhjNTRiODRiMTVmNWMwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiB0ZXN0Q2FzZXMKKworRkFJTCBUZXN0cyBmb3IgbW9kdWxlIGltcG9ydDogU2Vy
dmljZVdvcmtlciBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogdGVzdENhc2Vz
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2NyaXB0cy5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2JjYThkZTY0ZjViYzk2NjQ5MTFiZDFjNWRjODgzNTY3NjgxYWZi
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1tb2R1bGUtc2Ny
aXB0cy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBtb2R1bGUgaW1wb3J0OiBTZXJ2aWNl
V29ya2VyPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3dvcmtlcnMvbW9kdWxlcy9yZXNvdXJjZXMvaW1wb3J0LXRl
c3QtY2FzZXMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorZnVuY3Rpb24gaW1wb3J0
X3Rlc3QodGVzdENhc2UpIHsKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0
IG1zZ1Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAgfSk7CisgICAgYXdhaXQgc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCB0ZXN0Q2FzZS5zY3JpcHRVUkwpOworICAgIHQuYWRk
X2NsZWFudXAoKCkgPT4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCB0ZXN0Q2FzZS5zY3Jp
cHRVUkwpKTsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5yZWdpc3RlcigKKyAgICAgIHRlc3RDYXNlLnNjcmlwdFVSTCwKKyAgICAgIHsgc2Nv
cGU6IHRlc3RDYXNlLnNjcmlwdFVSTCwgdHlwZTogJ21vZHVsZScgfSk7CisgICAgcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcucG9zdE1lc3NhZ2UoCisgICAgICAnU2VuZCBtZXNzYWdlIGZvciB0ZXN0
cyBmcm9tIG1haW4gc2NyaXB0LicpOworICAgIGNvbnN0IG1zZ0V2ZW50ID0gYXdhaXQgbXNnUHJv
bWlzZTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKG1zZ0V2ZW50LmRhdGEsIHRlc3RDYXNlLmV4
cGVjdGF0aW9uKTsKKyAgfSwgdGVzdENhc2UuZGVzY3JpcHRpb24pOworfQorCit0ZXN0Q2FzZXMu
Zm9yRWFjaChpbXBvcnRfdGVzdCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtbWltZS10eXBlcy5odHRwcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2IxY2UzNDA0MTU0NDBkMWQwMDQzZWEyYzIyMmMxZGY3
YWVlMTk1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3Jp
cHRzLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKKworUEFT
UyBHbG9iYWwgc2V0dXAgCitQQVNTIEZldGNoIGltcG9ydFNjcmlwdHMgdGVzdHMgZnJvbSBzZXJ2
aWNlIHdvcmtlciAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIG5vIE1JTUUgdHlwZSAgCitQ
QVNTIEltcG9ydGluZyBzY3JpcHQgd2l0aCBiYWQgTUlNRSB0eXBlIHRleHQvcGxhaW4gCitQQVNT
IEltcG9ydGluZyBzY3JpcHQgd2l0aCB2YWxpZCBKYXZhU2NyaXB0IE1JTUUgdHlwZSBhcHBsaWNh
dGlvbi9lY21hc2NyaXB0IAorUEFTUyBJbXBvcnRpbmcgc2NyaXB0IHdpdGggdmFsaWQgSmF2YVNj
cmlwdCBNSU1FIHR5cGUgYXBwbGljYXRpb24vamF2YXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNj
cmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIGFwcGxpY2F0aW9uL3gtZWNtYXNj
cmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0
eXBlIGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRo
IHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvZWNtYXNjcmlwdCAKK1BBU1MgSW1wb3J0
aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlw
dCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBl
IHRleHQvamF2YXNjcmlwdDEuMCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEph
dmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuMSAKK1BBU1MgSW1wb3J0aW5nIHNj
cmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuMiAK
K1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRl
eHQvamF2YXNjcmlwdDEuMyAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFT
Y3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuNCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlw
dCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQvamF2YXNjcmlwdDEuNSAKK1BB
U1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQv
anNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlN
RSB0eXBlIHRleHQvbGl2ZXNjcmlwdCAKK1BBU1MgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlk
IEphdmFTY3JpcHQgTUlNRSB0eXBlIHRleHQveC1lY21hc2NyaXB0IAorUEFTUyBJbXBvcnRpbmcg
c2NyaXB0IHdpdGggdmFsaWQgSmF2YVNjcmlwdCBNSU1FIHR5cGUgdGV4dC94LWphdmFzY3JpcHQg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlw
ZXMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlw
ZXMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjc5ODMxZDBmMmI5OGFlZTIyODk4ZDgyMDM3M2U4
MDA3OWZiZTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LXNj
cmlwdHMtbWltZS10eXBlcy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3RzIGZvciBpbXBvcnRTY3Jp
cHRzOiBNSU1FIHR5cGVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisvKioKKyAqIFRlc3QgdGhhdCBhIFNl
cnZpY2UgV29ya2VyJ3MgaW1wb3J0U2NyaXB0KCkgb25seSBhY2NlcHRzIHZhbGlkIE1JTUUgdHlw
ZXMuCisgKi8KK2xldCBzZXJ2aWNlV29ya2VyID0gbnVsbDsKKworcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtbWltZS10
eXBlcyc7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKHQsCisgICAgJ3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1taW1l
LXR5cGVzLXdvcmtlci5qcycsIHNjb3BlKTsKKworICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygo
KSA9PiB7IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7IH0pOworCisgIGF3YWl0IHdhaXRfZm9y
X3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgc2Vy
dmljZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7Cit9LCAnR2xvYmFsIHNldHVwJyk7CisK
K3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgYXdhaXQgZmV0Y2hfdGVzdHNfZnJvbV93b3Jr
ZXIoc2VydmljZVdvcmtlcik7Cit9LCAnRmV0Y2ggaW1wb3J0U2NyaXB0cyB0ZXN0cyBmcm9tIHNl
cnZpY2Ugd29ya2VyJykKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggYjgyOWZlYzQwNzI5MzRmMjcxNDU2MTM2MzllNTVkZTdjMjU4NjM2ZS4u
NmMyYWRiYzc1MTE1NGUxYTg0NDJlOTUxNTY1Mzc2YjRiNGRmYjRhYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWcu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsNiBAQAogUEFTUyBpbml0aWFsaXplIGdsb2Jh
bCBzdGF0ZSAKIFBBU1MgaW1wb3J0IHNjcmlwdCBwcmV2aW91c2x5IGltcG9ydGVkIGF0IHdvcmtl
ciBldmFsdWF0aW9uIHRpbWUgCiBQQVNTIGltcG9ydCBzY3JpcHQgcHJldmlvdXNseSBpbXBvcnRl
ZCBhdCB3b3JrZXIgaW5zdGFsbCB0aW1lIAotRkFJTCBpbXBvcnQgc2NyaXB0IG5vdCBwcmV2aW91
c2x5IGltcG9ydGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJUeXBlRXJyb3Ii
IGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorRkFJTCBpbXBvcnQgc2NyaXB0IG5vdCBwcmV2aW91c2x5
IGltcG9ydGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJOZXR3b3JrRXJyb3Ii
IGJ1dCBnb3QgKG9iamVjdCkgbnVsbAogUEFTUyBUZXN0cyBmb3IgaW1wb3J0U2NyaXB0czogaW1w
b3J0IHNjcmlwdHMgdXBkYXRlZCBmbGFnIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ltcG9ydC1zY3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy5odG1sCmluZGV4IDUwNjgyN2Y4
OWQ1ZmZkNTVlODQ3OTUwZDNlMzFlOTIyNDU2ZTZkZDcuLjA5YjQ0OTZhYTBlYzFkMjhiOWUxMDFh
NmJhOGE0MWEzMWI2NTQ1NDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1z
Y3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lt
cG9ydC1zY3JpcHRzLXVwZGF0ZWQtZmxhZy5odHRwcy5odG1sCkBAIC03NSw3ICs3NSw3IEBAIHBy
b21pc2VfdGVzdCh0ID0+IHsKICAgICAgICAgICByZXR1cm4gcG9zdF9hbmRfd2FpdF9mb3JfcmVw
bHkod29ya2VyLCAnbWVzc2FnZScpOwogICAgICAgICB9KQogICAgICAgLnRoZW4ocmVzdWx0ID0+
IHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdC5lcnJvciwgJ1R5cGVFcnJvcicpOwor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LmVycm9yLCAnTmV0d29ya0Vycm9yJyk7CiAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQudmFsdWUsIG51bGwpOwogICAgICAgICB9KTsK
ICAgfSwgJ2ltcG9ydCBzY3JpcHQgbm90IHByZXZpb3VzbHkgaW1wb3J0ZWQnKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2luc3RhbGxpbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvaW5zdGFsbGluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNmUxMWUw
ZTI2OGUxMDU5YTAxN2I4MjllYjhlMTc3NTNlN2NjM2FkYy4uNDU3MDI5M2ZhNmQ4ZjMzYTRlMzE5
NTZlOTJmNzQwNTg0NjE0MmQzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW5zdGFs
bGluZy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW5zdGFsbGlu
Zy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw0IEBACiAKIFBBU1MgaW5zdGFsbGluZyBp
cyBzZXQgCitQQVNTIFRoZSBTZXJ2aWNlV29ya2VyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBpbnN0
YWxsaW5nIGF0dHJpYnV0ZSBnZXR0ZXIgdGhhdCByZXByZXNlbnQgdGhlIHNhbWUgc2VydmljZSB3
b3JrZXIgYXJlIHRoZSBzYW1lIG9iamVjdHMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2luc3RhbGxpbmcuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2luc3RhbGxpbmcu
aHR0cHMuaHRtbAppbmRleCA1N2Q4NzgxMTE5MjEyNDU0YzI3YTJhMjI2YzNkNmJjYjZiMDY3MDYy
Li4wZjI1N2I2YWJhNGYzZDY1ODAyZTdkN2Y4YTc1MDNkNmM2YWVkZDQyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9pbnN0YWxsaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvaW5zdGFsbGluZy5odHRwcy5odG1sCkBAIC01LDMzICs1LDQ0IEBACiA8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2Ny
aXB0PgorCitjb25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Citjb25z
dCBTQ09QRSA9ICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7CisKIC8vICJpbnN0YWxsaW5nIiBpcyBz
ZXQKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzdGVwID0gdC5zdGVwX2Z1bmMu
YmluZCh0KTsKLSAgICB2YXIgdXJsID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOwotICAg
IHZhciBzY29wZSA9ICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7Ci0gICAgdmFyIGZyYW1lOworcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4gewogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0
LCBzY29wZSkKLSAgICAudGhlbihzdGVwKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUo
c2NvcGUpOyB9KSkKLSAgICAudGhlbihzdGVwKGZ1bmN0aW9uKGYpIHsKLSAgICAgICAgZnJhbWUg
PSBmOwotICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIodXJs
LCB7c2NvcGU6IHNjb3BlfSk7Ci0gICAgfSkpCi0gICAgLnRoZW4oc3RlcChmdW5jdGlvbihyZWdp
c3RyYXRpb24pIHsKLSAgICAgICAgdmFyIGNvbnRhaW5lciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXI7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoY29udGFpbmVy
LmNvbnRyb2xsZXIsIG51bGwpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5h
Y3RpdmUsIG51bGwpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi53YWl0aW5n
LCBudWxsKTsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24uaW5zdGFsbGluZy5z
Y3JpcHRVUkwsIG5vcm1hbGl6ZVVSTCh1cmwpKTsKKyAgdC5hZGRfY2xlYW51cChhc3luYygpID0+
IHsKKyAgICBpZiAoZnJhbWUpCisgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICBpZiAocmVnaXN0
cmF0aW9uKQorICAgICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgfSk7CiAK
LSAgICAgICAgLy8gRklYTUU6IEFkZCBhIHRlc3QgZm9yIGEgZnJhbWUgY3JlYXRlZCBhZnRlciBp
bnN0YWxsYXRpb24uCi0gICAgICAgIC8vIFNob3VsZCB0aGUgZXhpc3RpbmcgZnJhbWUgKCJmcmFt
ZSIpIGJsb2NrIGFjdGl2YXRpb24/Ci0gICAgfSkpCi0gICAgLnRoZW4oc3RlcChmdW5jdGlvbigp
IHsKLSAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICB9KSkKLSAgICAuY2F0Y2godW5y
ZWFjaGVkX3JlamVjdGlvbih0KSk7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIo
dCwgU0NPUEUpOworICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKFNDT1BFKTsKKyAg
Y29uc3QgcmVnaXN0cmF0aW9uID0KKyAgICAgIGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
LnJlZ2lzdGVyKFNDUklQVCwge3Njb3BlOiBTQ09QRX0pOworICBjb25zdCBjb250YWluZXIgPSBm
cmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyOworICBhc3NlcnRfZXF1
YWxzKGNvbnRhaW5lci5jb250cm9sbGVyLCBudWxsLCAnY29udHJvbGxlcicpOworICBhc3NlcnRf
ZXF1YWxzKHJlZ2lzdHJhdGlvbi5hY3RpdmUsIG51bGwsICdyZWdpc3RyYXRpb24uYWN0aXZlJyk7
CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRpbmcsIG51bGwsICdyZWdpc3RyYXRp
b24ud2FpdGluZycpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLnNj
cmlwdFVSTCwgbm9ybWFsaXplVVJMKFNDUklQVCksCisgICAgICAgICAgICAgICAgJ3JlZ2lzdHJh
dGlvbi5pbnN0YWxsaW5nLnNjcmlwdFVSTCcpOworICAvLyBGSVhNRTogQWRkIGEgdGVzdCBmb3Ig
YSBmcmFtZSBjcmVhdGVkIGFmdGVyIGluc3RhbGxhdGlvbi4KKyAgLy8gU2hvdWxkIHRoZSBleGlz
dGluZyBmcmFtZSAoImZyYW1lIikgYmxvY2sgYWN0aXZhdGlvbj8KIH0sICdpbnN0YWxsaW5nIGlz
IHNldCcpOworCisvLyBUZXN0cyB0aGF0IFRoZSBTZXJ2aWNlV29ya2VyIG9iamVjdHMgcmV0dXJu
ZWQgZnJvbSBpbnN0YWxsaW5nIGF0dHJpYnV0ZSBnZXR0ZXIKKy8vIHRoYXQgcmVwcmVzZW50IHRo
ZSBzYW1lIHNlcnZpY2Ugd29ya2VyIGFyZSB0aGUgc2FtZSBvYmplY3RzLgorcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICBjb25zdCByZWdpc3RyYXRpb24xID0KKyAgICAgIGF3YWl0IHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpOworICBj
b25zdCByZWdpc3RyYXRpb24yID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuZ2V0UmVn
aXN0cmF0aW9uKFNDT1BFKTsKKyAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24xLmluc3RhbGxp
bmcsIHJlZ2lzdHJhdGlvbjIuaW5zdGFsbGluZywKKyAgICAgICAgICAgICAgICAnU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nIHNob3VsZCByZXR1cm4gdGhlICcgKworICAgICAg
ICAgICAgICAgICdzYW1lIG9iamVjdCcpOworICBhd2FpdCByZWdpc3RyYXRpb24xLnVucmVnaXN0
ZXIoKTsKK30sICdUaGUgU2VydmljZVdvcmtlciBvYmplY3RzIHJldHVybmVkIGZyb20gaW5zdGFs
bGluZyBhdHRyaWJ1dGUgZ2V0dGVyIHRoYXQgJyArCisgICAncmVwcmVzZW50IHRoZSBzYW1lIHNl
cnZpY2Ugd29ya2VyIGFyZSB0aGUgc2FtZSBvYmplY3RzJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludGVyZmFjZXMtc3cuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvaW50ZXJmYWNlcy1zdy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZDQxMGQwNGU1YWM2OTFlYmU1MDVhNTAzYjJlN2Q0NzBjOTRhYTBmOC4uNTRlYTY3MmJkNzUyMGZi
MzIxNDE2ZTM1YTE4MGJhYzI2NzA0ZTk0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
aW50ZXJmYWNlcy1zdy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
aW50ZXJmYWNlcy1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw0MSBAQCBQQVNTIElu
dGVyZmFjZXMgYW5kIGF0dHJpYnV0ZXMgaW4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlCiBQQVNT
IHRlc3Qgc2V0dXAgKGNhY2hlIGNyZWF0aW9uKSAKIFBBU1MgRXZlbnQgY29uc3RydWN0b3JzIAog
UEFTUyB4aHIgaXMgbm90IGV4cG9zZWQgCitGQUlMIFVSTC5jcmVhdGVPYmplY3RVUkwgaXMgbm90
IGV4cG9zZWQgYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBTZXJ2
aWNlV29ya2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCitQQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBTZXJ2aWNlV29y
a2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IAorUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKK1BBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMg
cHJvcGVydHkgCitQQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2NyaXB0
VVJMIAorUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZTogYXR0cmlidXRlIHN0YXRlIAorUEFT
UyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHBvc3RNZXNzYWdlKGFueSwgW29i
amVjdCBPYmplY3RdKSAKK1BBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnN0YXRlY2hhbmdlIAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5zdGFsbGluZyAK
K1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB3YWl0
aW5nIAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRl
IGFjdGl2ZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBzY29wZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSB1cGRhdGVWaWFDYWNoZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBp
bnRlcmZhY2U6IG9wZXJhdGlvbiB1cGRhdGUoKSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bnJlZ2lzdGVyKCkgCitQQVNTIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251cGRhdGVmb3VuZCAKK1BBU1Mg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIHNl
bGYucmVnaXN0cmF0aW9uIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc2VsZi5yZWdpc3RyYXRp
b24gCitQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJlZ2lz
dHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImluc3RhbGxpbmciIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogc2VsZi5y
ZWdpc3RyYXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3YWl0aW5nIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNlbGYu
cmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0aXZlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNlbGYu
cmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2NvcGUiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogc2VsZi5y
ZWdpc3RyYXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cGRhdGVWaWFDYWNoZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNl
OiBzZWxmLnJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVwZGF0ZSgpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZh
Y2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5yZWdpc3Rlcigp
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBp
bnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib251cGRh
dGVmb3VuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAogUEFTUyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggCiBQQVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CkBAIC00Niw5ICs4MSw5IEBAIFBBU1MgQ2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CiBQQVNTIENsaWVudCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENsaWVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIENsaWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1
cmwgCitQQVNTIENsaWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmcmFtZVR5cGUgCiBQQVNTIENs
aWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpZCAKIFBBU1MgQ2xpZW50IGludGVyZmFjZTogYXR0
cmlidXRlIHR5cGUgCi1GQUlMIENsaWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZXNlcnZlZCBh
c3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgInJl
c2VydmVkIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBDbGllbnQgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcG9zdE1lc3NhZ2UoYW55LCBbb2JqZWN0IE9iamVjdF0pIAogUEFTUyBXaW5kb3dD
bGllbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKIFBBU1MgV2luZG93Q2xpZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIApAQCAtODAs
NjcgKzExNSw2IEBAIFBBU1MgQ2xpZW50cyBpbnRlcmZhY2U6IGNhbGxpbmcgbWF0Y2hBbGwoQ2xp
ZW50UXVlcnlPcHRpb25zKSBvbiBzZWxmLmNsaWVudHMgd2l0CiBQQVNTIENsaWVudHMgaW50ZXJm
YWNlOiBzZWxmLmNsaWVudHMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvcGVuV2luZG93KFVTVlN0
cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDbGllbnRzIGludGVyZmFjZTogY2Fs
bGluZyBvcGVuV2luZG93KFVTVlN0cmluZykgb24gc2VsZi5jbGllbnRzIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIENsaWVudHMgaW50ZXJmYWNlOiBz
ZWxmLmNsaWVudHMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjbGFpbSgpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAotUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZSBvYmplY3QgbmFt
ZSAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBTZXJ2aWNlV29ya2VyIGludGVyZmFj
ZTogYXR0cmlidXRlIHNjcmlwdFVSTCAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBzdGF0ZSAKLVBBU1MgU2VydmljZVdvcmtlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBw
b3N0TWVzc2FnZShhbnksIFtvYmplY3QgT2JqZWN0XSkgCi1QQVNTIFNlcnZpY2VXb3JrZXIgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25zdGF0ZWNoYW5nZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZSBvYmplY3Qg
bGVuZ3RoIAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLVBBU1MgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
Ci1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGluc3RhbGxpbmcgCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgd2FpdGluZyAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBhY3RpdmUgCi1GQUlMIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmF2aWdhdGlvblByZWxvYWQgYXNzZXJ0X3RydWU6IFRo
ZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJuYXZpZ2F0aW9uUHJlbG9h
ZCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
biBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzY29wZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB1cGRhdGVWaWFDYWNoZSAKLVBBU1MgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cGRhdGUoKSAKLVBBU1MgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bnJlZ2lzdGVyKCkg
Ci1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251
cGRhdGVmb3VuZCAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBtdXN0IGJlIHByaW1h
cnkgaW50ZXJmYWNlIG9mIHNlbGYucmVnaXN0cmF0aW9uIAotUEFTUyBTdHJpbmdpZmljYXRpb24g
b2Ygc2VsZi5yZWdpc3RyYXRpb24gCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50
ZXJmYWNlOiBzZWxmLnJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImluc3RhbGxp
bmciIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
IGludGVyZmFjZTogc2VsZi5yZWdpc3RyYXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3YWl0
aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
biBpbnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0
aXZlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
biBpbnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmF2
aWdhdGlvblByZWxvYWQiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgIm5hdmlnYXRpb25QcmVsb2FkIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1Q
QVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJlZ2lzdHJhdGlv
biBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNjb3BlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0aW9u
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBkYXRlVmlhQ2FjaGUiIHdpdGggdGhlIHByb3BlciB0
eXBlIAotUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogc2VsZi5yZWdp
c3RyYXRpb24gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1cGRhdGUoKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBzZWxmLnJl
Z2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVucmVnaXN0ZXIoKSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCi1QQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBz
ZWxmLnJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udXBkYXRlZm91bmQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHNlbGYucmVn
aXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lcihET01TdHJp
bmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFk
ZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0s
W29iamVjdCBPYmplY3RdKSBvbiBzZWxmLnJlZ2lzdHJhdGlvbiB3aXRoIHRvbyBmZXcgYXJndW1l
bnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHNl
bGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5l
cihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVj
dF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBj
YWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2Jq
ZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBzZWxmLnJlZ2lzdHJhdGlvbiB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAotUEFTUyBFdmVudFRhcmdldCBp
bnRlcmZhY2U6IHNlbGYucmVnaXN0cmF0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGlzcGF0
Y2hFdmVudChFdmVudCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBFdmVudFRhcmdldCBp
bnRlcmZhY2U6IGNhbGxpbmcgZGlzcGF0Y2hFdmVudChFdmVudCkgb24gc2VsZi5yZWdpc3RyYXRp
b24gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZl
bnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1QQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAot
UEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRFdmVudExpc3RlbmVyKERP
TVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkg
Ci1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmpl
Y3RdKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzcGF0Y2hFdmVu
dChFdmVudCkgCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFu
YWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2lu
ZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2
aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxv
YWRNYW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAi
TmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2Fk
TWFuYWdlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5
ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxv
YWRNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9h
ZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1p
c3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJO
YXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRN
YW5hZ2VyIGludGVyZmFjZTogb3BlcmF0aW9uIGVuYWJsZSgpIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdl
ciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwot
RkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzYWJs
ZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
Ik5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25Q
cmVsb2FkTWFuYWdlciIgbWlzc2luZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50
ZXJmYWNlOiBvcGVyYXRpb24gc2V0SGVhZGVyVmFsdWUoQnl0ZVN0cmluZykgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxv
YWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBt
aXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IG9wZXJhdGlv
biBnZXRTdGF0ZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5h
dmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwogUEFTUyBDYWNoZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBDYWNoZSBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ2FjaGUgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IApAQCAtMTc2LDE1ICsxNTAsMTUgQEAgUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlIG9iamVj
dCBuYW1lCiBQQVNTIENhY2hlU3RvcmFnZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ2FjaGVTdG9yYWdlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLVBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFj
ZTogb3BlcmF0aW9uIG1hdGNoKFJlcXVlc3RJbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucykgCitQQVNT
IENhY2hlU3RvcmFnZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBtYXRjaChSZXF1ZXN0SW5mbywgTXVs
dGlDYWNoZVF1ZXJ5T3B0aW9ucykgCiBQQVNTIENhY2hlU3RvcmFnZSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBoYXMoRE9NU3RyaW5nKSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3BlcmF0
aW9uIG9wZW4oRE9NU3RyaW5nKSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3BlcmF0
aW9uIGRlbGV0ZShET01TdHJpbmcpIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBvcGVy
YXRpb24ga2V5cygpIAogUEFTUyBDYWNoZVN0b3JhZ2UgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFj
ZSBvZiBzZWxmLmNhY2hlcyAKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIHNlbGYuY2FjaGVzIAot
UEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBzZWxmLmNhY2hlcyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm1hdGNoKFJlcXVlc3RJbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucykiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAotUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIG1hdGNoKFJl
cXVlc3RJbmZvLCBDYWNoZVF1ZXJ5T3B0aW9ucykgb24gc2VsZi5jYWNoZXMgd2l0aCB0b28gZmV3
IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgQ2FjaGVTdG9yYWdlIGludGVy
ZmFjZTogc2VsZi5jYWNoZXMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtYXRjaChSZXF1ZXN0SW5m
bywgTXVsdGlDYWNoZVF1ZXJ5T3B0aW9ucykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBD
YWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBjYWxsaW5nIG1hdGNoKFJlcXVlc3RJbmZvLCBNdWx0aUNh
Y2hlUXVlcnlPcHRpb25zKSBvbiBzZWxmLmNhY2hlcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBzZWxmLmNh
Y2hlcyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImhhcyhET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogY2FsbGluZyBoYXMoRE9NU3Ry
aW5nKSBvbiBzZWxmLmNhY2hlcyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAogUEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBzZWxmLmNhY2hlcyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9wZW4oRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbnRlcmZhY2VzLXdpbmRvdy5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbnRlcmZhY2VzLXdpbmRvdy5odHRwcy1leHBl
Y3RlZC50eHQKaW5kZXggNDRkZjAyNWQyNzk2NTE2NzJlNzViZWFlY2JmYmMwZmNlODU4ZDdhOS4u
MDBhMjI4YzExMTk0Yzc4OGMwMzMwMWQwZGJiNGQ1ODgxMDQ4ZWJkYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvaW50ZXJmYWNlcy13aW5kb3cuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ludGVyZmFjZXMtd2luZG93Lmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMSwxMSArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNDgyOiBjYWxsYmFjayBub3Qg
eWV0IHN1cHBvcnRlZAorCiAKIFBBU1MgdGVzdCBzZXR1cCAod29ya2VyIHJlZ2lzdHJhdGlvbikg
Ci1QQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAot
UEFTUyBDbGllbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKLVBBU1MgV2luZG93Q2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIENsaWVudHMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK0ZBSUwgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIgaXMgbm90IGF2YWlsYWJsZSBpbiBhIGRhdGE6IGlmcmFtZSBhc3Nl
cnRfZmFsc2U6IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIHNob3VsZCBub3QgYmUgZGVmaW5lZCBp
biBpZnJhbWUgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKIFBBU1MgU2VydmljZVdvcmtlciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFT
UyBTZXJ2aWNlV29ya2VyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBTZXJ2aWNlV29y
a2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTIzLDEyICsxOSw2IEBAIFBBU1MgU2Vydmlj
ZVdvcmtlciBpbnRlcmZhY2U6IHdpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZS5pbnN0YWxsaW5n
IG11c3QgaW5oZXJpCiBQQVNTIFNlcnZpY2VXb3JrZXIgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0
cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInBvc3RNZXNz
YWdlKGFueSwgW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFNl
cnZpY2VXb3JrZXIgaW50ZXJmYWNlOiBjYWxsaW5nIHBvc3RNZXNzYWdlKGFueSwgW29iamVjdCBP
YmplY3RdKSBvbiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBTZXJ2aWNlV29ya2Vy
IGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlLmluc3RhbGxpbmcgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbnN0YXRlY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5z
dGFsbGluZyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5n
LCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBhZGRF
dmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtv
YmplY3QgT2JqZWN0XSkgb24gd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlLmluc3RhbGxpbmcg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBFdmVu
dExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVFdmVu
dExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmpl
Y3QgT2JqZWN0XSkgb24gd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlLmluc3RhbGxpbmcgd2l0
aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJn
ZXQgaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImRpc3BhdGNoRXZlbnQoRXZlbnQpIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGRpc3BhdGNoRXZlbnQo
RXZlbnQpIG9uIHdpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZS5pbnN0YWxsaW5nIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAKIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgCkBAIC0zOCw3ICsyOCw2IEBAIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
biBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UKIFBBU1Mg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpbnN0YWxsaW5n
IAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHdh
aXRpbmcgCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgYWN0aXZlIAotRkFJTCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIG5hdmlnYXRpb25QcmVsb2FkIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVj
dCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAibmF2aWdhdGlvblByZWxvYWQiIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgc2NvcGUgCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgdXBkYXRlVmlhQ2FjaGUgCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
aW50ZXJmYWNlOiBvcGVyYXRpb24gdXBkYXRlKCkgCkBAIC00OSwzNyArMzgsMTUgQEAgUEFTUyBT
dHJpbmdpZmljYXRpb24gb2Ygd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlCiBQQVNTIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlOiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFu
Y2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJpbnN0YWxsaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHdpbmRvdy5yZWdp
c3RyYXRpb25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIndhaXRpbmciIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTog
d2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYWN0aXZl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBp
bnRlcmZhY2U6IHdpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm5hdmlnYXRpb25QcmVsb2FkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJuYXZpZ2F0aW9uUHJlbG9hZCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBj
aGFpbgogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogd2luZG93LnJl
Z2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2NvcGUiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTog
d2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXBkYXRl
VmlhQ2FjaGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uIGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAidXBkYXRlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNl
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5yZWdpc3RlcigpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHdpbmRvdy5yZWdp
c3RyYXRpb25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udXBkYXRlZm91bmQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IHdpbmRvdy5y
ZWdpc3RyYXRpb25JbnN0YW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZEV2ZW50TGlzdGVu
ZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmpl
Y3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTog
Y2FsbGluZyBhZGRFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVj
dCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNl
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCi1QQVNTIEV2ZW50
VGFyZ2V0IGludGVyZmFjZTogd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAicmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIs
IFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
LVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92ZUV2ZW50TGlzdGVuZXIo
RE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3Rd
KSBvbiB3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2Ugd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiB3aW5kb3cu
cmVnaXN0cmF0aW9uSW5zdGFuY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50
KEV2ZW50KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZTogY2FsbGluZyBkaXNwYXRjaEV2ZW50KEV2ZW50KSBvbiB3aW5kb3cucmVnaXN0cmF0aW9uSW5z
dGFuY2Ugd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKLVBBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCi1Q
QVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBBU1MgRXZlbnRUYXJnZXQg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
IAotUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRFdmVudExpc3RlbmVy
KERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0
XSkgCi1QQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZUV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSAKLVBBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlzcGF0Y2hF
dmVudChFdmVudCkgCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2Fk
TWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlz
c2luZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
TmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblBy
ZWxvYWRNYW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0
eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVs
b2FkTWFuYWdlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3Bl
cnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblBy
ZWxvYWRNYW5hZ2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJl
bG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIi
IG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIGV4cGVjdGVkIHByb3BlcnR5
ICJOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIiIG1pc3NpbmcKLUZBSUwgTmF2aWdhdGlvblByZWxv
YWRNYW5hZ2VyIGludGVyZmFjZTogb3BlcmF0aW9uIGVuYWJsZSgpIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFu
YWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2lu
ZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGlz
YWJsZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkgIk5hdmlnYXRp
b25QcmVsb2FkTWFuYWdlciIgbWlzc2luZwotRkFJTCBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIg
aW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0SGVhZGVyVmFsdWUoQnl0ZVN0cmluZykgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTmF2aWdhdGlvblBy
ZWxvYWRNYW5hZ2VyIiBleHBlY3RlZCBwcm9wZXJ0eSAiTmF2aWdhdGlvblByZWxvYWRNYW5hZ2Vy
IiBtaXNzaW5nCi1GQUlMIE5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBnZXRTdGF0ZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIk5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgZXhwZWN0ZWQgcHJvcGVydHkg
Ik5hdmlnYXRpb25QcmVsb2FkTWFuYWdlciIgbWlzc2luZworUEFTUyBTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKK1BBU1MgQ2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFdpbmRvd0NsaWVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBDbGllbnRzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQ
QVNTIENhY2hlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCiBQQVNTIENhY2hlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBDYWNo
ZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC05OSw5ICs2NiwxMCBAQCBQQVNTIENhY2hlU3Rv
cmFnZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKIFBBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAog
UEFTUyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFT
UyBDYWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAotUEFTUyBD
YWNoZVN0b3JhZ2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gbWF0Y2goUmVxdWVzdEluZm8sIENhY2hl
UXVlcnlPcHRpb25zKSAKK1BBU1MgQ2FjaGVTdG9yYWdlIGludGVyZmFjZTogb3BlcmF0aW9uIG1h
dGNoKFJlcXVlc3RJbmZvLCBNdWx0aUNhY2hlUXVlcnlPcHRpb25zKSAKIFBBU1MgQ2FjaGVTdG9y
YWdlIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhET01TdHJpbmcpIAogUEFTUyBDYWNoZVN0b3Jh
Z2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gb3BlbihET01TdHJpbmcpIAogUEFTUyBDYWNoZVN0b3Jh
Z2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlKERPTVN0cmluZykgCiBQQVNTIENhY2hlU3Rv
cmFnZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBrZXlzKCkgCitQQVNTIFdvcmtlckdsb2JhbFNjb3Bl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludGVyZmFjZXMtd2luZG93Lmh0dHBz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbnRlcmZhY2VzLXdpbmRvdy5odHRwcy5odG1sCmlu
ZGV4IDcwOTdkZjA2MTYwNjFlNDg3MmNmMjNhYjA0Y2NmOTdiZjhmOWYwNzkuLjJjMTMxYjNjOTNh
NjAwYzY1YWJkNWQ2MTkzMzQzMjYyMTI2ZTgwOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ludGVyZmFjZXMtd2luZG93Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
aW50ZXJmYWNlcy13aW5kb3cuaHR0cHMuaHRtbApAQCAtNCwzNCArNCw2NyBAQAogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2lkbGhhcm5lc3MuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNl
cy9pbnRlcmZhY2VzLWlkbHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90
ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAndXNlIHN0cmljdCc7CiAK
LXZhciBpZGxBcnJheSA9IG5ldyBJZGxBcnJheSgpOwotaWRsQXJyYXkuYWRkX3VudGVzdGVkX2lk
bHMoaWRscy51bnRlc3RlZCk7Ci1pZGxBcnJheS5hZGRfaWRscyhpZGxzLnRlc3RlZCk7Ci1pZGxB
cnJheS5hZGRfb2JqZWN0cyh7Citwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKKyAgY29uc3Qg
c3JjcyA9IFsnZG9tJywgJ2h0bWwnLCAnc2VydmljZS13b3JrZXJzJywgJ2RlZGljYXRlZC13b3Jr
ZXJzJ107CisgIGNvbnN0IFtkb20sIGh0bWwsIHNlcnZpY2VXb3JrZXJJZGwsIGRlZGljYXRlZF0g
PSBhd2FpdCBQcm9taXNlLmFsbCgKKyAgICBzcmNzLm1hcChpID0+IGZldGNoKGAvaW50ZXJmYWNl
cy8ke2l9LmlkbGApLnRoZW4ociA9PiByLnRleHQoKSkpKTsKKworICB2YXIgaWRsQXJyYXkgPSBu
ZXcgSWRsQXJyYXkoKTsKKyAgaWRsQXJyYXkuYWRkX2lkbHMoc2VydmljZVdvcmtlcklkbCwgeyBv
bmx5OiBbCisgICAgJ1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZScsCisgICAgJ0NsaWVudCcsCisg
ICAgJ1dpbmRvd0NsaWVudCcsCisgICAgJ0NsaWVudHMnLAorICAgICdTZXJ2aWNlV29ya2VyJywK
KyAgICAnU2VydmljZVdvcmtlclN0YXRlJywKKyAgICAnU2VydmljZVdvcmtlclVwZGF0ZVZpYUNh
Y2hlJywKKyAgICAnU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbicsCisgICAgJ0V2ZW50VGFyZ2V0
JywKKyAgICAnTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyJywKKyAgICAnQ2FjaGUnLAorICAgICdD
YWNoZVN0b3JhZ2UnLAorICBdfSk7CisgIGlkbEFycmF5LmFkZF9kZXBlbmRlbmN5X2lkbHMoZGVk
aWNhdGVkKTsKKyAgaWRsQXJyYXkuYWRkX2RlcGVuZGVuY3lfaWRscyhkb20pOworICBpZGxBcnJh
eS5hZGRfZGVwZW5kZW5jeV9pZGxzKGh0bWwpOworICBpZGxBcnJheS5hZGRfb2JqZWN0cyh7CiAg
ICAgU2VydmljZVdvcmtlckNvbnRhaW5lcjogWyduYXZpZ2F0b3Iuc2VydmljZVdvcmtlciddCiAg
IH0pOworICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlL2ludGVyZmFjZXMtYW5kLWF0dHJp
YnV0ZXMnOwogCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBzY29wZSA9ICdy
ZXNvdXJjZXMvc2NvcGUvaW50ZXJmYWNlcy1hbmQtYXR0cmlidXRlcyc7CisgIHJldHVybiBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAgIHQsICdyZXNvdXJjZXMv
ZW1wdHktd29ya2VyLmpzJywgc2NvcGUpCisgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9u
KSB7CisgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICByZXR1
cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAgICAgICAgICB9KTsKIAotICAgIHJldHVy
biBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKLSAgICAgICAgdCwgJ3Jl
c291cmNlcy9lbXB0eS13b3JrZXIuanMnLCBzY29wZSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJl
Z2lzdHJhdGlvbikgewotICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgICAgICAgICB9KTsKKyAg
ICAgICAgd2luZG93LnJlZ2lzdHJhdGlvbkluc3RhbmNlID0gcmVnaXN0cmF0aW9uOworICAgICAg
ICBpZGxBcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOiBbJ3dpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZSddLAorICAgICAgICAgICAgU2Vy
dmljZVdvcmtlcjogWyd3aW5kb3cucmVnaXN0cmF0aW9uSW5zdGFuY2UuaW5zdGFsbGluZyddCisg
ICAgICAgICAgfSk7CisgICAgICAgIGlkbEFycmF5LnRlc3QoKTsKKyAgICAgIH0pOworfSwgJ3Rl
c3Qgc2V0dXAgKHdvcmtlciByZWdpc3RyYXRpb24pJyk7CiAKLSAgICAgICAgICB3aW5kb3cucmVn
aXN0cmF0aW9uSW5zdGFuY2UgPSByZWdpc3RyYXRpb247Ci0gICAgICAgICAgaWRsQXJyYXkuYWRk
X29iamVjdHMoewotICAgICAgICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOiBbJ3dp
bmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZSddLAotICAgICAgICAgICAgICBTZXJ2aWNlV29ya2Vy
OiBbJ3dpbmRvdy5yZWdpc3RyYXRpb25JbnN0YW5jZS5pbnN0YWxsaW5nJ10KLSAgICAgICAgICAg
IH0pOwotICAgICAgICAgIGlkbEFycmF5LnRlc3QoKTsKLSAgICAgICAgfSk7Ci0gIH0sICd0ZXN0
IHNldHVwICh3b3JrZXIgcmVnaXN0cmF0aW9uKScpOworcHJvbWlzZV90ZXN0KHQgPT4geworICBj
b25zdCB1cmwgPSBlbmNvZGVVUkkoYGRhdGE6dGV4dC9odG1sLDwhRE9DVFlQRSBodG1sPgorICA8
c2NyaXB0PgorICAgIHBhcmVudC5wb3N0TWVzc2FnZSh7IGlzRGVmaW5lZDogJ3NlcnZpY2VXb3Jr
ZXInIGluIG5hdmlnYXRvciB9LCAnKicpOworICA8L2AgKyBgc2NyaXB0PmApOworICB2YXIgcCA9
IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbWVzc2FnZScsIGV2ZW50ID0+IHsKKyAgICAgIHJlc29sdmUoZXZlbnQuZGF0YS5p
c0RlZmluZWQpOworICAgIH0pOworICB9KTsKKyAgd2l0aF9pZnJhbWUodXJsKTsKKyAgcmV0dXJu
IHAudGhlbihpc0RlZmluZWQgPT4geworICAgIGFzc2VydF9mYWxzZShpc0RlZmluZWQsICduYXZp
Z2F0b3Iuc2VydmljZVdvcmtlciBzaG91bGQgbm90IGJlIGRlZmluZWQgaW4gaWZyYW1lJyk7Cisg
IH0pOworfSwgJ25hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlzIG5vdCBhdmFpbGFibGUgaW4gYSBk
YXRhOiBpZnJhbWUnKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
aW52YWxpZC1ibG9idHlwZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW52YWxpZC1i
bG9idHlwZS5odHRwcy5odG1sCmluZGV4IGI5OTQ4NTljMWM2ZTMyZjNmYzJhODQzMGVmM2JkZWM4
MjM0MjkyMjIuLjFjNTkyMGZiMDM5MTAxYjE4ZmMzYzM5ZTUzZjdjYmI5YjVlMWViZmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtYmxvYnR5cGUuaHR0cHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9pbnZhbGlkLWJsb2J0eXBlLmh0dHBzLmh0bWwKQEAgLTUsMjYg
KzUsMzYgQEAKIDxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgewogICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvaW52YWxpZC1ibG9idHlwZS1p
ZnJhbWUuaHR0cHMuaHRtbCc7CiAgICAgdmFyIFNDUklQVCA9ICdyZXNvdXJjZXMvaW52YWxpZC1i
bG9idHlwZS13b3JrZXIuanMnOwogICAgIHZhciBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7
Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBT
Q09QRSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIo
dCwgU0NSSVBULCBTQ09QRSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewor
ICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVy
biBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgICAgICAgICAgIH0pOwor
CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxs
aW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsg
cmV0dXJuIHdpdGhfaWZyYW1lKFNDT1BFKTsgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1l
KSB7Ci0gICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAg
ICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsK
LSAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOwor
ICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgIGZyYW1l
LnJlbW92ZSgpOwotICAgICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9k
b25lKHQsIFNDT1BFKTsKICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgdmFyIGNoYW5uZWwg
PSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgICAgICAgICB2YXIgb25Nc2cgPSBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7CisgICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNz
YWdlID0gcmVzb2x2ZTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSh7fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOworICAgICAgICAgIHJldHVy
biBvbk1zZzsKICAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQp
KTsKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUu
ZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7CisgICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHRoZSBy
ZXNwb25zZSBvZiBGZXRjaEV2ZW50IHVzaW5nIFhNTEh0dHBSZXF1ZXN0Jyk7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtaGVhZGVyLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9pbnZhbGlkLWhlYWRlci5odHRwcy5odG1sCmluZGV4IDAyNTZh
M2E0YzE1ODJiZDUwNTIzZGI1NzUwYmIyNjU5YjgxNThhMWMuLjFiYzk3Njk3OTA0NmMxMjdhZDNk
MmY0MjgyY2UyOTdlOTk3YjkwM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFs
aWQtaGVhZGVyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW52YWxpZC1oZWFk
ZXIuaHR0cHMuaHRtbApAQCAtNSwyNiArNSwzNSBAQAogPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0
LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIFNDT1BFID0gJ3Jlc291
cmNlcy9pbnZhbGlkLWhlYWRlci1pZnJhbWUuaHR0cHMuaHRtbCc7CiAgICAgdmFyIFNDUklQVCA9
ICdyZXNvdXJjZXMvaW52YWxpZC1oZWFkZXItd29ya2VyLmpzJzsKICAgICB2YXIgaG9zdF9pbmZv
ID0gZ2V0X2hvc3RfaW5mbygpOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCiAgICAgICAudGhlbihmdW5jdGlv
bihyZWdpc3RyYXRpb24pIHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBTQ09QRSk7
CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCBy
ZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAg
LnRoZW4oZnVuY3Rpb24oKSB7IHJldHVybiB3aXRoX2lmcmFtZShTQ09QRSk7IH0pCiAgICAgICAu
dGhlbihmdW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3Nh
Z2VDaGFubmVsKCk7Ci0gICAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSB0LnN0ZXBf
ZnVuYyhmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLnJl
c3VsdHMsICdmaW5pc2gnKTsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICAgICAgc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09QRSk7CisgICAgICAgICAgICB9KTsKKworICAg
ICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgICAgICAgdmFy
IG9uTXNnID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAgICAgICBj
aGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgICAgICAgICAgICB9KTsKICAgICAg
ICAgICBmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKHt9LAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7
CisgICAgICAgICAgcmV0dXJuIG9uTXNnOwogICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVh
Y2hlZF9yZWplY3Rpb24odCkpOworICAgICAgLnRoZW4oZnVuY3Rpb24oZSkgeworICAgICAgICAg
IGFzc2VydF9lcXVhbHMoZS5kYXRhLnJlc3VsdHMsICdmaW5pc2gnKTsKKyAgICAgICAgfSk7CiAg
IH0sICdWZXJpZnkgdGhlIHJlc3BvbnNlIG9mIEZldGNoRXZlbnQgdXNpbmcgWE1MSHR0cFJlcXVl
c3QnKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaXNvLWxhdGlu
MS1oZWFkZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2lzby1sYXRpbjEtaGVhZGVy
Lmh0dHBzLmh0bWwKaW5kZXggYWQwYWI1OWM3NzU2ZTdkOWQwOGVmYjAzNTM2MjgwNDU2NTFhNTkw
Yy4uYzI3YTVmNDhhNWI5ZTkzODRhNWM5MTI5ZDAyODg3NjFiMGRmOWNkNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvaXNvLWxhdGluMS1oZWFkZXIuaHR0cHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pc28tbGF0aW4xLWhlYWRlci5odHRwcy5odG1sCkBAIC01LDEyICs1LDE2
IEBACiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdD4KLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKICAgICB2YXIgU0NPUEUgPSAncmVzb3VyY2VzL2lzby1sYXRpbjEtaGVhZGVyLWlmcmFt
ZS5odG1sJzsKICAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9pc28tbGF0aW4xLWhlYWRlci13
b3JrZXIuanMnOwogICAgIHZhciBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7Ci0gICAgc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSkKKyAg
ICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBU
LCBTQ09QRSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgeworICAgICAgICAg
IHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAg
ICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0
aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIHdp
dGhfaWZyYW1lKFNDT1BFKTsgfSkKQEAgLTE5LDE0ICsyMywxOCBAQCBhc3luY190ZXN0KGZ1bmN0
aW9uKHQpIHsKICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewogICAgICAgICAg
ICAgICBmcmFtZS5yZW1vdmUoKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAgIGNoYW5uZWwu
cG9ydDEub25tZXNzYWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7Ci0gICAgICAgICAgICAg
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOworCisgICAgICAg
ICAgdmFyIG9uTXNnID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAg
ICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgICAgICAgICAgICB9KTsK
KwogICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uoe30sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX09SSUdJ
TiddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoYW5uZWwu
cG9ydDJdKTsKKyAgICAgICAgICByZXR1cm4gb25Nc2c7CiAgICAgICAgIH0pCi0gICAgICAuY2F0
Y2godW5yZWFjaGVkX3JlamVjdGlvbih0KSk7CisgICAgICAudGhlbihmdW5jdGlvbihlKSB7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOworICAgICAg
ICB9KTsKICAgfSwgJ1ZlcmlmeSB0aGUgcmVzcG9uc2Ugb2YgRmV0Y2hFdmVudCB1c2luZyBYTUxI
dHRwUmVxdWVzdCcpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9s
b2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIzYzYxZTFmYjZkNGRkZTBjYWNhMDkxZmZlOGYwZDIzYTRkYjYxZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9sb2NhbC11cmwtaW5oZXJpdC1jb250
cm9sbGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFTUyBTYW1lLW9y
aWdpbiBibG9iIFVSTCBpZnJhbWUgc2hvdWxkIGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJv
bGxlci4gCitQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIGlmcmFtZSBzaG91bGQgaW50ZXJjZXB0
IGZldGNoKCkuIAorRkFJTCBTYW1lLW9yaWdpbiBibG9iIFVSTCB3b3JrZXIgc2hvdWxkIGluaGVy
aXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxlci4gYXNzZXJ0X2VxdWFsczogYmxvYiBVUkwgd29y
a2VyIHNob3VsZCBpbmhlcml0IGNvbnRyb2xsZXIgZXhwZWN0ZWQgKHN0cmluZykgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9s
b2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcyIgYnV0IGdvdCAob2JqZWN0KSBu
dWxsCitQQVNTIFNhbWUtb3JpZ2luIGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW50ZXJjZXB0IGZl
dGNoKCkuIAorRkFJTCBEYXRhIFVSTCBpZnJhbWUgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2go
KS4gYXNzZXJ0X2VxdWFsczogZGF0YSBVUkwgaWZyYW1lIHNob3VsZCBub3QgaW50ZXJjZXB0IGZl
dGNoIGV4cGVjdGVkICIiIGJ1dCBnb3QgImludGVyY2VwdGVkIgorRkFJTCBEYXRhIFVSTCB3b3Jr
ZXIgc2hvdWxkIG5vdCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlNlY3VyaXR5RXJy
b3I6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUuIgorRkFJTCBEYXRhIFVSTCB3b3JrZXIgc2hv
dWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiU2VjdXJpdHlFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBp
bnNlY3VyZS4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1pbmhl
cml0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2xvY2FsLXVybC1p
bmhlcml0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzAyYWJjYWRiYjE4OTU4
YWY0Y2I1ODFkNjI4NjY4NWY5MGI2MGM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRwcy5odG1sCkBAIC0wLDAgKzEs
MTE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogbG9jYWwgVVJM
IHdpbmRvd3MgYW5kIHdvcmtlcnMgaW5oZXJpdCBjb250cm9sbGVyPC90aXRsZT4KKzxtZXRhIG5h
bWU9dGltZW91dCBjb250ZW50PWxvbmc+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIu
anMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorCitjb25zdCBTQ1JJUFQgPSAncmVzb3Vy
Y2VzL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXItd29ya2VyLmpzJzsKK2NvbnN0IFNDT1BF
ID0gJ3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLWZyYW1lLmh0bWwnOwor
Cithc3luYyBmdW5jdGlvbiBkb0FzeW5jVGVzdCh0LCBvcHRzKSB7CisgIGxldCBuYW1lID0gYCR7
b3B0cy5zY2hlbWV9LSR7b3B0cy5jaGlsZH0tJHtvcHRzLmNoZWNrfWA7CisgIGxldCBzY29wZSA9
IFNDT1BFICsgJz9uYW1lPScgKyBuYW1lOworICBsZXQgcmVnID0gYXdhaXQgc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBzY29wZSk7CisgIGFkZF9jb21w
bGV0aW9uX2NhbGxiYWNrKF8gPT4gcmVnLnVucmVnaXN0ZXIoKSk7CisgIGF3YWl0IHdhaXRfZm9y
X3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgbGV0IGZyYW1lID0g
YXdhaXQgd2l0aF9pZnJhbWUoc2NvcGUpOworICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhfID0+
IGZyYW1lLnJlbW92ZSgpKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRv
dy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLCBudWxsLAorICAgICAgICAgICAg
ICAgICAgICAnZnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQnKTsKKworICBsZXQgcmVzdWx0ID0g
YXdhaXQgZnJhbWUuY29udGVudFdpbmRvdy5jaGVja0NoaWxkQ29udHJvbGxlcihvcHRzKTsKKyAg
cmVzdWx0ID0gcmVzdWx0LmRhdGE7CisKKyAgbGV0IGV4cGVjdCA9ICd1bmV4cGVjdGVkJzsKKyAg
aWYgKG9wdHMuY2hlY2sgPT09ICdjb250cm9sbGVyJykgeworICAgIGV4cGVjdCA9IG9wdHMuZXhw
ZWN0ID09PSAnaW5oZXJpdCcKKyAgICAgICAgICAgICAgID8gZnJhbWUuY29udGVudFdpbmRvdy5u
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnNjcmlwdFVSTAorICAgICAgICAgICAg
ICAgOiBudWxsOworICB9IGVsc2UgaWYgKG9wdHMuY2hlY2sgPT09ICdmZXRjaCcpIHsKKyAgICAv
LyBUaGUgc2VydmljZSB3b3JrZXIgRmV0Y2hFdmVudCBoYW5kbGVyIHdpbGwgcHJvdmlkZSBhbiAi
aW50ZXJjZXB0ZWQiCisgICAgLy8gYm9keS4gIElmIHRoZSBsb2NhbCBVUkwgZW5kcyB1cCB3aXRo
IGFuIG9wYXF1ZSBvcmlnaW4gYW5kIGlzIG5vdAorICAgIC8vIGludGVyY2VwdGVkIHRoZW4gaXQg
d2lsbCBnZXQgYW4gb3BhcXVlIFJlc3BvbnNlLiAgSW4gdGhhdCBjYXNlIGl0CisgICAgLy8gc2hv
dWxkIHNlZSBhbiBlbXB0eSBzdHJpbmcgYm9keS4KKyAgICBleHBlY3QgPSBvcHRzLmV4cGVjdCA9
PT0gJ2ludGVyY2VwdCcgPyAnaW50ZXJjZXB0ZWQnIDogJyc7CisgIH0KKworICBhc3NlcnRfZXF1
YWxzKHJlc3VsdCwgZXhwZWN0LAorICAgICAgICAgICAgICAgIGAke29wdHMuc2NoZW1lfSBVUkwg
JHtvcHRzLmNoaWxkfSBzaG91bGQgJHtvcHRzLmV4cGVjdH0gJHtvcHRzLmNoZWNrfWApOworfQor
Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICByZXR1cm4gZG9Bc3luY1Rlc3QodCwgewor
ICAgIHNjaGVtZTogJ2Jsb2InLAorICAgIGNoaWxkOiAnaWZyYW1lJywKKyAgICBjaGVjazogJ2Nv
bnRyb2xsZXInLAorICAgIGV4cGVjdDogJ2luaGVyaXQnLAorICB9KTsKK30sICdTYW1lLW9yaWdp
biBibG9iIFVSTCBpZnJhbWUgc2hvdWxkIGluaGVyaXQgc2VydmljZSB3b3JrZXIgY29udHJvbGxl
ci4nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIGRvQXN5bmNUZXN0
KHQsIHsKKyAgICBzY2hlbWU6ICdibG9iJywKKyAgICBjaGlsZDogJ2lmcmFtZScsCisgICAgY2hl
Y2s6ICdmZXRjaCcsCisgICAgZXhwZWN0OiAnaW50ZXJjZXB0JywKKyAgfSk7Cit9LCAnU2FtZS1v
cmlnaW4gYmxvYiBVUkwgaWZyYW1lIHNob3VsZCBpbnRlcmNlcHQgZmV0Y2goKS4nKTsKKworcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgcmV0dXJuIGRvQXN5bmNUZXN0KHQsIHsKKyAgICBz
Y2hlbWU6ICdibG9iJywKKyAgICBjaGlsZDogJ3dvcmtlcicsCisgICAgY2hlY2s6ICdjb250cm9s
bGVyJywKKyAgICBleHBlY3Q6ICdpbmhlcml0JywKKyAgfSk7Cit9LCAnU2FtZS1vcmlnaW4gYmxv
YiBVUkwgd29ya2VyIHNob3VsZCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIuJyk7
CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7
CisgICAgc2NoZW1lOiAnYmxvYicsCisgICAgY2hpbGQ6ICd3b3JrZXInLAorICAgIGNoZWNrOiAn
ZmV0Y2gnLAorICAgIGV4cGVjdDogJ2ludGVyY2VwdCcsCisgIH0pOworfSwgJ1NhbWUtb3JpZ2lu
IGJsb2IgVVJMIHdvcmtlciBzaG91bGQgaW50ZXJjZXB0IGZldGNoKCkuJyk7CisKK3Byb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7CisgICAgc2NoZW1l
OiAnZGF0YScsCisgICAgY2hpbGQ6ICdpZnJhbWUnLAorICAgIGNoZWNrOiAnZmV0Y2gnLAorICAg
IGV4cGVjdDogJ25vdCBpbnRlcmNlcHQnLAorICB9KTsKK30sICdEYXRhIFVSTCBpZnJhbWUgc2hv
dWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4nKTsKKworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgLy8gRGF0YSBVUkxzIHNob3VsZCByZXN1bHQgaW4gYW4gb3BhcXVlIG9yaWdpbiBhbmQg
c2hvdWxkIHByb2JhYmx5IG5vdAorICAvLyBoYXZlIGFjY2VzcyB0byBhIGNyb3NzLW9yaWdpbiBz
ZXJ2aWNlIHdvcmtlci4gIFNlZToKKyAgLy8KKyAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3czYy9T
ZXJ2aWNlV29ya2VyL2lzc3Vlcy8xMjYyCisgIC8vCisgIHJldHVybiBkb0FzeW5jVGVzdCh0LCB7
CisgICAgc2NoZW1lOiAnZGF0YScsCisgICAgY2hpbGQ6ICd3b3JrZXInLAorICAgIGNoZWNrOiAn
Y29udHJvbGxlcicsCisgICAgZXhwZWN0OiAnbm90IGluaGVyaXQnLAorICB9KTsKK30sICdEYXRh
IFVSTCB3b3JrZXIgc2hvdWxkIG5vdCBpbmhlcml0IHNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZXIu
Jyk7CisKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgIHJldHVybiBkb0FzeW5jVGVzdCh0
LCB7CisgICAgc2NoZW1lOiAnZGF0YScsCisgICAgY2hpbGQ6ICd3b3JrZXInLAorICAgIGNoZWNr
OiAnZmV0Y2gnLAorICAgIGV4cGVjdDogJ25vdCBpbnRlcmNlcHQnLAorICB9KTsKK30sICdEYXRh
IFVSTCB3b3JrZXIgc2hvdWxkIG5vdCBpbnRlcmNlcHQgZmV0Y2goKS4nKTsKKworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL2N1
cnJlbnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL2N1
cnJlbnQvdzNjLWltcG9ydC5sb2cKaW5kZXggOGRlMjU5NDg0ZDQxY2Q5YWRjZWI1MzU5ZThmYjYz
ZWQ5MmYyYWEwYi4uMzI4NzRjMTU2ZGNmZjFjNGYxZDlkM2RiMjBmZDgyMGU0Y2IwMWY5OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFscy9jdXJyZW50L3czYy1pbXBv
cnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvY3VycmVudC93M2Mt
aW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL2lu
Y3VtYmVudC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMv
aW5jdW1iZW50L3czYy1pbXBvcnQubG9nCmluZGV4IDI5YTE1NGRiNTA4MWMxOGUwMWZhNGExZWEz
NzMyYmY0ZWU5MDZmZDguLjJjNDhjNWI2YTA0MTgyODg0NGYwNmQ0YTJhZjczZWI1NDFkOWQyYzEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvaW5jdW1iZW50L3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvaW5jdW1i
ZW50L3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWds
b2JhbHMvcmVsZXZhbnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1n
bG9iYWxzL3JlbGV2YW50L3czYy1pbXBvcnQubG9nCmluZGV4IDEwN2ZjZWUzZGUxMTE5N2UyZDMw
MjMzMDM4MzNkYjkzMTg1NjU0ZDMuLjk2OTZmMzBmYzNiNTY0MmI4YjZjNGYxNjZhOGMxODkwZjA2
ZTAzMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvcmVsZXZh
bnQvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFscy9y
ZWxldmFudC93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0
aS1nbG9iYWxzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFs
cy93M2MtaW1wb3J0LmxvZwppbmRleCAzZDFiMmZiMjIwMmRjMDUzNTQ3YmU0MDJkMzE3MzMxOGYz
M2RjMzE1Li44NGI3NzdjODk5MjVlM2ZmMTc2ZmQxMDM5OTJjZmYyZWJjZTI5NTNkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL211bHRpLWdsb2JhbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGFydC1pbWFnZS5odHRwcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODQwMWIwYmUzNGU3OGY3YmY1ZmU0NDNjZDE5NWE5MmM1NGE2MGNlMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGFydC1pbWFnZS5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorQ09OU09MRSBNRVNTQUdFOiBUaGUgb3BlcmF0aW9u
IGNvdWxkbuKAmXQgYmUgY29tcGxldGVkLiAoIGVycm9yIDAuKQorQ09OU09MRSBNRVNTQUdFOiBD
YW5ub3QgbG9hZCAuCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKK1BBU1MgaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUgCitUSU1FT1VUIHNhbWUtb3JpZ2luIG11
bHRpcGFydCBpbWFnZSB2aWEgU1cgc2hvdWxkIGJlIHJlYWRhYmxlIFRlc3QgdGltZWQgb3V0CitO
T1RSVU4gY3Jvc3Mtb3JpZ2luIG11bHRpcGFydCBpbWFnZSB2aWEgU1cgd2l0aCBhcHByb3ZlZCBD
T1JTIHNob3VsZCBiZSByZWFkYWJsZSAKK05PVFJVTiBjcm9zcy1vcmlnaW4gbXVsdGlwYXJ0IGlt
YWdlIHdpdGggbm8tY29ycyB2aWEgU1cgc2hvdWxkIG5vdCBiZSByZWFkYWJsZSAKK05PVFJVTiBj
cm9zcy1vcmlnaW4gbXVsdGlwYXJ0IGltYWdlIHZpYSBTVyB3aXRoIHJlamVjdGVkIENPUlMgc2hv
dWxkIGZhaWwgdG8gbG9hZCAKK05PVFJVTiByZXN0b3JlIGdsb2JhbCBzdGF0ZSAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9tdWx0aXBhcnQtaW1hZ2UuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmRh
ZGZmMjFmYmJhYzg0ZTYxNTA3MjRhM2E5YmZkYjAzNWJlMzhmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdHMgZm9yIGNyb3NzLW9yaWdpbiBtdWx0
aXBhcnQgaW1hZ2UgcmV0dXJuZWQgYnkgc2VydmljZSB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKy8vIFRo
aXMgdGVzdHMgbG9hZGluZyBhIG11bHRpcGFydCBpbWFnZSB2aWEgc2VydmljZSB3b3JrZXIuIFRo
ZSBzZXJ2aWNlIHdvcmtlciByZXNwb25kcyB3aXRoCisvLyBhbiBvcGFxdWUgb3IgYSBub24tb3Bh
cXVlIHJlc3BvbnNlLiBUaGUgY29udGVudCBvZiBvcGFxdWUgcmVzcG9uc2Ugc2hvdWxkIG5vdCBi
ZSByZWFkYWJsZS4KKworY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2Ut
d29ya2VyLmpzJzsKK2NvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UtaWZy
YW1lLmh0bWwnOworbGV0IGZyYW1lOworCitmdW5jdGlvbiBjaGVja19pbWFnZV9kYXRhKGRhdGEp
IHsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGFbMF0sIDI1NSk7CisgICAgYXNzZXJ0X2VxdWFscyhk
YXRhWzFdLCAwKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGFbMl0sIDApOworICAgIGFzc2VydF9l
cXVhbHMoZGF0YVszXSwgMjU1KTsKK30KKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJldHVy
biBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3JpcHQsIHNjb3Bl
KQorICAgICAgLnRoZW4ocmVnaXN0cmF0aW9uID0+IHsKKyAgICAgICAgICBwcm9taXNlX3Rlc3Qo
KCkgPT4geworICAgICAgICAgICAgICBpZiAoZnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgIGZy
YW1lLnJlbW92ZSgpOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIHJldHVybiByZWdp
c3RyYXRpb24udW5yZWdpc3RlcigpOworICAgICAgICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0
YXRlJyk7CisKKyAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9u
Lmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+
IHdpdGhfaWZyYW1lKHNjb3BlKSkKKyAgICAgIC50aGVuKGYgPT4geworICAgICAgICAgIGZyYW1l
ID0gZjsKKyAgICAgIH0pOworICB9LCAnaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUnKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICAgIHJldHVybiBmcmFtZS5jb250ZW50V2luZG93LmxvYWRfbXVs
dGlwYXJ0X2ltYWdlKCdzYW1lLW9yaWdpbi1tdWx0aXBhcnQtaW1hZ2UnKQorICAgICAgLnRoZW4o
aW1nID0+IGZyYW1lLmNvbnRlbnRXaW5kb3cuZ2V0X2ltYWdlX2RhdGEoaW1nKSkKKyAgICAgIC50
aGVuKGltZ19kYXRhID0+IHsKKyAgICAgICAgICBjaGVja19pbWFnZV9kYXRhKGltZ19kYXRhLmRh
dGEpOworICAgICAgfSk7CisgIH0sICdzYW1lLW9yaWdpbiBtdWx0aXBhcnQgaW1hZ2UgdmlhIFNX
IHNob3VsZCBiZSByZWFkYWJsZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJu
IGZyYW1lLmNvbnRlbnRXaW5kb3cubG9hZF9tdWx0aXBhcnRfaW1hZ2UoJ2Nyb3NzLW9yaWdpbi1t
dWx0aXBhcnQtaW1hZ2Utd2l0aC1jb3JzLWFwcHJvdmVkJykKKyAgICAgIC50aGVuKGltZyA9PiBm
cmFtZS5jb250ZW50V2luZG93LmdldF9pbWFnZV9kYXRhKGltZykpCisgICAgICAudGhlbihpbWdf
ZGF0YSA9PiB7CisgICAgICAgICAgY2hlY2tfaW1hZ2VfZGF0YShpbWdfZGF0YS5kYXRhKTsKKyAg
ICAgIH0pOworICB9LCAnY3Jvc3Mtb3JpZ2luIG11bHRpcGFydCBpbWFnZSB2aWEgU1cgd2l0aCBh
cHByb3ZlZCBDT1JTIHNob3VsZCBiZSByZWFkYWJsZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgICAgcmV0dXJuIGZyYW1lLmNvbnRlbnRXaW5kb3cubG9hZF9tdWx0aXBhcnRfaW1hZ2UoJ2Ny
b3NzLW9yaWdpbi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1uby1jb3JzJykKKyAgICAgIC50aGVuKGlt
ZyA9PiB7CisgICAgICAgIGFzc2VydF90aHJvd3MoJ1NlY3VyaXR5RXJyb3InLCAoKSA9PiBmcmFt
ZS5jb250ZW50V2luZG93LmdldF9pbWFnZV9kYXRhKGltZykpOworICAgICAgfSk7CisgIH0sICdj
cm9zcy1vcmlnaW4gbXVsdGlwYXJ0IGltYWdlIHdpdGggbm8tY29ycyB2aWEgU1cgc2hvdWxkIG5v
dCBiZSByZWFkYWJsZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgY29uc3QgcHJvbWlz
ZSA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubG9hZF9tdWx0aXBhcnRfaW1hZ2UoJ2Nyb3NzLW9yaWdp
bi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1jb3JzLXJlamVjdGVkJyk7CisgICAgcmV0dXJuIHByb21p
c2VfcmVqZWN0cyh0LCBuZXcgRE9NRXhjZXB0aW9uKCdsb2FkIGZhaWxlZCcsICdOZXR3b3JrRXJy
b3InKSwgcHJvbWlzZSk7CisgIH0sICdjcm9zcy1vcmlnaW4gbXVsdGlwYXJ0IGltYWdlIHZpYSBT
VyB3aXRoIHJlamVjdGVkIENPUlMgc2hvdWxkIGZhaWwgdG8gbG9hZCcpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0ZS13aW5kb3cuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRlLXdpbmRvdy5odHRwcy5odG1sCmluZGV4IDNjODUz
M2E4MDAwNDcwMmZlZjJkYjc4MWVlYzU2MzdiM2ZmYmE4OTguLjQ2ZDMyYTQ4YTBhZDlkOThiM2Jj
ODgyYjU5ZTg5MjRlNDVlZTllYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmln
YXRlLXdpbmRvdy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRlLXdp
bmRvdy5odHRwcy5odG1sCkBAIC05NCw5ICs5NCw5IEBAIGZ1bmN0aW9uIHZhbGlkYXRlX3dpbmRv
dyh3aW4sIHVybCwgb3B0cykgewogICAgICAgICByZXN1bHRMaXN0LnNvcnQoY29tcGFyZV91cmxz
KTsKIAogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdExpc3QubGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV4cGVjdGVkW2ldLnVybCwgcmVzdWx0TGlzdFtp
XS51cmwsCisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRMaXN0W2ldLnVybCwgZXhwZWN0
ZWRbaV0udXJsLAogICAgICAgICAgICAgICAgICAgICAgICAgJ2NsaWVudCBzaG91bGQgaGF2ZSBl
eHBlY3RlZCB1cmwnKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV4cGVjdGVkW2ldLmZyYW1l
VHlwZSwgcmVzdWx0TGlzdFtpXS5mcmFtZVR5cGUsCisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXN1bHRMaXN0W2ldLmZyYW1lVHlwZSwgZXhwZWN0ZWRbaV0uZnJhbWVUeXBlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgJ2NsaWVudCBzaG91bGQgaGF2ZSBleHBlY3RlZCBmcmFtZSB0eXBlJyk7
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHdpbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9icm9rZW4tY2h1bmtlZC1lbmNvZGluZy5odHRwcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL2Jyb2tlbi1jaHVua2Vk
LWVuY29kaW5nLmh0dHBzLmh0bWwKaW5kZXggZjhiMDg4YTcwZGEyZWIwZDNiMzZlN2I5ZGFhODA0
MTMxYzBmOTgwNC4uZWM3NDI4MmFjMzMwYTM0YjY4ZDNlMDgyNDEyOGVjZDY3MDNlZDQzZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL2Jyb2tlbi1jaHVu
a2VkLWVuY29kaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlv
bi1wcmVsb2FkL2Jyb2tlbi1jaHVua2VkLWVuY29kaW5nLmh0dHBzLmh0bWwKQEAgLTE4LDggKzE4
LDI1IEBAIHByb21pc2VfdGVzdCh0ID0+IHsKICAgICAgIC50aGVuKGZyYW1lID0+IHsKICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKAogICAgICAgICAgICAgZnJhbWUuY29udGVudERvY3VtZW50LmJv
ZHkudGV4dENvbnRlbnQsCi0gICAgICAgICAgICAnRG9uZScpOworICAgICAgICAgICAgJ1BBU1M6
IHByZWxvYWRSZXNwb25zZSByZXNvbHZlZCcpOwogICAgICAgICB9KTsKLSAgfSwgJ05hdmlnYXRp
b24gUHJlbG9hZCB3aXRoIGJyb2tlbiBjaHVua2VkIGVuY29kaW5nIG11c3QgZmFpbC4nKTsKKyAg
fSwgJ0ZldGNoRXZlbnQjcHJlbG9hZFJlc3BvbnNlIHJlc29sdmVzIGV2ZW4gaWYgdGhlIGJvZHkg
aXMgc2VudCB3aXRoIGJyb2tlbiBjaHVua2VkIGVuY29kaW5nLicpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgICAgdmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvYnJva2VuLWNodW5rZWQtZW5jb2Rp
bmctd29ya2VyLmpzJzsKKyAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2NodW5rZWQtZW5jb2Rp
bmctc2NvcGUucHk/dXNlX2Jyb2tlbl9ib2R5JzsKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJf
dW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKKyAgICAgIC50aGVuKHJl
Z2lzdHJhdGlvbiA9PiB7CisgICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJhY2soXyA9PiBy
ZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgICAgICAgICB2YXIgd29ya2VyID0gcmVnaXN0
cmF0aW9uLmluc3RhbGxpbmc7CisgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHdv
cmtlciwgJ2FjdGl2YXRlZCcpOworICAgICAgICB9KQorICAgICAgLnRoZW4oXyA9PiB3aXRoX2lm
cmFtZShzY29wZSkpCisgICAgICAudGhlbihmcmFtZSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2Vx
dWFscygKKyAgICAgICAgICAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50
LAorICAgICAgICAgICAgJ1BBU1M6IHByZWxvYWRSZXNwb25zZSByZXNvbHZlZCcpOworICAgICAg
ICB9KTsKKyAgfSwgJ0ZldGNoRXZlbnQjcHJlbG9hZFJlc3BvbnNlIHJlc29sdmVzIGV2ZW4gaWYg
dGhlIGJvZHkgaXMgc2VudCB3aXRoIGJyb2tlbiBjaHVua2VkIGVuY29kaW5nIHdpdGggc29tZSBk
ZWxheXMnKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZp
Z2F0aW9uLXByZWxvYWQvbmF2aWdhdGlvblByZWxvYWQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9uYXZpZ2F0aW9uUHJlbG9hZC5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM5MmU1YzE0ZGM4YzdjYTdkNDBkZjQzOTZhMTAyZjM3OWUxZDU1YWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvbmF2aWdh
dGlvblByZWxvYWQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5TZXJ2aWNlV29ya2VyOiBuYXZpZ2F0b3Iu
c2VydmljZVdvcmtlci5uYXZpZ2F0aW9uUHJlbG9hZDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgIGNvbnN0IFNDUklQVCA9ICcuLi9yZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzJzsKKyAg
Y29uc3QgU0NPUEUgPSAnLi4vcmVzb3VyY2VzL25hdmlnYXRpb25wcmVsb2FkJzsKKyAgY29uc3Qg
cmVnaXN0cmF0aW9uID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5k
X3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpOworICBjb25zdCBuYXZpZ2F0aW9uUHJlbG9hZCA9
IHJlZ2lzdHJhdGlvbi5uYXZpZ2F0aW9uUHJlbG9hZDsKKyAgYXNzZXJ0X3RydWUobmF2aWdhdGlv
blByZWxvYWQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uUHJlbG9hZE1hbmFnZXIsCisgICAgICAgICAg
ICAgICdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkJyk7CisgIGF3
YWl0IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Cit9LCAiVGhlIG5hdmlnYXRpb25QcmVsb2Fk
IGF0dHJpYnV0ZSBtdXN0IHJldHVybiBzZXJ2aWNlIHdvcmtlciAiICsKKyAgICAicmVnaXN0cmF0
aW9uJ3MgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIG9iamVjdC4iKTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlLXRp
bWluZy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jl
c291cmNlLXRpbWluZy5odHRwcy5odG1sCmluZGV4IDVmMDk1M2M3NmQxM2FiY2ZjNTZhMTAxNjc4
M2E2OTA4N2NiMTVlM2IuLmI0NzU2ZDA5YTE2MmM1ZTJhZjZhMDU4NzVkY2QzOGNkZGYyZWE3NTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJj
ZS10aW1pbmcuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXBy
ZWxvYWQvcmVzb3VyY2UtdGltaW5nLmh0dHBzLmh0bWwKQEAgLTE0LDkgKzE0LDkgQEAgZnVuY3Rp
b24gY2hlY2tfdGltaW5nX2VudHJ5KGVudHJ5LCB1cmwsIGRlY29kZWRCb2R5U2l6ZSwgZW5jb2Rl
ZEJvZHlTaXplKSB7CiAgICAgJ1RoZSBlbnRyeVR5cGUgb2YgcHJlbG9hZCByZXNwb25zZSB0aW1p
bmcgZW50cnkgbXVzdCBiZSAicmVzb3VyY2UnICsKICAgICAnIiA6JyArIHVybCk7CiAgIGFzc2Vy
dF9lcXVhbHMoCi0gICAgZW50cnkuaW5pdGlhdG9yVHlwZSwgJ290aGVyJywKKyAgICBlbnRyeS5p
bml0aWF0b3JUeXBlLCAnbmF2aWdhdGlvbicsCiAgICAgJ1RoZSBpbml0aWF0b3JUeXBlIG9mIHBy
ZWxvYWQgcmVzcG9uc2UgdGltaW5nIGVudHJ5IG11c3QgYmUgJyArCi0gICAgJyJvdGhlciI6JyAr
IHVybCk7CisgICAgJyJuYXZpZ2F0aW9uIjonICsgdXJsKTsKIAogICAvLyBJZiB0aGUgc2VydmVy
IHJldHVybnMgdGhlIHJlZGlyZWN0IHJlc3BvbnNlLCB8ZGVjb2RlZEJvZHlTaXplfCBpcyBudWxs
IGFuZAogICAvLyB8ZW50cnkuZGVjb2RlZEJvZHlTaXplfCBzaHVsZCBiZSAwLiBPdGhlcndpc2Ug
fGVudHJ5LmRlY29kZWRCb2R5U2l6ZXwgbXVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy9icm9rZW4tY2h1bmtlZC1lbmNvZGluZy13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2Vz
L2Jyb2tlbi1jaHVua2VkLWVuY29kaW5nLXdvcmtlci5qcwppbmRleCAyNzI2OGU4NTZjNzU1MWJm
YmU4MTZjOWEzNzU1MWU5YTNmMjZkYzljLi43YTQ1M2U0MDU1ZjA4NDhhMjI1MDg1OWVmYjkxODQ5
ZTI0MzU1ZTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxv
YWQvcmVzb3VyY2VzL2Jyb2tlbi1jaHVua2VkLWVuY29kaW5nLXdvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2Jyb2tlbi1jaHVua2Vk
LWVuY29kaW5nLXdvcmtlci5qcwpAQCAtNiw2ICs2LDYgQEAgc2VsZi5hZGRFdmVudExpc3RlbmVy
KCdhY3RpdmF0ZScsIGV2ZW50ID0+IHsKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBl
dmVudCA9PiB7CiAgICAgZXZlbnQucmVzcG9uZFdpdGgoZXZlbnQucHJlbG9hZFJlc3BvbnNlCiAg
ICAgICAudGhlbigKLSAgICAgICAgXyA9PiBuZXcgUmVzcG9uc2UoJ0ZhaWw6IGdvdCBhIHJlc3Bv
bnNlJyksCi0gICAgICAgIF8gPT4gbmV3IFJlc3BvbnNlKCdEb25lJykpKTsKKyAgICAgICAgXyA9
PiBuZXcgUmVzcG9uc2UoJ1BBU1M6IHByZWxvYWRSZXNwb25zZSByZXNvbHZlZCcpLAorICAgICAg
ICBfID0+IG5ldyBSZXNwb25zZSgnRkFJTDogcHJlbG9hZFJlc3BvbnNlIHJlamVjdGVkJykpKTsK
ICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQv
cmVzb3VyY2VzL2NodW5rZWQtZW5jb2Rpbmctc2NvcGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9u
YXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2NodW5rZWQtZW5jb2Rpbmctc2NvcGUucHkKaW5k
ZXggYzBhNWRkY2UwYjE4ZDgzNWExODVhYzg3MDRjNmFkNjE4ZjNlN2YxMi4uMzUyMWI2NGY1MGZi
MWYwZTE3ZjY2YzBlMzc2ZmZkMTAxZGFlMzIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy9jaHVua2VkLWVuY29kaW5nLXNjb3BlLnB5
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvY2h1
bmtlZC1lbmNvZGluZy1zY29wZS5weQpAQCAtMSw3ICsxLDcgQEAKIGltcG9ydCB0aW1lCiAKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBib2R5ID0gImhlbGxvXG53b3JsZFxuXG4i
CisgICAgdXNlX2Jyb2tlbl9ib2R5ID0gJ3VzZV9icm9rZW5fYm9keScgaW4gcmVxdWVzdC5HRVQK
IAogICAgIHJlc3BvbnNlLmFkZF9yZXF1aXJlZF9oZWFkZXJzID0gRmFsc2UKICAgICByZXNwb25z
ZS53cml0ZXIud3JpdGVfc3RhdHVzKDIwMCkKQEAgLTEwLDcgKzEwLDEwIEBAIGRlZiBtYWluKHJl
cXVlc3QsIHJlc3BvbnNlKToKICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQogCiAg
ICAgZm9yIGlkeCBpbiByYW5nZSgxMCk6Ci0gICAgICAgIHJlc3BvbnNlLndyaXRlci53cml0ZSgi
JXNcclxuJXNcclxuIiAlIChsZW4oc3RyKGlkeCkpLCBpZHgpKQorICAgICAgICBpZiB1c2VfYnJv
a2VuX2JvZHk6CisgICAgICAgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoIiVzXG4lc1xuIiAl
IChsZW4oc3RyKGlkeCkpLCBpZHgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlKCIlc1xyXG4lc1xyXG4iICUgKGxlbihzdHIoaWR4KSksIGlkeCkpCiAg
ICAgICAgIHJlc3BvbnNlLndyaXRlci5mbHVzaCgpCiAgICAgICAgIHRpbWUuc2xlZXAoMC4wMDEp
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNv
dXJjZXMvZW1wdHktcHJlbG9hZC1yZXNwb25zZS1ib2R5LXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL2VtcHR5LXByZWxvYWQtcmVzcG9u
c2UtYm9keS1zY29wZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3
NWFkOGMyZTQ4YzUzOTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24t
cHJlbG9hZC9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtl
ci5qcwppbmRleCA0NmFmNjQ1NmFlYzNkMzY4ZGIzNTI3YTgzMzFmNGM3MGY1Yzg0NTUwLi5mYWMw
ZDhkZTJhNzM2MWFhMmY1NWZkY2RlODdiOTY5YTk1MmI5MmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy13
b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291
cmNlcy9yZXNvdXJjZS10aW1pbmctd29ya2VyLmpzCkBAIC0xLDE5ICsxLDM3IEBACithc3luYyBm
dW5jdGlvbiB3YWl0X2Zvcl9wZXJmb3JtYW5jZV9lbnRyaWVzKHVybCkgeworICBsZXQgZW50cmll
cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUodXJsKTsKKyAgaWYgKGVudHJpZXMubGVu
Z3RoID4gMCkgeworICAgIHJldHVybiBlbnRyaWVzOworICB9CisgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0KSA9PiB7
CisgICAgICBjb25zdCBlbnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgICAg
ICBpZiAoZW50cmllcy5sZW5ndGggPiAwKSB7CisgICAgICAgIHJlc29sdmUoZW50cmllcyk7Cisg
ICAgICB9CisgICAgfSkub2JzZXJ2ZSh7IGVudHJ5VHlwZXM6IFsncmVzb3VyY2UnXSB9KTsKKyAg
fSk7Cit9CisKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignYWN0aXZhdGUnLCBldmVudCA9PiB7CiAg
ICAgZXZlbnQud2FpdFVudGlsKHNlbGYucmVnaXN0cmF0aW9uLm5hdmlnYXRpb25QcmVsb2FkLmVu
YWJsZSgpKTsKICAgfSk7CiAKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBldmVudCA9
PiB7CisgICAgbGV0IGhlYWRlcnM7CiAgICAgZXZlbnQucmVzcG9uZFdpdGgoCiAgICAgICBldmVu
dC5wcmVsb2FkUmVzcG9uc2UKICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7Ci0gICAgICAg
ICAgICB2YXIgaGVhZGVycyA9IHJlc3BvbnNlLmhlYWRlcnM7Ci0gICAgICAgICAgICByZXR1cm4g
cmVzcG9uc2UudGV4dCgpLnRoZW4odGV4dCA9PgotICAgICAgICAgICAgICBuZXcgUmVzcG9uc2Uo
Ci0gICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoewotICAgICAgICAgICAgICAgICAgZGVj
b2RlZEJvZHlTaXplOiBoZWFkZXJzLmdldCgnWC1EZWNvZGVkLUJvZHktU2l6ZScpLAotICAgICAg
ICAgICAgICAgICAgZW5jb2RlZEJvZHlTaXplOiBoZWFkZXJzLmdldCgnWC1FbmNvZGVkLUJvZHkt
U2l6ZScpLAotICAgICAgICAgICAgICAgICAgdGltaW5nRW50cmllczogcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZShldmVudC5yZXF1ZXN0LnVybCkKLSAgICAgICAgICAgICAgICB9KSwKLSAg
ICAgICAgICAgICAgICB7aGVhZGVyczogeydDb250ZW50LVR5cGUnOiAndGV4dC9odG1sJ319KSk7
Ci0gICAgICAgICAgfSkpOworICAgICAgICAgICAgaGVhZGVycyA9IHJlc3BvbnNlLmhlYWRlcnM7
CisgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpCisgICAgICAgICAgfSkKKyAgICAg
ICAgICAudGhlbihfID0+IHdhaXRfZm9yX3BlcmZvcm1hbmNlX2VudHJpZXMoZXZlbnQucmVxdWVz
dC51cmwpKQorICAgICAgICAgIC50aGVuKGVudHJpZXMgPT4KKyAgICAgICAgICAgIG5ldyBSZXNw
b25zZSgKKyAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeworICAgICAgICAgICAgICAgIGRl
Y29kZWRCb2R5U2l6ZTogaGVhZGVycy5nZXQoJ1gtRGVjb2RlZC1Cb2R5LVNpemUnKSwKKyAgICAg
ICAgICAgICAgICBlbmNvZGVkQm9keVNpemU6IGhlYWRlcnMuZ2V0KCdYLUVuY29kZWQtQm9keS1T
aXplJyksCisgICAgICAgICAgICAgICAgdGltaW5nRW50cmllczogZW50cmllcworICAgICAgICAg
ICAgICB9KSwKKyAgICAgICAgICAgICAge2hlYWRlcnM6IHsnQ29udGVudC1UeXBlJzogJ3RleHQv
aHRtbCd9fSkpKTsKICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0
aW9uLXByZWxvYWQvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
bmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCAxOGMxNGI2
ZDRhZTM1ZDZmOTkwMzZiODJlMzdhN2E0ODYyNTgxMDc0Li5jNmE5OGY3NGQzMzI2OWMyZDVlYzQ3
NWIxOTk5MjAyMzkxYTM3YWQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0
aW9uLXByZWxvYWQvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyAr
MSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3czYy1pbXBvcnQubG9nCmluZGV4
IGExNjQyNzE2NDI3MGZhYzU1N2NlODBhNmFkMDhiOGIxYmI2OWQ1ODkuLmZjZTdiNTNmMWUxNDVk
MWU0YjdiNWViNTU3MWMzYjI2YmQzMWNjZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L25hdmlnYXRpb24tcHJlbG9hZC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9uYXZpZ2F0aW9uLXByZWxvYWQvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBUaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgogSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTgsNiArMTgsNyBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9jaHVua2Vk
LWVuY29kaW5nLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxv
YWQvZW1wdHktcHJlbG9hZC1yZXNwb25zZS1ib2R5Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvZ2V0LXN0YXRlLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvbmF2aWdhdGlvblByZWxvYWQuaHR0cHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZWRpcmVjdC5odHRwcy5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3JlcXVlc3QtaGVhZGVycy5o
dHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNl
LXRpbWluZy5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0
aW9uLXJlZGlyZWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXJl
ZGlyZWN0Lmh0dHBzLmh0bWwKaW5kZXggZDg0MDY2NmI4YzZhOTgzM2U2MzFiNjMxYjgzNjQ2ZThj
ODk5YzUzZC4uZThiOGU5YWZkNTgyMGFjZjk0MjJkMTFmNDQxMGMwMTU4ZmEzMTczMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1yZWRpcmVjdC5odHRwcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbApAQCAt
MSw2NyArMSw2MiBAQAogPCFET0NUWVBFIGh0bWw+CiA8dGl0bGU+U2VydmljZSBXb3JrZXI6IE5h
dmlnYXRpb24gcmVkaXJlY3Rpb248L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0ibG9uZyI+Cis8IS0tIGVtcHR5IHZhcmlhbnQgdGVzdHMgZG9jdW1lbnQubG9jYXRpb24gYW5k
IGludGVyY2VwdGVkIFVSTHMgLS0+Cis8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSIiPgor
PCEtLSBjbGllbnQgdmFyaWFudCB0ZXN0cyB0aGUgQ2xpZW50cyBBUEkgKHJlc3VsdGluZ0NsaWVu
dElkIGFuZCBDbGllbnQudXJsKSAtLT4KKzxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij9j
bGllbnQiPgorCiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0Pgog
PGJvZHk+CiA8c2NyaXB0PgotdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0
IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKIAogLy8gVGhpcyB0ZXN0IHJlZ2lzdGVycyB0
aHJlZSBTZXJ2aWNlIFdvcmtlcnMgYXQgU0NPUEUxLCBTQ09QRTIgYW5kCiAvLyBPVEhFUl9PUklH
SU5fU0NPUEUuIEFuZCBjaGVja3MgdGhlIHJlZGlyZWN0ZWQgcGFnZSdzIFVSTCBhbmQgdGhlIHJl
cXVlc3RzCiAvLyB3aGljaCBhcmUgaW50ZXJjZXB0ZWQgYnkgU2VydmljZSBXb3JrZXIgd2hpbGUg
bG9hZGluZyByZWRpcmVjdCBwYWdlLgotdmFyIEJBU0VfVVJMID0gaG9zdF9pbmZvWydIVFRQU19P
UklHSU4nXSArIGJhc2VfcGF0aCgpOwotdmFyIE9USEVSX0JBU0VfVVJMID0gaG9zdF9pbmZvWydI
VFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKTsKLQotdmFyIFNDT1BFMSA9IEJBU0Vf
VVJMICsgJ3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMS5weT8nOwotdmFyIFND
T1BFMiA9IEJBU0VfVVJMICsgJ3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMi5w
eT8nOwotdmFyIE9VVF9TQ09QRSA9IEJBU0VfVVJMICsgJ3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJl
ZGlyZWN0LW91dC1zY29wZS5weT8nOwotdmFyIFNDUklQVCA9ICdyZXNvdXJjZXMvcmVkaXJlY3Qt
d29ya2VyLmpzJzsKLQotdmFyIE9USEVSX09SSUdJTl9JRlJBTUVfVVJMID0KLSAgICBPVEhFUl9C
QVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1vdGhlci1vcmlnaW4uaHRt
bCc7Ci12YXIgT1RIRVJfT1JJR0lOX1NDT1BFID0KLSAgICBPVEhFUl9CQVNFX1VSTCArICdyZXNv
dXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1zY29wZTEucHk/JzsKLXZhciBPVEhFUl9PUklHSU5f
T1VUX1NDT1BFID0KLSAgICBPVEhFUl9CQVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1y
ZWRpcmVjdC1vdXQtc2NvcGUucHk/JzsKLQotdmFyIHdvcmtlcnM7Ci12YXIgb3RoZXJfb3JpZ2lu
X2ZyYW1lOwotdmFyIHNldHVwX2Vudmlyb25tZW50X3Byb21pc2U7Ci12YXIgbWVzc2FnZV9yZXNv
bHZlcnMgPSB7fTsKLXZhciBuZXh0X21lc3NhZ2VfaWQgPSAwOwotCi1mdW5jdGlvbiBzZXR1cF9l
bnZpcm9ubWVudCh0KSB7Ci0gIGlmIChzZXR1cF9lbnZpcm9ubWVudF9wcm9taXNlKQotICAgIHJl
dHVybiBzZXR1cF9lbnZpcm9ubWVudF9wcm9taXNlOwotICBzZXR1cF9lbnZpcm9ubWVudF9wcm9t
aXNlID0KLSAgICAgIHdpdGhfaWZyYW1lKE9USEVSX09SSUdJTl9JRlJBTUVfVVJMKQotICAgICAg
ICAudGhlbihmdW5jdGlvbihmKSB7Ci0gICAgICAgICAgICAvLyBJbiB0aGlzIGZyYW1lIHdlIHJl
Z2lzdGVyIGEgU2VydmljZSBXb3JrZXIgYXQgT1RIRVJfT1JJR0lOX1NDT1BFLgotICAgICAgICAg
ICAgLy8gQW5kIHdpbGwgdXNlIHRoaXMgZnJhbWUgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgd29y
a2VyLgotICAgICAgICAgICAgb3RoZXJfb3JpZ2luX2ZyYW1lID0gZjsKLSAgICAgICAgICAgIHJl
dHVybiBQcm9taXNlLmFsbCgKLSAgICAgICAgICAgICAgICBbc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRTEpLAotICAgICAgICAgICAgICAgICBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFMild
KTsKLSAgICAgICAgICB9KQotICAgICAgICAudGhlbihmdW5jdGlvbihyZWdpc3RyYXRpb25zKSB7
Ci0gICAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgICAgICByZWdpc3RyYXRpb25zWzBdLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAg
ICByZWdpc3RyYXRpb25zWzFdLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgICBzZW5kX3Rv
X2lmcmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsICd1bnJlZ2lzdGVyJykKLSAgICAgICAgICAgICAg
ICAgIC50aGVuKGZ1bmN0aW9uKCkgeyBvdGhlcl9vcmlnaW5fZnJhbWUucmVtb3ZlKCk7IH0pOwot
ICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIHdvcmtlcnMgPSByZWdpc3RyYXRpb25zLm1h
cChnZXRfZWZmZWN0aXZlX3dvcmtlcik7Ci0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwo
WwotICAgICAgICAgICAgICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlcnNbMF0sICdhY3RpdmF0
ZWQnKSwKLSAgICAgICAgICAgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXJzWzFdLCAnYWN0
aXZhdGVkJyksCi0gICAgICAgICAgICAgICAgLy8gVGhpcyBwcm9taXNlIHdpbGwgcmVzb2x2ZSB3
aGVuIHx3YWl0X2Zvcl93b3JrZXJfcHJvbWlzZXwKLSAgICAgICAgICAgICAgICAvLyBpbiBPVEhF
Ul9PUklHSU5fSUZSQU1FX1VSTCByZXNvbHZlcy4KLSAgICAgICAgICAgICAgICBzZW5kX3RvX2lm
cmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsICd3YWl0X2Zvcl93b3JrZXInKV0pOwotICAgICAgICAg
IH0pOwotICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnRfcHJvbWlzZTsKLX0KK2NvbnN0IEJBU0Vf
VVJMID0gaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArIGJhc2VfcGF0aCgpOworY29uc3QgT1RI
RVJfQkFTRV9VUkwgPSBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4nXSArIGJhc2VfcGF0
aCgpOworCitjb25zdCBTQ09QRTEgPSBCQVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlvbi1y
ZWRpcmVjdC1zY29wZTEucHk/JzsKK2NvbnN0IFNDT1BFMiA9IEJBU0VfVVJMICsgJ3Jlc291cmNl
cy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMi5weT8nOworY29uc3QgT1VUX1NDT1BFID0gQkFT
RV9VUkwgKyAncmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3V0LXNjb3BlLnB5Pyc7Citj
b25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL3JlZGlyZWN0LXdvcmtlci5qcyc7CisKK2NvbnN0IE9U
SEVSX09SSUdJTl9JRlJBTUVfVVJMID0KKyAgICAgIE9USEVSX0JBU0VfVVJMICsgJ3Jlc291cmNl
cy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW90aGVyLW9yaWdpbi5odG1sJzsKK2NvbnN0IE9USEVSX09S
SUdJTl9TQ09QRSA9CisgICAgICBPVEhFUl9CQVNFX1VSTCArICdyZXNvdXJjZXMvbmF2aWdhdGlv
bi1yZWRpcmVjdC1zY29wZTEucHk/JzsKK2NvbnN0IE9USEVSX09SSUdJTl9PVVRfU0NPUEUgPQor
ICAgICAgT1RIRVJfQkFTRV9VUkwgKyAncmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3V0
LXNjb3BlLnB5Pyc7CisKK2xldCByZWdpc3RyYXRpb25zOworbGV0IHdvcmtlcnM7CitsZXQgb3Ro
ZXJfb3JpZ2luX2ZyYW1lOworbGV0IG1lc3NhZ2VfcmVzb2x2ZXJzID0ge307CitsZXQgbmV4dF9t
ZXNzYWdlX2lkID0gMDsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgID0+IHsKKyAgLy8gSW4gdGhp
cyBmcmFtZSB3ZSByZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGF0IE9USEVSX09SSUdJTl9TQ09Q
RS4KKyAgLy8gQW5kIHdpbGwgdXNlIHRoaXMgZnJhbWUgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUg
d29ya2VyLgorICBvdGhlcl9vcmlnaW5fZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShPVEhFUl9P
UklHSU5fSUZSQU1FX1VSTCk7CisKKyAgLy8gUmVnaXN0ZXIgc2FtZS1vcmlnaW4gc2VydmljZSB3
b3JrZXJzLgorICByZWdpc3RyYXRpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoWworICAgICAgc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRTEpLAor
ICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBT
Q09QRTIpXSk7CisKKyAgLy8gV2FpdCBmb3IgYWxsIHdvcmtlcnMgdG8gYWN0aXZhdGUuCisgIHdv
cmtlcnMgPSByZWdpc3RyYXRpb25zLm1hcChnZXRfZWZmZWN0aXZlX3dvcmtlcik7CisgIHJldHVy
biBQcm9taXNlLmFsbChbCisgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXJzWzBdLCAnYWN0
aXZhdGVkJyksCisgICAgICB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXJzWzFdLCAnYWN0aXZhdGVk
JyksCisgICAgICAvLyBUaGlzIHByb21pc2Ugd2lsbCByZXNvbHZlIHdoZW4gfHdhaXRfZm9yX3dv
cmtlcl9wcm9taXNlfAorICAgICAgLy8gaW4gT1RIRVJfT1JJR0lOX0lGUkFNRV9VUkwgcmVzb2x2
ZXMuCisgICAgICBzZW5kX3RvX2lmcmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsIHtjb21tYW5kOiAn
d2FpdF9mb3Jfd29ya2VyJ30pXSk7Cit9LCAnaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUnKTsKIAog
ZnVuY3Rpb24gZ2V0X2VmZmVjdGl2ZV93b3JrZXIocmVnaXN0cmF0aW9uKSB7CiAgIGlmIChyZWdp
c3RyYXRpb24uYWN0aXZlKQpAQCAtNzIsNDUgKzY3LDIyMCBAQCBmdW5jdGlvbiBnZXRfZWZmZWN0
aXZlX3dvcmtlcihyZWdpc3RyYXRpb24pIHsKICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLmluc3Rh
bGxpbmc7CiB9CiAKLWZ1bmN0aW9uIGNoZWNrX2FsbF9pbnRlcmNlcHRlZF91cmxzKGV4cGVjdGVk
X3VybHMpIHsKLSAgdmFyIHVybHMgPSBbXTsKLSAgcmV0dXJuIGdldF9pbnRlcmNlcHRlZF91cmxz
KHdvcmtlcnNbMF0pCi0gICAgLnRoZW4oZnVuY3Rpb24odXJsKSB7Ci0gICAgICB1cmxzLnB1c2go
dXJsKTsKLSAgICAgIHJldHVybiBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXJzWzFdKTsKLSAg
ICB9KS50aGVuKGZ1bmN0aW9uKHVybCkgewotICAgICAgdXJscy5wdXNoKHVybCk7Ci0gICAgICAv
LyBHZXRzIHRoZSByZXF1ZXN0IFVSTHMgd2hpY2ggYXJlIGludGVyY2VwdGVkIGJ5IE9USEVSX09S
SUdJTl9TQ09QRSdzCi0gICAgICAvLyBTVy4gVGhpcyBwcm9taXNlIHdpbGwgcmVzb2x2ZSB3aGVu
IGdldF9pbnRlcmNlcHRlZF91cmxzKCkgaW4KLSAgICAgIC8vIE9USEVSX09SSUdJTl9JRlJBTUVf
VVJMIHJlc29sdmVzLgotICAgICAgcmV0dXJuIHNlbmRfdG9faWZyYW1lKG90aGVyX29yaWdpbl9m
cmFtZSwgJ2dldF9pbnRlcmNlcHRlZF91cmxzJyk7Ci0gICAgfSkudGhlbihmdW5jdGlvbih1cmwp
IHsKLSAgICAgIHVybHMucHVzaCh1cmwpOwotICAgICAgcmV0dXJuIHVybHM7Ci0gICAgfSkudGhl
bihmdW5jdGlvbih1cmxzKSB7Ci0gICAgICAgIGFzc2VydF9vYmplY3RfZXF1YWxzKAotICAgICAg
ICAgICAgdXJscywgZXhwZWN0ZWRfdXJscywKLSAgICAgICAgICAgICdJbnRlcmNlcHRlZCBVUkxz
IHNob3VsZCBtYXRjaC4nKTsKLSAgICAgIH0pOworYXN5bmMgZnVuY3Rpb24gY2hlY2tfYWxsX2lu
dGVyY2VwdGVkX3VybHMoZXhwZWN0ZWRfdXJscykgeworICBjb25zdCB1cmxzID0gW107CisgIHVy
bHMucHVzaChhd2FpdCBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXJzWzBdKSk7CisgIHVybHMu
cHVzaChhd2FpdCBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXJzWzFdKSk7CisgIC8vIEdldHMg
dGhlIHJlcXVlc3QgVVJMcyB3aGljaCBhcmUgaW50ZXJjZXB0ZWQgYnkgT1RIRVJfT1JJR0lOX1ND
T1BFJ3MKKyAgLy8gU1cuIFRoaXMgcHJvbWlzZSB3aWxsIHJlc29sdmUgd2hlbiBnZXRfcmVxdWVz
dF9pbmZvcygpIGluCisgIC8vIE9USEVSX09SSUdJTl9JRlJBTUVfVVJMIHJlc29sdmVzLgorICBj
b25zdCByZXF1ZXN0X2luZm9zID0gYXdhaXQgc2VuZF90b19pZnJhbWUob3RoZXJfb3JpZ2luX2Zy
YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbW1h
bmQ6ICdnZXRfcmVxdWVzdF9pbmZvcyd9KTsKKyAgdXJscy5wdXNoKHJlcXVlc3RfaW5mb3MubWFw
KGluZm8gPT4geyByZXR1cm4gaW5mby51cmw7IH0pKTsKKworICBhc3NlcnRfb2JqZWN0X2VxdWFs
cyh1cmxzLCBleHBlY3RlZF91cmxzLCAnSW50ZXJjZXB0ZWQgVVJMcyBzaG91bGQgbWF0Y2guJyk7
Cit9CisKKy8vIENoZWNrcyB8Y2xpZW50c3wgcmV0dXJuZWQgZnJvbSBhIHdvcmtlci4gT25seSB0
aGUgY2xpZW50IG1hdGNoaW5nCisvLyB8ZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZ3wgc2hvdWxk
IGJlIGZvdW5kLiBSZXR1cm5zIHRydWUgaWYgYSBjbGllbnQgd2FzCisvLyBmb3VuZC4gTm90ZSB0
aGF0IHRoZSBmaW5hbCBjbGllbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZvdW5kIGJ5IHRoaXMgd29y
a2VyLAorLy8gaWYgdGhlIGNsaWVudCBpcyBjcm9zcy1vcmlnaW4uCisvLworLy8gfGNsaWVudHN8
IGlzIGFuIG9iamVjdCBsaWtlOgorLy8ge3g6IHtmb3VuZDogdHJ1ZSwgaWQ6IGlkMSwgdXJsOiB1
cmwxfSwgYjoge2ZvdW5kOiBmYWxzZX19CitmdW5jdGlvbiBjaGVja19jbGllbnRzKGNsaWVudHMs
CisgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2lkLAorICAgICAgICAgICAgICAgICAg
ICAgICBleHBlY3RlZF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2ZpbmFs
X2NsaWVudF90YWcsCisgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcl9uYW1lKSB7CisgIGxl
dCBmb3VuZCA9IGZhbHNlOworICBPYmplY3Qua2V5cyhjbGllbnRzKS5mb3JFYWNoKGtleSA9PiB7
CisgICAgY29uc3QgaW5mbyA9IGNsaWVudHNba2V5XTsKKyAgICBpZiAoaW5mby5mb3VuZCkgewor
ICAgICAgYXNzZXJ0X3RydWUoISFleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnLAorICAgICAgICAg
ICAgICAgICAgYCR7d29ya2VyX25hbWV9IGNsaWVudCB0YWcgZXhpc3RzYCk7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGtleSwgZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZywKKyAgICAgICAgICAgICAg
ICAgICAgYCR7d29ya2VyX25hbWV9IGNsaWVudCB0YWcgbWF0Y2hlc2ApOworICAgICAgYXNzZXJ0
X2VxdWFscyhpbmZvLmlkLCBleHBlY3RlZF9pZCwgYCR7d29ya2VyX25hbWV9IGNsaWVudCBpZGAp
OworICAgICAgYXNzZXJ0X2VxdWFscyhpbmZvLnVybCwgZXhwZWN0ZWRfdXJsLCBgJHt3b3JrZXJf
bmFtZX0gY2xpZW50IHVybGApOworICAgICAgZm91bmQgPSB0cnVlOworICAgIH0KKyAgfSk7Cisg
IHJldHVybiBmb3VuZDsKK30KKworZnVuY3Rpb24gY2hlY2tfcmVzdWx0aW5nX2NsaWVudF9pZHMo
aW5mb3MsIGV4cGVjdGVkX2luZm9zLCBhY3R1YWxfaWRzLCB3b3JrZXIpIHsKKyAgYXNzZXJ0X2Vx
dWFscyhpbmZvcy5sZW5ndGgsIGV4cGVjdGVkX2luZm9zLmxlbmd0aCwKKyAgICAgICAgICAgICAg
ICBgcmVxdWVzdCBsZW5ndGggZm9yICR7d29ya2VyfWApOworICBmb3IgKHZhciBpID0gMDsgaSA8
IGluZm9zLmxlbmd0aDsgaSsrKSB7CisgICAgY29uc3QgdGFnID0gZXhwZWN0ZWRfaW5mb3NbaV0u
cmVzdWx0aW5nQ2xpZW50SWRUYWc7CisgICAgY29uc3QgdXJsID0gZXhwZWN0ZWRfaW5mb3NbaV0u
dXJsOworICAgIGNvbnN0IGFjdHVhbF9pZCA9IGluZm9zW2ldLnJlc3VsdGluZ0NsaWVudElkOwor
ICAgIGNvbnN0IGV4cGVjdGVkX2lkID0gYWN0dWFsX2lkc1t0YWddOworICAgIGFzc2VydF9lcXVh
bHModHlwZW9mKGFjdHVhbF9pZCksICdzdHJpbmcnLAorICAgICAgICAgICAgICAgICAgYHJlc3Vs
dGluZ0NsaWVudElkIGZvciAke3VybH0gcmVxdWVzdCB0byAke3dvcmtlcn1gKTsKKyAgICBpZiAo
ZXhwZWN0ZWRfaWQpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsX2lkLCBleHBlY3RlZF9p
ZCwKKyAgICAgICAgICAgICAgICAgICAgYHJlc3VsdGluZ0NsaWVudElkIGZvciAke3VybH0gcmVx
dWVzdCB0byAke3dvcmtlcn1gKTsKKyAgICB9IGVsc2UgeworICAgICAgYWN0dWFsX2lkc1t0YWdd
ID0gYWN0dWFsX2lkOworICAgIH0KKyAgfQorfQorCisvLyBDcmVhdGVzIGFuIGlmcmFtZSBhbmQg
bmF2aWdhdGVzIHRvIHx1cmx8LCB3aGljaCBpcyBleHBlY3RlZCB0byBzdGFydCBhIGNoYWluCisv
LyBvZiByZWRpcmVjdHMuCisvLyAtIHxleHBlY3RlZF9sYXN0X3VybHwgaXMgdGhlIGV4cGVjdGVk
IHdpbmRvdy5sb2NhdGlvbiBhZnRlciB0aGUKKy8vICAgbmF2aWdhdGlvbi4KKy8vCisvLyAtIHxl
eHBlY3RlZF9yZXF1ZXN0X2luZm9zfCBpcyB0aGUgZXhwZWN0ZWQgcmVxdWVzdHMgdGhhdCB0aGUg
c2VydmljZSB3b3JrZXJzCisvLyAgIHdlcmUgZGlzcGF0Y2hlZCBmZXRjaCBldmVudHMgZm9yLiBU
aGUgZm9ybWF0IGlzOgorLy8gICBbCisvLyAgICAgWworLy8gICAgICAgLy8gUmVxdWVzdHMgcmVj
ZWl2ZWQgYnkgd29ya2Vyc1swXS4KKy8vICAgICAgIHt1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVu
dElkVGFnOiAnYSd9LAorLy8gICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6
ICdhJ30KKy8vICAgICBdLAorLy8gICAgIFsKKy8vICAgICAgIC8vIFJlcXVlc3RzIHJlY2VpdmVk
IGJ5IHdvcmtlcnNbMV0uCisvLyAgICAgICB7dXJsOiB1cmwzLCByZXN1bHRpbmdDbGllbnRJZFRh
ZzogJ2EnfQorLy8gICAgIF0sCisvLyAgICAgWworLy8gICAgICAgLy8gUmVxdWVzdHMgcmVjZWl2
ZWQgYnkgdGhlIGNyb3NzLW9yaWdpbiB3b3JrZXIuCisvLyAgICAgICB7dXJsOiB1cmw0LCByZXN1
bHRpbmdDbGllbnRJZFRhZzogJ3gnfQorLy8gICAgICAge3VybDogdXJsNSwgcmVzdWx0aW5nQ2xp
ZW50SWRUYWc6ICd4J30KKy8vICAgICBdCisvLyAgIF0KKy8vICAgSGVyZSwgfHVybHwgaXMgfGV2
ZW50LnJlcXVlc3QudXJsfCBhbmQgfHJlc3VsdGluZ0NsaWVudElkVGFnfCByZXByZXNlbnRzCisv
LyAgIHxldmVudC5yZXN1bHRpbmdDbGllbnRJZHwuIFNpbmNlIHRoZSBhY3R1YWwgY2xpZW50IGlk
cyBhcmUgbm90IGtub3duCisvLyAgIGJlZm9yZWhhbmQsIHRoZSBleHBlY3RhdGlvbiBpc24ndCB0
aGUgbGl0ZXJhbCBleHBlY3RlZCB2YWx1ZSwgYnV0IGFsbCBlcXVhbAorLy8gICB0YWdzIG11c3Qg
bWFwIHRvIHRoZSBzYW1lIGFjdHVhbCBpZC4KKy8vCisvLyAtIHxleHBlY3RlZF9maW5hbF9jbGll
bnRfdGFnfCBpcyB0aGUgcmVzdWx0aW5nQ2xpZW50SWRUYWcgdGhhdCBpcworLy8gICBleHBlY3Rl
ZCB0byBtYXAgdG8gdGhlIGNyZWF0ZWQgY2xpZW50J3MgaWQuIFRoaXMgaXMgbnVsbCBpZiB0aGVy
ZQorLy8gICBpcyBubyBzdWNoIHRhZywgd2hpY2ggY2FuIGhhcHBlbiB3aGVuIHRoZSBmaW5hbCBy
ZXF1ZXN0IHdhcyBhIGNyb3NzLW9yaWdpbgorLy8gICByZWRpcmVjdCB0byBvdXQtc2NvcGUsIHNv
IG5vIHdvcmtlciByZWNlaXZlZCBhIGZldGNoIGV2ZW50IHdob3NlCisvLyAgIHJlc3VsdGluZ0Ns
aWVudElkIGlzIHRoZSBpZCBvZiB0aGUgcmVzdWx0aW5nIGNsaWVudC4KKy8vCisvLyBJbiB0aGUg
ZXhhbXBsZSBhYm92ZToKKy8vIC0gd29ya2Vyc1swXSByZWNlaXZlcyB0d28gcmVxdWVzdHMgd2l0
aCB0aGUgc2FtZSByZXN1bHRpbmdDbGllbnRJZC4KKy8vIC0gd29ya2Vyc1sxXSByZWNlaXZlcyBv
bmUgcmVxdWVzdCBhbHNvIHdpdGggdGhhdCByZXN1bHRpbmdDbGllbnRJZC4KKy8vIC0gVGhlIGNy
b3NzLW9yaWdpbiB3b3JrZXIgcmVjZWl2ZXMgdHdvIHJlcXVlc3RzIHdpdGggdGhlIHNhbWUKKy8v
ICAgcmVzdWx0aW5nQ2xpZW50SWQgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBwcmV2aW91cyBvbmUu
CisvLyAtIEFzc3VtaW5nIHxleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnfCBpcyAneCcsIHRoZW4g
dGhlIGNyZWF0ZWQKKy8vICAgY2xpZW50IGhhcyB0aGUgaWQgc2VlbiBieSB0aGUgY3Jvc3Mtb3Jp
Z2luIHdvcmtlciBhYm92ZS4KK2Z1bmN0aW9uIHJlZGlyZWN0X3Rlc3QodXJsLAorICAgICAgICAg
ICAgICAgICAgICAgICBleHBlY3RlZF9sYXN0X3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ZXhwZWN0ZWRfcmVxdWVzdF9pbmZvcywKKyAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRf
ZmluYWxfY2xpZW50X3RhZywKKyAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9uYW1lKSB7Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhf
aWZyYW1lKHVybCk7CisgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9
KTsKKworICAgIC8vIFN3aXRjaCBvbiB2YXJpYW50LgorICAgIGlmIChkb2N1bWVudC5sb2NhdGlv
bi5zZWFyY2ggPT0gJz9jbGllbnQnKSB7CisgICAgICByZXR1cm4gY2xpZW50X3ZhcmlhbnRfdGVz
dCh1cmwsIGV4cGVjdGVkX2xhc3RfdXJsLCBleHBlY3RlZF9yZXF1ZXN0X2luZm9zLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZywgdGVz
dF9uYW1lKTsKKyAgICB9CisKKyAgICByZXR1cm4gZGVmYXVsdF92YXJpYW50X3Rlc3QodXJsLCBl
eHBlY3RlZF9sYXN0X3VybCwgZXhwZWN0ZWRfcmVxdWVzdF9pbmZvcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZnJhbWUsIHRlc3RfbmFtZSk7CisgIH0sIHRlc3RfbmFtZSk7CiB9
CiAKLWZ1bmN0aW9uIHRlc3RfcmVkaXJlY3QodXJsLCBleHBlY3RlZF9sYXN0X3VybCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfaW50ZXJjZXB0ZWRfdXJscykgewotICB2YXIgbWVz
c2FnZV9wcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgLy8g
QSBtZXNzYWdlIHdoaWNoIElEIGlzICdsYXN0X3VybCcgd2lsbCBiZSBzZW50IGZyb20gdGhlIGlm
cmFtZS4KLSAgICAgIG1lc3NhZ2VfcmVzb2x2ZXJzWydsYXN0X3VybCddID0gcmVzb2x2ZTsKKy8v
IFRoZSBkZWZhdWx0IHZhcmlhbnQgdGVzdHMgdGhlIHJlcXVlc3QgaW50ZXJjZXB0aW9uIGNoYWlu
IGFuZAorLy8gcmVzdWx0aW5nIGRvY3VtZW50LmxvY2F0aW9uLgorYXN5bmMgZnVuY3Rpb24gZGVm
YXVsdF92YXJpYW50X3Rlc3QodXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRfbGFzdF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBleHBlY3RlZF9yZXF1ZXN0X2luZm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25h
bWUpIHsKKyAgY29uc3QgZXhwZWN0ZWRfaW50ZXJjZXB0ZWRfdXJscyA9IGV4cGVjdGVkX3JlcXVl
c3RfaW5mb3MubWFwKAorICAgICAgcmVxdWVzdHNfZm9yX3dvcmtlciA9PiB7CisgICAgcmV0dXJu
IHJlcXVlc3RzX2Zvcl93b3JrZXIubWFwKGluZm8gPT4geworICAgICAgcmV0dXJuIGluZm8udXJs
OwogICAgIH0pOwotICByZXR1cm4gd2l0aF9pZnJhbWUodXJsKQotICAgIC50aGVuKGZ1bmN0aW9u
KGYpIHsKLSAgICAgICAgZi5yZW1vdmUoKTsKLSAgICAgICAgcmV0dXJuIGNoZWNrX2FsbF9pbnRl
cmNlcHRlZF91cmxzKGV4cGVjdGVkX2ludGVyY2VwdGVkX3VybHMpOwotICAgICAgfSkKLSAgICAu
dGhlbihmdW5jdGlvbigpIHsgcmV0dXJuIG1lc3NhZ2VfcHJvbWlzZTsgfSkKLSAgICAudGhlbihm
dW5jdGlvbihsYXN0X3VybCkgewotICAgICAgICBhc3NlcnRfZXF1YWxzKAotICAgICAgICAgICAg
bGFzdF91cmwsIGV4cGVjdGVkX2xhc3RfdXJsLAotICAgICAgICAgICAgJ0xhc3QgVVJMIHNob3Vs
ZCBtYXRjaC4nKTsKLSAgICAgIH0pOworICB9KTsKKyAgYXdhaXQgY2hlY2tfYWxsX2ludGVyY2Vw
dGVkX3VybHMoZXhwZWN0ZWRfaW50ZXJjZXB0ZWRfdXJscyk7CisgIGNvbnN0IGxhc3RfdXJsID0g
YXdhaXQgc2VuZF90b19pZnJhbWUoZnJhbWUsICdnZXRMb2NhdGlvbicpOworICBhc3NlcnRfZXF1
YWxzKGxhc3RfdXJsLCBleHBlY3RlZF9sYXN0X3VybCwgJ0xhc3QgVVJMIHNob3VsZCBtYXRjaC4n
KTsKK30KKworLy8gVGhlICJjbGllbnQiIHZhcmlhbnQgdGVzdHMgdGhlIENsaWVudHMgQVBJIHVz
aW5nIHJlc3VsdGluZ0NsaWVudElkLgorYXN5bmMgZnVuY3Rpb24gY2xpZW50X3ZhcmlhbnRfdGVz
dCh1cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2xhc3Rf
dXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9yZXF1ZXN0
X2luZm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9maW5h
bF9jbGllbnRfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X25h
bWUpIHsKKyAgLy8gUmVxdWVzdCBpbmZvcyBpcyBhbiBhcnJheSBsaWtlOgorICAvLyBbCisgIC8v
ICAgW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiB0YWcxfV0sCisgIC8vICAgW3t1
cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiB0YWcyfV0sCisgIC8vICAgW3t1cmw6IHVy
bDM6IHJlc3VsdGluZ0NsaWVudElkVGFnOiB0YWczfV0KKyAgLy8gXQorICBjb25zdCByZXF1ZXN0
SW5mb3MgPSBhd2FpdCBnZXRfYWxsX3JlcXVlc3RfaW5mb3MoKTsKKworICAvLyBXZSBjaGVjayB0
aGUgYWN0dWFsIGluZm9zIGFnYWluc3QgdGhlIGV4cGVjdGVkIG9uZXMsIGFuZCBsZWFybiB0aGUK
KyAgLy8gYWN0dWFsIGlkcyBhcyB3ZSBnby4KKyAgY29uc3QgYWN0dWFsX2lkcyA9IHt9OworICBj
aGVja19yZXN1bHRpbmdfY2xpZW50X2lkcyhyZXF1ZXN0SW5mb3NbMF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGV4cGVjdGVkX3JlcXVlc3RfaW5mb3NbMF0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFjdHVhbF9pZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICd3b3JrZXIwJyk7CisgIGNoZWNrX3Jlc3VsdGluZ19jbGllbnRfaWRzKHJlcXVlc3RJbmZvc1sx
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVxdWVzdF9pbmZvc1sx
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsX2lkcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3dvcmtlcjEnKTsKKyAgY2hlY2tfcmVzdWx0aW5nX2NsaWVudF9p
ZHMocmVxdWVzdEluZm9zWzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3Rl
ZF9yZXF1ZXN0X2luZm9zWzJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxf
aWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3Jvc3NPcmlnaW5Xb3JrZXInKTsK
KworICAvLyBOb3cgfGFjdHVhbF9pZHN8IG1hcHMgdGFnIHRvIGFjdHVhbCBpZDoKKyAgLy8ge3g6
IGlkMSwgYjogaWQyLCBjOiBpZDN9CisgIC8vIEFzayBlYWNoIHdvcmtlciB0byB0cnkgdG8gcmVz
b2x2ZSB0aGUgYWN0dWFsIGlkcyB0byBjbGllbnRzLgorICAvLyBPbmx5IHxleHBlY3RlZF9maW5h
bF9jbGllbnRfdGFnfCBzaG91bGQgcmVzb2x2ZSB0byBhIGNsaWVudC4KKyAgY29uc3QgY2xpZW50
X2luZm9zID0gYXdhaXQgZ2V0X2FsbF9jbGllbnRzKGFjdHVhbF9pZHMpOworCisgIC8vIENsaWVu
dCBpbmZvcyBpcyBhbiBvYmplY3QgbGlrZToKKyAgLy8geworICAvLyAgIHdvcmtlcjA6IHt4OiB7
Zm91bmQ6IHRydWUsIGlkOiBpZDEsIHVybDogdXJsMX0sIGI6IHtmb3VuZDogZmFsc2V9fSwKKyAg
Ly8gICB3b3JrZXIxOiB7eDoge2ZvdW5kOiB0cnVlLCBpZDogaWQxLCB1cmw6IHVybDF9fSwKKyAg
Ly8gICBjcm9zc09yaWdpbldvcmtlcjoge3g6IHtmb3VuZDogZmFsc2V9fSwge2I6IHtmb3VuZDog
ZmFsc2V9fQorICAvLyB9CisgIC8vCisgIC8vIE5vdyBjaGVjayBlYWNoIGNsaWVudCBpbmZvLiBj
aGVja19jbGllbnRzKCkgdmVyaWZpZXMgZWFjaCBpbmZvOiBvbmx5CisgIC8vIHxleHBlY3RlZF9m
aW5hbF9jbGllbnRfdGFnfCBzaG91bGQgZXZlciBiZSBmb3VuZCBhbmQgdGhlIGZvdW5kIGNsaWVu
dAorICAvLyBzaG91bGQgaGF2ZSB0aGUgZXhwZWN0ZWQgdXJsIGFuZCBpZC4gQSB3cmlua2xlIGlz
IHRoYXQgbm90IGFsbCB3b3JrZXJzCisgIC8vIHdpbGwgZmluZCB0aGUgY2xpZW50LCBpZiB0aGV5
IGFyZSBjcm9zcy1vcmlnaW4gdG8gdGhlIGNsaWVudC4gVGhpcworICAvLyBtZWFucyBjaGVja19j
bGllbnRzKCkgdHJpdmlhbGx5IHBhc3NlcyBpZiBubyBjbGllbnRzIGFyZSBmb3VuZC4gU28KKyAg
Ly8gYWRkaXRpb25hbGx5IGNoZWNrIHRoYXQgYXQgbGVhc3Qgb25lIHdvcmtlciBmb3VuZCB0aGUg
Y2xpZW50ICh8Zm91bmR8KSwKKyAgLy8gaWYgdGhhdCB3YXMgZXhwZWN0ZWQgKHxleHBlY3RfZm91
bmR8KS4KKyAgbGV0IGZvdW5kID0gZmFsc2U7CisgIGNvbnN0IGV4cGVjdF9mb3VuZCA9ICEhZXhw
ZWN0ZWRfZmluYWxfY2xpZW50X3RhZzsKKyAgY29uc3QgZXhwZWN0ZWRfaWQgPSBhY3R1YWxfaWRz
W2V4cGVjdGVkX2ZpbmFsX2NsaWVudF90YWddOworICBmb3VuZCA9IGNoZWNrX2NsaWVudHMoY2xp
ZW50X2luZm9zLndvcmtlcjAsCisgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9pZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2xhc3RfdXJsLAorICAgICAgICAgICAg
ICAgICAgICAgICAgZXhwZWN0ZWRfZmluYWxfY2xpZW50X3RhZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICd3b3JrZXIwJyk7CisgIGZvdW5kID0gY2hlY2tfY2xpZW50cyhjbGllbnRfaW5mb3Mu
d29ya2VyMSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2lkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0ZWRfbGFzdF91cmwsCisgICAgICAgICAgICAgICAgICAgICAg
ICBleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3dv
cmtlcjEnKSB8fCBmb3VuZDsKKyAgZm91bmQgPSBjaGVja19jbGllbnRzKGNsaWVudF9pbmZvcy5j
cm9zc09yaWdpbldvcmtlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkX2lkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbGFzdF91cmwsCisgICAgICAgICAgICAg
ICAgICAgICAgICBleHBlY3RlZF9maW5hbF9jbGllbnRfdGFnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgJ2Nyb3NzT3JpZ2luV29ya2VyJykgfHwgZm91bmQ7CisgIGFzc2VydF9lcXVhbHMoZm91
bmQsIGV4cGVjdF9mb3VuZCwgJ2NsaWVudCBmb3VuZCcpOworCisgIGlmICghZXhwZWN0X2ZvdW5k
KSB7CisgICAgLy8gVE9ETyhmYWxrZW4pOiBBc2sgdGhlIG90aGVyIG9yaWdpbiBmcmFtZSBpZiBp
dCBoYXMgYSBjbGllbnQgb2YgdGhlCisgICAgLy8gZXhwZWN0ZWQgVVJMLgorICB9CiB9CiAKIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25fbWVzc2FnZSwgZmFsc2UpOwpAQCAt
MTI4LDM0MiArMjk4LDUzMSBAQCBmdW5jdGlvbiBvbl9tZXNzYWdlKGUpIHsKIAogZnVuY3Rpb24g
c2VuZF90b19pZnJhbWUoZnJhbWUsIG1lc3NhZ2UpIHsKICAgdmFyIG1lc3NhZ2VfaWQgPSBuZXh0
X21lc3NhZ2VfaWQrKzsKLSAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsK
LSAgICAgIG1lc3NhZ2VfcmVzb2x2ZXJzW21lc3NhZ2VfaWRdID0gcmVzb2x2ZTsKLSAgICAgIGZy
YW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoCi0gICAgICAgICAge2lkOiBtZXNzYWdlX2lk
LCBtZXNzYWdlOiBtZXNzYWdlfSwKLSAgICAgICAgICBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9P
UklHSU4nXSk7Ci0gICAgfSk7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAg
ICBtZXNzYWdlX3Jlc29sdmVyc1ttZXNzYWdlX2lkXSA9IHJlc29sdmU7CisgICAgZnJhbWUuY29u
dGVudFdpbmRvdy5wb3N0TWVzc2FnZSgKKyAgICAgICAge2lkOiBtZXNzYWdlX2lkLCBtZXNzYWdl
fSwKKyAgICAgICAgJyonKTsKKyAgfSk7CiB9CiAKLWZ1bmN0aW9uIGdldF9pbnRlcmNlcHRlZF91
cmxzKHdvcmtlcikgewotICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewot
ICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIGNoYW5uZWwu
cG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7IHJlc29sdmUobXNnLmRhdGEudXJscyk7
IH07Ci0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9ydDJ9LCBbY2hh
bm5lbC5wb3J0Ml0pOwotICAgIH0pOworYXN5bmMgZnVuY3Rpb24gZ2V0X2FsbF9jbGllbnRzKGFj
dHVhbF9pZHMpIHsKKyAgY29uc3QgY2xpZW50X2luZm9zID0ge307CisgIGNsaWVudF9pbmZvc1sn
d29ya2VyMCddID0gYXdhaXQgZ2V0X2NsaWVudHMod29ya2Vyc1swXSwgYWN0dWFsX2lkcyk7Cisg
IGNsaWVudF9pbmZvc1snd29ya2VyMSddID0gYXdhaXQgZ2V0X2NsaWVudHMod29ya2Vyc1sxXSwg
YWN0dWFsX2lkcyk7CisgIGNsaWVudF9pbmZvc1snY3Jvc3NPcmlnaW5Xb3JrZXInXSA9CisgICAg
ICBhd2FpdCBzZW5kX3RvX2lmcmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7Y29tbWFuZDogJ2dldF9jbGllbnRzJywgYWN0dWFsX2lkc30pOworICBy
ZXR1cm4gY2xpZW50X2luZm9zOwogfQogCi0vLyBOb3JtYWwgcmVkaXJlY3QuCi1wcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1
bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAgICAgICAgIE9V
VF9TQ09QRSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTEpLAotICAgICAgICAg
ICAgU0NPUEUxLAotICAgICAgICAgICAgW1tTQ09QRTFdLCBbXSwgW11dKTsKLSAgICAgIH0pOwot
ICB9LCAnTm9ybWFsIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNjb3BlLicpOwotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBP
VVRfU0NPUEUgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1NDT1BF
KSwKLSAgICAgICAgICAgIE9USEVSX09SSUdJTl9TQ09QRSwKLSAgICAgICAgICAgIFtbXSwgW10s
IFtPVEhFUl9PUklHSU5fU0NPUEVdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ05vcm1hbCByZWRpcmVj
dCB0byBvdGhlci1vcmlnaW4gc2NvcGUuJyk7CitmdW5jdGlvbiBnZXRfY2xpZW50cyh3b3JrZXIs
IGFjdHVhbF9pZHMpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHZh
ciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1l
c3NhZ2UgPSAobXNnKSA9PiB7CisgICAgICByZXNvbHZlKG1zZy5kYXRhLmNsaWVudHMpOworICAg
IH07CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKHtjb21tYW5kOiAnZ2V0Q2xpZW50cycsIGFjdHVh
bF9pZHMsIHBvcnQ6IGNoYW5uZWwucG9ydDJ9LAorICAgICAgICAgICAgICAgICAgICAgICBbY2hh
bm5lbC5wb3J0Ml0pOworICB9KTsKK30KKworLy8gUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgVVJM
cyB0aGF0IHx3b3JrZXJ8IHJlY2VpdmVkIGZldGNoIGV2ZW50cyBmb3I6CisvLyAgIFt1cmwxLCB1
cmwyXQorYXN5bmMgZnVuY3Rpb24gZ2V0X2ludGVyY2VwdGVkX3VybHMod29ya2VyKSB7CisgIGNv
bnN0IGluZm9zID0gYXdhaXQgZ2V0X3JlcXVlc3RfaW5mb3Mod29ya2VyKTsKKyAgcmV0dXJuIGlu
Zm9zLm1hcChpbmZvID0+IHsgcmV0dXJuIGluZm8udXJsOyB9KTsKK30KKworLy8gUmV0dXJucyB0
aGUgcmVxdWVzdHMgdGhhdCB8d29ya2VyfCByZWNlaXZlZCBmZXRjaCBldmVudHMgZm9yLiBUaGUg
cmV0dXJuCisvLyB2YWx1ZSBpcyBhbiBhcnJheSBvZiBmb3JtYXQ6CisvLyBbCisvLyAgIHt1cmw6
IHVybDEsIHJlc3VsdGluZ0NsaWVudElkOiBpZH0sCisvLyAgIHt1cmw6IHVybDIsIHJlc3VsdGlu
Z0NsaWVudElkOiBpZH0KKy8vIF0KK2Z1bmN0aW9uIGdldF9yZXF1ZXN0X2luZm9zKHdvcmtlcikg
eworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgdmFyIGNoYW5uZWwgPSBu
ZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IChtc2cp
ID0+IHsKKyAgICAgIHJlc29sdmUobXNnLmRhdGEucmVxdWVzdEluZm9zKTsKKyAgICB9OworICAg
IHdvcmtlci5wb3N0TWVzc2FnZSh7Y29tbWFuZDogJ2dldFJlcXVlc3RJbmZvcycsIHBvcnQ6IGNo
YW5uZWwucG9ydDJ9LAorICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOwor
ICB9KTsKK30KKworLy8gUmV0dXJucyBhbiBhcnJheSBvZiB0aGUgcmVxdWVzdHMgdGhlIHdvcmtl
cnMgcmVjZWl2ZWQgZmV0Y2ggZXZlbnRzIGZvcjoKKy8vIFsKKy8vICAgLy8gUmVxdWVzdHMgZnJv
bSB3b3JrZXJzWzBdLgorLy8gICBbCisvLyAgICAge3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50
SWRUYWc6IHRhZzF9LAorLy8gICAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiB0
YWcxfQorLy8gICBdLAorLy8KKy8vICAgLy8gUmVxdWVzdHMgZnJvbSB3b3JrZXJzWzFdLgorLy8g
ICBbe3VybDogdXJsMywgcmVzdWx0aW5nQ2xpZW50SWRUYWc6IHRhZzJ9XSwKKy8vCisvLyAgIC8v
IFJlcXVlc3RzIGZyb20gdGhlIGNyb3NzLW9yaWdpbiB3b3JrZXIuCisvLyAgIFtdCisvLyBdCith
c3luYyBmdW5jdGlvbiBnZXRfYWxsX3JlcXVlc3RfaW5mb3MoKSAgeworICBjb25zdCByZXF1ZXN0
X2luZm9zID0gW107CisgIHJlcXVlc3RfaW5mb3MucHVzaChhd2FpdCBnZXRfcmVxdWVzdF9pbmZv
cyh3b3JrZXJzWzBdKSk7CisgIHJlcXVlc3RfaW5mb3MucHVzaChhd2FpdCBnZXRfcmVxdWVzdF9p
bmZvcyh3b3JrZXJzWzFdKSk7CisgIHJlcXVlc3RfaW5mb3MucHVzaChhd2FpdCBzZW5kX3RvX2lm
cmFtZShvdGhlcl9vcmlnaW5fZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7Y29tbWFuZDogJ2dldF9yZXF1ZXN0X2luZm9zJ30pKTsKKyAgcmV0dXJuIHJl
cXVlc3RfaW5mb3M7Cit9CisKK2xldCB1cmw7CitsZXQgdXJsMTsKK2xldCB1cmwyOworCisvLyBO
b3JtYWwgcmVkaXJlY3QgKGZyb20gb3V0LXNjb3BlIHRvIGluLXNjb3BlKS4KK3VybCA9IFNDT1BF
MTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgT1VUX1NDT1BFICsgJ3VybD0nICsgZW5jb2RlVVJJQ29t
cG9uZW50KHVybCksCisgICAgdXJsLAorICAgIFtbe3VybCwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6
ICd4J31dLCBbXSwgW11dLAorICAgICd4JywKKyAgICAnTm9ybWFsIHJlZGlyZWN0IHRvIHNhbWUt
b3JpZ2luIHNjb3BlLicpOworCisKK3VybCA9IFNDT1BFMSArICcjcmVmJzsKK3JlZGlyZWN0X3Rl
c3QoCisgICAgT1VUX1NDT1BFICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSkg
KyAnI3JlZicsCisgICAgdXJsLAorICAgIFtbe3VybCwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4
J31dLCBbXSwgW11dLAorICAgICd4JywKKyAgICAnTm9ybWFsIHJlZGlyZWN0IHRvIHNhbWUtb3Jp
Z2luIHNjb3BlIHdpdGggYSBoYXNoIGZyYWdtZW50LicpOworCit1cmwgPSBTQ09QRTEgKyAnI3Jl
ZjInOworcmVkaXJlY3RfdGVzdCgKKyAgICBPVVRfU0NPUEUgKyAndXJsPScgKyBlbmNvZGVVUklD
b21wb25lbnQodXJsKSArICcjcmVmJywKKyAgICB1cmwsCisgICAgW1t7dXJsLCByZXN1bHRpbmdD
bGllbnRJZFRhZzogJ3gnfV0sIFtdLCBbXV0sCisgICAgJ3gnLAorICAgICdOb3JtYWwgcmVkaXJl
Y3QgdG8gc2FtZS1vcmlnaW4gc2NvcGUgd2l0aCBkaWZmZXJlbnQgaGFzaCBmcmFnbWVudHMuJyk7
CisKK3VybCA9IE9USEVSX09SSUdJTl9TQ09QRTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgT1VUX1ND
T1BFICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCksCisgICAgdXJsLAorICAgIFtb
XSwgW10sIFt7dXJsLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV1dLAorICAgICd4JywKKyAg
ICAnTm9ybWFsIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBzY29wZS4nKTsKIAogLy8gU1cgZmFs
bGJhY2tlZCByZWRpcmVjdC4gU1cgZG9lc24ndCBoYW5kbGUgdGhlIGZldGNoIHJlcXVlc3QuCi1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0
KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAg
ICAgICAgIFNDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVVRfU0NPUEUpLAot
ICAgICAgICAgICAgT1VUX1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAndXJsPScgKyBl
bmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKV0sIFtdLCBbXV0pOwotICAgICAgfSk7Ci0gIH0s
ICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZS4nKTsKLXBy
b21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQp
LnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAg
ICAgICAgU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksCi0gICAg
ICAgICAgICBTQ09QRTEsCi0gICAgICAgICAgICBbW1NDT1BFMSArICd1cmw9JyArIGVuY29kZVVS
SUNvbXBvbmVudChTQ09QRTEpLCBTQ09QRTFdLCBbXSwgW11dKTsKLSAgICAgIH0pOwotICB9LCAn
U1ctZmFsbGJhY2tlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicpOwotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAg
ICAgICBTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUyKSwKLSAgICAg
ICAgICAgIFNDT1BFMiwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJ
Q29tcG9uZW50KFNDT1BFMildLCBbU0NPUEUyXSwgW11dKTsKLSAgICAgIH0pOwotICB9LCAnU1ct
ZmFsbGJhY2tlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBvdGhlci1zY29wZS4nKTsKLXByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRo
ZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAg
ICAgU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRf
U0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX09VVF9TQ09QRSwKLSAgICAgICAgICAg
IFtbU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRf
U0NPUEUpXSwKLSAgICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICBbXV0pOwotICAgICAgfSk7
Ci0gIH0sICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBvdXQtc2NvcGUu
Jyk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9u
bWVudCh0KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgK
LSAgICAgICAgICAgIFNDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9P
UklHSU5fU0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX1NDT1BFLAotICAgICAgICAg
ICAgW1tTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1ND
T1BFKV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW09USEVSX09SSUdJTl9TQ09Q
RV1dKTsKLSAgICAgIH0pOwotICB9LCAnU1ctZmFsbGJhY2tlZCByZWRpcmVjdCB0byBvdGhlci1v
cmlnaW4gaW4tc2NvcGUuJyk7Cit1cmwgPSBTQ09QRTEgKyAndXJsPScgKyBlbmNvZGVVUklDb21w
b25lbnQoT1VUX1NDT1BFKTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsLAorICAgIE9VVF9TQ09Q
RSwKKyAgICBbW3t1cmwsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwgW10sIFtdXSwKKyAg
ICAneCcsCisgICAgJ1NXLWZhbGxiYWNrZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3V0LXNj
b3BlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFND
T1BFMSk7Cit1cmwyID0gU0NPUEUxOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVy
bDIsCisgICAgWworICAgICAgWworICAgICAgICB7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJ
ZFRhZzogJ3gnfSwKKyAgICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4
J30KKyAgICAgIF0sCisgICAgICBbXSwKKyAgICAgIFtdCisgICAgXSwKKyAgICAneCcsCisgICAg
J1NXLWZhbGxiYWNrZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gc2FtZS1zY29wZS4nKTsKKwor
dXJsMSA9IFNDT1BFMSArICd1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTEpICsgJyNy
ZWYnOwordXJsMiA9IFNDT1BFMSArICcjcmVmJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwK
KyAgICB1cmwyLAorICAgIFsKKyAgICAgIFsKKyAgICAgICAge3VybDogdXJsMSwgcmVzdWx0aW5n
Q2xpZW50SWRUYWc6ICd4J30sCisgICAgICAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElk
VGFnOiAneCd9CisgICAgICBdLAorICAgICAgW10sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gn
LAorICAgICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNhbWUtc2NvcGUg
d2l0aCBhIGhhc2ggZnJhZ21lbnQuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAndXJsPScgKyBlbmNv
ZGVVUklDb21wb25lbnQoU0NPUEUxICsgJyNyZWYyJykgKyAnI3JlZic7Cit1cmwyID0gU0NPUEUx
ICsgJyNyZWYyJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFsK
KyAgICAgIFsKKyAgICAgICAge3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J30s
CisgICAgICAgIHt1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9CisgICAgICBd
LAorICAgICAgW10sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gnLAorICAgICdTVy1mYWxsYmFj
a2VkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNhbWUtc2NvcGUgd2l0aCBkaWZmZXJlbnQgaGFz
aCAnICsKKyAgICAnZnJhZ21lbnRzLicpOworCit1cmwxID0gU0NPUEUxICsgJ3VybD0nICsgZW5j
b2RlVVJJQ29tcG9uZW50KFNDT1BFMik7Cit1cmwyID0gU0NPUEUyOworcmVkaXJlY3RfdGVzdCgK
KyAgICB1cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAgW3t1cmw6IHVybDEsIHJlc3VsdGlu
Z0NsaWVudElkVGFnOiAneCd9XSwKKyAgICAgIFt7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJ
ZFRhZzogJ3gnfV0sCisgICAgICBbXQorICAgIF0sCisgICAgJ3gnLAorICAgICdTVy1mYWxsYmFj
a2VkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNjb3BlLicpOworCit1cmwxID0gU0NP
UEUxICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUp
OwordXJsMiA9IE9USEVSX09SSUdJTl9PVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVy
bDEsCisgICAgdXJsMiwKKyAgICBbW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAn
YSd9XSwgW10sIFtdXSwKKyAgICBudWxsLAorICAgICdTVy1mYWxsYmFja2VkIHJlZGlyZWN0IHRv
IG90aGVyLW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAndXJsPScgKyBl
bmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklH
SU5fU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisg
ICAgICBbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICdhJ31dLAorICAgICAgW10s
CisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dCisgICAgXSwK
KyAgICAneCcsCisgICAgJ1NXLWZhbGxiYWNrZWQgcmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGlu
LXNjb3BlLicpOworCisKK3VybDMgPSBTQ09QRTE7Cit1cmwyID0gT1RIRVJfT1JJR0lOX1NDT1BF
ICsgJ3VybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybDMpOwordXJsMSA9IFNDT1BFMSArICd1
cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudCh1cmwyKTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJs
MSwKKyAgICB1cmwzLAorICAgIFsKKyAgICAgIFsKKyAgICAgICAge3VybDogdXJsMSwgcmVzdWx0
aW5nQ2xpZW50SWRUYWc6ICdhJ30sCisgICAgICAgIHt1cmw6IHVybDMsIHJlc3VsdGluZ0NsaWVu
dElkVGFnOiAneCd9CisgICAgICBdLAorICAgICAgW10sCisgICAgICBbe3VybDogdXJsMiwgcmVz
dWx0aW5nQ2xpZW50SWRUYWc6ICdiJ31dCisgICAgXSwKKyAgICAneCcsCisgICAgJ1NXLWZhbGxi
YWNrZWQgcmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGFuZCBiYWNrIHRvIHNhbWUtb3JpZ2luLicp
OwogCiAvLyBTVyBnZW5lcmF0ZWQgcmVkaXJlY3QuCiAvLyBTVzogZXZlbnQucmVzcG9uZFdpdGgo
UmVzcG9uc2UucmVkaXJlY3QocGFyYW1zWyd1cmwnXSkpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9u
KHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsK
LSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9
Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9VVF9TQ09QRSksCi0gICAgICAgICAgICBP
VVRfU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1nZW4mdXJsPScgKyBlbmNvZGVV
UklDb21wb25lbnQoT1VUX1NDT1BFKV0sIFtdLCBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1n
ZW5lcmF0ZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3V0LXNjb3BlLicpOwotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBT
Q09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksCi0gICAg
ICAgICAgICBTQ09QRTEsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1nZW4mdXJsPScgKyBl
bmNvZGVVUklDb21wb25lbnQoU0NPUEUxKSwgU0NPUEUxXSwKLSAgICAgICAgICAgICBbXSwKLSAg
ICAgICAgICAgICBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1nZW5lcmF0ZWQgcmVkaXJlY3Qg
dG8gc2FtZS1vcmlnaW4gc2FtZS1zY29wZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PWdlbiZ1
cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTIpLAotICAgICAgICAgICAgU0NPUEUyLAot
ICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50
KFNDT1BFMildLAotICAgICAgICAgICAgIFtTQ09QRTJdLAotICAgICAgICAgICAgIFtdXSk7Ci0g
ICAgICB9KTsKLSAgfSwgJ1NXLWdlbmVyYXRlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBvdGhl
ci1zY29wZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVw
X2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3Jl
ZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PWdlbiZ1cmw9JyArIGVuY29kZVVSSUNv
bXBvbmVudChPVEhFUl9PUklHSU5fT1VUX1NDT1BFKSwKLSAgICAgICAgICAgIE9USEVSX09SSUdJ
Tl9PVVRfU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdzdz1nZW4mdXJsPScgKwotICAg
ICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX09VVF9TQ09QRSldLAot
ICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NX
LWdlbmVyYXRlZCByZWRpcmVjdCB0byBvdGhlci1vcmlnaW4gb3V0LXNjb3BlLicpOwotcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhl
bihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAg
ICBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJ
Tl9TQ09QRSksCi0gICAgICAgICAgICBPVEhFUl9PUklHSU5fU0NPUEUsCi0gICAgICAgICAgICBb
W1NDT1BFMSArICdzdz1nZW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lO
X1NDT1BFKV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW09USEVSX09SSUdJTl9T
Q09QRV1dKTsKLSAgICAgIH0pOwotICB9LCAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIG90aGVy
LW9yaWdpbiBpbi1zY29wZS4nKTsKK3VybDEgPSBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5j
b2RlVVJJQ29tcG9uZW50KE9VVF9TQ09QRSk7Cit1cmwyID0gT1VUX1NDT1BFOworcmVkaXJlY3Rf
dGVzdCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgW1t7dXJsOiB1cmwxLCByZXN1bHRpbmdD
bGllbnRJZFRhZzogJ3gnfV0sIFtdLCBbXV0sCisgICAgJ3gnLAorICAgICdTVy1nZW5lcmF0ZWQg
cmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3V0LXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsg
J3N3PWdlbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVVRfU0NPUEUpICsgJyNyZWYnOwor
dXJsMiA9IE9VVF9TQ09QRSArICcjcmVmJzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAg
ICB1cmwyLAorICAgIFtbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLCBb
XSwgW11dLAorICAgICd4JywKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIHNhbWUtb3Jp
Z2luIG91dC1zY29wZSB3aXRoIGEgaGFzaCBmcmFnbWVudC4nKTsKKwordXJsMSA9IFNDT1BFMSAr
ICdzdz1nZW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFICsgJyNyZWYyJykg
KyAnI3JlZic7Cit1cmwyID0gT1VUX1NDT1BFICsgJyNyZWYyJzsKK3JlZGlyZWN0X3Rlc3QoCisg
ICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFtbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRU
YWc6ICd4J31dLCBbXSwgW11dLAorICAgICd4JywKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0
IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZSB3aXRoIGRpZmZlcmVudCBoYXNoICcgKworICAgICdm
cmFnbWVudHMuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsgZW5jb2RlVVJJ
Q29tcG9uZW50KFNDT1BFMSk7Cit1cmwyID0gU0NPUEUxOworcmVkaXJlY3RfdGVzdCgKKyAgICB1
cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAgWworICAgICAgICB7dXJsOiB1cmwxLCByZXN1
bHRpbmdDbGllbnRJZFRhZzogJ3gnfSwKKyAgICAgICAge3VybDogdXJsMiwgcmVzdWx0aW5nQ2xp
ZW50SWRUYWc6ICd4J30KKyAgICAgIF0sCisgICAgICBbXSwKKyAgICAgIFtdCisgICAgXSwKKyAg
ICAneCcsCisgICAgJ1NXLWdlbmVyYXRlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNj
b3BlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PWdlbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBv
bmVudChTQ09QRTIpOwordXJsMiA9IFNDT1BFMjsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwK
KyAgICB1cmwyLAorICAgIFsKKyAgICAgIFt7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRh
ZzogJ3gnfV0sCisgICAgICBbe3VybDogdXJsMiwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31d
LAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0
IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PWdl
biZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fT1VUX1NDT1BFKTsKK3Vy
bDIgPSBPVEhFUl9PUklHSU5fT1VUX1NDT1BFOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAor
ICAgIHVybDIsCisgICAgW1t7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ2EnfV0s
IFtdLCBbXV0sCisgICAgbnVsbCwKKyAgICAnU1ctZ2VuZXJhdGVkIHJlZGlyZWN0IHRvIG90aGVy
LW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAnc3c9Z2VuJnVybD0nICsg
ZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09QRSk7Cit1cmwyID0gT1RIRVJfT1JJ
R0lOX1NDT1BFOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgWwor
ICAgICAgW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwKKyAgICAgIFtd
LAorICAgICAgW3t1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XQorICAgIF0s
CisgICAgJ3gnLAorICAgICdTVy1nZW5lcmF0ZWQgcmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGlu
LXNjb3BlLicpOworCiAKIC8vIFNXIGZldGNoZWQgcmVkaXJlY3QuCiAvLyBTVzogZXZlbnQucmVz
cG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQp
IHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAg
ICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9ZmV0
Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKSwKLSAgICAgICAgICAgIE9V
VF9TQ09QRSwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3N3PWZldGNoJnVybD0nICsgZW5jb2Rl
VVJJQ29tcG9uZW50KE9VVF9TQ09QRSldLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAg
IFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWZldGNoZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmln
aW4gb3V0LXNjb3BlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4g
c2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRl
c3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNv
ZGVVUklDb21wb25lbnQoU0NPUEUxKSwKLSAgICAgICAgICAgIFNDT1BFMSwKLSAgICAgICAgICAg
IFtbU0NPUEUxICsgJ3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSks
IFNDT1BFMV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0p
OwotICB9LCAnU1ctZmV0Y2hlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicp
OwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1l
bnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0g
ICAgICAgICAgICBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQo
U0NPUEUyKSwKLSAgICAgICAgICAgIFNDT1BFMiwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3N3
PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMildLAotICAgICAgICAgICAg
IFtTQ09QRTJdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWZldGNo
ZWQgcmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3RoZXItc2NvcGUuJyk7Ci1wcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1bmN0
aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAgICAgICAgIFNDT1BF
MSArICdzdz1mZXRjaCZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoT1RI
RVJfT1JJR0lOX09VVF9TQ09QRSksCi0gICAgICAgICAgICBPVEhFUl9PUklHSU5fT1VUX1NDT1BF
LAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKwotICAgICAgICAgICAg
ICBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJfT1JJR0lOX09VVF9TQ09QRSldLAotICAgICAgICAg
ICAgIFtdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1NXLWZldGNoZWQg
cmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIG91dC1zY29wZS4nKTsKLXByb21pc2VfdGVzdChmdW5j
dGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsg
J3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9TQ09QRSks
Ci0gICAgICAgICAgICBPVEhFUl9PUklHSU5fU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSAr
ICdzdz1mZXRjaCZ1cmw9JyArCi0gICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhF
Ul9PUklHSU5fU0NPUEUpXSwKLSAgICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICBbT1RIRVJf
T1JJR0lOX1NDT1BFXV0pOwotICAgICAgfSk7Ci0gIH0sICdTVy1mZXRjaGVkIHJlZGlyZWN0IHRv
IG90aGVyLW9yaWdpbiBpbi1zY29wZS4nKTsKK3VybDEgPSBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJs
PScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKQordXJsMiA9IE9VVF9TQ09QRTsKK3Jl
ZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFtbe3VybDogdXJsMSwgcmVz
dWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLCBbXSwgW11dLAorICAgICd4JywKKyAgICAnU1ctZmV0
Y2hlZCByZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3VybDEgPSBTQ09Q
RTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUxKTsKK3VybDIg
PSBTQ09QRTE7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisg
ICAgICBbCisgICAgICAgIHt1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9LAor
ICAgICAgICB7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfQorICAgICAgXSwK
KyAgICAgIFtdLAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnU1ctZmV0Y2hlZCBy
ZWRpcmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlLicpOworCit1cmwxID0gU0NPUEUxICsg
J3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMik7Cit1cmwyID0gU0NP
UEUyOworcmVkaXJlY3RfdGVzdCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAg
W3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwKKyAgICAgIFt7dXJsOiB1
cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV0sCisgICAgICBbXQorICAgIF0sCisgICAg
J3gnLAorICAgICdTVy1mZXRjaGVkIHJlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVyLXNjb3Bl
LicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PWZldGNoJnVybD0nICsgZW5jb2RlVVJJQ29tcG9u
ZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUpOwordXJsMiA9IE9USEVSX09SSUdJTl9PVVRfU0NP
UEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbW3t1cmw6IHVy
bDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwgW10sIFtdXSwKKyAgICBudWxsLAorICAg
ICdTVy1mZXRjaGVkIHJlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBvdXQtc2NvcGUuJyk7CisKK3Vy
bDEgPSBTQ09QRTEgKyAnc3c9ZmV0Y2gmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RIRVJf
T1JJR0lOX1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fU0NPUEU7CityZWRpcmVjdF90ZXN0
KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBbe3VybDogdXJsMSwgcmVzdWx0
aW5nQ2xpZW50SWRUYWc6ICdhJ31dLAorICAgICAgW10sCisgICAgICBbe3VybDogdXJsMiwgcmVz
dWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dCisgICAgXSwKKyAgICAneCcsCisgICAgJ1NXLWZldGNo
ZWQgcmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIGluLXNjb3BlLicpOworCiAKIC8vIE9wYXF1ZSBy
ZWRpcmVjdC4KIC8vIFNXOiBldmVudC5yZXNwb25kV2l0aChmZXRjaCgKIC8vICAgICAgICAgbmV3
IFJlcXVlc3QoZXZlbnQucmVxdWVzdC51cmwsIHtyZWRpcmVjdDogJ21hbnVhbCd9KSkpOwotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAg
ICAgICBTQ09QRTEgKyAnc3c9bWFudWFsJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KE9VVF9T
Q09QRSksCi0gICAgICAgICAgICBPVVRfU0NPUEUsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdz
dz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKV0sCi0gICAgICAg
ICAgICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LCAnUmVkaXJlY3Qg
dG8gc2FtZS1vcmlnaW4gb3V0LXNjb3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlLicp
OwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1l
bnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0g
ICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50
KFNDT1BFMSksCi0gICAgICAgICAgICBTQ09QRTEsCi0gICAgICAgICAgICBbW1NDT1BFMSArICdz
dz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUxKSwgU0NPUEUxXSwKLSAg
ICAgICAgICAgICBbXSwKLSAgICAgICAgICAgICBbXV0pOwotICAgICAgfSk7Ci0gIH0sICdSZWRp
cmVjdCB0byBzYW1lLW9yaWdpbiBzYW1lLXNjb3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3Bv
bnNlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52
aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJl
Y3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsJnVybD0nICsgZW5jb2RlVVJJQ29t
cG9uZW50KFNDT1BFMiksCi0gICAgICAgICAgICBTQ09QRTIsCi0gICAgICAgICAgICBbW1NDT1BF
MSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUyKV0sCi0gICAg
ICAgICAgICAgW1NDT1BFMl0sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LCAn
UmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3RoZXItc2NvcGUgd2l0aCBvcGFxdWUgcmVkaXJlY3Qg
cmVzcG9uc2UuJyk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJldHVybiBzZXR1
cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9y
ZWRpcmVjdCgKLSAgICAgICAgICAgIFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKwotICAgICAg
ICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUpLAotICAgICAg
ICAgICAgT1RIRVJfT1JJR0lOX09VVF9TQ09QRSwKLSAgICAgICAgICAgIFtbU0NPUEUxICsgJ3N3
PW1hbnVhbCZ1cmw9JyArCi0gICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9P
UklHSU5fT1VUX1NDT1BFKV0sCi0gICAgICAgICAgICAgW10sCi0gICAgICAgICAgICAgW11dKTsK
LSAgICAgIH0pOwotICB9LCAnUmVkaXJlY3QgdG8gb3RoZXItb3JpZ2luIG91dC1zY29wZSB3aXRo
IG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKLXByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3PW1hbnVh
bCZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fU0NPUEUpLAotICAgICAg
ICAgICAgT1RIRVJfT1JJR0lOX1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFu
dWFsJnVybD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJ
Tl9TQ09QRSldLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtPVEhFUl9PUklHSU5f
U0NPUEVdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ1JlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBpbi1z
Y29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKLXByb21pc2VfdGVzdChmdW5j
dGlvbih0KSB7Ci0gICAgcmV0dXJuIHNldHVwX2Vudmlyb25tZW50KHQpLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgIHJldHVybiB0ZXN0X3JlZGlyZWN0KAotICAgICAgICAgICAgU0NPUEUxICsg
J3N3PW1hbnVhbCZub0xvY2F0aW9uUmVkaXJlY3QnLAotICAgICAgICAgICAgU0NPUEUxICsgJ3N3
PW1hbnVhbCZub0xvY2F0aW9uUmVkaXJlY3QnLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9
bWFudWFsJm5vTG9jYXRpb25SZWRpcmVjdCddLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAg
ICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwgJ05vIGxvY2F0aW9uIHJlZGlyZWN0IHJlc3BvbnNl
LicpOwordXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25l
bnQoT1VUX1NDT1BFKTsKK3VybDIgPSBPVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVy
bDEsCisgICAgdXJsMiwKKyAgICBbW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAn
eCd9XSwgW10sIFtdXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91
dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKKwordXJsMSA9IFNDT1BF
MSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoU0NPUEUxKTsKK3VybDIg
PSBTQ09QRTE7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisg
ICAgICBbCisgICAgICAgIHt1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9LAor
ICAgICAgICB7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfQorICAgICAgXSwK
KyAgICAgIFtdLAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAgICAnUmVkaXJlY3QgdG8g
c2FtZS1vcmlnaW4gc2FtZS1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsK
KwordXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQo
U0NPUEUyKTsKK3VybDIgPSBTQ09QRTI7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAg
dXJsMiwKKyAgICBbCisgICAgICBbe3VybDogdXJsMSwgcmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4
J31dLAorICAgICAgW3t1cmw6IHVybDIsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwKKyAg
ICAgIFtdCisgICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90
aGVyLXNjb3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlLicpOworCit1cmwxID0gU0NP
UEUxICsgJ3N3PW1hbnVhbCZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5f
T1VUX1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fT1VUX1NDT1BFOworcmVkaXJlY3RfdGVz
dCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgW1t7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGll
bnRJZFRhZzogJ2EnfV0sIFtdLCBbXV0sCisgICAgbnVsbCwKKyAgICAnUmVkaXJlY3QgdG8gb3Ro
ZXItb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZS4nKTsKKwor
dXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWwmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1RI
RVJfT1JJR0lOX1NDT1BFKTsKK3VybDIgPSBPVEhFUl9PUklHSU5fU0NPUEU7CityZWRpcmVjdF90
ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAgICBbCisgICAgICBbe3VybDogdXJsMSwgcmVz
dWx0aW5nQ2xpZW50SWRUYWc6ICdhJ31dLAorICAgICAgW10sCisgICAgICBbe3VybDogdXJsMiwg
cmVzdWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dCisgICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGly
ZWN0IHRvIG90aGVyLW9yaWdpbiBpbi1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25z
ZS4nKTsKKwordXJsPSBTQ09QRTEgKyAnc3c9bWFudWFsJm5vTG9jYXRpb25SZWRpcmVjdCc7City
ZWRpcmVjdF90ZXN0KAorICAgIHVybCwgdXJsLCBbW3t1cmwsIHJlc3VsdGluZ0NsaWVudElkVGFn
OiAneCd9XSwgW10sIFtdXSwKKyAgICAneCcsCisgICAgJ05vIGxvY2F0aW9uIHJlZGlyZWN0IHJl
c3BvbnNlLicpOworCiAKIC8vIE9wYXF1ZSByZWRpcmVjdCBwYXNzZWQgdGhyb3VnaCBDYWNoZS4K
IC8vIFNXIHJlc3BvbmRzIHdpdGggYW4gb3BhcXVlIHJlZGlyZWN0cmVzcG9uc2UgZnJvbSB0aGUg
Q2FjaGUgQVBJLgotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBf
ZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVk
aXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0n
ICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVVRfU0NPUEUpLAotICAgICAgICAg
ICAgT1VUX1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENh
Y2hlJnVybD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9VVF9TQ09QRSld
LAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtdXSk7Ci0gICAgICB9KTsKLSAgfSwK
LSAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVj
dCByZXNwb25zZSB3aGljaCAnICsKLSAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwotcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCku
dGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAg
ICAgICBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAg
IGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTEpLAotICAgICAgICAgICAgU0NPUEUxLAotICAgICAg
ICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAg
ICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSksIFNDT1BFMV0sCi0gICAgICAgICAgICAg
W10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LAotICAnUmVkaXJlY3QgdG8g
c2FtZS1vcmlnaW4gc2FtZS1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3aGlj
aCAnICsKLSAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0
aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigp
IHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAn
c3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBv
bmVudChTQ09QRTIpLAotICAgICAgICAgICAgU0NPUEUyLAotICAgICAgICAgICAgW1tTQ09QRTEg
KyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJ
Q29tcG9uZW50KFNDT1BFMildLAotICAgICAgICAgICAgIFtTQ09QRTJdLAotICAgICAgICAgICAg
IFtdXSk7Ci0gICAgICB9KTsKLSAgfSwKLSAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG90aGVy
LXNjb3BlIHdpdGggb3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlIHdoaWNoICcgKwotICAnaXMgcGFz
c2VkIHRocm91Z2ggQ2FjaGUuJyk7Ci1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHJl
dHVybiBzZXR1cF9lbnZpcm9ubWVudCh0KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1
cm4gdGVzdF9yZWRpcmVjdCgKLSAgICAgICAgICAgIFNDT1BFMSArICdzdz1tYW51YWxUaHJvdWdo
Q2FjaGUmdXJsPScgKwotICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJ
Tl9PVVRfU0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJR0lOX09VVF9TQ09QRSwKLSAgICAg
ICAgICAgIFtbU0NPUEUxICsgJ3N3PW1hbnVhbFRocm91Z2hDYWNoZSZ1cmw9JyArCi0gICAgICAg
ICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fT1VUX1NDT1BFKV0sCi0gICAg
ICAgICAgICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LAotICAnUmVk
aXJlY3QgdG8gb3RoZXItb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNw
b25zZSB3aGljaCAnICsKLSAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwotcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihm
dW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBT
Q09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsKLSAgICAgICAgICAgIGVuY29k
ZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fU0NPUEUpLAotICAgICAgICAgICAgT1RIRVJfT1JJ
R0lOX1NDT1BFLAotICAgICAgICAgICAgW1tTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hl
JnVybD0nICsKLSAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9T
Q09QRSldLAotICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAgIFtPVEhFUl9PUklHSU5fU0NP
UEVdXSk7Ci0gICAgICB9KTsKLSAgfSwKLSAgJ1JlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBpbi1z
Y29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3aGljaCAnICsKLSAgJ2lzIHBhc3Nl
ZCB0aHJvdWdoIENhY2hlLicpOwotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1
cm4gc2V0dXBfZW52aXJvbm1lbnQodCkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJu
IHRlc3RfcmVkaXJlY3QoCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENh
Y2hlJm5vTG9jYXRpb25SZWRpcmVjdCcsCi0gICAgICAgICAgICBTQ09QRTEgKyAnc3c9bWFudWFs
VGhyb3VnaENhY2hlJm5vTG9jYXRpb25SZWRpcmVjdCcsCi0gICAgICAgICAgICBbW1NDT1BFMSAr
ICdzdz1tYW51YWxUaHJvdWdoQ2FjaGUmbm9Mb2NhdGlvblJlZGlyZWN0J10sCi0gICAgICAgICAg
ICAgW10sCi0gICAgICAgICAgICAgW11dKTsKLSAgICAgIH0pOwotICB9LCAnTm8gbG9jYXRpb24g
cmVkaXJlY3QgcmVzcG9uc2UgdmlhIENhY2hlLicpOwordXJsMSA9IFNDT1BFMSArICdzdz1tYW51
YWxUaHJvdWdoQ2FjaGUmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoT1VUX1NDT1BFKTsKK3Vy
bDIgPSBPVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwKKyAg
ICBbW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwgW10sIFtdXSwKKyAg
ICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIG91dC1zY29wZSB3aXRoIG9wYXF1
ZSByZWRpcmVjdCByZXNwb25zZSB3aGljaCAnICsKKyAgICAnaXMgcGFzc2VkIHRocm91Z2ggQ2Fj
aGUuJyk7CisKK3VybDEgPSBTQ09QRTEgKyAnc3c9bWFudWFsVGhyb3VnaENhY2hlJnVybD0nICsg
ZW5jb2RlVVJJQ29tcG9uZW50KFNDT1BFMSk7Cit1cmwyID0gU0NPUEUxOworcmVkaXJlY3RfdGVz
dCgKKyAgICB1cmwxLAorICAgIHVybDIsCisgICAgWworICAgICAgWworICAgICAgICB7dXJsOiB1
cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfSwKKyAgICAgICAge3VybDogdXJsMiwgcmVz
dWx0aW5nQ2xpZW50SWRUYWc6ICd4J30KKyAgICAgIF0sCisgICAgICBbXSwKKyAgICAgIFtdCisg
ICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIHNhbWUtb3JpZ2luIHNhbWUtc2NvcGUg
d2l0aCBvcGFxdWUgcmVkaXJlY3QgcmVzcG9uc2Ugd2hpY2ggJyArCisgICAgJ2lzIHBhc3NlZCB0
aHJvdWdoIENhY2hlLicpOworCit1cmwxID0gU0NPUEUxICsgJ3N3PW1hbnVhbFRocm91Z2hDYWNo
ZSZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChTQ09QRTIpOwordXJsMiA9IFNDT1BFMjsKK3Jl
ZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1cmwyLAorICAgIFsKKyAgICAgIFt7dXJsOiB1
cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ3gnfV0sCisgICAgICBbe3VybDogdXJsMiwgcmVz
dWx0aW5nQ2xpZW50SWRUYWc6ICd4J31dLAorICAgICAgW10KKyAgICBdLAorICAgICd4JywKKyAg
ICAnUmVkaXJlY3QgdG8gc2FtZS1vcmlnaW4gb3RoZXItc2NvcGUgd2l0aCBvcGFxdWUgcmVkaXJl
Y3QgcmVzcG9uc2Ugd2hpY2ggJyArCisgICAgJ2lzIHBhc3NlZCB0aHJvdWdoIENhY2hlLicpOwor
Cit1cmwxID0gU0NPUEUxICsgJ3N3PW1hbnVhbFRocm91Z2hDYWNoZSZ1cmw9JyArCisgICAgICAg
ZW5jb2RlVVJJQ29tcG9uZW50KE9USEVSX09SSUdJTl9PVVRfU0NPUEUpOwordXJsMiA9IE9USEVS
X09SSUdJTl9PVVRfU0NPUEU7CityZWRpcmVjdF90ZXN0KAorICAgIHVybDEsCisgICAgdXJsMiwK
KyAgICBbW3t1cmw6IHVybDEsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAnYSd9XSwgW10sIFtdXSwK
KyAgICBudWxsLAorICAgICdSZWRpcmVjdCB0byBvdGhlci1vcmlnaW4gb3V0LXNjb3BlIHdpdGgg
b3BhcXVlIHJlZGlyZWN0IHJlc3BvbnNlIHdoaWNoICcgKworICAgICdpcyBwYXNzZWQgdGhyb3Vn
aCBDYWNoZS4nKTsKKwordXJsMSA9IFNDT1BFMSArICdzdz1tYW51YWxUaHJvdWdoQ2FjaGUmdXJs
PScgKworICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChPVEhFUl9PUklHSU5fU0NPUEUpOwordXJs
MiA9IE9USEVSX09SSUdJTl9TQ09QRTsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsMSwKKyAgICB1
cmwyLAorICAgIFsKKyAgICAgIFt7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZFRhZzogJ2En
fV0sCisgICAgICBbXSwKKyAgICAgIFt7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZFRhZzog
J3gnfV0sCisgICAgXSwKKyAgICAneCcsCisgICAgJ1JlZGlyZWN0IHRvIG90aGVyLW9yaWdpbiBp
bi1zY29wZSB3aXRoIG9wYXF1ZSByZWRpcmVjdCByZXNwb25zZSB3aGljaCAnICsKKyAgICAnaXMg
cGFzc2VkIHRocm91Z2ggQ2FjaGUuJyk7CisKK3VybCA9IFNDT1BFMSArICdzdz1tYW51YWxUaHJv
dWdoQ2FjaGUmbm9Mb2NhdGlvblJlZGlyZWN0JzsKK3JlZGlyZWN0X3Rlc3QoCisgICAgdXJsLAor
ICAgIHVybCwKKyAgICBbW3t1cmwsIHJlc3VsdGluZ0NsaWVudElkVGFnOiAneCd9XSwgW10sIFtd
XSwKKyAgICAneCcsCisgICAgJ05vIGxvY2F0aW9uIHJlZGlyZWN0IHJlc3BvbnNlIHZpYSBDYWNo
ZS4nKTsKKworLy8gQ2xlYW4gdXAgdGhlIHRlc3QgZW52aXJvbm1lbnQuIFRoaXMgcHJvbWlzZV90
ZXN0KCkgbmVlZHMgdG8gYmUgdGhlIGxhc3Qgb25lLgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICByZWdpc3RyYXRpb25zLmZvckVhY2goYXN5bmMgcmVnaXN0cmF0aW9uID0+IHsKKyAgICBp
ZiAocmVnaXN0cmF0aW9uKQorICAgICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsK
KyAgfSk7CisgIGF3YWl0IHNlbmRfdG9faWZyYW1lKG90aGVyX29yaWdpbl9mcmFtZSwge2NvbW1h
bmQ6ICd1bnJlZ2lzdGVyJ30pOworICBvdGhlcl9vcmlnaW5fZnJhbWUucmVtb3ZlKCk7Cit9LCAn
Y2xlYW4gdXAgZ2xvYmFsIHN0YXRlJyk7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMjc5ZTcxZTJiMDg0MGY3NWIxYjBiNDFlMTU5NmUxOTgwNTcyMWNhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi10aW1pbmcuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIFNlcnZpY2Ugd29ya2VyIGNvbnRy
b2xsZWQgbmF2aWdhdGlvbiB0aW1pbmcgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWpl
Y3Rpb246IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aW1pbmdbdGlt
aW5nRXZlbnRPcmRlcltpXV0nKSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgU2Vydmlj
ZSB3b3JrZXIgY29udHJvbGxlZCBuYXZpZ2F0aW9uIHRpbWluZyBuZXR3b3JrIGZhbGxiYWNrIGFz
c2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAndGltaW5nW3RpbWluZ0V2ZW50T3JkZXJbaV1dJykgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFNlcnZpY2Ugd29ya2VyIGNvbnRyb2xsZWQgbmF2aWdh
dGlvbiB0aW1pbmcgcmVkaXJlY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rp
b246IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aW1pbmdbdGltaW5n
RXZlbnRPcmRlcltpXV0nKSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi10aW1pbmcuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWMzNDU2
ZTlkMWE5ODY4YjExZDU1NzE4NjI1NjBhZmRhMGE0NmZlZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tdGltaW5nLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwx
MTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2NvbnN0IHRpbWluZ0V2ZW50T3JkZXIgPSBbCisg
ICAgJ3N0YXJ0VGltZScsCisgICAgJ3dvcmtlclN0YXJ0JywKKyAgICAnZmV0Y2hTdGFydCcsCisg
ICAgJ3JlcXVlc3RTdGFydCcsCisgICAgJ3Jlc3BvbnNlU3RhcnQnLAorICAgICdyZXNwb25zZUVu
ZCcsCitdOworCitmdW5jdGlvbiB2ZXJpZnkodGltaW5nKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCB0aW1pbmdFdmVudE9yZGVyLmxlbmd0aCAtIDE7IGkrKykgeworICAgICAgICBhc3NlcnRf
dHJ1ZSh0aW1pbmdbdGltaW5nRXZlbnRPcmRlcltpXV0gPD0gdGltaW5nW3RpbWluZ0V2ZW50T3Jk
ZXJbaSArIDFdXSwKKyAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgJHt0aW1pbmdFdmVudE9yZGVy
W2ldfSA8PSAke3RpbWluZ0V2ZW50T3JkZXJbaSArIDFdfWApOworICAgIH0KK30KKworZnVuY3Rp
b24gbmF2aWdhdGVfaW5fZnJhbWUoZnJhbWUsIHVybCkgeworICAgIGZyYW1lLmNvbnRlbnRXaW5k
b3cubG9jYXRpb24gPSB1cmw7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7
CisgICAgICAgIGZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CisgICAgICAg
ICAgICBjb25zdCB0aW1pbmcgPSBmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ25hdmlnYXRpb24nKVswXTsKKyAgICAgICAgICAgIHJlc29sdmUodGltaW5n
KTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK2NvbnN0IHdvcmtlcl91cmwgPSAncmVzb3Vy
Y2VzL25hdmlnYXRpb24tdGltaW5nLXdvcmtlci5qcyc7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsK
KyAgICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvZW1wdHkuaHRtbCc7CisgICAgbGV0IGZyYW1l
OworCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IHdvcmtlcl91cmwsIHNjb3BlKQorICAgICAgLnRoZW4ociA9PiB7CisgICAgICAgIHJldHVybiB3
YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICAgIH0pCisg
ICAgICAudGhlbigoKSA9PiB3aXRoX2lmcmFtZShzY29wZSkpCisgICAgICAudGhlbihmID0+IHsK
KyAgICAgICAgZnJhbWUgPSBmOworICAgICAgICByZXR1cm4gbmF2aWdhdGVfaW5fZnJhbWUoZnJh
bWUsICdyZXNvdXJjZXMvZW1wdHkuaHRtbCcpOworICAgICAgfSkKKyAgICAgIC50aGVuKHRpbWlu
ZyA9PiB7CisgICAgICAgIHZlcmlmeSh0aW1pbmcpOworICAgICAgfSkKKyAgICAgIC5jYXRjaCh1
bnJlYWNoZWRfcmVqZWN0aW9uKHQpKQorICAgICAgLnRoZW4oKCkgPT4geworICAgICAgICBpZiAo
ZnJhbWUpCisgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKKyAgICAgICAgcmV0dXJuIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgfSk7Cit9LCAnU2VydmljZSB3
b3JrZXIgY29udHJvbGxlZCBuYXZpZ2F0aW9uIHRpbWluZycpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgICAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL2VtcHR5Lmh0bWw/bmV0d29yay1mYWxs
YmFjayc7CisgICAgbGV0IGZyYW1lOworCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQorICAgICAgLnRoZW4ociA9
PiB7CisgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3Rp
dmF0ZWQnKTsKKyAgICAgIH0pCisgICAgICAudGhlbigoKSA9PiB3aXRoX2lmcmFtZShzY29wZSkp
CisgICAgICAudGhlbihmID0+IHsKKyAgICAgICAgZnJhbWUgPSBmOworICAgICAgICByZXR1cm4g
bmF2aWdhdGVfaW5fZnJhbWUoZnJhbWUsICdyZXNvdXJjZXMvZW1wdHkuaHRtbD9uZXR3b3JrLWZh
bGxiYWNrJyk7CisgICAgICB9KQorICAgICAgLnRoZW4odGltaW5nID0+IHsKKyAgICAgICAgdmVy
aWZ5KHRpbWluZyk7CisgICAgICB9KQorICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpCisgICAgICAudGhlbigoKSA9PiB7CisgICAgICAgIGlmIChmcmFtZSkKKyAgICAgICAgICAg
IGZyYW1lLnJlbW92ZSgpOworICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rl
cih0LCBzY29wZSk7CisgICAgICB9KTsKK30sICdTZXJ2aWNlIHdvcmtlciBjb250cm9sbGVkIG5h
dmlnYXRpb24gdGltaW5nIG5ldHdvcmsgZmFsbGJhY2snKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICAgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD1lbXB0
eS5odG1sJzsKKyAgICBsZXQgZnJhbWU7CisKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwgc2NvcGUpCisgICAgICAudGhlbihy
ID0+IHsKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ2Fj
dGl2YXRlZCcpOworICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHdpdGhfaWZyYW1lKHNjb3Bl
KSkKKyAgICAgIC50aGVuKGYgPT4geworICAgICAgICBmcmFtZSA9IGY7CisgICAgICAgIHJldHVy
biBuYXZpZ2F0ZV9pbl9mcmFtZShmcmFtZSwgJ3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVj
dD1lbXB0eS5odG1sJyk7CisgICAgICB9KQorICAgICAgLnRoZW4odGltaW5nID0+IHsKKyAgICAg
ICAgdmVyaWZ5KHRpbWluZyk7CisgICAgICAgIC8vIEFkZGl0aW9uYWwgY2hlY2tzIGZvciByZWRp
cmVjdGVkIG5hdmlnYXRpb24uCisgICAgICAgIGFzc2VydF90cnVlKHRpbWluZy5yZWRpcmVjdFN0
YXJ0IDw9IHRpbWluZy5yZWRpcmVjdEVuZCwKKyAgICAgICAgICAgICdFeHBlY3RlZCByZWRpcmVj
dFN0YXJ0IDw9IHJlZGlyZWN0RW5kJyk7CisgICAgICAgIGFzc2VydF90cnVlKHRpbWluZy5yZWRp
cmVjdEVuZCA8PSB0aW1pbmcuZmV0Y2hTdGFydCwKKyAgICAgICAgICAgICdFeHBlY3RlZCByZWRp
cmVjdEVuZCA8PSBmZXRjaFN0YXJ0Jyk7CisgICAgICB9KQorICAgICAgLmNhdGNoKHVucmVhY2hl
ZF9yZWplY3Rpb24odCkpCisgICAgICAudGhlbigoKSA9PiB7CisgICAgICAgIGlmIChmcmFtZSkK
KyAgICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgICAgICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICB9KTsKK30sICdTZXJ2aWNlIHdvcmtlciBj
b250cm9sbGVkIG5hdmlnYXRpb24gdGltaW5nIHJlZGlyZWN0Jyk7Cis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL29uYWN0aXZhdGUtc2NyaXB0LWVycm9yLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9vbmFjdGl2YXRlLXNjcmlwdC1lcnJvci5odHRwcy5odG1s
CmluZGV4IDZjMTYzNTdmM2NjNWFiYTE4MWVlMDc5OGFjOWZhZGMyMzg4YzNmM2EuLmY1ZTgwYmI5
YTQ1NmJjNTdmMmE4MjFlMWZkNjkxMTRlNmFlODYzOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL29uYWN0aXZhdGUtc2NyaXB0LWVycm9yLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvb25hY3RpdmF0ZS1zY3JpcHQtZXJyb3IuaHR0cHMuaHRtbApAQCAtMzUsNyArMzUs
NyBAQCBmdW5jdGlvbiBtYWtlX3Rlc3QobmFtZSwgc2NyaXB0KSB7CiAgICAgICAgICAgICByZWdp
c3RyYXRpb24gPSByOwogCiAgICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIHIudW5yZWdpc3RlcigpOworICAgICAgICAgICAgICAgIHJldHVybiBy
LnVucmVnaXN0ZXIoKTsKICAgICAgICAgICAgICAgfSk7CiAKICAgICAgICAgICAgIHJldHVybiB3
YWl0X2Zvcl9pbnN0YWxsKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2Vy
dmljZXdvcmtlci5odHRwcy5odG1sCmluZGV4IDZkMGE1ZDMyNzRkNDE0YmZjYTAzMzkwNTQwYzI5
NDkwYzY2Mzg4NzguLjExN2RlZjllYjJhNmMxMzJkNGQzZjQ0YjFjYjA3YWRjYjllZWVmNjAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2
aWNld29ya2VyLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2Ut
ZnJvbS13YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMuaHRtbApAQCAtMTYsMTMgKzE2LDE1IEBA
IGZ1bmN0aW9uIGVjaG8od29ya2VyLCBkYXRhKSB7CiAgIH0pOwogfQogCi1hc3luY190ZXN0KHQg
PT4geworcHJvbWlzZV90ZXN0KHQgPT4gewogICBsZXQgc2NyaXB0ID0gJ3Jlc291cmNlcy9lY2hv
LW1lc3NhZ2UtdG8tc291cmNlLXdvcmtlci5qcyc7CiAgIGxldCBzY29wZSA9ICdyZXNvdXJjZXMv
Y2xpZW50LXBvc3RtZXNzYWdlLWZyb20td2FpdC1zZXJ2aWNld29ya2VyJzsKICAgbGV0IHJlZ2lz
dHJhdGlvbjsKICAgbGV0IGZyYW1lOwotICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9y
ZWdpc3Rlcih0LCBzY3JpcHQsIHNjb3BlKQorICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKICAgICAudGhlbihzd3IgPT4gewor
ICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNj
b3BlKSk7CisKICAgICAgIHJlZ2lzdHJhdGlvbiA9IHN3cjsKICAgICAgIHJldHVybiB3YWl0X2Zv
cl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgIH0p
LnRoZW4oXyA9PiB7CkBAIC00Myw3ICs0NSw2IEBAIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgICBh
c3NlcnRfZXF1YWxzKGV2dC5zb3VyY2UsIHJlZ2lzdHJhdGlvbi5hY3RpdmUsCiAgICAgICAgICAg
ICAgICAgICAgICdtZXNzYWdlIGV2ZW50IHNvdXJjZSBzaG91bGQgYmUgY29ycmVjdCcpOwogICAg
ICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgfSkudGhlbihfID0+IHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpICkKLSAgICAuY2F0Y2godW5yZWFjaGVkX3JlamVjdGlv
bih0KSk7CisgICAgfSk7CiB9LCAnQ2xpZW50LnBvc3RNZXNzYWdlKCkgZnJvbSB3YWl0aW5nIHNl
cnZpY2V3b3JrZXIuJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Bvc3RtZXNzYWdlLXRvLWNsaWVudC1tZXNzYWdlLXF1ZXVlLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC1tZXNzYWdlLXF1ZXVlLmh0
dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTg5MGIwMzlmMzdmZTlhZTA4ZDg4ZTQzYzUy
YTAwOGQwMjc2NzYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1l
c3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2UtcXVldWUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsOSBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElN
RU9VVCBNZXNzYWdlcyBmcm9tIFNlcnZpY2VXb3JrZXIgdG8gQ2xpZW50IG9ubHkgcmVjZWl2ZWQg
YWZ0ZXIgRE9NQ29udGVudExvYWRlZCBldmVudC4gVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBNZXNz
YWdlcyBmcm9tIFNlcnZpY2VXb3JrZXIgdG8gQ2xpZW50IG9ubHkgcmVjZWl2ZWQgYWZ0ZXIgY2Fs
bGluZyBzdGFydE1lc3NhZ2VzKCkuIAorTk9UUlVOIE1lc3NhZ2VzIGZyb20gU2VydmljZVdvcmtl
ciB0byBDbGllbnQgb25seSByZWNlaXZlZCBhZnRlciBzZXR0aW5nIG9ubWVzc2FnZS4gCitOT1RS
VU4gTWljcm90YXNrcyBydW4gYmVmb3JlIGRpc3BhdGNoaW5nIG1lc3NhZ2VzIGFmdGVyIGNhbGxp
bmcgc3RhcnRNZXNzYWdlcygpLiAKK05PVFJVTiBNaWNyb3Rhc2tzIHJ1biBiZWZvcmUgZGlzcGF0
Y2hpbmcgbWVzc2FnZXMgYWZ0ZXIgc2V0dGluZyBvbm1lc3NhZ2UuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS10by1jbGllbnQtbWVzc2FnZS1xdWV1ZS5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2Ut
cXVldWUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWE0Zjk0NDVkM2Q4YWQwYWI5MmJhNzM3MTNk
YTE3YTMzYWYxODVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1l
c3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2UtcXVldWUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDIxMSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IHBvc3RNZXNzYWdlIHRv
IENsaWVudCAobWVzc2FnZSBxdWV1ZSk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBl
cnMuc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMg
YSBtZXNzYWdlIGxpc3RlbmVyIHRoYXQgY2FwdHVyZXMgYWxsIG1lc3NhZ2VzCisvLyBzZW50IHRv
IHRoaXMgd2luZG93IGFuZCBtYXRjaGVzIHRoZW0gd2l0aCBjb3JyZXNwb25kaW5nIHJlcXVlc3Rz
LgorLy8gVGhpcyBmcmVlcyB0ZXN0IGNvZGUgZnJvbSBoYXZpbmcgdG8gdXNlIGNsdW5reSBjb25z
dHJ1Y3RzIGp1c3QgdG8KKy8vIGF2b2lkIHJhY2UgY29uZGl0aW9ucywgc2luY2UgdGhlIHJlbGF0
aXZlIG9yZGVyIG9mIG1lc3NhZ2UgYW5kCisvLyByZXF1ZXN0IGFycml2YWwgZG9lc24ndCBtYXR0
ZXIuCitmdW5jdGlvbiBjcmVhdGVfbWVzc2FnZV9saXN0ZW5lcih0KSB7CisgICAgY29uc3QgbGlz
dGVuZXIgPSB7CisgICAgICAgIG1lc3NhZ2VzOiBuZXcgU2V0KCksCisgICAgICAgIHJlcXVlc3Rz
OiBuZXcgU2V0KCksCisgICAgICAgIHdhaXRGb3I6IGZ1bmN0aW9uKHByZWRpY2F0ZSkgeworICAg
ICAgICAgICAgZm9yIChjb25zdCBldmVudCBvZiB0aGlzLm1lc3NhZ2VzKSB7CisgICAgICAgICAg
ICAgICAgLy8gSWYgYSBtZXNzYWdlIHNhdGlzZnlpbmcgdGhlIHByZWRpY2F0ZSBoYXMgYWxyZWFk
eQorICAgICAgICAgICAgICAgIC8vIGFycml2ZWQsIGl0IGdldHMgbWF0Y2hlZCB0byB0aGlzIHJl
cXVlc3QuCisgICAgICAgICAgICAgICAgaWYgKHByZWRpY2F0ZShldmVudCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGhpcy5tZXNzYWdlcy5kZWxldGUoZXZlbnQpOworICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGV2ZW50KTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIElmIG5vIG1hdGNoIHdhcyBmb3VuZCwgdGhl
IHJlcXVlc3QgaXMgc3RvcmVkIGFuZCBhCisgICAgICAgICAgICAvLyBwcm9taXNlIGlzIHJldHVy
bmVkLgorICAgICAgICAgICAgY29uc3QgcmVxdWVzdCA9IHsgcHJlZGljYXRlIH07CisgICAgICAg
ICAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXF1ZXN0LnJlc29s
dmUgPSByZXNvbHZlKTsKKyAgICAgICAgICAgIHRoaXMucmVxdWVzdHMuYWRkKHJlcXVlc3QpOwor
ICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgICAgIH0KKyAgICB9OworICAgIHdpbmRv
dy5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhldmVudCA9PiB7CisgICAgICAgIGZvciAoY29uc3Qg
cmVxdWVzdCBvZiBsaXN0ZW5lci5yZXF1ZXN0cykgeworICAgICAgICAgICAgLy8gSWYgdGhlIG5l
dyBtZXNzYWdlIG1hdGNoZXMgYSBzdG9yZWQgcmVxdWVzdCdzCisgICAgICAgICAgICAvLyBwcmVk
aWNhdGUsIHRoZSByZXF1ZXN0J3MgcHJvbWlzZSBpcyByZXNvbHZlZCB3aXRoIHRoaXMKKyAgICAg
ICAgICAgIC8vIG1lc3NhZ2UuCisgICAgICAgICAgICBpZiAocmVxdWVzdC5wcmVkaWNhdGUoZXZl
bnQpKSB7CisgICAgICAgICAgICAgICAgbGlzdGVuZXIucmVxdWVzdHMuZGVsZXRlKHJlcXVlc3Qp
OworICAgICAgICAgICAgICAgIHJlcXVlc3QucmVzb2x2ZShldmVudCk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIC8vIE5vIG91
dHN0YW5kaW5nIHJlcXVlc3QgZm9yIHRoaXMgbWVzc2FnZSwgc3RvcmUgaXQgaW4gY2FzZQorICAg
ICAgICAvLyBpdCdzIHJlcXVlc3RlZCBsYXRlci4KKyAgICAgICAgbGlzdGVuZXIubWVzc2FnZXMu
YWRkKGV2ZW50KTsKKyAgICB9KTsKKyAgICByZXR1cm4gbGlzdGVuZXI7Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIHNlcnZpY2Vfd29ya2VyX3JlZ2lzdGVyX2FuZF9hY3RpdmF0ZSh0LCBzY3JpcHQsIHNj
b3BlKSB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSk7CisgICAgdC5hZGRfY2xlYW51
cCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpKTsKKyAgICBjb25zdCB3b3JrZXIgPSBy
ZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCB3b3Jr
ZXIsICdhY3RpdmF0ZWQnKTsKKyAgICByZXR1cm4gd29ya2VyOworfQorCisvLyBBZGQgYW4gaWZy
YW1lIChwYXJlbnQpIHdob3NlIGRvY3VtZW50IGNvbnRhaW5zIGEgbmVzdGVkIGlmcmFtZQorLy8g
KGNoaWxkKSwgdGhlbiBzZXQgdGhlIGNoaWxkJ3Mgc3JjIGF0dHJpYnV0ZSB0byBjaGlsZF91cmwg
YW5kIHJldHVybgorLy8gaXRzIFdpbmRvdyAod2l0aG91dCB3YWl0aW5nIGZvciBpdCB0byBmaW5p
c2ggbG9hZGluZykuCithc3luYyBmdW5jdGlvbiB3aXRoX25lc3RlZF9pZnJhbWVzKHQsIGNoaWxk
X3VybCkgeworICAgIGNvbnN0IHBhcmVudCA9IGF3YWl0IHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMv
bmVzdGVkLWlmcmFtZS1wYXJlbnQuaHRtbD9yb2xlPXBhcmVudCcpOworICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4gcGFyZW50LnJlbW92ZSgpKTsKKyAgICBjb25zdCBjaGlsZCA9IHBhcmVudC5jb250
ZW50V2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGlsZCcpOworICAgIGNoaWxkLnNl
dEF0dHJpYnV0ZSgnc3JjJywgY2hpbGRfdXJsKTsKKyAgICByZXR1cm4gY2hpbGQuY29udGVudFdp
bmRvdzsKK30KKworLy8gUmV0dXJucyBhIHByZWRpY2F0ZSBtYXRjaGluZyBhIGZldGNoIG1lc3Nh
Z2Ugd2l0aCB0aGUgc3BlY2lmaWVkCisvLyBrZXkuCitmdW5jdGlvbiBmZXRjaF9tZXNzYWdlKGtl
eSkgeworICAgIHJldHVybiBldmVudCA9PiBldmVudC5kYXRhLnR5cGUgPT09ICdmZXRjaCcgJiYg
ZXZlbnQuZGF0YS5rZXkgPT09IGtleTsKK30KKworLy8gUmV0dXJucyBhIHByZWRpY2F0ZSBtYXRj
aGluZyBhIHBpbmcgbWVzc2FnZSB3aXRoIHRoZSBzcGVjaWZpZWQKKy8vIHBheWxvYWQuCitmdW5j
dGlvbiBwaW5nX21lc3NhZ2UoZGF0YSkgeworICAgIHJldHVybiBldmVudCA9PiBldmVudC5kYXRh
LnR5cGUgPT09ICdwaW5nJyAmJiBldmVudC5kYXRhLmRhdGEgPT09IGRhdGE7Cit9CisKKy8vIEEg
Y2xpZW50IG1lc3NhZ2UgcXVldWUgdGVzdCBpcyBhIHRlc3RoYXJuZXNzLmpzIHRlc3Qgd2l0aCBz
b21lCisvLyBhZGRpdGlvbmFsIHNldHVwOgorLy8gMS4gQSBsaXN0ZW5lciAoc2VlIGNyZWF0ZV9t
ZXNzYWdlX2xpc3RlbmVyKQorLy8gMi4gQW4gYWN0aXZlIHNlcnZpY2Ugd29ya2VyCisvLyAzLiBU
d28gbmVzdGVkIGlmcmFtZXMKKy8vIDQuIEEgc3RhdGUgdHJhbnNpdGlvbiBmdW5jdGlvbiB0aGF0
IGNvbnRyb2xzIHRoZSBvcmRlciBvZiBldmVudHMKKy8vICAgIGR1cmluZyB0aGUgdGVzdAorZnVu
Y3Rpb24gY2xpZW50X21lc3NhZ2VfcXVldWVfdGVzdCh1cmwsIHRlc3RfZnVuY3Rpb24sIGRlc2Ny
aXB0aW9uKSB7CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgICAgICB0Lmxpc3Rl
bmVyID0gY3JlYXRlX21lc3NhZ2VfbGlzdGVuZXIodCk7CisKKyAgICAgICAgY29uc3Qgc2NyaXB0
ID0gJ3Jlc291cmNlcy9zdGFsbGluZy1zZXJ2aWNlLXdvcmtlci5qcyc7CisgICAgICAgIGNvbnN0
IHNjb3BlID0gJ3Jlc291cmNlcy8nOworICAgICAgICB0LnNlcnZpY2Vfd29ya2VyID0gYXdhaXQg
c2VydmljZV93b3JrZXJfcmVnaXN0ZXJfYW5kX2FjdGl2YXRlKHQsIHNjcmlwdCwgc2NvcGUpOwor
CisgICAgICAgIC8vIFdlIGNyZWF0ZSB0d28gbmVzdGVkIGlmcmFtZXMgc3VjaCB0aGF0IGJvdGgg
YXJlIGNvbnRyb2xsZWQgYnkKKyAgICAgICAgLy8gdGhlIG5ld2x5IGluc3RhbGxlZCBzZXJ2aWNl
IHdvcmtlci4KKyAgICAgICAgY29uc3QgY2hpbGRfdXJsID0gdXJsICsgJz9yb2xlPWNoaWxkJzsK
KyAgICAgICAgdC5mcmFtZSA9IGF3YWl0IHdpdGhfbmVzdGVkX2lmcmFtZXModCwgY2hpbGRfdXJs
KTsKKworICAgICAgICB0LnN0YXRlX3RyYW5zaXRpb24gPSBhc3luYyBmdW5jdGlvbihmcm9tLCB0
bywgc2NyaXB0cykgeworICAgICAgICAgICAgLy8gQSBzdGF0ZSB0cmFuc2l0aW9uIGJlZ2lucyB3
aXRoIHRoZSBjaGlsZCdzIHBhcnNlcgorICAgICAgICAgICAgLy8gZmV0Y2hpbmcgYSBzY3JpcHQg
ZHVlIHRvIGEgPHNjcmlwdD4gdGFnLiBUaGUgcmVxdWVzdAorICAgICAgICAgICAgLy8gYXJyaXZl
cyBhdCB0aGUgc2VydmljZSB3b3JrZXIsIHdoaWNoIG5vdGlmaWVzIHRoZQorICAgICAgICAgICAg
Ly8gcGFyZW50LCB3aGljaCBpbiB0dXJuIG5vdGlmaWVzIHRoZSB0ZXN0LiBOb3RlIHRoYXQgdGhl
CisgICAgICAgICAgICAvLyBldmVudCBsb29wIGtlZXBzIHNwaW5uaW5nIHdoaWxlIHRoZSBwYXJz
ZXIgaXMgd2FpdGluZy4KKyAgICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLmxp
c3RlbmVyLndhaXRGb3IoZmV0Y2hfbWVzc2FnZSh0bykpOworCisgICAgICAgICAgICAvLyBUaGUg
dGVzdCBpbnN0cnVjdHMgdGhlIHNlcnZpY2Ugd29ya2VyIHRvIHNlbmQgdHdvIHBpbmcKKyAgICAg
ICAgICAgIC8vIG1lc3NhZ2VzIHRocm91Z2ggdGhlIENsaWVudCBpbnRlcmZhY2U6IGZpcnN0IHRv
IHRoZQorICAgICAgICAgICAgLy8gY2hpbGQsIHRoZW4gdG8gdGhlIHBhcmVudC4KKyAgICAgICAg
ICAgIHRoaXMuc2VydmljZV93b3JrZXIucG9zdE1lc3NhZ2UoZnJvbSk7CisKKyAgICAgICAgICAg
IC8vIFdoZW4gdGhlIHBhcmVudCByZWNlaXZlcyB0aGUgcGluZyBtZXNzYWdlLCBpdCBmb3J3YXJk
cworICAgICAgICAgICAgLy8gaXQgdG8gdGhlIHRlc3QuIEFzc3VtaW5nIHRoYXQgbWVzc2FnZXMg
dG8gYm90aCBjaGlsZAorICAgICAgICAgICAgLy8gYW5kIHBhcmVudCBhcmUgbWFwcGVkIHRvIHRo
ZSBzYW1lIHRhc2sgcXVldWUgKHRoaXMgaXMKKyAgICAgICAgICAgIC8vIG5vdCBbeWV0XSByZXF1
aXJlZCBieSB0aGUgc3BlYyksIHJlY2VpdmluZyB0aGlzIG1lc3NhZ2UKKyAgICAgICAgICAgIC8v
IGd1YXJhbnRlZXMgdGhhdCB0aGUgY2hpbGQgaGFzIGFscmVhZHkgZGlzcGF0Y2hlZCBpdHMKKyAg
ICAgICAgICAgIC8vIG1lc3NhZ2UgaWYgaXQgd2FzIGFsbG93ZWQgdG8gZG8gc28uCisgICAgICAg
ICAgICBhd2FpdCB0aGlzLmxpc3RlbmVyLndhaXRGb3IocGluZ19tZXNzYWdlKGZyb20pKTsKKwor
ICAgICAgICAgICAgLy8gRmluYWxseSwgcmVwbHkgdG8gdGhlIHNlcnZpY2Ugd29ya2VyJ3MgZmV0
Y2gKKyAgICAgICAgICAgIC8vIG5vdGlmaWNhdGlvbiB3aXRoIHRoZSBzY3JpcHQgaXQgc2hvdWxk
IHVzZSBhcyB0aGUgZmV0Y2gKKyAgICAgICAgICAgIC8vIHJlcXVlc3QncyByZXNwb25zZS4gVGhp
cyBpcyBhIGRlZmVuc2l2ZSBtZWNoYW5pc20gdGhhdAorICAgICAgICAgICAgLy8gZW5zdXJlcyB0
aGUgY2hpbGQncyBwYXJzZXIgcmVhbGx5IGlzIGJsb2NrZWQgdW50aWwgdGhlCisgICAgICAgICAg
ICAvLyB0ZXN0IGlzIHJlYWR5IHRvIGNvbnRpbnVlLgorICAgICAgICAgICAgcmVxdWVzdC5wb3J0
c1swXS5wb3N0TWVzc2FnZShbYHN0YXRlID0gJyR7dG99JztgXS5jb25jYXQoc2NyaXB0cykpOwor
ICAgICAgICB9OworCisgICAgICAgIGF3YWl0IHRlc3RfZnVuY3Rpb24odCk7CisgICAgfSwgZGVz
Y3JpcHRpb24pOworfQorCitmdW5jdGlvbiBjbGllbnRfbWVzc2FnZV9xdWV1ZV9lbmFibGVfdGVz
dCgKKyAgICBpbnN0YWxsX3NjcmlwdCwKKyAgICBzdGFydF9zY3JpcHQsCisgICAgZWFybGllc3Rf
ZGlzcGF0Y2gsCisgICAgZGVzY3JpcHRpb24pCit7CisgICAgZnVuY3Rpb24gbGF0ZXJfc3RhdGUo
c3RhdGUxLCBzdGF0ZTIpIHsKKyAgICAgICAgY29uc3Qgc3RhdGVzID0gWydpbml0JywgJ2luc3Rh
bGwnLCAnc3RhcnQnLCAnZmluaXNoJywgJ2xvYWRlZCddOworICAgICAgICBjb25zdCBpbmRleDEg
PSBzdGF0ZXMuaW5kZXhPZihzdGF0ZTEpOworICAgICAgICBjb25zdCBpbmRleDIgPSBzdGF0ZXMu
aW5kZXhPZihzdGF0ZTIpOworICAgICAgICBjb25zdCBtYXhfaW5kZXggPSBNYXRoLm1heChpbmRl
eDEsIGluZGV4Mik7CisgICAgICAgIHJldHVybiBzdGF0ZXNbbWF4X2luZGV4XTsKKyAgICB9CisK
KyAgICBjbGllbnRfbWVzc2FnZV9xdWV1ZV90ZXN0KCdlbmFibGUtY2xpZW50LW1lc3NhZ2UtcXVl
dWUuaHRtbCcsIGFzeW5jIHQgPT4geworICAgICAgICAvLyBXaGlsZSBwYXJzaW5nIHRoZSBjaGls
ZCdzIGRvY3VtZW50LCB0aGUgY2hpbGQgdHJhbnNpdGlvbnMKKyAgICAgICAgLy8gZnJvbSB0aGUg
J2luaXQnIHN0YXRlIGFsbCB0aGUgd2F5IHRvIHRoZSAnZmluaXNoJyBzdGF0ZS4KKyAgICAgICAg
Ly8gT25jZSBwYXJzaW5nIGlzIGZpbmlzaGVkIGl0IHdvdWxkIGVudGVyIHRoZSBmaW5hbCAnbG9h
ZGVkJworICAgICAgICAvLyBzdGF0ZS4gQWxsIGJ1dCB0aGUgbGFzdCB0cmFuc2l0aW9uIHJlcXVp
cmUgYXNzaXRhbmNlIGZyb20KKyAgICAgICAgLy8gdGhlIHRlc3QuCisgICAgICAgIGF3YWl0IHQu
c3RhdGVfdHJhbnNpdGlvbignaW5pdCcsICdpbnN0YWxsJywgW2luc3RhbGxfc2NyaXB0XSk7Cisg
ICAgICAgIGF3YWl0IHQuc3RhdGVfdHJhbnNpdGlvbignaW5zdGFsbCcsICdzdGFydCcsIFtzdGFy
dF9zY3JpcHRdKTsKKyAgICAgICAgYXdhaXQgdC5zdGF0ZV90cmFuc2l0aW9uKCdzdGFydCcsICdm
aW5pc2gnLCBbXSk7CisKKyAgICAgICAgLy8gV2FpdCBmb3IgYWxsIG1lc3NhZ2VzIHRvIGdldCBk
aXNwYXRjaGVkIG9uIHRoZSBjaGlsZCdzCisgICAgICAgIC8vIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXIgYW5kIHRoZW4gdmVyaWZ5IHRoYXQgZWFjaCBtZXNzYWdlCisgICAgICAgIC8vIHdhcyBkaXNw
YXRjaGVkIHdoaWxlIHRoZSBjaGlsZCB3YXMgaW4gdGhlIGNvcnJlY3Qgc3RhdGUuCisgICAgICAg
IGNvbnN0IHJlcG9ydCA9IGF3YWl0IHQuZnJhbWUucmVwb3J0OworICAgICAgICBbJ2luaXQnLCAn
aW5zdGFsbCcsICdzdGFydCddLmZvckVhY2goc3RhdGUgPT4geworICAgICAgICAgICAgY29uc3Qg
ZGlzcGF0Y2ggPSBsYXRlcl9zdGF0ZShzdGF0ZSwgZWFybGllc3RfZGlzcGF0Y2gpOworICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhyZXBvcnRbc3RhdGVdLCBkaXNwYXRjaCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgYE1lc3NhZ2Ugc2VudCBpbiBzdGF0ZSAnJHtzdGF0ZX0nIGRpc3BhdGNo
ZWQgaW4gc3RhdGUgJyR7ZGlzcGF0Y2h9J2ApOworICAgICAgICB9KTsKKyAgICB9LCBkZXNjcmlw
dGlvbik7Cit9CisKK2NvbnN0IGVtcHR5X3NjcmlwdCA9IGBgOworCitjb25zdCBhZGRfZXZlbnRf
bGlzdGVuZXIgPQorICAgIGBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVy
KCdtZXNzYWdlJywgaGFuZGxlX21lc3NhZ2UpO2A7CisKK2NvbnN0IHNldF9vbm1lc3NhZ2UgPSBg
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gaGFuZGxlX21lc3NhZ2U7YDsKKwor
Y29uc3Qgc3RhcnRfbWVzc2FnZXMgPSBgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuc3RhcnRNZXNz
YWdlcygpO2A7CisKK2NsaWVudF9tZXNzYWdlX3F1ZXVlX2VuYWJsZV90ZXN0KGFkZF9ldmVudF9s
aXN0ZW5lciwgZW1wdHlfc2NyaXB0LCAnbG9hZGVkJywKKyAgICAnTWVzc2FnZXMgZnJvbSBTZXJ2
aWNlV29ya2VyIHRvIENsaWVudCBvbmx5IHJlY2VpdmVkIGFmdGVyIERPTUNvbnRlbnRMb2FkZWQg
ZXZlbnQuJyk7CisKK2NsaWVudF9tZXNzYWdlX3F1ZXVlX2VuYWJsZV90ZXN0KGFkZF9ldmVudF9s
aXN0ZW5lciwgc3RhcnRfbWVzc2FnZXMsICdzdGFydCcsCisgICAgJ01lc3NhZ2VzIGZyb20gU2Vy
dmljZVdvcmtlciB0byBDbGllbnQgb25seSByZWNlaXZlZCBhZnRlciBjYWxsaW5nIHN0YXJ0TWVz
c2FnZXMoKS4nKTsKKworY2xpZW50X21lc3NhZ2VfcXVldWVfZW5hYmxlX3Rlc3Qoc2V0X29ubWVz
c2FnZSwgZW1wdHlfc2NyaXB0LCAnaW5zdGFsbCcsCisgICAgJ01lc3NhZ2VzIGZyb20gU2Vydmlj
ZVdvcmtlciB0byBDbGllbnQgb25seSByZWNlaXZlZCBhZnRlciBzZXR0aW5nIG9ubWVzc2FnZS4n
KTsKKworY29uc3QgcmVzb2x2ZV9tYW51YWxfcHJvbWlzZSA9IGByZXNvbHZlX21hbnVhbF9wcm9t
aXNlKCk7YAorCithc3luYyBmdW5jdGlvbiB0ZXN0X21pY3JvdGFza3Nfd2hlbl9jbGllbnRfbWVz
c2FnZV9xdWV1ZV9lbmFibGVkKHQsIHNjcmlwdHMpIHsKKyAgICBhd2FpdCB0LnN0YXRlX3RyYW5z
aXRpb24oJ2luaXQnLCAnc3RhcnQnLCBzY3JpcHRzLmNvbmNhdChbcmVzb2x2ZV9tYW51YWxfcHJv
bWlzZV0pKTsKKyAgICBsZXQgcmVzdWx0ID0gYXdhaXQgdC5mcmFtZS5yZXN1bHQ7CisgICAgYXNz
ZXJ0X2VxdWFscyhyZXN1bHRbMF0sICdtaWNyb3Rhc2snLCAnVGhlIG1pY3JvdGFzayB3YXMgZXhl
Y3V0ZWQgZmlyc3QuJyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHRbMV0sICdtZXNzYWdlJywg
J1RoZSBtZXNzYWdlIHdhcyBkaXNwYXRjaGVkLicpOworfQorCitjbGllbnRfbWVzc2FnZV9xdWV1
ZV90ZXN0KCdtZXNzYWdlLXZzLW1pY3JvdGFzay5odG1sJywgdCA9PiB7CisgICAgcmV0dXJuIHRl
c3RfbWljcm90YXNrc193aGVuX2NsaWVudF9tZXNzYWdlX3F1ZXVlX2VuYWJsZWQodCwgWworICAg
ICAgICBhZGRfZXZlbnRfbGlzdGVuZXIsCisgICAgICAgIHN0YXJ0X21lc3NhZ2VzLAorICAgIF0p
OworfSwgJ01pY3JvdGFza3MgcnVuIGJlZm9yZSBkaXNwYXRjaGluZyBtZXNzYWdlcyBhZnRlciBj
YWxsaW5nIHN0YXJ0TWVzc2FnZXMoKS4nKTsKKworY2xpZW50X21lc3NhZ2VfcXVldWVfdGVzdCgn
bWVzc2FnZS12cy1taWNyb3Rhc2suaHRtbCcsIHQgPT4geworICAgIHJldHVybiB0ZXN0X21pY3Jv
dGFza3Nfd2hlbl9jbGllbnRfbWVzc2FnZV9xdWV1ZV9lbmFibGVkKHQsIFtzZXRfb25tZXNzYWdl
XSk7Cit9LCAnTWljcm90YXNrcyBydW4gYmVmb3JlIGRpc3BhdGNoaW5nIG1lc3NhZ2VzIGFmdGVy
IHNldHRpbmcgb25tZXNzYWdlLicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9wb3N0bWVzc2FnZS10by1jbGllbnQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC5odHRwcy5odG1sCmluZGV4IDE1ZDJlODg5MzM3MDc4
ODY5ZTNjM2U5N2QzMTI2NDllNmE4YmQ4YjIuLmY4MzRhNGJmZmUyMGM2OWNiZDU3YWU0YzZiZjky
MjA4M2QzNTU0ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRv
LWNsaWVudC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRv
LWNsaWVudC5odHRwcy5odG1sCkBAIC01LDUwICs1LDM4IEBACiA8c2NyaXB0IHNyYz0iL2NvbW1v
bi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLXByb21pc2VfdGVzdCh0
ID0+IHsKLSAgICB2YXIgc2NyaXB0ID0gJ3Jlc291cmNlcy9wb3N0bWVzc2FnZS10by1jbGllbnQt
d29ya2VyLmpzJzsKLSAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOwotICAg
IHZhciB3OworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVz
b3VyY2VzL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9
ICdyZXNvdXJjZXMvYmxhbmsuaHRtbCc7CiAKLSAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5y
ZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgc2NyaXB0LCBzY29wZSkKLSAgICAgIC50aGVuKHJlZ2lz
dHJhdGlvbiA9PiB7Ci0gICAgICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24u
dW5yZWdpc3RlcigpKTsKLSAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0
cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVu
KCgpID0+IHdpdGhfaWZyYW1lKHNjb3BlKSkKLSAgICAgIC50aGVuKGZyYW1lID0+IHsKLSAgICAg
ICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgpKTsKKyAgY29uc3QgcmVnaXN0
cmF0aW9uID0KKyAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIHNjcmlwdCwgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHJlZ2lzdHJhdGlv
bi51bnJlZ2lzdGVyKCkpOworICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24u
aW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZy
YW1lKHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBmcmFtZS5yZW1vdmUoKSk7CisgIGNv
bnN0IHcgPSBmcmFtZS5jb250ZW50V2luZG93OwogCi0gICAgICAgICAgcmV0dXJuIG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gewotICAgICAgICAgICAgICB3ID0gZnJhbWUuY29udGVudFdpbmRvdzsK
LSAgICAgICAgICAgICAgdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByZXNv
bHZlOwotICAgICAgICAgICAgICB3Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIu
cG9zdE1lc3NhZ2UoJ3BpbmcnKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KQotICAgICAg
LnRoZW4oZSA9PiB7Ci0gICAgICAgICAgdmFyIG1lc3NhZ2UgPSBlLmRhdGE7Ci0gICAgICAgICAg
YXNzZXJ0X2VxdWFscyhlLmNvbnN0cnVjdG9yLCB3Lk1lc3NhZ2VFdmVudCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICdtZXNzYWdlIGV2ZW50cyBzaG91bGQgdXNlIE1lc3NhZ2VFdmVudCBpbnRl
cmZhY2UuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLnR5cGUsICdtZXNzYWdlJywgJ3R5
cGUgc2hvdWxkIGJlICJtZXNzYWdlIi4nKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuYnVi
YmxlcywgZmFsc2UsICdtZXNzYWdlIGV2ZW50cyBzaG91bGQgbm90IGJ1YmJsZS4nKTsKLSAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGUuY2FuY2VsYWJsZSwgZmFsc2UsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAnbWVzc2FnZSBldmVudHMgc2hvdWxkIG5vdCBiZSBjYW5jZWxhYmxlLicpOwotICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoCi0gICAgICAgICAgICAgIGUub3JpZ2luLCBsb2NhdGlvbi5v
cmlnaW4sCi0gICAgICAgICAgICAgICdvcmlnaW4gb2YgbWVzc2FnZSBzaG91bGQgYmUgb3JpZ2lu
IG9mIFNlcnZpY2UgV29ya2VyLicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5sYXN0RXZl
bnRJZCwgJycsCi0gICAgICAgICAgICAgICAgICAgICAgICAnbGFzdEV2ZW50SWQgc2hvdWxkIGJl
IGFuIGVtcHR5IHN0cmluZy4nKTsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuc291cmNlLmNv
bnN0cnVjdG9yLCB3LlNlcnZpY2VXb3JrZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAnc291
cmNlIHNob3VsZCB1c2UgU2VydmljZVdvcmtlciBpbnRlcmZhY2UuJyk7Ci0gICAgICAgICAgYXNz
ZXJ0X2VxdWFscygKLSAgICAgICAgICAgICAgZS5zb3VyY2UsIHcubmF2aWdhdG9yLnNlcnZpY2VX
b3JrZXIuY29udHJvbGxlciwKLSAgICAgICAgICAgICAgJ3NvdXJjZSBzaG91bGQgYmUgdGhlIHNl
cnZpY2Ugd29ya2VyIHRoYXQgc2VudCB0aGUgbWVzc2FnZS4nKTsKLSAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGUucG9ydHMubGVuZ3RoLCAwLCAncG9ydHMgc2hvdWxkIGJlIGFuIGVtcHR5IGFycmF5
LicpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMobWVzc2FnZSwgJ1NlbmRpbmcgbWVzc2FnZSB2
aWEgY2xpZW50cycpOwotICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
LSAgICAgICAgICAgICAgdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByZXNv
bHZlOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihlID0+IHsgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEsICdxdWl0Jyk7IH0pOwotICB9LCAncG9zdE1lc3NhZ2UgZnJvbSBT
ZXJ2aWNlV29ya2VyIHRvIENsaWVudC4nKTsKKyAgdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5j
b250cm9sbGVyLnBvc3RNZXNzYWdlKCdwaW5nJyk7CisgIGxldCBlID0gYXdhaXQgbmV3IFByb21p
c2UociA9PiB3Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IHIpOworCisgIGFz
c2VydF9lcXVhbHMoZS5jb25zdHJ1Y3Rvciwgdy5NZXNzYWdlRXZlbnQsCisgICAgICAgICAgICAg
ICAgJ21lc3NhZ2UgZXZlbnRzIHNob3VsZCB1c2UgTWVzc2FnZUV2ZW50IGludGVyZmFjZS4nKTsK
KyAgYXNzZXJ0X2VxdWFscyhlLnR5cGUsICdtZXNzYWdlJywgJ3R5cGUgc2hvdWxkIGJlICJtZXNz
YWdlIi4nKTsKKyAgYXNzZXJ0X2ZhbHNlKGUuYnViYmxlcywgJ21lc3NhZ2UgZXZlbnRzIHNob3Vs
ZCBub3QgYnViYmxlLicpOworICBhc3NlcnRfZmFsc2UoZS5jYW5jZWxhYmxlLCAnbWVzc2FnZSBl
dmVudHMgc2hvdWxkIG5vdCBiZSBjYW5jZWxhYmxlLicpOworICBhc3NlcnRfZXF1YWxzKGUub3Jp
Z2luLCBsb2NhdGlvbi5vcmlnaW4sCisgICAgICAgICAgICAgICAgJ29yaWdpbiBvZiBtZXNzYWdl
IHNob3VsZCBiZSBvcmlnaW4gb2YgU2VydmljZSBXb3JrZXIuJyk7CisgIGFzc2VydF9lcXVhbHMo
ZS5sYXN0RXZlbnRJZCwgJycsCisgICAgICAgICAgICAgICAgJ2xhc3RFdmVudElkIHNob3VsZCBi
ZSBhbiBlbXB0eSBzdHJpbmcuJyk7CisgIGFzc2VydF9lcXVhbHMoZS5zb3VyY2UuY29uc3RydWN0
b3IsIHcuU2VydmljZVdvcmtlciwKKyAgICAgICAgICAgICAgICAnc291cmNlIHNob3VsZCB1c2Ug
U2VydmljZVdvcmtlciBpbnRlcmZhY2UuJyk7CisgIGFzc2VydF9lcXVhbHMoZS5zb3VyY2UsIHcu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciwKKyAgICAgICAgICAgICAgICAnc291
cmNlIHNob3VsZCBiZSB0aGUgc2VydmljZSB3b3JrZXIgdGhhdCBzZW50IHRoZSBtZXNzYWdlLicp
OworICBhc3NlcnRfZXF1YWxzKGUucG9ydHMubGVuZ3RoLCAwLCAncG9ydHMgc2hvdWxkIGJlIGFu
IGVtcHR5IGFycmF5LicpOworICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJ1NlbmRpbmcgbWVzc2Fn
ZSB2aWEgY2xpZW50cycpOworCisgIGUgPSBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHcubmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gcik7CisgIGFzc2VydF9lcXVhbHMoZS5kYXRh
LCAncXVpdCcpOworfSwgJ3Bvc3RNZXNzYWdlIGZyb20gU2VydmljZVdvcmtlciB0byBDbGllbnQu
Jyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdl
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCA5OWI4YmU4OTNmYjYyYzVkODQ1Nzc1M2M4YjViOWJlYTI1ODk2
YjI2Li41NjE1NDFiNjc3ZGM2NDk2MzU4MWFlYzMwMjk1M2FjYzBkYzljZGNlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0yLDQg
KzIsNSBAQAogUEFTUyBwb3N0TWVzc2FnZSB0byBhIFNlcnZpY2VXb3JrZXIgKGFuZCBiYWNrIHZp
YSBNZXNzYWdlUG9ydCkgCiBQQVNTIHBvc3RNZXNzYWdlIGEgdHJhbnNmZXJhYmxlIEFycmF5QnVm
ZmVyIGJldHdlZW4gU2VydmljZVdvcmtlciBhbmQgQ2xpZW50IAogUEFTUyBwb3N0TWVzc2FnZSBh
IHRyYW5zZmVyYWJsZSBBcnJheUJ1ZmZlciBiZXR3ZWVuIFNlcnZpY2VXb3JrZXIgYW5kIENsaWVu
dCBvdmVyIE1lc3NhZ2VQb3J0IAorRkFJTCBwb3N0TWVzc2FnZSB3aXRoIGRpY3Rpb25hcnkgYSB0
cmFuc2ZlcmFibGUgQXJyYXlCdWZmZXIgYmV0d2VlbiBTZXJ2aWNlV29ya2VyIGFuZCBDbGllbnQg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBUeXBlIGVycm9yIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0
bWVzc2FnZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMu
aHRtbAppbmRleCAzYTY0ODdlYTE3YTYzZDhhZTc3MTBlZTZlMWRkYjViYzY2MjZmOTE5Li5iMWYz
MzQyYThjMTRlNzA3MDk3YmY2YzkwZTVmNGZlZTVmZDE5YTRhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9wb3N0bWVzc2FnZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Bvc3RtZXNzYWdlLmh0dHBzLmh0bWwKQEAgLTEzNiw0ICsxMzYsNDYgQEAgcHJvbWlzZV90ZXN0
KHQgPT4gewogICAgICAgICB9KTsKICAgfSwgJ3Bvc3RNZXNzYWdlIGEgdHJhbnNmZXJhYmxlIEFy
cmF5QnVmZmVyIGJldHdlZW4gU2VydmljZVdvcmtlciBhbmQgQ2xpZW50JyArCiAgICAgICcgb3Zl
ciBNZXNzYWdlUG9ydCcpOworCisgIHByb21pc2VfdGVzdCh0ID0+IHsKKyAgICB2YXIgc2NyaXB0
ID0gJ3Jlc291cmNlcy9wb3N0bWVzc2FnZS1kaWN0aW9uYXJ5LXRyYW5zZmVyYWJsZXMtd29ya2Vy
LmpzJzsKKyAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWwnOworICAgIHZhciBz
dyA9IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyOworCisgICAgdmFyIG1lc3NhZ2UgPSAnSGVsbG8s
IHdvcmxkISc7CisgICAgdmFyIHRleHRfZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcjsKKyAgICB2
YXIgdGV4dF9kZWNvZGVyID0gbmV3IFRleHREZWNvZGVyOworCisgICAgcmV0dXJuIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHNjcmlwdCwgc2NvcGUpCisgICAgICAu
dGhlbihyID0+IHsKKyAgICAgICAgICB0LmFkZF9jbGVhbnVwKCgpID0+IHIudW5yZWdpc3Rlcigp
KTsKKworICAgICAgICAgIHZhciBhYiA9IHRleHRfZW5jb2Rlci5lbmNvZGUobWVzc2FnZSk7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhhYi5ieXRlTGVuZ3RoLCBtZXNzYWdlLmxlbmd0aCk7Cisg
ICAgICAgICAgci5pbnN0YWxsaW5nLnBvc3RNZXNzYWdlKGFiLCB7dHJhbnNmZXI6IFthYi5idWZm
ZXJdfSk7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyh0ZXh0X2RlY29kZXIuZGVjb2RlKGFiKSwg
JycpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoYWIuYnl0ZUxlbmd0aCwgMCk7CisKKyAgICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7IHN3Lm9ubWVzc2FnZSA9IHJlc29s
dmU7IH0pOworICAgICAgICB9KQorICAgICAgLnRoZW4oZSA9PiB7CisgICAgICAgICAgLy8gVmVy
aWZ5IHRoZSBpbnRlZ3JpdHkgb2YgdGhlIHRyYW5zZmVycmVkIGFycmF5IGJ1ZmZlci4KKyAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5jb250ZW50LCBtZXNzYWdlKTsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGUuZGF0YS5ieXRlTGVuZ3RoLCBtZXNzYWdlLmxlbmd0aCk7CisgICAgICAg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geyBzdy5vbm1lc3NhZ2UgPSByZXNvbHZl
OyB9KTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKGUgPT4geworICAgICAgICAgIC8vIFZlcmlm
eSB0aGUgaW50ZWdyaXR5IG9mIHRoZSBhcnJheSBidWZmZXIgc2VudCBiYWNrIGZyb20KKyAgICAg
ICAgICAvLyBTZXJ2aWNlV29ya2VyIHZpYSBDbGllbnQucG9zdE1lc3NhZ2UuCisgICAgICAgICAg
YXNzZXJ0X2VxdWFscyh0ZXh0X2RlY29kZXIuZGVjb2RlKGUuZGF0YSksIG1lc3NhZ2UpOworICAg
ICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLmJ5dGVMZW5ndGgsIG1lc3NhZ2UubGVuZ3RoKTsK
KyAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7IHN3Lm9ubWVzc2FnZSA9
IHJlc29sdmU7IH0pOworICAgICAgICB9KQorICAgICAgLnRoZW4oZSA9PiB7CisgICAgICAgICAg
Ly8gVmVyaWZ5IHRoYXQgdGhlIGFycmF5IGJ1ZmZlciBvbiBTZXJ2aWNlV29ya2VyIGlzIG5ldXRl
cmVkLgorICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLmNvbnRlbnQsICcnKTsKKyAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5ieXRlTGVuZ3RoLCAwKTsKKyAgICAgICAgfSk7Cisg
IH0sICdwb3N0TWVzc2FnZSB3aXRoIGRpY3Rpb25hcnkgYSB0cmFuc2ZlcmFibGUgQXJyYXlCdWZm
ZXIgYmV0d2VlbiBTZXJ2aWNlV29ya2VyIGFuZCBDbGllbnQnKTsKKwogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDZjNjUyMDc2YTlmMDI1MTNlMWNhOWRkMWU0N2NjZjk1MGY1NzBlNDMu
LjlkMmYyNzA2Y2FmZWViNzQwMzA1OWNiMzcwNmYzNDkwNWMyZGY5MTcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0yOCw2ICsyOCw3IEBAIFBBU1MgbW9kZTogImVycm9yIiwgZ2VuZXJhdGVkIHJlZGly
ZWN0IHJlc3BvbnNlCiBQQVNTIG1vZGU6ICJtYW51YWwiLCBnZW5lcmF0ZWQgcmVkaXJlY3QgcmVz
cG9uc2UgCiBQQVNTIEZldGNoIHNob3VsZCBmb2xsb3cgdGhlIHJlZGlyZWN0IHJlc3BvbnNlIDIw
IHRpbWVzIAogUEFTUyBGZXRjaCBzaG91bGQgbm90IGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9u
c2UgMjEgdGltZXMuIAorUEFTUyBUaGUgVVJMIGZvciB0aGUgc2VydmljZSB3b3JrZXIgcmVkaXJl
Y3RlZCByZXF1ZXN0IHNob3VsZCBiZSBwcm9wYWdhdGVkIHRvIHJlc3BvbnNlLiAKIFBBU1MgcmVz
dG9yZSBnbG9iYWwgc3RhdGUgKHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbikgCiBQQVNTIHJl
c3RvcmUgZ2xvYmFsIHN0YXRlIChjYWNoZXMpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLmh0bWwKaW5kZXggZjczNzBlMDIzYjFhYjQ0NTRiODM5
YmM2ZGFhNDMyY2Y1MzllMWQ3Zi4uMTc2ZmNiNDk0YjY2NGJhZTQzZmViYTBjNzkzZTUyODQ1ZGYz
NTI1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5o
dHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0
cHMuaHRtbApAQCAtMzMsNiArMzMsMTEgQEAgZnVuY3Rpb24gcmVkaXJlY3RlZF90ZXN0KG9wdGlv
bnMpIHsKICAgICAgICAgYXNzZXJ0X2VxdWFscygKICAgICAgICAgICAgIGNsb25lZF9yZXNwb25z
ZS5yZWRpcmVjdGVkLCBvcHRpb25zLmV4cGVjdGVkX3JlZGlyZWN0ZWQsCiAgICAgICAgICAgICAn
VGhlIHJlZGlyZWN0ZWQgZmxhZyBvZiBjbG9uZWQgcmVzcG9uc2UgbXVzdCBtYXRjaC4gVVJMOiAn
ICsgb3B0aW9ucy51cmwpOworICAgICAgICBpZiAob3B0aW9ucy5leHBlY3RlZF9yZXNwb25zZV91
cmwpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoCisgICAgICAgICAgICAgICAgY2xvbmVk
X3Jlc3BvbnNlLnVybCwgb3B0aW9ucy5leHBlY3RlZF9yZXNwb25zZV91cmwsCisgICAgICAgICAg
ICAgICAgJ1RoZSBVUkwgZG9lcyBub3QgbWVldCBleHBlY3RhdGlvbi4gVVJMOiAnICsgb3B0aW9u
cy51cmwpOworICAgICAgICB9CiAgICAgICAgIHJldHVybiBjYWNoZS5wdXQob3B0aW9ucy51cmws
IHJlc3BvbnNlKTsKICAgICAgIH0pCiAgICAgLnRoZW4oXyA9PiBjYWNoZS5tYXRjaChvcHRpb25z
LnVybCkpCkBAIC00OSwxMiArNTQsMTUgQEAgZnVuY3Rpb24gcmVkaXJlY3RlZF90ZXN0KG9wdGlv
bnMpIHsKICAgICAgIH0pOwogfQogCi1mdW5jdGlvbiB0YWtlX2ludGVyY2VwdGVkX3VybHMoKSB7
Ci0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgbGV0IGNoYW5uZWwg
PSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0g
bXNnID0+IHsgcmVzb2x2ZShtc2cuZGF0YS51cmxzKTsgfTsKLSAgICAgIHdvcmtlci5wb3N0TWVz
c2FnZSh7cG9ydDogY2hhbm5lbC5wb3J0Mn0sIFtjaGFubmVsLnBvcnQyXSk7Ci0gICAgfSk7Cith
c3luYyBmdW5jdGlvbiB0YWtlX2ludGVyY2VwdGVkX3VybHMoKSB7CisgIGNvbnN0IG1lc3NhZ2Ug
PSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgIGxldCBjaGFubmVsID0gbmV3IE1lc3Nh
Z2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBtc2cgPT4geyByZXNv
bHZlKG1zZy5kYXRhLnJlcXVlc3RJbmZvcyk7IH07CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKHtj
b21tYW5kOiAnZ2V0UmVxdWVzdEluZm9zJywgcG9ydDogY2hhbm5lbC5wb3J0Mn0sCisgICAgICAg
ICAgICAgICAgICAgICAgIFtjaGFubmVsLnBvcnQyXSk7CisgIH0pOworICBjb25zdCByZXF1ZXN0
X2luZm9zID0gYXdhaXQgbWVzc2FnZTsKKyAgcmV0dXJuIHJlcXVlc3RfaW5mb3MubWFwKGluZm8g
PT4geyByZXR1cm4gaW5mby51cmw7IH0pOwogfQogCiBmdW5jdGlvbiBjaGVja19pbnRlcmNlcHRl
ZF91cmxzKGV4cGVjdGVkX3VybHMpIHsKQEAgLTM0NSw0ICszNTMsMjMgQEAgcHJvbWlzZV90ZXN0
KHQgPT4gc2V0dXBfYW5kX2NsZWFuKCkKICAgICAgICAgfSk7CiAgICAgfSksCiAgICdGZXRjaCBz
aG91bGQgbm90IGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgMjEgdGltZXMuJyk7CisKKy8v
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
Ky8vIEEgdGVzdCBmb3IgdmVyaWZ5aW5nIHRoZSB1cmwgb2YgYSBzZXJ2aWNlLXdvcmtlci1yZWRp
cmVjdGVkIHJlcXVlc3QgaXMKKy8vIHByb3BhZ2F0ZWQgdG8gdGhlIG91dGVyIHJlc3BvbnNlLgor
Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQorcHJvbWlzZV90ZXN0KHQgPT4gc2V0dXBfYW5kX2NsZWFuKCkKKyAgICAudGhlbigoKSA9PiB7
CisgICAgICBjb25zdCB1cmwgPSBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsgYmFzZV9wYXRo
KCkgKyAnZHVtbXk/dXJsPScgKworICAgICAgICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50
KFRBUkdFVF9VUkwpICsnJnN3PWZldGNoLXVybCc7CisgICAgICByZXR1cm4gcmVkaXJlY3RlZF90
ZXN0KHt1cmw6IHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoX29wdGlv
bjoge30sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaF9tZXRob2Q6IGZyYW1l
LmNvbnRlbnRXaW5kb3cuZmV0Y2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBl
Y3RlZF90eXBlOiAnYmFzaWMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0
ZWRfcmVkaXJlY3RlZDogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBl
Y3RlZF9pbnRlcmNlcHRlZF91cmxzOiBbdXJsXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4cGVjdGVkX3Jlc3BvbnNlX3VybDogVEFSR0VUX1VSTH0pOworICAgIH0pLAorICAnVGhl
IFVSTCBmb3IgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZGlyZWN0ZWQgcmVxdWVzdCBzaG91bGQgYmUg
cHJvcGFnYXRlZCB0byAnICsKKyAgJ3Jlc3BvbnNlLicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWZlcmVyLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZWZlcmVyLmh0dHBzLmh0bWwKaW5kZXggNDNmY2NiYWQ1NmNmNDUwNGU5ZTlkZGE5NzQyYzFj
ODY5YmIwYTU1OS4uMDk1N2U0YzUzMzAxNjhiMDgyMzZmZjdjNDMxNzA2YTFkOTJjYzFhNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJlci5odHRwcy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3JlZmVyZXIuaHR0cHMuaHRtbApAQCAtNSwyNiArNSwzNiBAQAogPHNjcmlw
dCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3ViIj48L3NjcmlwdD4KIDxz
Y3JpcHQ+Ci1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0
KSB7CiAgICAgdmFyIFNDT1BFID0gJ3Jlc291cmNlcy9yZWZlcmVyLWlmcmFtZS5odG1sJzsKICAg
ICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci5qcyc7CiAgICAg
dmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQorICAgIHJldHVybiBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQogICAgICAg
LnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXIodCwgU0NPUEUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZXR1cm4gd2FpdF9m
b3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKICAgICAg
ICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUp
OyB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKICAgICAgICAgICB2YXIgY2hhbm5l
bCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwotICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNz
YWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGUuZGF0YS5yZXN1bHRzLCAnZmluaXNoJyk7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChm
dW5jdGlvbigpIHsKICAgICAgICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgICAg
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgU0NPUEUpOwogICAgICAgICAg
ICAgfSk7CisKKyAgICAgICAgICB2YXIgb25Nc2cgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNv
bHZlKSB7CisgICAgICAgICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcmVzb2x2ZTsK
KyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVz
c2FnZSh7fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3Rf
aW5mb1snSFRUUFNfT1JJR0lOJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOworICAgICAgICAgIHJldHVybiBvbk1zZzsKICAgICAg
ICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgIC50aGVu
KGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5yZXN1bHRzLCAn
ZmluaXNoJyk7CisgICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHRoZSByZWZlcmVyJyk7CiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZmVycmVyLXBvbGljeS1oZWFk
ZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5
LWhlYWRlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmNlMDE0MGFhYTM1ZjVmNmQ3OTMzZGMz
NzQ5NmZmNmM1N2Q2MWFlNy4uODEyYjQ2ZmVjOWE5MDZiMTBkMDkxZjRhNWIxZDA2ZWYxYzNjYTdl
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5LWhlYWRlci5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJyZXItcG9saWN5
LWhlYWRlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw3IEBACiAKLUZBSUwgVmVyaWZ5
IHRoZSByZWZlcmVyIHdpdGggYSBSZWZlcnJlciBQb2xpY3kgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImZpbmlzaCIgYnV0IGdvdCAiZmFpbHVyZTpSZWZlcmVyIGZvciByZXF1ZXN0LWhlYWRlcnMu
cHk/dXJsPXJlcXVlc3QtaGVhZGVycy5weSBtdXN0IGJlIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
IGJ1dCBnb3QgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2VyLXJlZmVycmVyLXBvbGljeS5qcyIK
KworUEFTUyBJbml0aWFsaXplIGdsb2JhbCBzdGF0ZSAoc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0
aW9uKSAKK0ZBSUwgUmVmZXJyZXIgZm9yIGEgbWFpbiByZXNvdXJjZSByZWRpcmVjdGVkIHdpdGgg
cmVmZXJyZXItcG9saWN5IChvcmlnaW4pIHNob3VsZCBvbmx5IGhhdmUgb3JpZ2luLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8iIGJ1dCBnb3QgImh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZmVycmVy
LXBvbGljeS1oZWFkZXIuaHR0cHMuaHRtbCIKK0ZBSUwgUmVmZXJyZXIgZm9yIGZldGNoIHJlcXVl
c3RzIGluaXRpYXRlZCBmcm9tIGEgc2VydmljZSB3b3JrZXIgd2l0aCByZWZlcnJlci1wb2xpY3kg
KG9yaWdpbikgc2hvdWxkIG9ubHkgaGF2ZSBvcmlnaW4uIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJmaW5pc2giIGJ1dCBnb3QgImZhaWx1cmU6UmVmZXJlciBmb3IgcmVxdWVzdC1oZWFkZXJzLnB5
P3VybD1yZXF1ZXN0LWhlYWRlcnMucHkgbXVzdCBiZSBodHRwczovL2xvY2FsaG9zdDo5NDQzLyBi
dXQgZ290IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1yZXdyaXRlLXdvcmtlci1yZWZlcnJlci1wb2xpY3kuanMiCitQ
QVNTIFJlbW92ZSByZWdpc3RyYXRpb24gYXMgYSBjbGVhbnVwIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZWZlcnJlci1wb2xpY3ktaGVhZGVyLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZWZlcnJlci1wb2xpY3ktaGVhZGVyLmh0dHBzLmh0bWwKaW5kZXggZjJlOTFk
NDcyYzBhZmYzNGFmOGJiNTE5NTJkMTVkYWZmY2Y2MTM2Yi4uMDVkNzczZTMxNDRkY2EyYzc2Mzll
NGVmNTIwYTU1ZDBlYWNmNjc1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVmZXJy
ZXItcG9saWN5LWhlYWRlci5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZmVy
cmVyLXBvbGljeS1oZWFkZXIuaHR0cHMuaHRtbApAQCAtNSwzOSArNSw0MSBAQAogPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1wcm9t
aXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvcmVmZXJy
ZXItcG9saWN5LWlmcmFtZS5odG1sJzsKLSAgICB2YXIgU0NSSVBUID0gJ3Jlc291cmNlcy9mZXRj
aC1yZXdyaXRlLXdvcmtlci1yZWZlcnJlci1wb2xpY3kuanMnOwotICAgIHZhciBob3N0X2luZm8g
PSBnZXRfaG9zdF9pbmZvKCk7Ci0gICAgdmFyIGJvZHksIHVucmVnaXN0ZXI7CiAKLSAgICBib2R5
ID0gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09Q
RSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikgewotICAgICAgICAgIHVucmVn
aXN0ZXIgPSByZWdpc3RyYXRpb24udW5yZWdpc3Rlci5iaW5kKHJlZ2lzdHJhdGlvbik7Ci0gICAg
ICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAn
YWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbigpIHsgcmV0dXJu
IHdpdGhfaWZyYW1lKFNDT1BFKTsgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGZyYW1lKSB7Ci0g
ICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgICAgICB0
LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsK
LSAgICAgICAgICAgIH0pOworY29uc3QgU0NPUEUgPSAncmVzb3VyY2VzL3JlZmVycmVyLXBvbGlj
eS1pZnJhbWUuaHRtbCc7Citjb25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUt
d29ya2VyLXJlZmVycmVyLXBvbGljeS5qcyc7CiAKLSAgICAgICAgICByZXR1cm4gbmV3IFByb21p
c2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVz
c2FnZSA9IHJlc29sdmU7Ci0gICAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1l
c3NhZ2Uoe30sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBbY2hhbm5lbC5wb3J0Ml0pOwotICAgICAgICAgICAgfSk7Ci0gICAg
ICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOwotICAgICAgICB9KTsKK3Byb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPQorICAgICAgICBhd2FpdCBzZXJ2
aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKTsKKyAg
ICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2
YXRlZCcpOworICAgIHByb21pc2VfdGVzdCgoKSA9PiByZWdpc3RyYXRpb24udW5yZWdpc3Rlcigp
LAorICAgICAgICAgICAgICAgICAnUmVtb3ZlIHJlZ2lzdHJhdGlvbiBhcyBhIGNsZWFudXAnKTsK
K30sICdJbml0aWFsaXplIGdsb2JhbCBzdGF0ZSAoc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9u
KScpOwogCi0gICAgICAvLyBTY2hlZHVsZSB1bi1yZWdpc3RyYXRpb24gdG8gb2NjdXIgYWZ0ZXIg
dGVzdCBleGVjdXRpb24gaGFzIGNvbXBsZXRlZCwKLSAgICAgIC8vIHdpdGhvdXQgaGlkaW5nIHRl
c3QgZmFpbHVyZS4KLSAgICAgIHJldHVybiBib2R5Ci0gICAgICAgIC50aGVuKHVucmVnaXN0ZXIs
IHVucmVnaXN0ZXIpCi0gICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gYm9keTsgfSk7
Ci0gIH0sICdWZXJpZnkgdGhlIHJlZmVyZXIgd2l0aCBhIFJlZmVycmVyIFBvbGljeScpOworcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IGZ1bGxfc2NvcGVfdXJsID0gbmV3IFVS
TChTQ09QRSwgbG9jYXRpb24uaHJlZik7CisgICAgY29uc3QgcmVkaXJlY3RfdG8gPSBgJHtmdWxs
X3Njb3BlX3VybC5ocmVmfT9pZ25vcmU9dHJ1ZWA7CisgICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3
aXRoX2lmcmFtZSgKKyAgICAgICAgYCR7U0NPUEV9P3BpcGU9c3RhdHVzKDMwMil8aGVhZGVyKExv
Y2F0aW9uLCR7cmVkaXJlY3RfdG99KXxgICsKKyAgICAgICAgJ2hlYWRlcihSZWZlcnJlci1Qb2xp
Y3ksb3JpZ2luKScpOworICAgIGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudERvY3VtZW50LnJl
ZmVycmVyLAorICAgICAgICAgICAgICAgICAgZnVsbF9zY29wZV91cmwub3JpZ2luICsgJy8nKTsK
KyAgICB0LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgpKTsKK30sICdSZWZlcnJlciBm
b3IgYSBtYWluIHJlc291cmNlIHJlZGlyZWN0ZWQgd2l0aCByZWZlcnJlci1wb2xpY3kgKG9yaWdp
bikgJyArCisgICAnc2hvdWxkIG9ubHkgaGF2ZSBvcmlnaW4uJyk7CisKK3Byb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICBjb25zdCBob3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7CisgICAg
Y29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShTQ09QRSk7CisgICAgY29uc3QgY2hhbm5l
bCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gZnJhbWUu
cmVtb3ZlKCkpOworICAgIGNvbnN0IGUgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSByZXNvbHZlOworICAgICAgICBmcmFt
ZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKAorICAgICAgICAgICAge30sIGhvc3RfaW5mb1sn
SFRUUFNfT1JJR0lOJ10sIFtjaGFubmVsLnBvcnQyXSk7CisgICAgfSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhlLmRhdGEucmVzdWx0cywgJ2ZpbmlzaCcpOworfSwgJ1JlZmVycmVyIGZvciBmZXRjaCBy
ZXF1ZXN0cyBpbml0aWF0ZWQgZnJvbSBhIHNlcnZpY2Ugd29ya2VyIHdpdGggJyArCisgICAncmVm
ZXJyZXItcG9saWN5IChvcmlnaW4pIHNob3VsZCBvbmx5IGhhdmUgb3JpZ2luLicpOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tZXZlbnRzLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tZXZlbnRzLmh0dHBzLmh0
bWwKaW5kZXggOTcyY2U3NDEwYjk5MjJlZGI3MDUyZWE1YmU3NDBmOGVmNDg5MmYxOS4uNWJjZmQ2
Njg0NmJjZTViOTNiZjA5ZDA1YjY1YzJlMzUyYjUxZmZhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVnaXN0cmF0aW9uLWV2ZW50cy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3JlZ2lzdHJhdGlvbi1ldmVudHMuaHR0cHMuaHRtbApAQCAtNCwxNSArNCwxNyBAQAog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQ+Ci12YXIgdCA9IGFzeW5jX3Rlc3QoJ1JlZ2lzdHJhdGlvbjogZXZlbnRzJyk7Ci10LnN0
ZXAoZnVuY3Rpb24oKSB7Citwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBzY29w
ZSA9ICdyZXNvdXJjZXMvaW4tc2NvcGUvJzsKLSAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVy
X2FuZF9yZWdpc3RlcigKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
cmVnaXN0ZXIoCiAgICAgICAgIHQsICdyZXNvdXJjZXMvZXZlbnRzLXdvcmtlci5qcycsIHNjb3Bl
KQotICAgICAgLnRoZW4odC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAg
ICAgICAgb25SZWdpc3RlcihyZWdpc3RyYXRpb24uaW5zdGFsbGluZyk7Ci0gICAgICAgIH0pKQot
ICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgLnRoZW4oZnVuY3Rp
b24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUp
OworICAgICAgICAgIH0pOworCisgICAgICAgICAgcmV0dXJuIG9uUmVnaXN0ZXIocmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcpOworICAgICAgICB9KTsKIAogICAgIGZ1bmN0aW9uIHNlbmRNZXNzYWdl
UG9ydCh3b3JrZXIsIGZyb20pIHsKICAgICAgICAgdmFyIG1lc3NhZ2VDaGFubmVsID0gbmV3IE1l
c3NhZ2VDaGFubmVsKCk7CkBAIC0yMSwxNyArMjMsMjAgQEAgdC5zdGVwKGZ1bmN0aW9uKCkgewog
ICAgIH0KIAogICAgIGZ1bmN0aW9uIG9uUmVnaXN0ZXIoc3cpIHsKLSAgICAgICAgc3cub25zdGF0
ZWNoYW5nZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgaWYgKHN3LnN0
YXRlICE9PSAnYWN0aXZhdGVkJykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAg
ICAgIHNlbmRNZXNzYWdlUG9ydChzdywgJ3JlZ2lzdGVyaW5nIGRvYycpLm9ubWVzc2FnZSA9IHQu
c3RlcF9mdW5jKGZ1bmN0aW9uIChlKSB7CisgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5j
dGlvbihyZXNvbHZlKSB7CisgICAgICAgICAgICBzdy5vbnN0YXRlY2hhbmdlID0gZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgaWYgKHN3LnN0YXRlID09PSAnYWN0aXZhdGVkJykKKyAgICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSkudGhl
bihmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7CisgICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2VQb3J0KHN3LCAncmVnaXN0ZXJp
bmcgZG9jJykub25tZXNzYWdlID0gcmVzb2x2ZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9
KS50aGVuKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGUuZGF0YS5ldmVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2lu
c3RhbGwnLCAnYWN0aXZhdGUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J1dvcmtlciBzaG91bGQgc2VlIGluc3RhbGwgdGhlbiBhY3RpdmF0ZSBldmVudHMnKTsKLSAgICAg
ICAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsK
LSAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9Ci19KTsKK30sICdSZWdpc3RyYXRp
b246IGV2ZW50cycpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWdpc3RyYXRpb24taWZyYW1lLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Ry
YXRpb24taWZyYW1lLmh0dHBzLmh0bWwKaW5kZXggOTE3NTY2NjZlOTBiN2Q2YjY4NjcyZDBiMDZm
ZmM5YjA2ZmJjMGNhYS4uYWUzOWRkZmVhM2U1MTg2YmRlYTRjNmExYTVkOWYwYzdlNmNiYzIxMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLWlmcmFtZS5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1pZnJhbWUuaHR0cHMuaHRt
bApAQCAtMSwxMCArMSwxMCBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+CiA8dGl0bGU+U2VydmljZSBXb3JrZXI6IFJlZ2lzdHJhdGlvbiBmb3IgaWZyYW1lPC90aXRs
ZT4KLTxib2R5PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3Njcmlw
dD4KKzxib2R5PgogPHNjcmlwdD4KIAogLy8gU2V0IHNjcmlwdCB1cmwgYW5kIHNjb3BlIHVybCBy
ZWxhdGl2ZSB0byB0aGUgaWZyYW1lJ3MgZG9jdW1lbnQncyB1cmwuIEFzc2VydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLW1pbWUtdHlwZXMuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLW1pbWUtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0CmluZGV4IDUzN2EyZjdiZDYyMTI0Y2E0OTFiZWYxYTZmODZhZWI5Zjg4MjUx
ZmYuLmRiNzJiYWZhZjdiOTRjZTBlMmI5Y2M3ZjBiMjc0ZWViYzcyZDgzODAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1taW1lLXR5cGVzLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tbWltZS10eXBlcy5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw4IEBACiAKIFBBU1MgUmVnaXN0ZXJpbmcgc2NyaXB0
IHdpdGggbm8gTUlNRSB0eXBlIAogUEFTUyBSZWdpc3RlcmluZyBzY3JpcHQgd2l0aCBiYWQgTUlN
RSB0eXBlIAotRkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgdGhhdCBpbXBvcnRzIHNjcmlwdCB3aXRo
IG5vIE1JTUUgdHlwZSBhc3NlcnRfdGhyb3dzOiBSZWdpc3RyYXRpb24gb2Ygbm8gTUlNRSB0eXBl
IGltcG9ydGVkIHNjcmlwdCBzaG91bGQgZmFpbC4gZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhy
b3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogTmV0d29ya0Vycm9yOiBtaW1lIHR5cGUg
aXMgbm90IGEgc3VwcG9ydGVkIEphdmFTY3JpcHQgbWltZSB0eXBlIiB0aGF0IGlzIG5vdCBhIERP
TUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5k
ZWZpbmVkLCBleHBlY3RlZCAxOAotRkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgdGhhdCBpbXBvcnRz
IHNjcmlwdCB3aXRoIGJhZCBNSU1FIHR5cGUgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9m
IHBsYWluIHRleHQgaW1wb3J0ZWQgc2NyaXB0IHNob3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBOZXR3b3JrRXJyb3I6
IG1pbWUgdHlwZSBpcyBub3QgYSBzdXBwb3J0ZWQgSmF2YVNjcmlwdCBtaW1lIHR5cGUiIHRoYXQg
aXMgbm90IGEgRE9NRXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBl
cXVhbCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDE4CitQQVNTIFJlZ2lzdGVyaW5nIHNjcmlwdCB0
aGF0IGltcG9ydHMgc2NyaXB0IHdpdGggbm8gTUlNRSB0eXBlIAorUEFTUyBSZWdpc3RlcmluZyBz
Y3JpcHQgdGhhdCBpbXBvcnRzIHNjcmlwdCB3aXRoIGJhZCBNSU1FIHR5cGUgCiBQQVNTIFJlZ2lz
dGVyaW5nIHNjcmlwdCB3aXRoIGdvb2QgTUlNRSB0eXBlIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQg
CiBQQVNTIFJlZ2lzdGVyaW5nIHNjcmlwdCB0aGF0IGltcG9ydHMgc2NyaXB0IHdpdGggZ29vZCBN
SU1FIHR5cGUgYXBwbGljYXRpb24vZWNtYXNjcmlwdCAKIFBBU1MgUmVnaXN0ZXJpbmcgc2NyaXB0
IHdpdGggZ29vZCBNSU1FIHR5cGUgYXBwbGljYXRpb24vamF2YXNjcmlwdCAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY29wZS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NvcGUuaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGQ0YTVhYjFhODZiOWJjMzFlNmUxZDg3MzJiZjhkZWJkMWNjZDVmYTIuLmFkYzk1OWFi
ZTAxOGRhYzNjNWI3ZDE0YjQxMGQyNDEyYmY5ZWE0YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3JlZ2lzdHJhdGlvbi1zY29wZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjb3BlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNiw1
ICs2LDUgQEAgUEFTUyBTY29wZSBpbmNsdWRpbmcgbm9uLWVzY2FwZWQgbXVsdGlieXRlIGNoYXJh
Y3RlcnMKIFBBU1MgU2NvcGUgaW5jbHVkaW5nIHNlbGYtcmVmZXJlbmNlIAogUEFTUyBTY29wZSBp
bmNsdWRpbmcgcGFyZW50LXJlZmVyZW5jZSAKIFBBU1MgU2NvcGUgaW5jbHVkaW5nIGNvbnNlY3V0
aXZlIHNsYXNoZXMgCi1GQUlMIFNjb3BlIFVSTCBpcyBzYW1lLW9yaWdpbiBmaWxlc3lzdGVtOiBV
UkwgYXNzZXJ0X3Rocm93czogUmVnaXN0ZXJpbmcgd2l0aCB0aGUgc2NvcGUgdGhhdCBoYXMgc2Ft
ZS1vcmlnaW4gZmlsZXN5c3RlbTogVVJMIHNob3VsZCBmYWlsIHdpdGggU2VjdXJpdHlFcnJvci4g
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJv
cjogU2NvcGUgVVJMIHByb3ZpZGVkIHRvIHNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoKSBtdXN0IGJl
IGVpdGhlciBIVFRQIG9yIEhUVFBTIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0
eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAx
OAorUEFTUyBTY29wZSBVUkwgaXMgc2FtZS1vcmlnaW4gZmlsZXN5c3RlbTogVVJMIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0LXVybC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0LXVybC5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggZTc2YTYxNmViNGU4NmU1YjM3NjE4ZTVmNzUyOTk0Mzc4
NzkxZDQyMy4uZTM2Nzc1NTQ4ZWM1N2QyMWNmOTQxMmViYmFlMDM1MjViOTg2OGYyOSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC11cmwuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQtdXJs
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgUEFTUyBTY3JpcHQgVVJMIGluY2x1
ZGluZyBVUkwtZW5jb2RlZCBzbGFzaAogUEFTUyBTY3JpcHQgVVJMIGluY2x1ZGluZyB1cHBlcmNh
c2UgVVJMLWVuY29kZWQgc2xhc2ggCiBQQVNTIFNjcmlwdCBVUkwgaW5jbHVkaW5nIFVSTC1lbmNv
ZGVkIGJhY2tzbGFzaCAKIFBBU1MgU2NyaXB0IFVSTCBpbmNsdWRpbmcgdXBwZXJjYXNlIFVSTC1l
bmNvZGVkIGJhY2tzbGFzaCAKK1BBU1MgU2NyaXB0IFVSTCBpcyBhIGRhdGEgVVJMIAogUEFTUyBT
Y3JpcHQgVVJMIGluY2x1ZGluZyBzZWxmLXJlZmVyZW5jZSAKIFBBU1MgU2NyaXB0IFVSTCBpbmNs
dWRpbmcgcGFyZW50LXJlZmVyZW5jZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVnaXN0cmF0aW9uLXNlY3VyaXR5LWVycm9yLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zZWN1cml0eS1lcnJvci5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggMGVlYmNiMmRiNDM2NDRiMjY2ZDJjNGNiNmZhMjZlMjZkYTNlZWQyMi4uMzhkMDY3OGZh
ZjMxNDFkNGJjYWU1MWYzNWIzNmU1ZGI3NGZkYTkyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVnaXN0cmF0aW9uLXNlY3VyaXR5LWVycm9yLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2VjdXJpdHktZXJyb3IuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0zLDggKzMsOCBAQCBQQVNTIFJlZ2lzdGVyaW5nIHNhbWUgc2NvcGUgYXMg
dGhlIHNjcmlwdCBkaXJlY3Rvcnkgd2l0aG91dCB0aGUgbGFzdCBzbGFzaAogUEFTUyBSZWdpc3Ry
YXRpb24gc2NvcGUgb3V0c2lkZSB0aGUgc2NyaXB0IGRpcmVjdG9yeSAKIFBBU1MgUmVnaXN0ZXJp
bmcgc2NvcGUgb3V0c2lkZSBkb21haW4gCiBQQVNTIFJlZ2lzdGVyaW5nIHNjcmlwdCBvdXRzaWRl
IGRvbWFpbiAKLUZBSUwgUmVnaXN0ZXJpbmcgcmVkaXJlY3RlZCBzY3JpcHQgYXNzZXJ0X3Rocm93
czogUmVnaXN0cmF0aW9uIG9mIHJlZGlyZWN0ZWQgc2NyaXB0IHNob3VsZCBmYWlsLiBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBTY3Jp
cHQgVVJMIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD0lMkZzZXJ2aWNlLXdvcmtlcnMlMkZz
ZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRnJlZ2lzdHJhdGlvbi13b3JrZXIuanMgZmV0Y2gg
cmVzdWx0ZWQgaW4gZXJyb3I6IE5vdCBhbGxvd2VkIHRvIGZvbGxvdyBhIHJlZGlyZWN0aW9uIHdo
aWxlIGxvYWRpbmcgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSUyRnNlcnZpY2Utd29ya2Vy
cyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGcmVnaXN0cmF0aW9uLXdvcmtlci5qcyIg
dGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gU2VjdXJpdHlFcnJvcjogcHJvcGVydHkgImNvZGUi
IGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTgKK0ZBSUwgUmVnaXN0ZXJpbmcgcmVk
aXJlY3RlZCBzY3JpcHQgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9mIHJlZGlyZWN0ZWQg
c2NyaXB0IHNob3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRo
cmV3IG9iamVjdCAiVHlwZUVycm9yOiBTY3JpcHQgVVJMIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRp
cmVjdD0lMkZyZXNvdXJjZXMlMkZyZWdpc3RyYXRpb24td29ya2VyLmpzIGZldGNoIHJlc3VsdGVk
IGluIGVycm9yOiBOb3QgYWxsb3dlZCB0byBmb2xsb3cgYSByZWRpcmVjdGlvbiB3aGlsZSBsb2Fk
aW5nIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD0lMkZyZXNvdXJjZXMlMkZyZWdpc3RyYXRp
b24td29ya2VyLmpzIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBw
cm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxOAogUEFTUyBT
Y29wZSBpbmNsdWRpbmcgcGFyZW50LXJlZmVyZW5jZSBhbmQgbm90IHVuZGVyIHRoZSBzY3JpcHQg
ZGlyZWN0b3J5IAogUEFTUyBTY3JpcHQgVVJMIGluY2x1ZGluZyBjb25zZWN1dGl2ZSBzbGFzaGVz
IAotRkFJTCBTY3JpcHQgVVJMIGlzIHNhbWUtb3JpZ2luIGZpbGVzeXN0ZW06IFVSTCBhc3NlcnRf
dGhyb3dzOiBSZWdpc3RlcmluZyBhIHNjcmlwdCB3aGljaCBoYXMgc2FtZS1vcmlnaW4gZmlsZXN5
c3RlbTogVVJMIHNob3VsZCBmYWlsIHdpdGggU2VjdXJpdHlFcnJvci4gZnVuY3Rpb24gImZ1bmN0
aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlR5cGVFcnJvcjogc2VydmljZVdvcmtl
ci5yZWdpc3RlcigpIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzY3JpcHQgVVJMIHdob3NlIHByb3Rv
Y29sIGlzIGVpdGhlciBIVFRQIG9yIEhUVFBTIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBT
ZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBl
Y3RlZCAxOAorUEFTUyBTY3JpcHQgVVJMIGlzIHNhbWUtb3JpZ2luIGZpbGVzeXN0ZW06IFVSTCAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNlcnZpY2Utd29y
a2VyLWF0dHJpYnV0ZXMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlv
bi1zZXJ2aWNlLXdvcmtlci1hdHRyaWJ1dGVzLmh0dHBzLmh0bWwKaW5kZXggOGZkNTY2ZGFkYzYy
YTc4ZWYwODM2YmJjNjMwMDA0NzNmODg0ZDdjNy4uZjdiNTJkNWRkY2VkMTg2MTNjYTIyNTM4NmJi
NTdmMjhiOWJhY2Q2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9u
LXNlcnZpY2Utd29ya2VyLWF0dHJpYnV0ZXMuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZWdpc3RyYXRpb24tc2VydmljZS13b3JrZXItYXR0cmlidXRlcy5odHRwcy5odG1sCkBA
IC0xNCw3ICsxNCw3IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgcmV0dXJuIHNl
cnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3Bl
KQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgewogICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgIHIudW5yZWdpc3RlcigpOworICAgICAgICAgICAgICBy
ZXR1cm4gci51bnJlZ2lzdGVyKCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICByZWdpc3Ry
YXRpb24gPSByOwogICAgICAgICAgIG5ld2VzdF93b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFs
bGluZzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi11cGRhdGV2
aWFjYWNoZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRp
b24tdXBkYXRldmlhY2FjaGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDgyMDFhMDE1MDVjYmIx
YTNkYjMwZTRiNTc4MTAxMjUzMmUyOThhNGEuLmM5MGQwOTQyZDRkNDY2MjFlMWU1ZGJjYWE1MTEw
ZWM4MjAwOWU2NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi11
cGRhdGV2aWFjYWNoZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVnaXN0cmF0aW9uLXVwZGF0ZXZpYWNhY2hlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTksNCAr
MTksOCBAQCBQQVNTIHJlZ2lzdGVyLXdpdGgtdXBkYXRlVmlhQ2FjaGUtbm9uZS10aGVuLXVuZGVm
aW5lZAogUEFTUyByZWdpc3Rlci13aXRoLXVwZGF0ZVZpYUNhY2hlLW5vbmUtdGhlbi1pbXBvcnRz
IAogUEFTUyByZWdpc3Rlci13aXRoLXVwZGF0ZVZpYUNhY2hlLW5vbmUtdGhlbi1hbGwgCiBQQVNT
IHJlZ2lzdGVyLXdpdGgtdXBkYXRlVmlhQ2FjaGUtbm9uZS10aGVuLW5vbmUgCitQQVNTIGFjY2Vz
cy11cGRhdGVWaWFDYWNoZS1hZnRlci11bnJlZ2lzdGVyLXVuZGVmaW5lZCAKK1BBU1MgYWNjZXNz
LXVwZGF0ZVZpYUNhY2hlLWFmdGVyLXVucmVnaXN0ZXItaW1wb3J0cyAKK1BBU1MgYWNjZXNzLXVw
ZGF0ZVZpYUNhY2hlLWFmdGVyLXVucmVnaXN0ZXItYWxsIAorUEFTUyBhY2Nlc3MtdXBkYXRlVmlh
Q2FjaGUtYWZ0ZXItdW5yZWdpc3Rlci1ub25lIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZWdpc3RyYXRpb24tdXBkYXRldmlhY2FjaGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3JlZ2lzdHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCmluZGV4IGIxZmQ5
MDI5OTRmMTY0YjA4NzRjZjkxMWRhMWMzYmVmYzMzOGZkMWMuLmRiY2M2ZWFiMWY4MmE2YjMzZWQ3
ZDg4OWNiYTUxYmU1Yjk4NGI2MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lz
dHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3JlZ2lzdHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCkBAIC0xLDUgKzEsNiBAQAog
PCFET0NUWVBFIGh0bWw+CiA8dGl0bGU+U2VydmljZSBXb3JrZXI6IFJlZ2lzdHJhdGlvbi11cGRh
dGVWaWFDYWNoZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdGVzdGhhcm5lc3MtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CkBAIC0x
MDAsMTMgKzEwMSwxOCBAQAogICAgICAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCBzdywgJ2Fj
dGl2YXRlZCcpOwogICAgICAgICBjb25zdCB2YWx1ZXMgPSBhd2FpdCBnZXRTY3JpcHRUaW1lcyhz
dywgdGVzdE5hbWUpOwogCisgICAgICAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUo
U0NPUEUpOworICAgICAgICBjb25zdCByZWdfaW5fZnJhbWUgPSBhd2FpdCBmcmFtZS5jb250ZW50
V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbihub3JtYWxpemVV
UkwoU0NPUEUpKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdfaW5fZnJhbWUudXBkYXRlVmlh
Q2FjaGUsIHVwZGF0ZVZpYUNhY2hlMSB8fCAnaW1wb3J0cycsICJyZWdfaW5fZnJhbWUudXBkYXRl
VmlhQ2FjaGUiKTsKKwogICAgICAgICBvcHRzID0ge3Njb3BlOiBTQ09QRX07CiAgICAgICAgIGlm
ICh1cGRhdGVWaWFDYWNoZTIpIG9wdHMudXBkYXRlVmlhQ2FjaGUgPSB1cGRhdGVWaWFDYWNoZTI7
CiAKICAgICAgICAgYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoZnVsbFNj
cmlwdFVybCwgb3B0cyk7CiAKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWcudXBkYXRlVmlhQ2Fj
aGUsIHVwZGF0ZVZpYUNhY2hlMiB8fCAnaW1wb3J0cycsICJyZWcudXBkYXRlVmlhQ2FjaGUgdXBk
YXRlZCIpOworICAgICAgICBjb25zdCBleHBlY3RlZF91cGRhdGVWaWFDYWNoZSA9IHVwZGF0ZVZp
YUNhY2hlMiB8fCAnaW1wb3J0cyc7CiAKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWcudXBkYXRl
VmlhQ2FjaGUsIGV4cGVjdGVkX3VwZGF0ZVZpYUNhY2hlLCAicmVnLnVwZGF0ZVZpYUNhY2hlIHVw
ZGF0ZWQiKTsKICAgICAgICAgLy8gSWYgdGhlIHVwZGF0ZSBoYXBwZW5zIHZpYSB0aGUgY2FjaGUs
IHRoZSBzY3JpcHRzIHdpbGwgY29tZSBiYWNrIGJ5dGUtaWRlbnRpY2FsLgogICAgICAgICAvLyBX
ZSBieXBhc3MgdGhlIGJ5dGUtaWRlbnRpY2FsIGNoZWNrIGlmIHRoZSBzY3JpcHQgVVJMIGhhcyBj
aGFuZ2VkLCBidXQgbm90IGlmCiAgICAgICAgIC8vIG9ubHkgdGhlIHVwZGF0ZVZpYUNhY2hlIHZh
bHVlIGhhcyBjaGFuZ2VkLgpAQCAtMTM4LDkgKzE0NCw0NCBAQAogICAgICAgICAgIH0KICAgICAg
ICAgfQogCisgICAgICAgIC8vIFdhaXQgZm9yIGFsbCByZWdpc3RyYXRpb24gcmVsYXRlZCB0YXNr
cyBvbiB8ZnJhbWV8IHRvIGNvbXBsZXRlLgorICAgICAgICBhd2FpdCB3YWl0X2Zvcl9hY3RpdmF0
aW9uX29uX2R1bW15X3Njb3BlKHQsIGZyYW1lLmNvbnRlbnRXaW5kb3cpOworICAgICAgICAvLyBU
aGUgdXBkYXRlVmlhQ2FjaGUgY2hhbmdlIHNob3VsZCBoYXZlIGJlZW4gcHJvcGFnYXRlZCB0byBh
bGwKKyAgICAgICAgLy8gY29ycmVzcG9uZGluZyBKUyByZWdpc3RyYXRpb24gb2JqZWN0cy4KKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhyZWdfaW5fZnJhbWUudXBkYXRlVmlhQ2FjaGUsIGV4cGVjdGVk
X3VwZGF0ZVZpYUNhY2hlLCAicmVnX2luX2ZyYW1lLnVwZGF0ZVZpYUNhY2hlIHVwZGF0ZWQiKTsK
KyAgICAgICAgZnJhbWUucmVtb3ZlKCk7CisKICAgICAgICAgYXdhaXQgY2xlYW51cCgpOwogICAg
ICAgfSwgdGVzdE5hbWUpOwogICAgIH0KICAgfQogCisgIC8vIFRlc3QgYWNjZXNzaW5nIHVwZGF0
ZVZpYUNhY2hlIG9mIGFuIHVucmVnaXN0ZXJlZCByZWdpc3RyYXRpb24uCisgIGZvciAoY29uc3Qg
dXBkYXRlVmlhQ2FjaGUgb2YgVVBEQVRFX1ZJQV9DQUNIRV9WQUxVRVMpIHsKKyAgICBjb25zdCB0
ZXN0TmFtZSA9IGBhY2Nlc3MtdXBkYXRlVmlhQ2FjaGUtYWZ0ZXItdW5yZWdpc3Rlci0ke3VwZGF0
ZVZpYUNhY2hlfWA7CisKKyAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICBhd2Fp
dCBjbGVhbnVwKCk7CisKKyAgICAgIGNvbnN0IG9wdHMgPSB7c2NvcGU6IFNDT1BFfTsKKworICAg
ICAgaWYgKHVwZGF0ZVZpYUNhY2hlKSBvcHRzLnVwZGF0ZVZpYUNhY2hlID0gdXBkYXRlVmlhQ2Fj
aGU7CisKKyAgICAgIGNvbnN0IHJlZyA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJl
Z2lzdGVyKAorICAgICAgICBgJHtTQ1JJUFRfVVJMfT90ZXN0PSR7dGVzdE5hbWV9YCwKKyAgICAg
ICAgb3B0cworICAgICAgKTsKKworICAgICAgY29uc3QgZXhwZWN0ZWRfdXBkYXRlVmlhQ2FjaGUg
PSB1cGRhdGVWaWFDYWNoZSB8fCAnaW1wb3J0cyc7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlZy51
cGRhdGVWaWFDYWNoZSwgZXhwZWN0ZWRfdXBkYXRlVmlhQ2FjaGUsICJyZWcudXBkYXRlVmlhQ2Fj
aGUiKTsKKworICAgICAgYXdhaXQgcmVnLnVucmVnaXN0ZXIoKTsKKworICAgICAgLy8gS2VlcCB0
aGUgb3JpZ2luYWwgdmFsdWUuCisgICAgICBhc3NlcnRfZXF1YWxzKHJlZy51cGRhdGVWaWFDYWNo
ZSwgZXhwZWN0ZWRfdXBkYXRlVmlhQ2FjaGUsICJyZWcudXBkYXRlVmlhQ2FjaGUiKTsKKworICAg
ICAgYXdhaXQgY2xlYW51cCgpOworICAgIH0sIHRlc3ROYW1lKTsKKyAgfQorCiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlLXRpbWluZy1jcm9zcy1vcmln
aW4uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5n
LWNyb3NzLW9yaWdpbi5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmIxMmM1MGRhZWIz
NDgwYzkyOGZmYTgxNjYwMzE2YmMyYjY5MGUwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlLXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCisKK0ZBSUwgVGVzdCB0aGF0IHRpbWluZyBhbGxvdyBjaGVjayBm
YWlscyB3aGVuIHNlcnZpY2Ugd29ya2VyIGNoYW5nZXMgb3JpZ2luIGZyb20gc2FtZSB0byBjcm9z
cyBvcmlnaW4uIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRf
ZXF1YWxzOiBkZWNvZGVkQm9keVNpemUgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVl
c3QuIGV4cGVjdGVkIChudW1iZXIpIDAgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlLXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlLXRpbWluZy1jcm9zcy1vcmlnaW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44Mjc2
ODhkZjAxMWVhOWJlMjE2YTc0MTRiMTYxZGJiNzMwZjFiOTc1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLWNyb3NzLW9yaWdpbi5odHRwcy5odG1s
CkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgUmVzb3VyY2Ug
VGltaW5nIGZvciBjcm9zcyBvcmlnaW4gY29udGVudCBmZXRjaGVkIGJ5IFNlcnZpY2UgV29ya2Vy
IGZyb20gYW4gb3JpZ2luYWxseSBzYW1lLW9yaWdpbiBVUkwuPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29t
bW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorPHNj
cmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGNvbnN0IHdvcmtlcl91cmwgPSAn
cmVzb3VyY2VzL3dvcmtlci1mZXRjaGluZy1jcm9zcy1vcmlnaW4uanMnOworICAgIGNvbnN0IHNj
b3BlID0gJ3Jlc291cmNlcy9pZnJhbWUtd2l0aC1pbWFnZS5odG1sJzsKKyAgICBsZXQgcmVnaXN0
cmF0aW9uOworICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdv
cmtlcl91cmwsIHNjb3BlKQorICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgcmVnaXN0
cmF0aW9uID0gcjsKKyAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGlu
ZywgJ2FjdGl2YXRlZCcpOworICAgIH0pCisgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAg
IHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7CisgICAgfSkKKyAgICAudGhlbihmdW5jdGlvbihm
cmFtZSkgeworICAgICAgICBjb25zdCBmcmFtZV9wZXJmb3JtYW5jZSA9IGZyYW1lLmNvbnRlbnRX
aW5kb3cucGVyZm9ybWFuY2U7CisgICAgICAgIC8vIENoZWNrIHRoYXQgdGhlcmUgaXMgb25lIGVu
dHJ5IGZvciB3aGljaCB0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSBmYWlsZWQuCisg
ICAgICAgIGNvbnN0IGVudHJpZXMgPSBmcmFtZV9wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdyZXNvdXJjZScpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsK
KyAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJ5LnJlZGlyZWN0U3RhcnQsIDAsICdyZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSAwIGluIGNy
b3NzLW9yaWdpbiByZXF1ZXN0LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LnJlZGly
ZWN0RW5kLCAwLCAncmVkaXJlY3RFbmQgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVl
c3QuJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuZG9tYWluTG9va3VwU3RhcnQsIDAs
ICdkb21haW5Mb29rdXBTdGFydCBzaG91bGQgYmUgMCBpbiBjcm9zcy1vcmlnaW4gcmVxdWVzdC4n
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5kb21haW5Mb29rdXBFbmQsIDAsICdkb21h
aW5Mb29rdXBFbmQgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuJyk7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cnkuY29ubmVjdFN0YXJ0LCAwLCAnY29ubmVjdFN0YXJ0IHNo
b3VsZCBiZSAwIGluIGNyb3NzLW9yaWdpbiByZXF1ZXN0LicpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJ5LmNvbm5lY3RFbmQsIDAsICdjb25uZWN0RW5kIHNob3VsZCBiZSAwIGluIGNyb3Nz
LW9yaWdpbiByZXF1ZXN0LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LnJlcXVlc3RT
dGFydCwgMCwgJ3JlcXVlc3RTdGFydCBzaG91bGQgYmUgMCBpbiBjcm9zcy1vcmlnaW4gcmVxdWVz
dC4nKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5yZXNwb25zZVN0YXJ0LCAwLCAncmVz
cG9uc2VTdGFydCBzaG91bGQgYmUgMCBpbiBjcm9zcy1vcmlnaW4gcmVxdWVzdC4nKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5zZWN1cmVDb25uZWN0aW9uU3RhcnQsIDAsICdzZWN1cmVD
b25uZWN0aW9uU3RhcnQgc2hvdWxkIGJlIDAgaW4gY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuJyk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuZGVjb2RlZEJvZHlTaXplLCAwLCAnZGVjb2RlZEJv
ZHlTaXplIHNob3VsZCBiZSAwIGluIGNyb3NzLW9yaWdpbiByZXF1ZXN0LicpOworICAgICAgICBm
cmFtZS5yZW1vdmUoKTsKKyAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7
CisgICAgICB9KQorICAgIC50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgICB0LmRvbmUoKTsKKyAg
ICAgIH0pCisgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworfSwgJ1Rlc3QgdGhh
dCB0aW1pbmcgYWxsb3cgY2hlY2sgZmFpbHMgd2hlbiBzZXJ2aWNlIHdvcmtlciBjaGFuZ2VzIG9y
aWdpbiBmcm9tIHNhbWUgdG8gY3Jvc3Mgb3JpZ2luLicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCBlYmJjZWExODYzNjdiNDc0OWM4YzI0NWEzMWRhNGIyMWFjMjZk
MDIwLi5mOTY3NzAyZjYxZmQ4YTg5Y2E4ZmE4MjZlODhmYTNkOTE0Nzc4MjFjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsNyArMSw5IEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93
d3cxLmxvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc3F1YXJlLnBuZwogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3
MS5sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L21pc3NpbmcuanBnCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly93d3cx
LmxvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c3F1YXJlLnBuZwogQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vd3d3MS5s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21p
c3NpbmcuanBnCiAKIAotRkFJTCBDb250cm9sbGVkIHJlc291cmNlIGxvYWRzIGFzc2VydF91bnJl
YWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZ3JlYXRlcl90aGFuOiBHZW5lcmF0
ZWQgcmVzcG9uc2UgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAwIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBDb250cm9sbGVkIHJlc291cmNlIGxvYWRzIGFz
c2VydF9lcXVhbHM6IEdlbmVyYXRlZCByZXNwb25zZSBleHBlY3RlZCAxIGJ1dCBnb3QgMgogUEFT
UyBOb24tY29udHJvbGxlZCByZXNvdXJjZSBsb2FkcyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2UtdGltaW5nLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbAppbmRleCBkYTg5OGUyYmY2ZGMwMWE3Zjc1YzI4NDFm
ZDQzYjRiOTFjZDcxZjk0Li4xMjNiYmM4N2M1N2U4NTdhNTE3YWI3OTI3MTdmMWNmNjViOWEzYTE2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbApAQCAt
MTIsMzcgKzEyLDQ1IEBAIGZ1bmN0aW9uIGNyb3NzT3JpZ2luVXJsKHBhdGgpIHsKICAgICByZXR1
cm4gZ2V0X2hvc3RfaW5mbygpWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKSAr
IHBhdGg7CiB9CiAKLWZ1bmN0aW9uIHZlcmlmeShwZXJmb3JtYW5jZSwgcmVzb3VyY2UsIG1vZGUs
IGRlc2NyaXB0aW9uKSB7Ci0gICAgdmFyIHVybCA9IG1vZGUgPT09ICdjcm9zcy1vcmlnaW4nID8g
Y3Jvc3NPcmlnaW5VcmwocmVzb3VyY2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogcmVzb3VyY2VVcmwocmVzb3VyY2UpOwotICAgIHZhciBlbnRyeUxpc3QgPSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzKCk7Ci0gICAgdmFyIGVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5TmFtZSh1cmwpWzBdOwotICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkud29ya2Vy
U3RhcnQsIDAsIGRlc2NyaXB0aW9uKTsKLSAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVu
dHJ5LndvcmtlclN0YXJ0LCBlbnRyeS5zdGFydFRpbWUsIGRlc2NyaXB0aW9uKTsKLSAgICBhc3Nl
cnRfbGVzc190aGFuX2VxdWFsKGVudHJ5LndvcmtlclN0YXJ0LCBlbnRyeS5mZXRjaFN0YXJ0LCBk
ZXNjcmlwdGlvbik7Ci0gICAgaWYgKG1vZGUgPT09ICdjcm9zcy1vcmlnaW4nKSB7Ci0gICAgICBh
c3NlcnRfZXF1YWxzKGVudHJ5LnJlc3BvbnNlU3RhcnQsIDAsIGRlc2NyaXB0aW9uKTsKLSAgICAg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LmZldGNo
U3RhcnQsIGRlc2NyaXB0aW9uKTsKK2Z1bmN0aW9uIHZlcmlmeShvcHRpb25zKSB7CisgICAgY29u
c3QgdXJsID0gb3B0aW9ucy5tb2RlID09PSAnY3Jvc3Mtb3JpZ2luJyA/IGNyb3NzT3JpZ2luVXJs
KG9wdGlvbnMucmVzb3VyY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogcmVzb3VyY2VVcmwob3B0aW9ucy5yZXNvdXJjZSk7CisgICAgY29uc3QgZW50cnlMaXN0ID0g
b3B0aW9ucy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgICAgaWYgKG9wdGlv
bnMuc2hvdWxkX25vX3BlcmZvcm1hbmNlX2VudHJ5KSB7CisgICAgICAgIC8vIFRoZSBwZXJmb3Jt
YW5jZSB0aW1lbGluZSBtYXkgbm90IGhhdmUgYW4gZW50cnkgZm9yIGEgcmVzb3VyY2UKKyAgICAg
ICAgLy8gd2hpY2ggZmFpbGVkIHRvIGxvYWQuCisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlM
aXN0Lmxlbmd0aCwgMCwgb3B0aW9ucy5kZXNjcmlwdGlvbik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUxpc3QubGVuZ3RoLCAxLCBvcHRpb25zLmRlc2Ny
aXB0aW9uKTsKKyAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdFswXTsKKyAgICBhc3NlcnRfZXF1
YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ3Jlc291cmNlJywgb3B0aW9ucy5kZXNjcmlwdGlvbik7Cisg
ICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS53b3JrZXJTdGFydCwgMCwgb3B0aW9ucy5kZXNj
cmlwdGlvbik7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS53b3JrZXJTdGFy
dCwgZW50cnkuc3RhcnRUaW1lLCBvcHRpb25zLmRlc2NyaXB0aW9uKTsKKyAgICBhc3NlcnRfbGVz
c190aGFuX2VxdWFsKGVudHJ5LndvcmtlclN0YXJ0LCBlbnRyeS5mZXRjaFN0YXJ0LCBvcHRpb25z
LmRlc2NyaXB0aW9uKTsKKyAgICBpZiAob3B0aW9ucy5tb2RlID09PSAnY3Jvc3Mtb3JpZ2luJykg
eworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5yZXNwb25zZVN0YXJ0LCAwLCBvcHRpb25zLmRl
c2NyaXB0aW9uKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9u
c2VFbmQsIGVudHJ5LmZldGNoU3RhcnQsIG9wdGlvbnMuZGVzY3JpcHRpb24pOwogICAgIH0gZWxz
ZSB7Ci0gICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlU3RhcnQs
IGVudHJ5LmZldGNoU3RhcnQsIGRlc2NyaXB0aW9uKTsKLSAgICAgIGFzc2VydF9ncmVhdGVyX3Ro
YW5fZXF1YWwoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsIGRlc2NyaXB0
aW9uKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VTdGFy
dCwgZW50cnkuZmV0Y2hTdGFydCwgb3B0aW9ucy5kZXNjcmlwdGlvbik7CisgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlRW5kLCBlbnRyeS5yZXNwb25zZVN0YXJ0
LCBvcHRpb25zLmRlc2NyaXB0aW9uKTsKICAgICB9Ci0gICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihl
bnRyeS5yZXNwb25zZUVuZCwgZW50cnkuZmV0Y2hTdGFydCwgZGVzY3JpcHRpb24pOwotICAgIGFz
c2VydF9ncmVhdGVyX3RoYW4oZW50cnkuZHVyYXRpb24sIDAsIGRlc2NyaXB0aW9uKTsKLSAgICBp
ZiAocmVzb3VyY2UuaW5kZXhPZigncmVkaXJlY3QucHknKSAhPSAtMSkgeworICAgIGFzc2VydF9n
cmVhdGVyX3RoYW4oZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LmZldGNoU3RhcnQsIG9wdGlvbnMu
ZGVzY3JpcHRpb24pOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuZHVyYXRpb24sIDAs
IG9wdGlvbnMuZGVzY3JpcHRpb24pOworICAgIGlmIChvcHRpb25zLnJlc291cmNlLmluZGV4T2Yo
J3JlZGlyZWN0LnB5JykgIT0gLTEpIHsKICAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbChl
bnRyeS53b3JrZXJTdGFydCwgZW50cnkucmVkaXJlY3RTdGFydCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXNjcmlwdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9ucy5kZXNjcmlwdGlvbik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCBkZXNjcmlwdGlvbik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cnkucmVkaXJlY3RTdGFydCwgMCwgb3B0aW9ucy5kZXNjcmlwdGlvbik7CiAg
ICAgfQogfQogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICB2YXIgd29ya2VyX3VybCA9
ICdyZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtlci5qcyc7Ci0gICAgdmFyIHNjb3BlID0g
J3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctaWZyYW1lLnN1Yi5odG1sJzsKLSAgICB2YXIgcmVn
aXN0cmF0aW9uOworcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBjb25zdCB3b3JrZXJf
dXJsID0gJ3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctd29ya2VyLmpzJzsKKyAgICBjb25zdCBz
Y29wZSA9ICdyZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWlmcmFtZS5zdWIuaHRtbCc7CisgICAg
bGV0IHJlZ2lzdHJhdGlvbjsKIAotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXJfdXJsLCBzY29wZSkKICAgICAgIC50aGVu
KGZ1bmN0aW9uKHIpIHsKICAgICAgICAgICByZWdpc3RyYXRpb24gPSByOwogICAgICAgICAgIHJl
dHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKQEAgLTUx
LDMzICs1OSw4NSBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICByZXR1cm4g
d2l0aF9pZnJhbWUoc2NvcGUpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oZnJh
bWUpIHsKLSAgICAgICAgICB2YXIgcGVyZm9ybWFuY2UgPSBmcmFtZS5jb250ZW50V2luZG93LnBl
cmZvcm1hbmNlOwotICAgICAgICAgIHZlcmlmeShwZXJmb3JtYW5jZSwgJ3Jlc291cmNlcy9kdW1t
eS5qcycsICdzYW1lLW9yaWdpbicsCi0gICAgICAgICAgICAgICAgICdHZW5lcmF0ZWQgcmVzcG9u
c2UnKTsKLSAgICAgICAgICB2ZXJpZnkocGVyZm9ybWFuY2UsICdyZXNvdXJjZXMvZW1wdHkuanMn
LCAnc2FtZS1vcmlnaW4nLAotICAgICAgICAgICAgICAgICAnTmV0d29yayBmYWxsYmFjaycpOwot
ICAgICAgICAgIHZlcmlmeShwZXJmb3JtYW5jZSwgJ3Jlc291cmNlcy9yZWRpcmVjdC5weT9SZWRp
cmVjdD1lbXB0eS5qcycsCi0gICAgICAgICAgICAgICAgICdzYW1lLW9yaWdpbicsICdSZWRpcmVj
dCcpOwotICAgICAgICAgIHZlcmlmeShwZXJmb3JtYW5jZSwgJ3Jlc291cmNlcy9taXNzaW5nLmpw
ZycsICdzYW1lLW9yaWdpbicsCi0gICAgICAgICAgICAgICAgICdOZXR3b3JrIGZhbGxiYWNrIGlt
YWdlJyk7Ci0KKyAgICAgICAgICBjb25zdCBwZXJmb3JtYW5jZSA9IGZyYW1lLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2U7CisgICAgICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVyZm9y
bWFuY2U6IHBlcmZvcm1hbmNlLAorICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNlcy9k
dW1teS5qcycsCisgICAgICAgICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsCisgICAgICAgICAg
ICAgIGRlc2NyaXB0aW9uOiAnR2VuZXJhdGVkIHJlc3BvbnNlJywKKyAgICAgICAgICB9KTsKKyAg
ICAgICAgICB2ZXJpZnkoeworICAgICAgICAgICAgICBwZXJmb3JtYW5jZTogcGVyZm9ybWFuY2Us
CisgICAgICAgICAgICAgIHJlc291cmNlOiAncmVzb3VyY2VzL2VtcHR5LmpzJywKKyAgICAgICAg
ICAgICAgbW9kZTogJ3NhbWUtb3JpZ2luJywKKyAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdO
ZXR3b3JrIGZhbGxiYWNrJywKKyAgICAgICAgICB9KTsKKyAgICAgICAgICB2ZXJpZnkoeworICAg
ICAgICAgICAgICBwZXJmb3JtYW5jZTogcGVyZm9ybWFuY2UsCisgICAgICAgICAgICAgIHJlc291
cmNlOiAncmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PWVtcHR5LmpzJywKKyAgICAgICAg
ICAgICAgbW9kZTogJ3NhbWUtb3JpZ2luJywKKyAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdS
ZWRpcmVjdCcsCisgICAgICAgICAgfSk7CisgICAgICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2U6IHBlcmZvcm1hbmNlLAorICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jl
c291cmNlcy9zcXVhcmUucG5nJywKKyAgICAgICAgICAgICAgbW9kZTogJ3NhbWUtb3JpZ2luJywK
KyAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdOZXR3b3JrIGZhbGxiYWNrIGltYWdlJywKKyAg
ICAgICAgICB9KTsKICAgICAgICAgICAvLyBUZXN0IHRoYXQgd29ya2VyIHN0YXJ0IGlzIGF2YWls
YWJsZSBvbiBjcm9zcy1vcmlnaW4gbm8tY29ycwogICAgICAgICAgIC8vIHN1YnJlc291cmNlcy4K
LSAgICAgICAgICB2ZXJpZnkocGVyZm9ybWFuY2UsICdyZXNvdXJjZXMvbWlzc2luZy5qcGcnLCAn
Y3Jvc3Mtb3JpZ2luJywKLSAgICAgICAgICAgICAgICAgJ05ldHdvcmsgZmFsbGJhY2sgY3Jvc3Mt
b3JpZ2luIGltYWdlJyk7CisgICAgICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVyZm9y
bWFuY2U6IHBlcmZvcm1hbmNlLAorICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNlcy9z
cXVhcmUucG5nJywKKyAgICAgICAgICAgICAgbW9kZTogJ2Nyb3NzLW9yaWdpbicsCisgICAgICAg
ICAgICAgIGRlc2NyaXB0aW9uOiAnTmV0d29yayBmYWxsYmFjayBjcm9zcy1vcmlnaW4gaW1hZ2Un
LAorICAgICAgICAgIH0pOworCisgICAgICAgICAgLy8gVGVzdHMgZm9yIHJlc291Y2VzIHdoaWNo
IGZhaWxlZCB0byBsb2FkLgorICAgICAgICAgIHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZv
cm1hbmNlOiBwZXJmb3JtYW5jZSwKKyAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMv
bWlzc2luZy5qcGcnLAorICAgICAgICAgICAgICBtb2RlOiAnc2FtZS1vcmlnaW4nLAorICAgICAg
ICAgICAgICBkZXNjcmlwdGlvbjogJ05ldHdvcmsgZmFsbGJhY2sgbG9hZCBmYWlsdXJlJywKKyAg
ICAgICAgICAgICAgc2hvdWxkX25vX3BlcmZvcm1hbmNlX2VudHJ5OiB0cnVlLAorICAgICAgICAg
IH0pOworICAgICAgICAgIHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJm
b3JtYW5jZSwKKyAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvbWlzc2luZy5qcGcn
LAorICAgICAgICAgICAgICBtb2RlOiAnY3Jvc3Mtb3JpZ2luJywKKyAgICAgICAgICAgICAgZGVz
Y3JpcHRpb246ICdOZXR3b3JrIGZhbGxiYWNrIGNyb3NzLW9yaWdpbiBsb2FkIGZhaWx1cmUnLAor
ICAgICAgICAgICAgICBzaG91bGRfbm9fcGVyZm9ybWFuY2VfZW50cnk6IHRydWUsCisgICAgICAg
ICAgfSk7CisgICAgICAgICAgLy8gVGVzdHMgZm9yIHJlc3BvbmRXaXRoKGZldGNoKCkpLgorICAg
ICAgICAgIHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJmb3JtYW5jZSwK
KyAgICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvbWlzc2luZy5qcGc/U1dSZXNwb25k
c1dpdGhGZXRjaCcsCisgICAgICAgICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsCisgICAgICAg
ICAgICAgIGRlc2NyaXB0aW9uOiAnUmVzb3VyY2UgaW4gaWZyYW1lLCBub25leGlzdGVudCBidXQg
cmVzcG9uZGVkIHdpdGggZmV0Y2ggdG8gYW5vdGhlci4nLAorICAgICAgICAgIH0pOworICAgICAg
ICAgIHZlcmlmeSh7CisgICAgICAgICAgICAgIHBlcmZvcm1hbmNlOiBwZXJmb3JtYW5jZSwKKyAg
ICAgICAgICAgICAgcmVzb3VyY2U6ICdyZXNvdXJjZXMvZHVtbXkudHh0P1NXRmV0Y2hlZCcsCisg
ICAgICAgICAgICAgIG1vZGU6ICdzYW1lLW9yaWdpbicsCisgICAgICAgICAgICAgIGRlc2NyaXB0
aW9uOiAnUmVzb3VyY2UgZmV0Y2hlZCBhcyByZXNwb25zZSBmcm9tIG1pc3NpbmcuanBnP1NXUmVz
cG9uZHNXaXRoRmV0Y2guJywKKyAgICAgICAgICAgICAgc2hvdWxkX25vX3BlcmZvcm1hbmNlX2Vu
dHJ5OiB0cnVlLAorICAgICAgICAgIH0pOworICAgICAgICAgIC8vIFRlc3QgZm9yIGEgbm9ybWFs
IHJlc291cmNlIHRoYXQgaXMgdW5hZmZlY3RlZCBieSB0aGUgU2VydmljZSBXb3JrZXIuCisgICAg
ICAgICAgdmVyaWZ5KHsKKyAgICAgICAgICAgICAgcGVyZm9ybWFuY2U6IHBlcmZvcm1hbmNlLAor
ICAgICAgICAgICAgICByZXNvdXJjZTogJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnLAorICAg
ICAgICAgICAgICBtb2RlOiAnc2FtZS1vcmlnaW4nLAorICAgICAgICAgICAgICBkZXNjcmlwdGlv
bjogJ1Jlc291cmNlIHVudG91Y2hlZCBieSB0aGUgU2VydmljZSBXb3JrZXIuJywKKyAgICAgICAg
ICB9KTsKIAogICAgICAgICAgIGZyYW1lLnJlbW92ZSgpOwogICAgICAgICAgIHJldHVybiByZWdp
c3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFj
aGVkX3JlamVjdGlvbih0KSk7CisgICAgICB9KTsKIH0sICdDb250cm9sbGVkIHJlc291cmNlIGxv
YWRzJyk7CiAKLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIHVybCA9IHJlc291cmNlVXJsKCdy
ZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcycpOwotICAgIHZhciBlbnRyeSA9IHdpbmRvdy5w
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHVybClbMF07Cit0ZXN0KCgpID0+IHsKKyAgICBj
b25zdCB1cmwgPSByZXNvdXJjZVVybCgncmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMnKTsK
KyAgICBjb25zdCBlbnRyeSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHVy
bClbMF07CiAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS53b3JrZXJTdGFydCwgMCwgJ05vbi1jb250
cm9sbGVkJyk7CiB9LCAnTm9uLWNvbnRyb2xsZWQgcmVzb3VyY2UgbG9hZHMnKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50
LWJsYW5rLWR5bmFtaWMtbmVzdGVkLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmstZHluYW1pYy1uZXN0ZWQtZnJhbWUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZTBjNjIwOWJmYzBiZGY2NDkzMTYzOTVjODU1MjkxMmFlZWIxNDNj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJs
YW5rLXJlcGxhY2VtZW50LWJsYW5rLWR5bmFtaWMtbmVzdGVkLWZyYW1lLmh0bWwKQEAgLTAsMCAr
MSwyMSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIG5lc3RlZExvYWRlZCgpIHsKKyAgcGFyZW50LnBvc3RNZXNzYWdlKHsgdHlwZTogJ05FU1RF
RF9MT0FERUQnIH0sICcqJyk7Cit9CisKKy8vIGR5bmFtaWNhbGx5IGFkZCBhbiBhYm91dDpibGFu
ayBpZnJhbWUKK3ZhciBmID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CitmLm9u
bG9hZCA9IG5lc3RlZExvYWRlZDsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZik7CisKKy8v
IEhlbHBlciByb3V0aW5lIHRvIG1ha2UgaXQgc2xpZ2h0bHkgZWFzaWVyIGZvciBvdXIgcGFyZW50
IHRvIGZpbmQKKy8vIHRoZSBuZXN0ZWQgZnJhbWUuCitmdW5jdGlvbiBuZXN0ZWQoKSB7CisgIHJl
dHVybiBmLmNvbnRlbnRXaW5kb3c7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFuay1yZXBsYWNl
bWVudC1ibGFuay1uZXN0ZWQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9hYm91dC1ibGFuay1yZXBsYWNlbWVudC1ibGFuay1uZXN0ZWQtZnJhbWUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45OWQwN2E0OGNkYTVlYTgyYWJiZTJiZTc3N2FlZGZjYjRkMWRkYmRlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2Vt
ZW50LWJsYW5rLW5lc3RlZC1mcmFtZS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBuZXN0ZWRMb2FkZWQoKSB7
CisgIHBhcmVudC5wb3N0TWVzc2FnZSh7IHR5cGU6ICdORVNURURfTE9BREVEJyB9LCAnKicpOwor
fQorPC9zY3JpcHQ+Cis8aWZyYW1lIGlkPSJuZXN0ZWQiIG9ubG9hZD0ibmVzdGVkTG9hZGVkKCki
PjwvaWZyYW1lPgorPHNjcmlwdD4KKy8vIEhlbHBlciByb3V0aW5lIHRvIG1ha2UgaXQgc2xpZ2h0
bHkgZWFzaWVyIGZvciBvdXIgcGFyZW50IHRvIGZpbmQKKy8vIHRoZSBuZXN0ZWQgZnJhbWUuCitm
dW5jdGlvbiBuZXN0ZWQoKSB7CisgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmVz
dGVkJykuY29udGVudFdpbmRvdzsKK30KKworLy8gTk9URTogTWFrZSBzdXJlIG5vdCB0byB0b3Vj
aCB0aGUgaWZyYW1lIGRpcmVjdGx5IGhlcmUuICBXZSB3YW50IHRvCisvLyAgICAgICB0ZXN0IHRo
ZSBjYXNlIHdoZXJlIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rIGRvY3VtZW50IGlzIG5vdAorLy8g
ICAgICAgZGlyZWN0bHkgYWNjZXNzZWQgYmVmb3JlIGxvYWQuCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1i
bGFuay1yZXBsYWNlbWVudC1waW5nLWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHkKaW5kZXggNThmYjQ0MDNm
OWM2NTk3ZDI3MDdiMWUzMjQxMTU1ZmVjMDcxODlhOC4uYmIwN2MyNDFhZDQ5YTc1MzViYTYyZWU4
NjY0YTc1YzhjNTljZDY0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXBpbmctZnJhbWUucHkKQEAg
LTQxLDYgKzQxLDcgQEAgaWYgKHdpbi5sb2NhdGlvbi5ocmVmICE9PSAnYWJvdXQ6YmxhbmsnKSB7
CiAgICAgICB9KTsKICAgICB9CiAgIH0pOworICB3aW4ubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
c3RhcnRNZXNzYWdlcygpOwogfQogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtcG9wdXAtZnJh
bWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1l
bnQtcG9wdXAtZnJhbWUucHkKaW5kZXggYmU1Mjk0NTM5ODMzYzc2ZmQwZmY4MzNjNjc3NzJhZDk0
NWFmZTM3NC4uZjBiOGNkNTc4ZTNlMDVlMzBlNzJjZGZjMzQzZWQ4OWY2MDY3MGE3YSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50
LXBvcHVwLWZyYW1lLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91dC1i
bGFuay1yZXBsYWNlbWVudC1wb3B1cC1mcmFtZS5weQpAQCAtMTIsMTIgKzEyLDE1IEBAIGRlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKIDxzY3JpcHQ+CiBmdW5jdGlvbiBuZXN0ZWRMb2FkZWQo
KSB7CiAgIHBhcmVudC5wb3N0TWVzc2FnZSh7IHR5cGU6ICdORVNURURfTE9BREVEJyB9LCAnKicp
OwotICBwb3B1cC5jbG9zZSgpOwogfQogCiBsZXQgcG9wdXAgPSB3aW5kb3cub3BlbignP25lc3Rl
ZD10cnVlJyk7CiBwb3B1cC5vbmxvYWQgPSBuZXN0ZWRMb2FkZWQ7CiAKK2FkZEV2ZW50TGlzdGVu
ZXIoJ3VubG9hZCcsIGV2dCA9PiB7CisgIHBvcHVwLmNsb3NlKCk7Cit9LCB7IG9uY2U6IHRydWUg
fSk7CisKIC8vIEhlbHBlciByb3V0aW5lIHRvIG1ha2UgaXQgc2xpZ2h0bHkgZWFzaWVyIGZvciBv
dXIgcGFyZW50IHRvIGZpbmQKIC8vIHRoZSBuZXN0ZWQgcG9wdXAgd2luZG93LgogZnVuY3Rpb24g
bmVzdGVkKCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0
LWJsYW5rLXJlcGxhY2VtZW50LXNyY2RvYy1uZXN0ZWQtZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9hYm91dC1ibGFuay1yZXBsYWNlbWVudC1zcmNkb2MtbmVzdGVkLWZy
YW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDEyMmEwMGFhNDMyZjk4NzZhYTM0NzZiMDY1MDkzOTE4MzY1
NDM4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91
dC1ibGFuay1yZXBsYWNlbWVudC1zcmNkb2MtbmVzdGVkLWZyYW1lLmh0bWwKQEAgLTAsMCArMSwy
MiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IG5lc3RlZExvYWRlZCgpIHsKKyAgcGFyZW50LnBvc3RNZXNzYWdlKHsgdHlwZTogJ05FU1RFRF9M
T0FERUQnIH0sICcqJyk7Cit9Cis8L3NjcmlwdD4KKzxpZnJhbWUgaWQ9Im5lc3RlZCIgc3JjZG9j
PSI8ZGl2PjwvZGl2PiIgb25sb2FkPSJuZXN0ZWRMb2FkZWQoKSI+PC9pZnJhbWU+Cis8c2NyaXB0
PgorLy8gSGVscGVyIHJvdXRpbmUgdG8gbWFrZSBpdCBzbGlnaHRseSBlYXNpZXIgZm9yIG91ciBw
YXJlbnQgdG8gZmluZAorLy8gdGhlIG5lc3RlZCBmcmFtZS4KK2Z1bmN0aW9uIG5lc3RlZCgpIHsK
KyAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXN0ZWQnKS5jb250ZW50V2luZG93
OworfQorCisvLyBOT1RFOiBNYWtlIHN1cmUgbm90IHRvIHRvdWNoIHRoZSBpZnJhbWUgZGlyZWN0
bHkgaGVyZS4gIFdlIHdhbnQgdG8KKy8vICAgICAgIHRlc3QgdGhlIGNhc2Ugd2hlcmUgdGhlIGlu
aXRpYWwgYWJvdXQ6YmxhbmsgZG9jdW1lbnQgaXMgbm90CisvLyAgICAgICBkaXJlY3RseSBhY2Nl
c3NlZCBiZWZvcmUgbG9hZC4KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLW5lc3RlZC13b3JrZXItZmV0Y2gt
aWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xhaW0tbmVzdGVkLXdv
cmtlci1mZXRjaC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmExNWRiNjFkOWNlNjc0MmYwNzdl
NzJiOTg2MjlmNDllMGI3MzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2NsYWltLW5lc3RlZC13b3JrZXItZmV0Y2gtaWZyYW1lLmh0bWwKQEAgLTAsMCAr
MSwxNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0PgorLy8gQW4gaWZyYW1lIHRoYXQgc3Rh
cnRzIGEgbmVzdGVkIHdvcmtlci4gT3VyIHBhcmVudCBmcmFtZSAodGhlIHRlc3QgcGFnZSkgY2Fs
bHMKKy8vIGZldGNoX2luX3dvcmtlcigpIHRvIGFzayB0aGUgbmVzdGVkIHdvcmtlciB0byBwZXJm
b3JtIGEgZmV0Y2ggdG8gc2VlIHdoZXRoZXIKKy8vIGl0J3MgY29udHJvbGxlZCBieSBhIHNlcnZp
Y2Ugd29ya2VyLgordmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJy4vY2xhaW0tbmVzdGVkLXdvcmtl
ci1mZXRjaC1wYXJlbnQtd29ya2VyLmpzJyk7CisKK2Z1bmN0aW9uIGZldGNoX2luX3dvcmtlcih1
cmwpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgd29ya2VyLm9u
bWVzc2FnZSA9IChldmVudCkgPT4geworICAgICAgcmVzb2x2ZShldmVudC5kYXRhKTsKKyAgICB9
OworICAgIHdvcmtlci5wb3N0TWVzc2FnZSh1cmwpOworICB9KTsKK30KKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLW5lc3RlZC13b3JrZXIt
ZmV0Y2gtcGFyZW50LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFp
bS1uZXN0ZWQtd29ya2VyLWZldGNoLXBhcmVudC13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVmZjdj
MjM0YjQyYzYwMjIwZjdmOTRjMDYwZGU2MzRjMTU0ZTQwNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS1uZXN0ZWQtd29ya2VyLWZldGNoLXBhcmVu
dC13b3JrZXIuanMKQEAgLTAsMCArMSwxMiBAQAordHJ5IHsKKyAgdmFyIHdvcmtlciA9IG5ldyBX
b3JrZXIoJy4vY2xhaW0td29ya2VyLWZldGNoLXdvcmtlci5qcycpOworCisgIHNlbGYub25tZXNz
YWdlID0gKGV2ZW50KSA9PiB7CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOwor
ICB9CisgIHdvcmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICBzZWxmLnBvc3RNZXNz
YWdlKGV2ZW50LmRhdGEpOworICB9OworfSBjYXRjaCAoZSkgeworICBzZWxmLnBvc3RNZXNzYWdl
KCJGYWlsOiAiICsgZS5kYXRhKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9jbGFzc2ljLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9j
bGFzc2ljLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmEzMmIxYTFmODRkYWFhYzI1MDMyMjYxYzgw
ZDE3M2NlN2JhODk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2NsYXNzaWMtd29ya2VyLmpzCkBAIC0wLDAgKzEgQEAKK2ltcG9ydFNjcmlwdHMoJy4vaW1w
b3J0ZWQtY2xhc3NpYy1zY3JpcHQuanMnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9jbGllbnQtbmF2aWdhdGUtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKaW5kZXggMDlkMTFmZTYxODFkMzNm
NDNjNTViMGRhNDE4NjI3MTQyYjRjNjQ2Zi4uYWZmMmIzN2FlMDJhMGIzZTNmZjc0ZGI1NGVjNDc0
NWJlYzQyN2ZiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVu
dC1uYXZpZ2F0ZS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Ns
aWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKQEAgLTUsMTEgKzUsNiBAQCBpbXBvcnRTY3JpcHRzKCJ0
ZXN0aGFybmVzcy1oZWxwZXJzLmpzIikKIAogc2VsZi5vbmZldGNoID0gZnVuY3Rpb24oZSkgewog
ICBpZiAoZS5yZXF1ZXN0LnVybC5pbmRleE9mKCJjbGllbnQtbmF2aWdhdGUtZnJhbWUuaHRtbCIp
ID49IDApIHsKLSAgICBpZiAoZS5jbGllbnRJZCA9PT0gbnVsbCkgewotICAgICAgZS5yZXNwb25k
V2l0aChmZXRjaChlLnJlcXVlc3QpKTsKLSAgICB9IGVsc2UgewotICAgICAgZS5yZXNwb25kV2l0
aChSZXNwb25zZS5lcnJvcigpKTsKLSAgICB9CiAgICAgcmV0dXJuOwogICB9CiAgIGUucmVzcG9u
ZFdpdGgobmV3IFJlc3BvbnNlKGUuY2xpZW50SWQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1jcm9zcy1vcmlnaW4tZnJhbWUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1jcm9zcy1vcmlnaW4tZnJhbWUu
aHRtbAppbmRleCBlYWFkZTMyN2JjNTlkOGYyZTM4YzU2NzY2YzM5OTczZjFlYzQxNDI2Li5lMTZi
YjExMTZkYzgxMGQyNzUwNzNlMzYzZmEwZDdiNGZmYTQ2NjI5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtY3Jvc3Mtb3JpZ2luLWZyYW1lLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LWNyb3NzLW9yaWdp
bi1mcmFtZS5odG1sCkBAIC0zOCwxNiArMzgsMTMgQEAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCBmdW5jdGlvbihlKSB7CiAgICAgICB9KQogICAgIC50aGVuKGZ1bmN0aW9uKGlm
cmFtZSkgewogICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhmdW5jdGlvbigpIHsgaWZy
YW1lLnJlbW92ZSgpOyB9KTsKLSAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5u
ZWwoKTsKLSAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7Cisg
ICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsK
ICAgICAgICAgICByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAgICAgICAgIHdpbmRvdy5w
YXJlbnQucG9zdE1lc3NhZ2UoCiAgICAgICAgICAgICB7IHR5cGU6ICdjbGllbnRJZCcsIHZhbHVl
OiBlLmRhdGEgfSwgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXQogICAgICAgICAgICk7CiAgICAg
ICAgIH07Ci0gICAgICAgIGlmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoCi0gICAgICAgICAgICB7cG9ydDpjaGFubmVsLnBv
cnQyLCBjbGllbnRJZHM6IGNyb3NzX29yaWdpbl9jbGllbnRfaWRzfSwKLSAgICAgICAgICAgIFtj
aGFubmVsLnBvcnQyXSk7CisgICAgICAgIHJlZ2lzdHJhdGlvbi5hY3RpdmUucG9zdE1lc3NhZ2Uo
e2NsaWVudElkczogY3Jvc3Nfb3JpZ2luX2NsaWVudF9pZHN9KTsKICAgICAgIH0pOwogfSk7CiA8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRz
LWdldC1yZXN1bHRpbmdDbGllbnRJZC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvY2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xpZW50SWQtd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVhNDZmZjljZjQ0MDEwYzVmOTM3NWJiYjdiMjg0OTMyYmQyMWNjYTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtcmVzdWx0aW5nQ2xp
ZW50SWQtd29ya2VyLmpzCkBAIC0wLDAgKzEsNjAgQEAKK2xldCBzYXZlZFBvcnQgPSBudWxsOwor
bGV0IHNhdmVkUmVzdWx0aW5nQ2xpZW50SWQgPSBudWxsOworCithc3luYyBmdW5jdGlvbiBnZXRU
ZXN0aW5nUGFnZSgpIHsKKyAgY29uc3QgY2xpZW50TGlzdCA9IGF3YWl0IHNlbGYuY2xpZW50cy5t
YXRjaEFsbCh7IHR5cGU6ICd3aW5kb3cnLCBpbmNsdWRlVW5jb250cm9sbGVkOiB0cnVlIH0pOwor
ICBmb3IgKGxldCBjIG9mIGNsaWVudExpc3QpIHsKKyAgICBpZiAoYy51cmwuZW5kc1dpdGgoJ2Ns
aWVudHMtZ2V0Lmh0dHBzLmh0bWwnKSkgeworICAgICAgYy5mb2N1cygpOworICAgICAgcmV0dXJu
IGM7CisgICAgfQorICB9CisgIHJldHVybiBudWxsOworfQorCithc3luYyBmdW5jdGlvbiBkZXN0
cm95UmVzdWx0aW5nQ2xpZW50KHRlc3RpbmdQYWdlKSB7CisgIGNvbnN0IGRlc3Ryb3llZFByb21p
c2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBzZWxmLmFkZEV2ZW50TGlzdGVuZXIo
J21lc3NhZ2UnLCBlID0+IHsKKyAgICAgIGlmIChlLmRhdGEubXNnID09ICdyZXN1bHRpbmdDbGll
bnREZXN0cm95ZWQnKSB7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0KKyAgICB9LCB7b25j
ZTogdHJ1ZX0pOworICB9KTsKKyAgdGVzdGluZ1BhZ2UucG9zdE1lc3NhZ2UoeyBtc2c6ICdkZXN0
cm95UmVzdWx0aW5nQ2xpZW50JyB9KTsKKyAgcmV0dXJuIGRlc3Ryb3llZFByb21pc2U7Cit9CisK
K3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBhc3luYyAoZSkgPT4geworICBsZXQgeyBy
ZXN1bHRpbmdDbGllbnRJZCB9ID0gZTsKKyAgc2F2ZWRSZXN1bHRpbmdDbGllbnRJZCA9IHJlc3Vs
dGluZ0NsaWVudElkOworCisgIGlmIChlLnJlcXVlc3QudXJsLmVuZHNXaXRoKCdzaW1wbGUuaHRt
bD9mYWlsJykpIHsKKyAgICBlLndhaXRVbnRpbCgoYXN5bmMgKCkgPT4geworICAgICAgY29uc3Qg
dGVzdGluZ1BhZ2UgPSBhd2FpdCBnZXRUZXN0aW5nUGFnZSgpOworICAgICAgYXdhaXQgZGVzdHJv
eVJlc3VsdGluZ0NsaWVudCh0ZXN0aW5nUGFnZSk7CisgICAgICB0ZXN0aW5nUGFnZS5wb3N0TWVz
c2FnZSh7IG1zZzogJ3Jlc3VsdGluZ0NsaWVudERlc3Ryb3llZEFjaycsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlc3VsdGluZ0Rlc3Ryb3llZENsaWVudElkOiBzYXZlZFJlc3Vs
dGluZ0NsaWVudElkIH0pOworICAgIH0pKCkpOworICAgIHJldHVybjsKKyAgfQorCisgIGUucmVz
cG9uZFdpdGgoZmV0Y2goZS5yZXF1ZXN0KSk7Cit9KTsKKworc2VsZi5hZGRFdmVudExpc3RlbmVy
KCdtZXNzYWdlJywgKGUpID0+IHsKKyAgbGV0IHsgbXNnLCByZXN1bHRpbmdDbGllbnRJZCB9ID0g
ZS5kYXRhOworICBlLndhaXRVbnRpbCgoYXN5bmMgKCkgPT4geworICAgIGlmIChtc2cgPT0gJ2dl
dElzUmVzdWx0aW5nQ2xpZW50VW5kZWZpbmVkJykgeworICAgICAgY29uc3QgY2xpZW50ID0gYXdh
aXQgc2VsZi5jbGllbnRzLmdldChyZXN1bHRpbmdDbGllbnRJZCk7CisgICAgICBsZXQgaXNVbmRl
ZmluZWQgPSB0eXBlb2YgY2xpZW50ID09ICd1bmRlZmluZWQnOworICAgICAgZS5zb3VyY2UucG9z
dE1lc3NhZ2UoeyBtc2c6ICdnZXRJc1Jlc3VsdGluZ0NsaWVudFVuZGVmaW5lZCcsCisgICAgICAg
IGlzUmVzdWx0aW5nQ2xpZW50VW5kZWZpbmVkOiBpc1VuZGVmaW5lZCB9KTsKKyAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgaWYgKG1zZyA9PSAnZ2V0UmVzdWx0aW5nQ2xpZW50SWQnKSB7CisgICAg
ICBlLnNvdXJjZS5wb3N0TWVzc2FnZSh7IG1zZzogJ2dldFJlc3VsdGluZ0NsaWVudElkJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0aW5nQ2xpZW50SWQ6IHNhdmVkUmVzdWx0
aW5nQ2xpZW50SWQgfSk7CisgICAgICByZXR1cm47CisgICAgfQorICB9KSgpKTsKK30pOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC13b3JrZXIuanMKaW5k
ZXggOWYzYWYyMWFiZTdiMmYwMmUwMzEzZjA1NjZmZmJjOTRkYjkxODU3MC4uOGVmZmE1NmM5OGM5
ZjkyMTIwMTU1MzEyMTMwODU5MWU3NDMxYTIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvY2xpZW50cy1nZXQtd29ya2VyLmpzCkBAIC00LDEzICs0LDYgQEAKIC8vIHRo
ZSBgZXZlbnRgIG9iamVjdC4gSW4gdGhlIGNhc2Ugb2YgdGhlIGBvbm1lc3NhZ2VgIGhhbmRsZXIs
IGl0IHByb3ZpZGVzIHRoZQogLy8gQ2xpZW50IGluc3RhbmNlIGF0dHJpYnV0ZXMgb2YgdGhlIHJl
cXVlc3RlZCBjbGllbnRzLgogc2VsZi5vbmZldGNoID0gZnVuY3Rpb24oZSkgewotICBpZiAoZS5y
ZXF1ZXN0Lm1vZGUgPT09ICduYXZpZ2F0ZScgJiYgZS5jbGllbnRJZCAhPT0gIiIpIHsKLSAgICBl
LnJlc3BvbmRXaXRoKFJlc3BvbnNlLmVycm9yKAotICAgICAgJ2BjbGllbnRJZGAgaW5jb3JyZWN0
bHkgc2V0IHRvIG5vbi1lbXB0eSB2YWx1ZSBmb3IgcmVxdWVzdCB3aXRoIG1vZGUgYG5hdmlnYXRl
YCcKLSAgICApKTsKLSAgICByZXR1cm47Ci0gIH0KLQogICBpZiAoL1wvY2xpZW50SWQkLy50ZXN0
KGUucmVxdWVzdC51cmwpKSB7CiAgICAgZS5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoZS5jbGll
bnRJZCkpOwogICAgIHJldHVybjsKQEAgLTE4LDcgKzExLDYgQEAgc2VsZi5vbmZldGNoID0gZnVu
Y3Rpb24oZSkgewogfTsKIAogc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7Ci0gIHZhciBw
b3J0ID0gZS5kYXRhLnBvcnQ7CiAgIHZhciBjbGllbnRfaWRzID0gZS5kYXRhLmNsaWVudElkczsK
ICAgdmFyIG1lc3NhZ2UgPSBbXTsKIApAQCAtMzAsNyArMjIsNyBAQCBzZWxmLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAvLyBObyBtYXRjaGluZyBjbGllbnQgZm9yIGEgZ2l2
ZW4gaWQgb3IgYSBtYXRjaGVkIGNsaWVudCBpcyBvZmYtb3JpZ2luCiAgICAgICAgICAgLy8gZnJv
bSB0aGUgc2VydmljZSB3b3JrZXIuCiAgICAgICAgICAgaWYgKGNsaWVudHMubGVuZ3RoID09IDEg
JiYgY2xpZW50c1swXSA9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgIHBvcnQucG9zdE1lc3Nh
Z2UoY2xpZW50c1swXSk7CisgICAgICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShjbGllbnRz
WzBdKTsKICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgY2xpZW50cy5mb3JFYWNoKGZ1
bmN0aW9uKGNsaWVudCkgewogICAgICAgICAgICAgICAgIGlmIChjbGllbnQgaW5zdGFuY2VvZiBD
bGllbnQpIHsKQEAgLTQzLDcgKzM1LDcgQEAgc2VsZi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7
CiAgICAgICAgICAgICAgICAgICBtZXNzYWdlLnB1c2goY2xpZW50KTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShtZXNz
YWdlKTsKKyAgICAgICAgICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwogICAgICAg
ICAgIH0KICAgICAgICAgfSkpOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9jb3JzLWFwcHJvdmVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9j
b3JzLWFwcHJvdmVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2Q4OWJiMTRkNjA3N2YwN2JhZDM2MDc3Mzdl
ZDhmNjMyNjhjMjcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2NvcnMtYXBwcm92ZWQudHh0CkBAIC0wLDAgKzEgQEAKK3BsYWludGV4dApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NvcnMtYXBwcm92ZWQudHh0LmhlYWRlcnMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY29ycy1hcHByb3ZlZC50eHQuaGVhZGVycwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mNzk4NWZkOWJkNTJhODA1YmM2NzE1NDRhOWJmNWE3ZWVmZTliZjM5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NvcnMtYXBwcm92ZWQu
dHh0LmhlYWRlcnMKQEAgLTAsMCArMSwzIEBACitDb250ZW50LVR5cGU6IHRleHQvcGxhaW4KK0Fj
Y2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvY29ycy1kZW5pZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2NvcnMtZGVuaWVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjMzM2JkOTdkYTRjNjk0OWEzMTQyYWM4
Nzg5Y2IyZTQ1ZDQxYjg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2NvcnMtZGVuaWVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3RoaXMgZmlsZSBpcyBzZXJ2
ZWQgd2l0aG91dCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gaGVhZGVycyBzbyBpdCBzaG91
bGQgbm90CitiZSByZWFkYWJsZSBmcm9tIGNyb3NzLW9yaWdpbi4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9kdW1teS1zaGFyZWQtd29ya2VyLWludGVyY2VwdG9yLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJj
ZXB0b3IuanMKaW5kZXggODJiMjQ0NTliNGZlMzA3YWVhODBhMDg2ODllMTE1ZGRkYmRhNTM4ZS4u
ZTk5NmRhNmIyYjdmNDkxODIwZGRhYjE2OGU5ZDJmMmQ2ZjZjZWEzNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJjZXB0b3Iu
anMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXIt
aW50ZXJjZXB0b3IuanMKQEAgLTEsNyArMSw5IEBACiB2YXIgd29ya2VyX3RleHQgPSAnb25jb25u
ZWN0ID0gZnVuY3Rpb24oZSkgeyBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKCJ3b3JrZXIgbG9hZGlu
ZyBpbnRlcmNlcHRlZCBieSBzZXJ2aWNlIHdvcmtlciIpOyB9Oyc7CiAKIHNlbGYub25mZXRjaCA9
IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gIGlmIChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdkdW1t
eS1zaGFyZWQtd29ya2VyLmpzJykgIT0gLTEpCi0gICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJl
c3BvbnNlKHdvcmtlcl90ZXh0KSk7CisgIGlmIChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdk
dW1teS1zaGFyZWQtd29ya2VyLmpzJykgIT0gLTEpIHsKKyAgICBldmVudC5yZXNwb25kV2l0aChu
ZXcgUmVzcG9uc2UoCisgICAgICAgIHdvcmtlcl90ZXh0LCB7aGVhZGVyczogeyJDb250ZW50LVR5
cGUiOiAiYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9fSkpOworICB9CiB9OwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZHVtbXktc2hhcmVkLXdvcmtlci1pbnRlcmNl
cHRvci5qcy5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJl
ZC13b3JrZXItaW50ZXJjZXB0b3IuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTdhOWEzYTEyY2Vm
ZTg4M2E1ZDRkZWU0ZDVhNDViZWYxMjBkMDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXNoYXJlZC13b3JrZXItaW50ZXJjZXB0b3IuanMuaGVh
ZGVycwpAQCAtMCwwICsxIEBACitDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lY2hvLWNvbnRlbnQucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM0MGVmMGNmMmJiYmQ0MzVjYWE2OGZjYTgxMjA0MzQyY2ExZGMxMjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5CkBAIC0wLDAg
KzEsMTQgQEAKKyMgVGhpcyBpcyBhIGNvcHkgb2YgZmV0Y2gvYXBpL3Jlc291cmNlcy9lY2hvLWNv
bnRlbnQucHkgc2luY2UgaXQncyBtb3JlCisjIGNvbnZlbmllbnQgaW4gdGhpcyBkaXJlY3Rvcnkg
ZHVlIHRvIHNlcnZpY2Ugd29ya2VyJ3MgcGF0aCByZXN0cmljdGlvbi4KK2RlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKKworICAgIGhlYWRlcnMgPSBbKCJYLVJlcXVlc3QtTWV0aG9kIiwgcmVx
dWVzdC5tZXRob2QpLAorICAgICAgICAgICAgICAgKCJYLVJlcXVlc3QtQ29udGVudC1MZW5ndGgi
LCByZXF1ZXN0LmhlYWRlcnMuZ2V0KCJDb250ZW50LUxlbmd0aCIsICJOTyIpKSwKKyAgICAgICAg
ICAgICAgICgiWC1SZXF1ZXN0LUNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkNv
bnRlbnQtVHlwZSIsICJOTyIpKSwKKworICAgICAgICAgICAgICAgIyBBdm9pZCBhbnkga2luZCBv
ZiBjb250ZW50IHNuaWZmaW5nIG9uIHRoZSByZXNwb25zZS4KKyAgICAgICAgICAgICAgICgiQ29u
dGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0KKworICAgIGNvbnRlbnQgPSByZXF1ZXN0LmJvZHkK
KworICAgIHJldHVybiBoZWFkZXJzLCBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkLXdvcmtl
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZC1hbmQtb2JqZWN0LWFyZS1u
b3QtaW50ZXJjZXB0ZWQtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmY2RiNzUxMjg4OGZmZGIxMDZl
MDRmZmEzN2YxYjdiODRiODAwZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZW1iZWQtYW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkLXdvcmtlci5q
cwpAQCAtMCwwICsxLDE0IEBACisvLyBUaGlzIHdvcmtlciBpbnRlcmNlcHRzIGEgcmVxdWVzdCBm
b3IgRU1CRUQvT0JKRUNUIGFuZCByZXNwb25kcyB3aXRoIGEKKy8vIHJlc3BvbnNlIHRoYXQgaW5k
aWNhdGVzIHRoYXQgaW50ZXJjZXB0aW9uIG9jY3VycmVkLiBUaGUgdGVzdHMgZXhwZWN0CisvLyB0
aGF0IGludGVyY2VwdGlvbiBkb2VzIG5vdCBvY2N1ci4KK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcign
ZmV0Y2gnLCBlID0+IHsKKyAgICBpZiAoZS5yZXF1ZXN0LnVybC5pbmRleE9mKCdlbWJlZGRlZC1j
b250ZW50LWZyb20tc2VydmVyLmh0bWwnKSAhPSAtMSkgeworICAgICAgZS5yZXNwb25kV2l0aChm
ZXRjaCgnZW1iZWRkZWQtY29udGVudC1mcm9tLXNlcnZpY2Utd29ya2VyLmh0bWwnKSk7CisgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGUucmVxdWVzdC51cmwuaW5kZXhPZignZ3JlZW4u
cG5nJykgIT0gLTEpIHsKKyAgICAgIGUucmVzcG9uZFdpdGgoUHJvbWlzZS5yZWplY3QoJ25ldHdv
cmsgZXJyb3IgdG8gc2hvdyBpbnRlcmNlcHRpb24gb2NjdXJyZWQnKSk7CisgICAgICByZXR1cm47
CisgICAgfQorICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9l
bWJlZC1pbWFnZS1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZW1iZWQtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiOGIyNTcyMDNhMjIyY2NlMTU4ZmI2ZDk5NTZhMTg2YWQ0NjYxYmEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWQtaW1hZ2Ut
aXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPmlmcmFtZSBmb3IgZW1iZWQt
YW5kLW9iamVjdC1hcmUtbm90LWludGVyY2VwdGVkIHRlc3Q8L3RpdGxlPgorPGJvZHk+Cis8ZW1i
ZWQgdHlwZT0iaW1hZ2UvcG5nIiBzcmM9Ii9pbWFnZXMvZ3JlZW4ucG5nIj48L2VtYmVkPgorPHNj
cmlwdD4KKy8vIE91ciBwYXJlbnQgKHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxsIGV4
YW1pbmUgdGhpcyB0byBnZXQgdGhlIHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoIW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRy
b2xsZXIpCisgICAgICByZXNvbHZlKCdGQUlMOiB0aGlzIGlmcmFtZSBpcyBub3QgY29udHJvbGxl
ZCcpOworCisgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VtYmVkJyk7
CisgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZSA9PiB7CisgICAgICAgIHJlc29s
dmUoJ3JlcXVlc3Qgd2FzIG5vdCBpbnRlcmNlcHRlZCcpOworICAgICAgfSk7CisgICAgZWxlbS5h
ZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGUgPT4geworICAgICAgICByZXNvbHZlKCdGQUlMOiBy
ZXF1ZXN0IHdhcyBpbnRlcmNlcHRlZCcpOworICAgICAgfSk7CisgIH0pOworPC9zY3JpcHQ+Cis8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWQtaXMt
bm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTE0OTkx
NWNjNTczYjNmOGE1ZTBlMDFhMTA3Mjk0OTRhZWM1OWYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUu
aHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5pZnJhbWUgZm9yIGVtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNl
cHRlZCB0ZXN0PC90aXRsZT4KKzxib2R5PgorPHNjcmlwdD4KKy8vIFRoZSBFTUJFRCBlbGVtZW50
IHdpbGwgY2FsbCB0aGlzIHdpdGggdGhlIHJlc3VsdCBhYm91dCB3aGV0aGVyIHRoZSBFTUJFRAor
Ly8gcmVxdWVzdCB3YXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLgordmFyIHJl
cG9ydF9yZXN1bHQ7CisKKy8vIE91ciBwYXJlbnQgKHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0
KSB3aWxsIGV4YW1pbmUgdGhpcyB0byBnZXQgdGhlIHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2Ug
PSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICByZXBvcnRfcmVzdWx0ID0gcmVzb2x2ZTsK
KyAgfSk7Cis8L3NjcmlwdD4KKworPGVtYmVkIHNyYz0iZW1iZWRkZWQtY29udGVudC1mcm9tLXNl
cnZlci5odG1sIj48L2VtYmVkPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2VtYmVkZGVkLWNvbnRlbnQtZnJvbS1zZXJ2ZXIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmY1MGE5Yzc1MjY5MGQ2NzI2ZDBjZDZkOTgyMDk0N2YxYmM1ZDRiMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50
LWZyb20tc2VydmVyLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbWJlZCBmb3IgZW1iZWQtYW5kLW9iamVjdC1hcmUt
bm90LWludGVyY2VwdGVkIHRlc3Q8L3RpdGxlPgorPHNjcmlwdD4KK3dpbmRvdy5wYXJlbnQucmVw
b3J0X3Jlc3VsdCgncmVxdWVzdCBmb3IgZW1iZWRkZWQgY29udGVudCB3YXMgbm90IGludGVyY2Vw
dGVkJyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmljZS13b3JrZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmljZS13b3JrZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZTJiOTIzNjA4MmQ3YWUyZjgwYzFhNzRmYjBhODQ4MjNjOTZkMTYyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVkZGVkLWNv
bnRlbnQtZnJvbS1zZXJ2aWNlLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+ZW1iZWQgZm9yIGVtYmVkLWFu
ZC1vYmplY3QtYXJlLW5vdC1pbnRlcmNlcHRlZCB0ZXN0PC90aXRsZT4KKzxzY3JpcHQ+Cit3aW5k
b3cucGFyZW50LnJlcG9ydF9yZXN1bHQoJ3JlcXVlc3QgZm9yIGVtYmVkZGVkIGNvbnRlbnQgd2Fz
IGludGVyY2VwdGVkIGJ5IHNlcnZpY2Ugd29ya2VyJyk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VuYWJsZS1jbGllbnQtbWVzc2FnZS1xdWV1
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VuYWJsZS1jbGllbnQtbWVzc2Fn
ZS1xdWV1ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxMmJkMTRiYzY3ZDQ2YjkwMmU2OGViODc3MzEwN2Rl
NTI5Y2M3OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZW5hYmxlLWNsaWVudC1tZXNzYWdlLXF1ZXVlLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8c2NyaXB0PgorICAvLyBUaGUgc3RhdGUgdmFyaWFibGUgaXMgdXNlZCBieSBo
YW5kbGVfbWVzc2FnZSB0byByZWNvcmQgdGhlIHRpbWUKKyAgLy8gYXQgd2hpY2ggYSBtZXNzYWdl
IHdhcyBoYW5kbGVkLiBJdCdzIHVwZGF0ZWQgYnkgdGhlIHNjcmlwdHMKKyAgLy8gbG9hZGVkIGJ5
IHRoZSA8c2NyaXB0PiB0YWdzIGF0IHRoZSBib3R0b20gb2YgdGhlIGZpbGUgYXMgd2VsbCBhcwor
ICAvLyBieSB0aGUgZXZlbnQgbGlzdGVuZXIgYWRkZWQgaGVyZS4KKyAgdmFyIHN0YXRlID0gJ2lu
aXQnOworICBhZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4gc3RhdGUg
PSAnbG9hZGVkJyk7CisKKyAgLy8gV2UgZXhwZWN0IHRvIGdldCB0aHJlZSBwaW5nIG1lc3NhZ2Vz
IGZyb20gdGhlIHNlcnZpY2Ugd29ya2VyLgorICBjb25zdCBleHBlY3RlZCA9IFsnaW5pdCcsICdp
bnN0YWxsJywgJ3N0YXJ0J107CisgIGxldCBwcm9taXNlcyA9IHt9OworICBsZXQgcmVzb2x2ZXJz
ID0ge307CisgIGV4cGVjdGVkLmZvckVhY2gobmFtZSA9PiB7CisgICAgcHJvbWlzZXNbbmFtZV0g
PSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmVyc1tuYW1lXSA9IHJlc29sdmUpOworICB9
KTsKKworICAvLyBPbmNlIGFsbCBtZXNzYWdlcyBoYXZlIGJlZW4gZGlzcGF0Y2hlZCwgdGhlIHN0
YXRlIGluIHdoaWNoIGVhY2gKKyAgLy8gb2YgdGhlbSB3YXMgZGlzcGF0Y2hlZCBpcyByZWNvcmRl
ZCBpbiB0aGUgZHJhZnQuIEF0IHRoYXQgcG9pbnQKKyAgLy8gdGhlIGRyYWZ0IGJlY29tZXMgdGhl
IGZpbmFsIHJlcG9ydC4KKyAgdmFyIGRyYWZ0ID0ge307CisgIHZhciByZXBvcnQgPSBQcm9taXNl
LmFsbChPYmplY3QudmFsdWVzKHByb21pc2VzKSkudGhlbigoKSA9PiB3aW5kb3cuZHJhZnQpOwor
CisgIC8vIFRoaXMgbWVzc2FnZSBoYW5kbGVyIGlzIGluc3RhbGxlZCBieSB0aGUgJ2luc3RhbGwn
IHNjcmlwdC4KKyAgZnVuY3Rpb24gaGFuZGxlX21lc3NhZ2UoZXZlbnQpIHsKKyAgICBjb25zdCBk
YXRhID0gZXZlbnQuZGF0YS5kYXRhOworICAgIGRyYWZ0W2RhdGFdID0gc3RhdGU7CisgICAgcmVz
b2x2ZXJzW2RhdGFdKCk7CisgIH0KKzwvc2NyaXB0PgorCis8IS0tCisgIFRoZSBjb250cm9sbGlu
ZyBzZXJ2aWNlIHdvcmtlciB3aWxsIGRlbGF5IHRoZSByZXNwb25zZSB0byB0aGVzZQorICBmZXRj
aCByZXF1ZXN0cyB1bnRpbCB0aGUgdGVzdCBpbnN0cnVjdHMgaXQgaG93IHRvIHJlcGx5LiBOb3Rl
IHRoYXQKKyAgdGhlIGV2ZW50IGxvb3Aga2VlcHMgc3Bpbm5pbmcgd2hpbGUgdGhlIHBhcnNlciBp
cyBibG9ja2VkLgorLS0+Cis8c2NyaXB0IHNyYz0iZW1wdHkuanM/a2V5PWluc3RhbGwiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9ImVtcHR5LmpzP2tleT1zdGFydCI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iZW1wdHkuanM/a2V5PWZpbmlzaCI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkKaW5kZXggOTNlYTBlMGFk
NjZlNzJlYzI1MTA5YjNmNGNlNGIxNDdmN2ExMDNjNy4uNjFiODljYmQ5NWI0YjkxMDY3MGU0Nzk1
Y2IyNTE4YzUxYWJlYzEyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ZldGNoLWFjY2Vzcy1jb250cm9sLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1hY2Nlc3MtY29udHJvbC5weQpAQCAtMSw1ICsxLDcgQEAKIGltcG9ydCBiYXNlNjQK
IGltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKIAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgogICAgIGhlYWRlcnMgPSBbXQpAQCAtMzEsNiArMzMsNDMgQEAgZGVmIG1haW4o
cmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
akJvQUFxTUdETHdCREF3QUVzb0NURld1bm1RQUFBQUFTVVZPUks1Q1lJST0iKQogICAgICAgICBy
ZXR1cm4gaGVhZGVycywgYm9keQogCisgICAgaWYgIlZJREVPIiBpbiByZXF1ZXN0LkdFVDoKKyAg
ICAgICAgaGVhZGVycy5hcHBlbmQoKCJDb250ZW50LVR5cGUiLCAidmlkZW8vd2VibSIpKQorICAg
ICAgICBib2R5ID0gb3Blbihvcy5wYXRoLmpvaW4ocmVxdWVzdC5kb2Nfcm9vdCwgIm1lZGlhIiwg
Im1vdmllXzUub2d2IiksICJyYiIpLnJlYWQoKQorICAgICAgICBsZW5ndGggPSBsZW4oYm9keSkK
KyAgICAgICAgIyBJZiAiUGFydGlhbENvbnRlbnQiIGlzIHNwZWNpZmllZCwgdGhlIHJlcXVlc3Rv
ciB3YW50cyB0byB0ZXN0IHJhbmdlCisgICAgICAgICMgcmVxdWVzdHMuIEZvciB0aGUgaW5pdGlh
bCByZXF1ZXN0LCByZXNwb25kIHdpdGggIjIwNiBQYXJ0aWFsIENvbnRlbnQiCisgICAgICAgICMg
YW5kIGRvbid0IHNlbmQgdGhlIGVudGlyZSBjb250ZW50LiBUaGVuIGV4cGVjdCBzdWJzZXF1ZW50
IHJlcXVlc3RzIHRvCisgICAgICAgICMgaGF2ZSBhICJSYW5nZSIgaGVhZGVyIHdpdGggYSBieXRl
IHJhbmdlLiBSZXNwb25kIHdpdGggdGhhdCByYW5nZS4KKyAgICAgICAgaWYgIlBhcnRpYWxDb250
ZW50IiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgICBpZiBsZW5ndGggPCAxOgorICAgICAgICAg
ICAgcmV0dXJuIDUwMCwgaGVhZGVycywgImZpbGUgaXMgdG9vIHNtYWxsIGZvciByYW5nZSByZXF1
ZXN0cyIKKyAgICAgICAgICBzdGFydCA9IDAKKyAgICAgICAgICBlbmQgPSBsZW5ndGggLSAxCisg
ICAgICAgICAgaWYgIlJhbmdlIiBpbiByZXF1ZXN0LmhlYWRlcnM6CisgICAgICAgICAgICByYW5n
ZV9oZWFkZXIgPSByZXF1ZXN0LmhlYWRlcnNbIlJhbmdlIl0KKyAgICAgICAgICAgIHByZWZpeCA9
ICJieXRlcz0iCisgICAgICAgICAgICBzcGxpdF9oZWFkZXIgPSByYW5nZV9oZWFkZXJbbGVuKHBy
ZWZpeCk6XS5zcGxpdCgiLSIpCisgICAgICAgICAgICAjIFRoZSBmaXJzdCByZXF1ZXN0IG1pZ2h0
IGJlICJieXRlcz0wLSIuIFdlIHdhbnQgdG8gZm9yY2UgYSByYW5nZQorICAgICAgICAgICAgIyBy
ZXF1ZXN0LCBzbyBqdXN0IHJldHVybiB0aGUgZmlyc3QgYnl0ZS4KKyAgICAgICAgICAgIGlmIHNw
bGl0X2hlYWRlclswXSA9PSAiMCIgYW5kIHNwbGl0X2hlYWRlclsxXSA9PSAiIjoKKyAgICAgICAg
ICAgICAgZW5kID0gc3RhcnQKKyAgICAgICAgICAgICMgT3RoZXJ3aXNlLCBpdCBpcyBhIHJhbmdl
IHJlcXVlc3QuIFJlc3BlY3QgdGhlIHZhbHVlcyBzZW50LgorICAgICAgICAgICAgaWYgc3BsaXRf
aGVhZGVyWzBdICE9ICIiOgorICAgICAgICAgICAgICBzdGFydCA9IGludChzcGxpdF9oZWFkZXJb
MF0pCisgICAgICAgICAgICBpZiBzcGxpdF9oZWFkZXJbMV0gIT0gIiI6CisgICAgICAgICAgICAg
IGVuZCA9IGludChzcGxpdF9oZWFkZXJbMV0pCisgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICMgVGhlIHJlcXVlc3QgZG9lc24ndCBoYXZlIGEgcmFuZ2UuIEZvcmNlIGEgcmFuZ2UgcmVxdWVz
dCBieQorICAgICAgICAgICAgIyByZXR1cm5pbmcgdGhlIGZpcnN0IGJ5dGUuCisgICAgICAgICAg
ICBlbmQgPSBzdGFydAorCisgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJBY2NlcHQtUmFuZ2Vz
IiwgImJ5dGVzIikpCisgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJDb250ZW50LUxlbmd0aCIs
IHN0cihlbmQgLXN0YXJ0ICsgMSkpKQorICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQ29udGVu
dC1SYW5nZSIsICJieXRlcyAlZC0lZC8lZCIgJSAoc3RhcnQsIGVuZCwgbGVuZ3RoKSkpCisgICAg
ICAgICAgY2h1bmsgPSBib2R5W3N0YXJ0OihlbmQgKyAxKV0KKyAgICAgICAgICByZXR1cm4gMjA2
LCBoZWFkZXJzLCBjaHVuaworICAgICAgICByZXR1cm4gaGVhZGVycywgYm9keQogCiAgICAgdXNl
cm5hbWUgPSByZXF1ZXN0LmF1dGgudXNlcm5hbWUgaWYgcmVxdWVzdC5hdXRoLnVzZXJuYW1lIGVs
c2UgInVuZGVmaW5lZCIKICAgICBwYXNzd29yZCA9IHJlcXVlc3QuYXV0aC5wYXNzd29yZCBpZiBy
ZXF1ZXN0LmF1dGgudXNlcm5hbWUgZWxzZSAidW5kZWZpbmVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1kb3VibGUtd3JpdGUt
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWlu
dGluZy1kb3VibGUtd3JpdGUtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3NzIzZGNkZGEyZjJmYWRi
OWFiMGFiNGEwMGIyOGMyNGI4MTUyMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJsZS13cml0ZS13b3JrZXIu
anMKQEAgLTAsMCArMSw3IEBACitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgKGV2ZW50
KSA9PiB7CisgIHVybCA9IG5ldyBVUkwoZXZlbnQucmVxdWVzdC51cmwpOworICBpZiAodXJsLnNl
YXJjaCA9PSAnP1BOR0lNQUdFJykgeworICAgIGxvY2FsVXJsID0gbmV3IFVSTCh1cmwucGF0aG5h
bWUgKyB1cmwuc2VhcmNoLCBzZWxmLmxvY2F0aW9uKTsKKyAgICBldmVudC5yZXNwb25kV2l0aChm
ZXRjaChsb2NhbFVybCkpOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWlmcmFtZS5odG1sCmluZGV4
IDNhNzNiN2U3N2U4NmFmNTM1MDVkMjZmY2JhODQyNTY1ZjE2ZThhZjIuLmE2NWQyNTAxYTg1MDhh
ZGRmM2VjMmI2ZDJkYWYwMGIxYmRjNGFmMmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1pZnJhbWUuaHRtbApA
QCAtMSwzMjEgKzEsNjkgQEAKLTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3Vi
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9c3Vi
Ij48L3NjcmlwdD4KKzxodG1sPgorPHRpdGxlPmlmcmFtZSBmb3IgZmV0Y2ggY2FudmFzIHRhaW50
aW5nIHRlc3Q8L3RpdGxlPgogPHNjcmlwdD4KLXZhciBpbWFnZV9wYXRoID0gYmFzZV9wYXRoKCkg
KyAnZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHk/UE5HSU1BR0UnOwotdmFyIGhvc3RfaW5mbyA9IGdl
dF9ob3N0X2luZm8oKTsKLXZhciBwYXJhbXMgPSBnZXRfcXVlcnlfcGFyYW1zKGxvY2F0aW9uLmhy
ZWYpOwotCi12YXIgTk9UX1RBSU5URUQgPSAnTk9UX1RBSU5URUQnOwotdmFyIFRBSU5URUQgPSAn
VEFJTlRFRCc7Ci12YXIgTE9BRF9FUlJPUiA9ICdMT0FEX0VSUk9SJzsKLXZhciBUSU1FT1VUX0VS
Uk9SID0gJ1RJTUVPVVRfRVJST1InOwotCi1mdW5jdGlvbiBnZXRfcXVlcnlfcGFyYW1zKHVybCkg
ewotICB2YXIgc2VhcmNoID0gKG5ldyBVUkwodXJsKSkuc2VhcmNoOwotICBpZiAoIXNlYXJjaCkg
ewotICAgIHJldHVybiB7fTsKLSAgfQotICB2YXIgcmV0ID0ge307Ci0gIHZhciBwYXJhbXMgPSBz
ZWFyY2guc3Vic3RyaW5nKDEpLnNwbGl0KCcmJyk7Ci0gIHBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9u
KHBhcmFtKSB7Ci0gICAgICB2YXIgZWxlbWVudCA9IHBhcmFtLnNwbGl0KCc9Jyk7Ci0gICAgICBy
ZXRbZGVjb2RlVVJJQ29tcG9uZW50KGVsZW1lbnRbMF0pXSA9IGRlY29kZVVSSUNvbXBvbmVudChl
bGVtZW50WzFdKTsKLSAgICB9KTsKLSAgcmV0dXJuIHJldDsKLX0KK2NvbnN0IE5PVF9UQUlOVEVE
ID0gJ05PVF9UQUlOVEVEJzsKK2NvbnN0IFRBSU5URUQgPSAnVEFJTlRFRCc7Citjb25zdCBMT0FE
X0VSUk9SID0gJ0xPQURfRVJST1InOwogCisvLyBDcmVhdGVzIGFuIGltYWdlL3ZpZGVvIGVsZW1l
bnQgd2l0aCBzcmM9fHVybHwgYW5kIGFuIG9wdGlvbmFsIHxjcm9zc19vcmlnaW58CisvLyBhdHRp
YnV0ZS4gVHJpZXMgdG8gcmVhZCBmcm9tIHRoZSBpbWFnZS92aWRlbyB1c2luZyBhIGNhbnZhcyBl
bGVtZW50LiBSZXR1cm5zCisvLyBOT1RfVEFJTlRFRCBpZiBpdCBjb3VsZCBiZSByZWFkLCBUQUlO
VEVEIGlmIGl0IGNvdWxkIG5vdCBiZSByZWFkLCBhbmQKKy8vIExPQURfRVJST1IgaWYgbG9hZGlu
ZyB0aGUgaW1hZ2UvdmlkZW8gZmFpbGVkLgogZnVuY3Rpb24gY3JlYXRlX3Rlc3RfY2FzZV9wcm9t
aXNlKHVybCwgY3Jvc3Nfb3JpZ2luKSB7Ci0gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihy
ZXNvbHZlKSB7Ci0gICAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7Ci0gICAgICBpZiAoY3Jvc3Nf
b3JpZ2luICE9ICcnKSB7Ci0gICAgICAgIGltZy5jcm9zc09yaWdpbiA9IGNyb3NzX29yaWdpbjsK
LSAgICAgIH0KLSAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdHJ5IHsK
LSAgICAgICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7
Ci0gICAgICAgICAgY2FudmFzLndpZHRoID0gMTAwOwotICAgICAgICAgIGNhbnZhcy5oZWlnaHQg
PSAxMDA7Ci0gICAgICAgICAgdmFyIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsK
LSAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWcsIDAsIDApOwotICAgICAgICAgIGNvbnRl
eHQuZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgMTAwKTsKLSAgICAgICAgICByZXNvbHZlKE5PVF9U
QUlOVEVEKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgIHJlc29sdmUoVEFJTlRF
RCk7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIGlmICh1cmwuaW5k
ZXhPZignUE5HSU1BR0UnKSAhPSAtMSkgeworICAgICAgICBjb25zdCBpbWcgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdpbWcnKTsKKyAgICAgICAgaWYgKGNyb3NzX29yaWdpbiAhPSAnJykgewor
ICAgICAgICAgIGltZy5jcm9zc09yaWdpbiA9IGNyb3NzX29yaWdpbjsKICAgICAgICAgfQotICAg
ICAgfTsKLSAgICAgIGltZy5vbmVycm9yID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJlc29sdmUo
TE9BRF9FUlJPUik7CisgICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnY2FudmFzJyk7CisgICAgICAgICAgICBjYW52YXMud2lkdGggPSAxMDA7CisgICAgICAgICAg
ICBjYW52YXMuaGVpZ2h0ID0gMTAwOworICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZh
cy5nZXRDb250ZXh0KCcyZCcpOworICAgICAgICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAw
LCAwKTsKKyAgICAgICAgICAgIGNvbnRleHQuZ2V0SW1hZ2VEYXRhKDAsIDAsIDEwMCwgMTAwKTsK
KyAgICAgICAgICAgIHJlc29sdmUoTk9UX1RBSU5URUQpOworICAgICAgICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgICAgIHJlc29sdmUoVEFJTlRFRCk7CisgICAgICAgICAgfQorICAgICAgICB9
OworICAgICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHJlc29sdmUo
TE9BRF9FUlJPUik7CisgICAgICAgIH0KKyAgICAgICAgaW1nLnNyYyA9IHVybDsKKyAgICAgICAg
cmV0dXJuOwogICAgICAgfQotICAgICAgaW1nLnNyYyA9IHVybDsKLSAgICAgIHNldFRpbWVvdXQo
KCkgPT4geyByZXNvbHZlKFRJTUVPVVRfRVJST1IpOyB9LCA1MDAwKTsKLSAgICB9KTsKLX0KIAot
dmFyIHJlc3VsdHMgPSBbXTsKKyAgICAgIGlmICh1cmwuaW5kZXhPZignVklERU8nKSAhPSAtMSkg
eworICAgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7
CisgICAgICAgIHZpZGVvLmF1dG9wbGF5ID0gdHJ1ZTsKKyAgICAgICAgaWYgKGNyb3NzX29yaWdp
biAhPSAnJykgeworICAgICAgICAgIHZpZGVvLmNyb3NzT3JpZ2luID0gY3Jvc3Nfb3JpZ2luOwor
ICAgICAgICB9CisgICAgICAgIHZpZGVvLm9ucGxheSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdjYW52YXMnKTsKKyAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IDEwMDsKKyAgICAgICAgICAg
IGNhbnZhcy5oZWlnaHQgPSAxMDA7CisgICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFz
LmdldENvbnRleHQoJzJkJyk7CisgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZSh2aWRlbywg
MCwgMCk7CisgICAgICAgICAgICBjb250ZXh0LmdldEltYWdlRGF0YSgwLCAwLCAxMDAsIDEwMCk7
CisgICAgICAgICAgICByZXNvbHZlKE5PVF9UQUlOVEVEKTsKKyAgICAgICAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgICAgICByZXNvbHZlKFRBSU5URUQpOworICAgICAgICAgIH0KKyAgICAgICAg
fTsKKyAgICAgICAgdmlkZW8ub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHJlc29s
dmUoTE9BRF9FUlJPUik7CisgICAgICAgIH0KKyAgICAgICAgdmlkZW8uc3JjID0gdXJsOworICAg
ICAgICByZXR1cm47CisgICAgICB9CiAKLWZ1bmN0aW9uIGNyZWF0ZV90ZXN0X3Byb21pc2UodXJs
LCBjcm9zc19vcmlnaW4sIGV4cGVjdGVkX3Jlc3VsdCkgewotICAgIGlmIChwYXJhbXNbJ2NhY2hl
J10pIHsKLSAgICAgICAgdXJsICs9ICImY2FjaGUiOwotICAgIH0KLSAgICByZXR1cm4gY3JlYXRl
X3Rlc3RfY2FzZV9wcm9taXNlKHVybCwgY3Jvc3Nfb3JpZ2luKS50aGVuKGZ1bmN0aW9uKHJlc3Vs
dCkgewotICAgICAgICBsZXQgdGVzdF9uYW1lID0gdXJsICsgIiAtICIgKyAoY3Jvc3Nfb3JpZ2lu
ID8gY3Jvc3Nfb3JpZ2luIDogImRlZmF1bHQiKTsKLSAgICAgICAgbGV0IHRlc3RfcmVzdWx0ID0g
KHJlc3VsdCA9PSBleHBlY3RlZF9yZXN1bHQpID8gJ1BBU1MnIDogJ1Jlc3VsdCBvZiB1cmw6JyAr
IHVybCArICcgJyArICcgY3Jvc3Nfb3JpZ2luOiAnICsgY3Jvc3Nfb3JpZ2luICsgJyBtdXN0IGJl
ICcgKyBleHBlY3RlZF9yZXN1bHQgKyAnIGJ1dCAnICsgcmVzdWx0OwotICAgICAgICByZXN1bHRz
LnB1c2goe25hbWU6IHRlc3RfbmFtZSwgcmVzdWx0OiB0ZXN0X3Jlc3VsdH0pOwotICAgIH0pOwor
ICAgICAgcmVzb2x2ZSgndW5rbm93biByZXNvdXJjZSB0eXBlJyk7CisgIH0pOwogfQotCi13aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGV2dCkgewotICAgIHJlc3Vs
dHMgPSBbXTsKLSAgICB2YXIgcG9ydCA9IGV2dC5wb3J0c1swXTsKLSAgICB2YXIgaW1hZ2VfdXJs
ID0gaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArIGltYWdlX3BhdGg7Ci0gICAgdmFyIHJlbW90
ZV9pbWFnZV91cmwgPSBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4nXSArIGltYWdlX3Bh
dGg7Ci0gICAgLy8gUmVqZWN0IHRlc3RzCi0gICAgY3JlYXRlX3Rlc3RfcHJvbWlzZShpbWFnZV91
cmwgKyAnJnJlamVjdCcsICcnLCBMT0FEX0VSUk9SKS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0
dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoaW1hZ2VfdXJsICsgJyZyZWplY3QnLCAnYW5vbnltb3Vz
JywgTE9BRF9FUlJPUikKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0
ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFnZV91cmwgKyAnJnJlamVjdCcsICd1c2Ut
Y3JlZGVudGlhbHMnLCBMT0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICAv
LyBGYWxsYmFjayB0ZXN0cwotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAg
ICAgICAgICAgIGltYWdlX3VybCArICcmaWdub3JlJywKLSAgICAgICAgICAgICcnLAotICAgICAg
ICAgICAgTk9UX1RBSU5URUQpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBj
cmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArICcmaWdu
b3JlJywKLSAgICAgICAgICAgICcnLAotICAgICAgICAgICAgVEFJTlRFRCkKLSAgICB9KS50aGVu
KCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAg
ICByZW1vdGVfaW1hZ2VfdXJsICsgJyZpZ25vcmUnLAotICAgICAgICAgICAgJ2Fub255bW91cycs
Ci0gICAgICAgICAgICBMT0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICBy
ZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwg
KyAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArCi0gICAgICAgICAg
ICAnJmlnbm9yZScsCi0gICAgICAgICAgICAnYW5vbnltb3VzJywKLSAgICAgICAgICAgIE5PVF9U
QUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3Rf
cHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJmlnbm9yZScsCi0gICAg
ICAgICAgICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIExPQURfRVJST1IpCi0gICAg
fSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAg
ICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hU
VFBTX09SSUdJTiddICsKLSAgICAgICAgICAgICcmaWdub3JlJywKLSAgICAgICAgICAgICd1c2Ut
Y3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJPUikKLSAgICB9KS50aGVuKCgpID0+
IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1v
dGVfaW1hZ2VfdXJsICsgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10g
KwotICAgICAgICAgICAgJyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZScsCi0gICAgICAgICAg
ICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVEKQotICAgIH0pLnRo
ZW4oKCkgPT4gewotCi0gICAgICAgIC8vIENyZWRlbnRpYWwgdGVzdCAoZmFsbGJhY2spCi0gICAg
ICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgaW1hZ2VfdXJsICsg
JyZBdXRoJmlnbm9yZScsCi0gICAgICAgICAgICAnJywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVE
KQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlz
ZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJkF1dGgmaWdub3JlJywKLSAgICAg
ICAgICAgICcnLAotICAgICAgICAgICAgVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1h
Z2VfdXJsICsgJyZBdXRoJmlnbm9yZScsCi0gICAgICAgICAgICAnYW5vbnltb3VzJywKLSAgICAg
ICAgICAgIExPQURfRVJST1IpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBj
cmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArICcmQXV0
aCZpZ25vcmUnLAotICAgICAgICAgICAgJ3VzZS1jcmVkZW50aWFscycsCi0gICAgICAgICAgICBM
T0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rl
c3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKyAnJkF1dGgmQUNBT3Jp
Z2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsKLSAgICAgICAgICAgICcmaWdub3Jl
JywKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJP
UikKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21p
c2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsgJyZBdXRoJkFDQU9yaWdpbj0nICsg
aG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArCi0gICAgICAgICAgICAnJkFDQUNyZWRlbnRpYWxz
PXRydWUmaWdub3JlJywKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAg
ICAgTk9UX1RBSU5URUQpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0KLSAgICAgICAgLy8gQmFzaWMg
cmVzcG9uc2UKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAg
ICBpbWFnZV91cmwgKwotICAgICAgICAgICAgJyZtb2RlPXNhbWUtb3JpZ2luJnVybD0nICsgZW5j
b2RlVVJJQ29tcG9uZW50KGltYWdlX3VybCksCi0gICAgICAgICAgICAnJywKLSAgICAgICAgICAg
IE5PVF9UQUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRl
X3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAgICAnJm1v
ZGU9c2FtZS1vcmlnaW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoaW1hZ2VfdXJsKSwKLSAg
ICAgICAgICAgICdhbm9ueW1vdXMnLAotICAgICAgICAgICAgTk9UX1RBSU5URUQpCi0gICAgfSku
dGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAg
ICAgICAgaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyAr
IGVuY29kZVVSSUNvbXBvbmVudChpbWFnZV91cmwpLAotICAgICAgICAgICAgJ3VzZS1jcmVkZW50
aWFscycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAg
ICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1h
Z2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArIGVuY29kZVVS
SUNvbXBvbmVudChpbWFnZV91cmwpLAotICAgICAgICAgICAgJycsCi0gICAgICAgICAgICBOT1Rf
VEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0
X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcm
bW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbWFnZV91cmwpLAot
ICAgICAgICAgICAgJ2Fub255bW91cycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9
KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAg
ICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1zYW1lLW9yaWdp
biZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbWFnZV91cmwpLAotICAgICAgICAgICAgJ3Vz
ZS1jcmVkZW50aWFscycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgp
ID0+IHsKLQotICAgICAgICAvLyBPcGFxdWUgcmVzcG9uc2UKLSAgICAgICAgcmV0dXJuIGNyZWF0
ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFnZV91cmwgKwotICAgICAgICAgICAgJyZt
b2RlPW5vLWNvcnMmdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX2ltYWdlX3VybCks
Ci0gICAgICAgICAgICAnJywKLSAgICAgICAgICAgIFRBSU5URUQpCi0gICAgfSkudGhlbigoKSA9
PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgaW1h
Z2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29t
cG9uZW50KHJlbW90ZV9pbWFnZV91cmwpLAotICAgICAgICAgICAgJ2Fub255bW91cycsCi0gICAg
ICAgICAgICBMT0FEX0VSUk9SKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4g
Y3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAg
ICAnJm1vZGU9bm8tY29ycyZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1hZ2Vf
dXJsKSwKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9F
UlJPUikKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3By
b21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9k
ZT1uby1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9pbWFnZV91cmwpLAot
ICAgICAgICAgICAgJycsCi0gICAgICAgICAgICBUQUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4g
ewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90
ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgJyZtb2RlPW5vLWNvcnMmdXJsPScgKyBlbmNvZGVV
UklDb21wb25lbnQocmVtb3RlX2ltYWdlX3VybCksCi0gICAgICAgICAgICAnYW5vbnltb3VzJywK
LSAgICAgICAgICAgIExPQURfRVJST1IpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJl
dHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCAr
Ci0gICAgICAgICAgICAnJm1vZGU9bm8tY29ycyZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChy
ZW1vdGVfaW1hZ2VfdXJsKSwKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAg
ICAgICAgTE9BRF9FUlJPUikKLSAgICB9KS50aGVuKCgpID0+IHsKLQotICAgICAgICAvLyBDT1JT
IHJlc3BvbnNlCi0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAg
ICAgaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAg
ICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4n
XSksCi0gICAgICAgICAgICAnJywKLSAgICAgICAgICAgIExPQURfRVJST1IpICAvLyBXZSBleHBl
Y3QgTE9BRF9FUlJPUiBzaW5jZSB0aGUgc2VydmVyIGRvZXNuJ3QgcmVzcG9uZAotICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIHdpdGggYW4gQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlh
bHMgaGVhZGVyLgotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rl
c3RfcHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAgICAgICAgICAnJm1vZGU9
Y29ycyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbiZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVV
UklDb21wb25lbnQocmVtb3RlX2ltYWdlX3VybCArCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pLAotICAgICAg
ICAgICAgJycsCi0gICAgICAgICAgICBOT1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsK
LSAgICAgICAgcmV0dXJuIGNyZWF0ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICBpbWFnZV91
cmwgKwotICAgICAgICAgICAgJyZtb2RlPWNvcnMmdXJsPScgKwotICAgICAgICAgICAgZW5jb2Rl
VVJJQ29tcG9uZW50KHJlbW90ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAgICAg
ICAgICAgICdhbm9ueW1vdXMnLAotICAgICAgICAgICAgTk9UX1RBSU5URUQpCi0gICAgfSkudGhl
bigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAg
ICAgaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICcmbW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAg
ICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4n
XSksCi0gICAgICAgICAgICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIExPQURfRVJS
T1IpICAvLyBXZSBleHBlY3QgTE9BRF9FUlJPUiBzaW5jZSB0aGUgc2VydmVyIGRvZXNuJ3QgcmVz
cG9uZAotICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYW4gQWNjZXNzLUNvbnRyb2wt
QWxsb3ctQ3JlZGVudGlhbHMgaGVhZGVyLgotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICBy
ZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIGltYWdlX3VybCArCi0gICAg
ICAgICAgICAnJm1vZGU9Y29ycyZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21wb25l
bnQoCi0gICAgICAgICAgICAgICAgcmVtb3RlX2ltYWdlX3VybCArCi0gICAgICAgICAgICAgICAg
JyZBQ0FDcmVkZW50aWFscz10cnVlJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklH
SU4nXSksCi0gICAgICAgICAgICAndXNlLWNyZWRlbnRpYWxzJywKLSAgICAgICAgICAgIE5PVF9U
QUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY3JlYXRlX3Rlc3Rf
cHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgJyZt
b2RlPWNvcnMmdXJsPScgKwotICAgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9p
bWFnZV91cmwgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcmQUNBT3JpZ2luPScg
KyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAgICAgICAgICAgICcnLAotICAgICAgICAg
ICAgTE9BRF9FUlJPUikgIC8vIFdlIGV4cGVjdCBMT0FEX0VSUk9SIHNpbmNlIHRoZSBzZXJ2ZXIg
ZG9lc24ndCByZXNwb25kCi0gICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2l0aCBhbiBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBoZWFkZXIuCi0gICAgfSkudGhlbigoKSA9PiB7
Ci0gICAgICAgIHJldHVybiBjcmVhdGVfdGVzdF9wcm9taXNlKAotICAgICAgICAgICAgcmVtb3Rl
X2ltYWdlX3VybCArCi0gICAgICAgICAgICAnJm1vZGU9Y29ycyZjcmVkZW50aWFscz1zYW1lLW9y
aWdpbiZ1cmw9JyArCi0gICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX2ltYWdl
X3VybCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhv
c3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pLAotICAgICAgICAgICAgJycsCi0gICAgICAgICAgICBO
T1RfVEFJTlRFRCkKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZV90
ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAg
ICcmbW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1v
dGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJkFDQU9yaWdp
bj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSksCi0gICAgICAgICAgICAnYW5vbnltb3Vz
JywKLSAgICAgICAgICAgIE5PVF9UQUlOVEVEKQotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAg
ICByZXR1cm4gY3JlYXRlX3Rlc3RfcHJvbWlzZSgKLSAgICAgICAgICAgIHJlbW90ZV9pbWFnZV91
cmwgKwotICAgICAgICAgICAgJyZtb2RlPWNvcnMmdXJsPScgKwotICAgICAgICAgICAgZW5jb2Rl
VVJJQ29tcG9uZW50KHJlbW90ZV9pbWFnZV91cmwgKwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKLSAgICAg
ICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTE9BRF9FUlJPUikgLy8gV2Ug
ZXhwZWN0IExPQURfRVJST1Igc2luY2UgdGhlIHNlcnZlciBkb2Vzbid0IHJlc3BvbmQKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyB3aXRoIGFuIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRl
bnRpYWxzIGhlYWRlci4KLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0dXJuIGNyZWF0
ZV90ZXN0X3Byb21pc2UoCi0gICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAg
ICAgICcmbW9kZT1jb3JzJnVybD0nICsKLSAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudCgK
LSAgICAgICAgICAgICAgICByZW1vdGVfaW1hZ2VfdXJsICsKLSAgICAgICAgICAgICAgICAnJkFD
QUNyZWRlbnRpYWxzPXRydWUmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTidd
KSwKLSAgICAgICAgICAgICd1c2UtY3JlZGVudGlhbHMnLAotICAgICAgICAgICAgTk9UX1RBSU5U
RUQpCi0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoe3Jlc3Vs
dHM6IHJlc3VsdHN9KTsKLSAgICB9KS5jYXRjaChmdW5jdGlvbihlKSB7Ci0gICAgICAgIHBvcnQu
cG9zdE1lc3NhZ2Uoe3Jlc3VsdHM6ICdmYWlsdXJlOicgKyBlfSk7Ci0gICAgfSk7Ci0gIH0sIGZh
bHNlKTsKIDwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctdGVzdHMuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmFhZGEzNjY5ZWZmODllZjM3MWJhYWUyNzczZTc1MGIzMWVlMzdhOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1jYW52YXMtdGFpbnRpbmctdGVz
dHMuanMKQEAgLTAsMCArMSwyNDEgQEAKKy8vIFRoaXMgaXMgdGhlIG1haW4gZHJpdmVyIG9mIHRo
ZSBjYW52YXMgdGFpbnRpbmcgdGVzdHMuCitjb25zdCBOT1RfVEFJTlRFRCA9ICdOT1RfVEFJTlRF
RCc7Citjb25zdCBUQUlOVEVEID0gJ1RBSU5URUQnOworY29uc3QgTE9BRF9FUlJPUiA9ICdMT0FE
X0VSUk9SJzsKKworbGV0IGZyYW1lOworCisvLyBDcmVhdGVzIGEgc2luZ2xlIHByb21pc2VfdGVz
dC4KK2Z1bmN0aW9uIGNhbnZhc190YWludF90ZXN0KHVybCwgY3Jvc3Nfb3JpZ2luLCBleHBlY3Rl
ZF9yZXN1bHQpIHsKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICAgICAgcmV0dXJuIGZyYW1lLmNv
bnRlbnRXaW5kb3cuY3JlYXRlX3Rlc3RfY2FzZV9wcm9taXNlKHVybCwgY3Jvc3Nfb3JpZ2luKQor
ICAgICAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LCBleHBlY3RlZF9yZXN1bHQpOworICAgICAgICB9KTsKKyAgICB9LCAndXJsICInICsgdXJsICsg
JyIgd2l0aCBjcm9zc09yaWdpbiAiJyArIGNyb3NzX29yaWdpbiArICciIHNob3VsZCBiZSAnICsK
KyAgICAgICAgICAgZXhwZWN0ZWRfcmVzdWx0KTsKK30KKworCisvLyBSdW5zIGFsbCB0aGUgdGVz
dHMuIFRoZSBnaXZlbiB8cGFyYW1zfCBoYXMgdGhlc2UgcHJvcGVydGllczoKKy8vICogfHJlc291
cmNlX3BhdGh8OiB0aGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgKGltYWdlL3ZpZGVvKSByZXNvdXJj
ZSB0byB0ZXN0LgorLy8gKiB8Y2FjaGV8OiB3aGVuIHRydWUsIHRoZSBzZXJ2aWNlIHdvcmtlciBi
b3VuY2VzIHJlc3BvbnNlcyBpbnRvCisvLyAgIENhY2hlIFN0b3JhZ2UgYW5kIGJhY2sgb3V0IGJl
Zm9yZSByZXNwb25kaW5nIHdpdGggdGhlbS4KK2Z1bmN0aW9uIGRvX2NhbnZhc190YWludGluZ190
ZXN0cyhwYXJhbXMpIHsKKyAgY29uc3QgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOworICBs
ZXQgcmVzb3VyY2VfcGF0aCA9IHBhcmFtcy5yZXNvdXJjZV9wYXRoOworICBpZiAocGFyYW1zLmNh
Y2hlKQorICAgIHJlc291cmNlX3BhdGggKz0gIiZjYWNoZT10cnVlIjsKKyAgY29uc3QgcmVzb3Vy
Y2VfdXJsID0gaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArIHJlc291cmNlX3BhdGg7CisgIGNv
bnN0IHJlbW90ZV9yZXNvdXJjZV91cmwgPSBob3N0X2luZm9bJ0hUVFBTX1JFTU9URV9PUklHSU4n
XSArIHJlc291cmNlX3BhdGg7CisKKyAgLy8gU2V0IHVwIHRoZSBzZXJ2aWNlIHdvcmtlciBhbmQg
dGhlIGZyYW1lLgorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgICAgY29uc3QgU0NP
UEUgPSAncmVzb3VyY2VzL2ZldGNoLWNhbnZhcy10YWludGluZy1pZnJhbWUuaHRtbCc7CisgICAg
ICBjb25zdCBTQ1JJUFQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2VyLmpzJzsKKyAg
ICAgIGNvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKworICAgICAgLy8gbG9naW5f
aHR0cHMoKSBpcyBuZWVkZWQgYmVjYXVzZSBzb21lIHRlc3QgY2FzZXMgdXNlIGNyZWRlbnRpYWxz
LgorICAgICAgcmV0dXJuIGxvZ2luX2h0dHBzKHQpCisgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIFNDUklQVCwgU0NPUEUpOworICAgICAgICAgIH0pCisgICAgICAgIC50aGVuKGZ1bmN0
aW9uKHJlZ2lzdHJhdGlvbikgeworICAgICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAg
ICAgICAgICAgICAgICBpZiAoZnJhbWUpCisgICAgICAgICAgICAgICAgICBmcmFtZS5yZW1vdmUo
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKKyAg
ICAgICAgICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7CisKKyAgICAgICAgICAgIHJl
dHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRl
ZCcpOworICAgICAgICAgIH0pCisgICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gd2l0
aF9pZnJhbWUoU0NPUEUpOyB9KQorICAgICAgICAudGhlbihmID0+IHsKKyAgICAgICAgICAgIGZy
YW1lID0gZjsKKyAgICAgICAgICB9KTsKKyAgICB9LCAnaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUn
KTsKKworICAvLyBSZWplY3QgdGVzdHMuIEFkZCAnJnJlamVjdCcgc28gdGhlIHNlcnZpY2Ugd29y
a2VyIHJlc3BvbmRzIHdpdGggYSByZWplY3RlZCBwcm9taXNlLgorICAvLyBBIGxvYWQgZXJyb3Ig
aXMgZXhwZWN0ZWQuCisgIGNhbnZhc190YWludF90ZXN0KHJlc291cmNlX3VybCArICcmcmVqZWN0
JywgJycsIExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdChyZXNvdXJjZV91cmwgKyAn
JnJlamVjdCcsICdhbm9ueW1vdXMnLCBMT0FEX0VSUk9SKTsKKyAgY2FudmFzX3RhaW50X3Rlc3Qo
cmVzb3VyY2VfdXJsICsgJyZyZWplY3QnLCAndXNlLWNyZWRlbnRpYWxzJywgTE9BRF9FUlJPUik7
CisKKyAgLy8gRmFsbGJhY2sgdGVzdHMuIEFkZCAnJmlnbm9yZScgc28gdGhlIHNlcnZpY2Ugd29y
a2VyIGRvZXMgbm90IHJlc3BvbmQgdG8gdGhlIGZldGNoCisgIC8vIHJlcXVlc3QsIGFuZCB3ZSBm
YWxsIGJhY2sgdG8gbmV0d29yay4KKyAgY2FudmFzX3RhaW50X3Rlc3QocmVzb3VyY2VfdXJsICsg
JyZpZ25vcmUnLCAnJywgTk9UX1RBSU5URUQpOworICBjYW52YXNfdGFpbnRfdGVzdChyZW1vdGVf
cmVzb3VyY2VfdXJsICsgJyZpZ25vcmUnLCAnJywgVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90
ZXN0KHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJmlnbm9yZScsICdhbm9ueW1vdXMnLCBMT0FEX0VS
Uk9SKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsg
JyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10gKworICAgICAgICAgICcm
aWdub3JlJywKKyAgICAgICdhbm9ueW1vdXMnLAorICAgICAgTk9UX1RBSU5URUQpOworICBjYW52
YXNfdGFpbnRfdGVzdChyZW1vdGVfcmVzb3VyY2VfdXJsICsgJyZpZ25vcmUnLCAndXNlLWNyZWRl
bnRpYWxzJywgTE9BRF9FUlJPUik7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAgcmVtb3Rl
X3Jlc291cmNlX3VybCArICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTidd
ICsKKyAgICAgICAgICAnJmlnbm9yZScsCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAg
IExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJj
ZV91cmwgKyAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19PUklHSU4nXSArCisgICAg
ICAgICAgJyZBQ0FDcmVkZW50aWFscz10cnVlJmlnbm9yZScsCisgICAgICAndXNlLWNyZWRlbnRp
YWxzJywKKyAgICAgIE5PVF9UQUlOVEVEKTsKKworICAvLyBDcmVkZW50aWFsIHRlc3RzICh3aXRo
IGZhbGxiYWNrKS4gQWRkICcmQXV0aCcgc28gdGhlIHNlcnZlciByZXF1aXJlcyBhdXRoZW50aWNh
dGlvbi4KKyAgLy8gRnVydGhlcm1vcmUsIGFkZCAnJmlnbm9yZScgc28gdGhlIHNlcnZpY2Ugd29y
a2VyIGZhbGxzIGJhY2sgdG8gbmV0d29yay4KKyAgY2FudmFzX3RhaW50X3Rlc3QocmVzb3VyY2Vf
dXJsICsgJyZBdXRoJmlnbm9yZScsICcnLCBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90
ZXN0KHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJkF1dGgmaWdub3JlJywgJycsIFRBSU5URUQpOwor
ICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJkF1dGgm
aWdub3JlJywgJ2Fub255bW91cycsIExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdCgK
KyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJkF1dGgmaWdub3JlJywKKyAgICAgICd1c2Ut
Y3JlZGVudGlhbHMnLAorICAgICAgTE9BRF9FUlJPUik7CisgIGNhbnZhc190YWludF90ZXN0KAor
ICAgICAgcmVtb3RlX3Jlc291cmNlX3VybCArICcmQXV0aCZBQ0FPcmlnaW49JyArIGhvc3RfaW5m
b1snSFRUUFNfT1JJR0lOJ10gKworICAgICAgJyZpZ25vcmUnLAorICAgICAgJ3VzZS1jcmVkZW50
aWFscycsCisgICAgICBMT0FEX0VSUk9SKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICBy
ZW1vdGVfcmVzb3VyY2VfdXJsICsgJyZBdXRoJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQ
U19PUklHSU4nXSArCisgICAgICAnJkFDQUNyZWRlbnRpYWxzPXRydWUmaWdub3JlJywKKyAgICAg
ICd1c2UtY3JlZGVudGlhbHMnLAorICAgICAgTk9UX1RBSU5URUQpOworCisgIC8vIEluIHRoZSBm
b2xsb3dpbmcgdGVzdHMsIHRoZSBzZXJ2aWNlIHdvcmtlciBwcm92aWRlcyBhIHJlc3BvbnNlLgor
ICAvLyBBZGQgJyZ1cmwnIHNvIHRoZSBzZXJ2aWNlIHdvcmtlciByZXNwb25kcyB3aXRoIGZldGNo
KHVybCkuCisgIC8vIEFkZCAnJm1vZGUnIHRvIGNvbmZpZ3VyZSB0aGUgZmV0Y2ggcmVxdWVzdCBv
cHRpb25zLgorCisgIC8vIEJhc2ljIHJlc3BvbnNlIHRlc3RzLiBTZXQgJnVybCB0byB0aGUgb3Jp
Z2luYWwgdXJsLgorICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlc291cmNlX3VybCArICcm
bW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZXNvdXJjZV91cmwp
LAorICAgICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAor
ICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPXNhbWUtb3JpZ2luJnVybD0nICsgZW5jb2RlVVJJ
Q29tcG9uZW50KHJlc291cmNlX3VybCksCisgICAgICAnYW5vbnltb3VzJywKKyAgICAgIE5PVF9U
QUlOVEVEKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJjZV91cmwgKyAnJm1v
ZGU9c2FtZS1vcmlnaW4mdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VfdXJsKSwK
KyAgICAgICd1c2UtY3JlZGVudGlhbHMnLAorICAgICAgTk9UX1RBSU5URUQpOworICBjYW52YXNf
dGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJm1vZGU9c2FtZS1vcmln
aW4mdXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZXNvdXJjZV91cmwpLAor
ICAgICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAorICAg
ICAgcmVtb3RlX3Jlc291cmNlX3VybCArICcmbW9kZT1zYW1lLW9yaWdpbiZ1cmw9JyArCisgICAg
ICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KHJlc291cmNlX3VybCksCisgICAgICAnYW5vbnltb3Vz
JywKKyAgICAgIE5PVF9UQUlOVEVEKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1v
dGVfcmVzb3VyY2VfdXJsICsgJyZtb2RlPXNhbWUtb3JpZ2luJnVybD0nICsKKyAgICAgICAgICBl
bmNvZGVVUklDb21wb25lbnQocmVzb3VyY2VfdXJsKSwKKyAgICAgICd1c2UtY3JlZGVudGlhbHMn
LAorICAgICAgTk9UX1RBSU5URUQpOworCisgIC8vIE9wYXF1ZSByZXNwb25zZSB0ZXN0cy4gU2V0
ICZ1cmwgdG8gdGhlIGNyb3NzLW9yaWdpbiBVUkwsIGFuZCAmbW9kZSB0bworICAvLyAnbm8tY29y
cycgc28gd2UgZXhwZWN0IGFuIG9wYXF1ZSByZXNwb25zZS4KKyAgY2FudmFzX3RhaW50X3Rlc3Qo
CisgICAgICByZXNvdXJjZV91cmwgKworICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsg
ZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwpLAorICAgICAgJycsCisgICAg
ICBUQUlOVEVEKTsKKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJjZV91cmwgKwor
ICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90
ZV9yZXNvdXJjZV91cmwpLAorICAgICAgJ2Fub255bW91cycsCisgICAgICBMT0FEX0VSUk9SKTsK
KyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZXNvdXJjZV91cmwgKworICAgICAgICAgICcm
bW9kZT1uby1jb3JzJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91
cmwpLAorICAgICAgJ3VzZS1jcmVkZW50aWFscycsCisgICAgICBMT0FEX0VSUk9SKTsKKyAgY2Fu
dmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAgICAn
Jm1vZGU9bm8tY29ycyZ1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2Vf
dXJsKSwKKyAgICAgICcnLAorICAgICAgVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90ZXN0KAor
ICAgICAgcmVtb3RlX3Jlc291cmNlX3VybCArCisgICAgICAgICAgJyZtb2RlPW5vLWNvcnMmdXJs
PScgKyBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX3Jlc291cmNlX3VybCksCisgICAgICAnYW5v
bnltb3VzJywKKyAgICAgIExPQURfRVJST1IpOworICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAg
IHJlbW90ZV9yZXNvdXJjZV91cmwgKworICAgICAgICAgICcmbW9kZT1uby1jb3JzJnVybD0nICsg
ZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwpLAorICAgICAgJ3VzZS1jcmVk
ZW50aWFscycsCisgICAgICBMT0FEX0VSUk9SKTsKKworICAvLyBDT1JTIHJlc3BvbnNlIHRlc3Rz
LiBTZXQgJnVybCB0byB0aGUgY3Jvc3Mtb3JpZ2luIFVSTCwgYW5kICZtb2RlCisgIC8vIHRvICdj
b3JzJyB0byBhdHRlbXB0IGEgQ09SUyByZXF1ZXN0LgorICBjYW52YXNfdGFpbnRfdGVzdCgKKyAg
ICAgIHJlc291cmNlX3VybCArICcmbW9kZT1jb3JzJnVybD0nICsKKyAgICAgICAgICBlbmNvZGVV
UklDb21wb25lbnQocmVtb3RlX3Jlc291cmNlX3VybCArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddKSwKKyAgICAg
ICcnLAorICAgICAgTE9BRF9FUlJPUik7IC8vIFdlIGV4cGVjdCBMT0FEX0VSUk9SIHNpbmNlIHRo
ZSBzZXJ2ZXIgZG9lc24ndCByZXNwb25kCisgICAgICAgICAgICAgICAgICAgLy8gd2l0aCBhbiBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyBoZWFkZXIuCisgIGNhbnZhc190YWludF90
ZXN0KAorICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNvcnMmY3JlZGVudGlhbHM9c2FtZS1v
cmlnaW4mdXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3Vy
Y2VfdXJsICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhv
c3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pLAorICAgICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7
CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNvcnMm
dXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJs
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5m
b1snSFRUUFNfT1JJR0lOJ10pLAorICAgICAgJ2Fub255bW91cycsCisgICAgICBOT1RfVEFJTlRF
RCk7CisgIGNhbnZhc190YWludF90ZXN0KAorICAgICAgcmVzb3VyY2VfdXJsICsgJyZtb2RlPWNv
cnMmdXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2Vf
dXJsICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3Rf
aW5mb1snSFRUUFNfT1JJR0lOJ10pLAorICAgICAgJ3VzZS1jcmVkZW50aWFscycsCisgICAgICBM
T0FEX0VSUk9SKTsgLy8gV2UgZXhwZWN0IExPQURfRVJST1Igc2luY2UgdGhlIHNlcnZlciBkb2Vz
bid0IHJlc3BvbmQKKyAgICAgICAgICAgICAgICAgICAvLyB3aXRoIGFuIEFjY2Vzcy1Db250cm9s
LUFsbG93LUNyZWRlbnRpYWxzIGhlYWRlci4KKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICBy
ZXNvdXJjZV91cmwgKyAnJm1vZGU9Y29ycyZ1cmw9JyArCisgICAgICAgICAgZW5jb2RlVVJJQ29t
cG9uZW50KAorICAgICAgICAgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAgICAg
ICAgJyZBQ0FDcmVkZW50aWFscz10cnVlJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQU19P
UklHSU4nXSksCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIE5PVF9UQUlOVEVEKTsK
KyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsgJyZtb2Rl
PWNvcnMmdXJsPScgKworICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3Vy
Y2VfdXJsICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhv
c3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pLAorICAgICAgJycsCisgICAgICBMT0FEX0VSUk9SKTsg
Ly8gV2UgZXhwZWN0IExPQURfRVJST1Igc2luY2UgdGhlIHNlcnZlciBkb2Vzbid0IHJlc3BvbmQK
KyAgICAgICAgICAgICAgICAgICAvLyB3aXRoIGFuIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRl
bnRpYWxzIGhlYWRlci4KKyAgY2FudmFzX3RhaW50X3Rlc3QoCisgICAgICByZW1vdGVfcmVzb3Vy
Y2VfdXJsICsgJyZtb2RlPWNvcnMmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4mdXJsPScgKworICAg
ICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJyZBQ0FPcmlnaW49JyArIGhvc3RfaW5mb1snSFRUUFNfT1JJ
R0lOJ10pLAorICAgICAgJycsCisgICAgICBOT1RfVEFJTlRFRCk7CisgIGNhbnZhc190YWludF90
ZXN0KAorICAgICAgcmVtb3RlX3Jlc291cmNlX3VybCArICcmbW9kZT1jb3JzJnVybD0nICsKKyAg
ICAgICAgICBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlX3Jlc291cmNlX3VybCArCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICcmQUNBT3JpZ2luPScgKyBob3N0X2luZm9bJ0hUVFBTX09S
SUdJTiddKSwKKyAgICAgICdhbm9ueW1vdXMnLAorICAgICAgTk9UX1RBSU5URUQpOworICBjYW52
YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90ZV9yZXNvdXJjZV91cmwgKyAnJm1vZGU9Y29ycyZ1
cmw9JyArCisgICAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZV9yZXNvdXJjZV91cmwg
KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZv
WydIVFRQU19PUklHSU4nXSksCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIExPQURf
RVJST1IpOyAvLyBXZSBleHBlY3QgTE9BRF9FUlJPUiBzaW5jZSB0aGUgc2VydmVyIGRvZXNuJ3Qg
cmVzcG9uZAorICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYW4gQWNjZXNzLUNvbnRyb2wtQWxs
b3ctQ3JlZGVudGlhbHMgaGVhZGVyLgorICBjYW52YXNfdGFpbnRfdGVzdCgKKyAgICAgIHJlbW90
ZV9yZXNvdXJjZV91cmwgKyAnJm1vZGU9Y29ycyZ1cmw9JyArCisgICAgICAgICAgZW5jb2RlVVJJ
Q29tcG9uZW50KAorICAgICAgICAgICAgICByZW1vdGVfcmVzb3VyY2VfdXJsICsKKyAgICAgICAg
ICAgICAgJyZBQ0FDcmVkZW50aWFscz10cnVlJkFDQU9yaWdpbj0nICsgaG9zdF9pbmZvWydIVFRQ
U19PUklHSU4nXSksCisgICAgICAndXNlLWNyZWRlbnRpYWxzJywKKyAgICAgIE5PVF9UQUlOVEVE
KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1jb3Jz
LWV4cG9zZWQtaGVhZGVyLW5hbWVzLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLXdvcmtlci5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xNDU5NTJhMjJjZjAzMWU1MDU0MTJmY2Y3ZDQwZDU5ZDUyN2Y3NWRjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWNvcnMtZXhwb3NlZC1oZWFk
ZXItbmFtZXMtd29ya2VyLmpzCkBAIC0wLDAgKzEsMyBAQAorc2VsZi5hZGRFdmVudExpc3RlbmVy
KCdmZXRjaCcsIChlKSA9PiB7CisgICAgZS5yZXNwb25kV2l0aChmZXRjaChlLnJlcXVlc3QpKTsK
KyAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZl
bnQtbmV0d29yay1mYWxsYmFjay13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvZmV0Y2gtZXZlbnQtbmV0d29yay1mYWxsYmFjay13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFh
MjAwYzJiYWRiODI5NjRjYzM1MDY5OTgzMmE3MzBiNTJjOTFhNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1uZXR3b3JrLWZhbGxiYWNr
LXdvcmtlci5qcwpAQCAtMCwwICsxLDMgQEAKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gn
LCAoKSA9PiB7CisgICAgLy8gRG8gbm90aGluZy4KKyAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWN1c3RvbS1yZXNw
b25zZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQt
cmVzcG9uZC13aXRoLWN1c3RvbS1yZXNwb25zZS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmYyNGFl
ZDEyODJjOGNmNjliODAxY2I0ODQxNTk0YWVmMTlkYjYxMwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9t
LXJlc3BvbnNlLXdvcmtlci5qcwpAQCAtMCwwICsxLDQ1IEBACisndXNlIHN0cmljdCc7CisKK2Fk
ZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJM
KGV2ZW50LnJlcXVlc3QudXJsKTsKKyAgY29uc3QgdHlwZSA9IHVybC5zZWFyY2hQYXJhbXMuZ2V0
KCd0eXBlJyk7CisKKyAgaWYgKCF0eXBlKSByZXR1cm47CisKKyAgaWYgKHR5cGUgPT09ICdzdHJp
bmcnKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKCdQQVNTJykpOworICB9
CisgIGVsc2UgaWYgKHR5cGUgPT09ICdibG9iJykgeworICAgIGV2ZW50LnJlc3BvbmRXaXRoKAor
ICAgICAgbmV3IFJlc3BvbnNlKG5ldyBCbG9iKFsnUEFTUyddKSkKKyAgICApOworICB9CisgIGVs
c2UgaWYgKHR5cGUgPT09ICdidWZmZXItdmlldycpIHsKKyAgICBjb25zdCBlbmNvZGVyID0gbmV3
IFRleHRFbmNvZGVyKCk7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICBuZXcgUmVzcG9u
c2UoZW5jb2Rlci5lbmNvZGUoJ1BBU1MnKSkKKyAgICApOworICB9CisgIGVsc2UgaWYgKHR5cGUg
PT09ICdidWZmZXInKSB7CisgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpOwor
ICAgIGV2ZW50LnJlc3BvbmRXaXRoKAorICAgICAgbmV3IFJlc3BvbnNlKGVuY29kZXIuZW5jb2Rl
KCdQQVNTJykuYnVmZmVyKQorICAgICk7CisgIH0KKyAgZWxzZSBpZiAodHlwZSA9PT0gJ2Zvcm0t
ZGF0YScpIHsKKyAgICBjb25zdCBib2R5ID0gbmV3IEZvcm1EYXRhKCk7CisgICAgYm9keS5zZXQo
J3Jlc3VsdCcsICdQQVNTJyk7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICBuZXcgUmVz
cG9uc2UoYm9keSkKKyAgICApOworICB9CisgIGVsc2UgaWYgKHR5cGUgPT09ICdzZWFyY2gtcGFy
YW1zJykgeworICAgIGNvbnN0IGJvZHkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7CisgICAgYm9k
eS5zZXQoJ3Jlc3VsdCcsICdQQVNTJyk7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICBu
ZXcgUmVzcG9uc2UoYm9keSwgeworICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAn
dGV4dC9wbGFpbicgfQorICAgICAgfSkKKyAgICApOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFi
bGUtc3RyZWFtLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0taWZyYW1lLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5MDRkNzU2NTdkNTc4MTUyMGIwODkyNjE3ODhkMjYwZDEy
MmNmZjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJs
ZS1zdHJlYW0taWZyYW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPHNjcmlwdD4KLSd1c2Ugc3RyaWN0JzsKLQotZmV0Y2goJ2JvZHktc3RyZWFt
JykudGhlbihyZXNwID0+IHsKLSAgICByZXR1cm4gcmVzcC50ZXh0KCk7Ci0gIH0pLnRoZW4odGV4
dCA9PiBwYXJlbnQuZG9uZSh0ZXh0KSkKLSAgLmNhdGNoKGUgPT4gcGFyZW50LmRvbmUoJ0ZBSUw6
ICcgKyBlKSk7Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVhZGFibGUtc3RyZWFtLXdvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcmVh
ZGFibGUtc3RyZWFtLXdvcmtlci5qcwppbmRleCBkZGFiYTU1ZmE3YmE1MmY5M2I4MDdhZDE2ZjM1
NzgxMDRkZGIyOTUzLi5hYWFiZGMzOTFhOWU1ZWQ0MjZiNTY5OGMzNGEwOTA3ZTJjNjE0NzBhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9u
ZC13aXRoLXJlYWRhYmxlLXN0cmVhbS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0td29ya2Vy
LmpzCkBAIC0xLDEzICsxLDM3IEBACiAndXNlIHN0cmljdCc7CitpbXBvcnRTY3JpcHRzKCIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CiAKIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gn
LCBldmVudCA9PiB7Ci0gICAgaWYgKCFldmVudC5yZXF1ZXN0LnVybC5tYXRjaCgvYm9keS1zdHJl
YW0kLykpCi0gICAgICByZXR1cm47CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoZXZlbnQucmVxdWVz
dC51cmwpOworICBpZiAoIXVybC5zZWFyY2hQYXJhbXMuaGFzKCdzdHJlYW0nKSkgcmV0dXJuOwog
Ci0gICAgY29uc3Qgc3RyZWFtID0gbmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydDogY29udHJvbGxl
ciA9PiB7Ci0gICAgICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTsKKyAgaWYg
KHVybC5zZWFyY2hQYXJhbXMuaGFzKCd1c2UtZmV0Y2gtc3RyZWFtJykpIHsKKyAgICBldmVudC5y
ZXNwb25kV2l0aChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdh
aXQgZmV0Y2goJ3Bhc3MudHh0Jyk7CisgICAgICByZXR1cm4gbmV3IFJlc3BvbnNlKHJlc3BvbnNl
LmJvZHkpOworICAgIH0oKSk7CisgICAgcmV0dXJuOworICB9CisKKyAgY29uc3QgZGVsYXlFbnF1
ZXVlID0gdXJsLnNlYXJjaFBhcmFtcy5oYXMoJ2RlbGF5Jyk7CisKKyAgY29uc3Qgc3RyZWFtID0g
bmV3IFJlYWRhYmxlU3RyZWFtKHsKKyAgICBzdGFydChjb250cm9sbGVyKSB7CisgICAgICBjb25z
dCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7CisKKyAgICAgIGNvbnN0IHBvcHVsYXRlID0g
KCkgPT4gewogICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoJ1BBU1Mn
KSk7CiAgICAgICAgIGNvbnRyb2xsZXIuY2xvc2UoKTsKLSAgICAgIH19KTsKLSAgICBldmVudC5y
ZXNwb25kV2l0aChuZXcgUmVzcG9uc2Uoc3RyZWFtKSk7CisgICAgICB9CisKKyAgICAgIGlmIChk
ZWxheUVucXVldWUpIHsKKyAgICAgICAgc3RlcF90aW1lb3V0KHBvcHVsYXRlLCAxNik7CisgICAg
ICB9CisgICAgICBlbHNlIHsKKyAgICAgICAgcG9wdWxhdGUoKTsKKyAgICAgIH0KKyAgICB9CiAg
IH0pOworCisgIGV2ZW50LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZShzdHJlYW0pKTsKK30pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qt
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXRlc3Qt
d29ya2VyLmpzCmluZGV4IDY1MDI1ZDkzNDA5M2FlOGNhYjMwYWI0M2IwMTEzZjAxNTEzYTQ1MTAu
LjBhNTJhODIwMWVhOTZkNTBkM2ZhNmVlMzAyZjZhYTkwYjQ0MzVkYTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC10ZXN0LXdvcmtlci5qcworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtdGVzdC13b3JrZXIuanMK
QEAgLTM3LDYgKzM3LDE2IEBAIGZ1bmN0aW9uIGhhbmRsZUNsaWVudElkKGV2ZW50KSB7CiAgIGV2
ZW50LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZShib2R5KSk7CiB9CiAKK2Z1bmN0aW9uIGhhbmRs
ZVJlc3VsdGluZ0NsaWVudElkKGV2ZW50KSB7CisgIHZhciBib2R5OworICBpZiAoZXZlbnQucmVz
dWx0aW5nQ2xpZW50SWQgIT09ICIiKSB7CisgICAgYm9keSA9ICdSZXN1bHRpbmcgQ2xpZW50IElE
IEZvdW5kOiAnICsgZXZlbnQucmVzdWx0aW5nQ2xpZW50SWQ7CisgIH0gZWxzZSB7CisgICAgYm9k
eSA9ICdSZXN1bHRpbmcgQ2xpZW50IElEIE5vdCBGb3VuZCc7CisgIH0KKyAgZXZlbnQucmVzcG9u
ZFdpdGgobmV3IFJlc3BvbnNlKGJvZHkpKTsKK30KKwogZnVuY3Rpb24gaGFuZGxlTnVsbEJvZHko
ZXZlbnQpIHsKICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKCkpOwogfQpAQCAtMTI5
LDYgKzEzOSwyMiBAQCBmdW5jdGlvbiBoYW5kbGVLZWVwYWxpdmUoZXZlbnQpIHsKICAgZXZlbnQu
cmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKGV2ZW50LnJlcXVlc3Qua2VlcGFsaXZlKSk7CiB9CiAK
K2Z1bmN0aW9uIGhhbmRsZUlzUmVsb2FkTmF2aWdhdGlvbihldmVudCkgeworICBjb25zdCByZXF1
ZXN0ID0gZXZlbnQucmVxdWVzdDsKKyAgY29uc3QgYm9keSA9CisgICAgYG1ldGhvZCA9ICR7cmVx
dWVzdC5tZXRob2R9LCBgICsKKyAgICBgaXNSZWxvYWROYXZpZ2F0aW9uID0gJHtyZXF1ZXN0Lmlz
UmVsb2FkTmF2aWdhdGlvbn1gOworICBldmVudC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoYm9k
eSkpOworfQorCitmdW5jdGlvbiBoYW5kbGVJc0hpc3RvcnlOYXZpZ2F0aW9uKGV2ZW50KSB7Cisg
IGNvbnN0IHJlcXVlc3QgPSBldmVudC5yZXF1ZXN0OworICBjb25zdCBib2R5ID0KKyAgICBgbWV0
aG9kID0gJHtyZXF1ZXN0Lm1ldGhvZH0sIGAgKworICAgIGBpc0hpc3RvcnlOYXZpZ2F0aW9uID0g
JHtyZXF1ZXN0LmlzSGlzdG9yeU5hdmlnYXRpb259YDsKKyAgZXZlbnQucmVzcG9uZFdpdGgobmV3
IFJlc3BvbnNlKGJvZHkpKTsKK30KKwogc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGZ1
bmN0aW9uKGV2ZW50KSB7CiAgICAgdmFyIHVybCA9IGV2ZW50LnJlcXVlc3QudXJsOwogICAgIHZh
ciBoYW5kbGVycyA9IFsKQEAgLTEzOSw2ICsxNjUsNyBAQCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIo
J2ZldGNoJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgIHsgcGF0dGVybjogJz9yZWZlcnJlclBv
bGljeScsIGZuOiBoYW5kbGVSZWZlcnJlclBvbGljeSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP3Jl
ZmVycmVyJywgZm46IGhhbmRsZVJlZmVycmVyIH0sCiAgICAgICB7IHBhdHRlcm46ICc/Y2xpZW50
SWQnLCBmbjogaGFuZGxlQ2xpZW50SWQgfSwKKyAgICAgIHsgcGF0dGVybjogJz9yZXN1bHRpbmdD
bGllbnRJZCcsIGZuOiBoYW5kbGVSZXN1bHRpbmdDbGllbnRJZCB9LAogICAgICAgeyBwYXR0ZXJu
OiAnP2lnbm9yZScsIGZuOiBmdW5jdGlvbigpIHt9IH0sCiAgICAgICB7IHBhdHRlcm46ICc/bnVs
bCcsIGZuOiBoYW5kbGVOdWxsQm9keSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP2ZldGNoJywgZm46
IGhhbmRsZUZldGNoIH0sCkBAIC0xNTEsNiArMTc4LDggQEAgc2VsZi5hZGRFdmVudExpc3RlbmVy
KCdmZXRjaCcsIGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICB7IHBhdHRlcm46ICc/aW50ZWdyaXR5
JywgZm46IGhhbmRsZUludGVncml0eSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP3JlcXVlc3QtYm9k
eScsIGZuOiBoYW5kbGVSZXF1ZXN0Qm9keSB9LAogICAgICAgeyBwYXR0ZXJuOiAnP2tlZXBhbGl2
ZScsIGZuOiBoYW5kbGVLZWVwYWxpdmUgfSwKKyAgICAgIHsgcGF0dGVybjogJz9pc1JlbG9hZE5h
dmlnYXRpb24nLCBmbjogaGFuZGxlSXNSZWxvYWROYXZpZ2F0aW9uIH0sCisgICAgICB7IHBhdHRl
cm46ICc/aXNIaXN0b3J5TmF2aWdhdGlvbicsIGZuOiBoYW5kbGVJc0hpc3RvcnlOYXZpZ2F0aW9u
IH0sCiAgICAgXTsKIAogICAgIHZhciBoYW5kbGVyID0gbnVsbDsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWlt
ZS1jaGVjay1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1y
ZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay1pZnJhbWUuaHRtbAppbmRleCBkY2I4
Mjg3MTM1NGUwZGY3Yzk0NDVkNDE3M2FiOTk1NjdjYjcxMzJmLi45YTRhZGVkYjg0ZDQ2NmUxYTdk
YjQxYWRhZTc2N2E3YTNhZjBhMWFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2staWZyYW1lLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNy
b3NzLW9yaWdpbi1taW1lLWNoZWNrLWlmcmFtZS5odG1sCkBAIC01LDExICs1LDExIEBACiAjc2Ft
ZU9yaWdpbkh0bWwgeyBjb2xvcjogcmVkOyB9CiAjc3ludGhldGljIHsgY29sb3I6IHJlZDsgfQog
PC9zdHlsZT4KLTxsaW5rIGhyZWY9Ii4vY3Jvc3Mtb3JpZ2luLWNzcy5jc3MiIHJlbD0ic3R5bGVz
aGVldCIgdHlwZT0idGV4dC9jc3MiPgotPGxpbmsgaHJlZj0iLi9jcm9zcy1vcmlnaW4taHRtbC5j
c3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgorPGxpbmsgaHJlZj0iLi9jcm9z
cy1vcmlnaW4tY3NzLmNzcz9taW1lPW5vIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3Nz
Ij4KKzxsaW5rIGhyZWY9Ii4vY3Jvc3Mtb3JpZ2luLWh0bWwuY3NzP21pbWU9bm8iIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgogPGxpbmsgaHJlZj0iLi9mZXRjaC1yZXF1ZXN0LWNz
cy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay1zYW1lLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyI+CiA8bGluayBocmVmPSIuL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdp
bi1taW1lLWNoZWNrLXNhbWUuaHRtbCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+
Ci08bGluayBocmVmPSIuL3N5bnRoZXRpYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiPgorPGxpbmsgaHJlZj0iLi9zeW50aGV0aWMuY3NzP21pbWU9bm8iIHJlbD0ic3R5bGVz
aGVldCIgdHlwZT0idGV4dC9jc3MiPgogPGgxIGlkPWNyb3NzT3JpZ2luQ3NzPkkgc2hvdWxkIGJl
IGJsdWU8L2gxPgogPGgxIGlkPWNyb3NzT3JpZ2luSHRtbD5JIHNob3VsZCBiZSBibHVlPC9oMT4K
IDxoMSBpZD1zYW1lT3JpZ2luQ3NzPkkgc2hvdWxkIGJlIGJsdWU8L2gxPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdp
bi1taW1lLWNoZWNrLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay13b3JrZXIuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3NDE0MmY1Y2U0NDAwMTZiYjUzYjRjZThjZWNjNDRjOGFk
YjViODUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1t
aW1lLWNoZWNrLXdvcmtlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLWltcG9y
dFNjcmlwdHMoJy9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMnKTsKLWltcG9ydFNjcmlwdHMo
J3Rlc3QtaGVscGVycy5zdWIuanMnKTsKLQotc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcs
IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgaWYgKGV2ZW50LnJlcXVlc3QudXJsLmluZGV4T2YoJ2Ny
b3NzLW9yaWdpbi1jc3MuY3NzJykgIT0gLTEpIHsKLSAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKGZl
dGNoKAotICAgICAgICAgIGdldF9ob3N0X2luZm8oKVsnSFRUUFNfUkVNT1RFX09SSUdJTiddICsg
YmFzZV9wYXRoKCkgKwotICAgICAgICAgICdmZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4t
bWltZS1jaGVjay1jcm9zcy5jc3MnLAotICAgICAgICAgIHttb2RlOiAnbm8tY29ycyd9KSk7Ci0g
ICAgfSBlbHNlIGlmIChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdjcm9zcy1vcmlnaW4taHRt
bC5jc3MnKSAhPSAtMSkgewotICAgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goCi0gICAgICAg
ICAgZ2V0X2hvc3RfaW5mbygpWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKSAr
Ci0gICAgICAgICAgJ2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLWNy
b3NzLmh0bWwnLAotICAgICAgICAgIHttb2RlOiAnbm8tY29ycyd9KSk7Ci0gICAgfSBlbHNlIGlm
IChldmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdzeW50aGV0aWMuY3NzJykgIT0gLTEpIHsKLSAg
ICAgIGV2ZW50LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZSgiI3N5bnRoZXRpYyB7IGNvbG9yOiBi
bHVlOyB9IikpOwotICAgIH0gZWxzZSB7Ci0gICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChl
dmVudC5yZXF1ZXN0KSk7Ci0gICAgfQotICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tcmVhZC1jb250ZW50
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNy
b3NzLW9yaWdpbi1yZWFkLWNvbnRlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzkwMjM2NmIwMjNhY2Nk
NjExZDUyY2QxYzM0ZTZiN2M1MzhmNWNjNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tcmVhZC1jb250
ZW50cy5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHRpdGxlPmlmcmFtZTogY3Jvc3Mtb3JpZ2luIENTUyB2aWEgc2VydmljZSB3
b3JrZXI8L3RpdGxlPgorCis8IS0tIFNlcnZpY2Ugd29ya2VyIHJlc3BvbmRzIHdpdGggYSBjcm9z
cy1vcmlnaW4gb3BhcXVlIHJlc3BvbnNlLiAtLT4KKzxsaW5rIGhyZWY9ImNyb3NzLW9yaWdpbi1j
c3MuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KKworPCEtLSBTZXJ2aWNl
IHdvcmtlciByZXNwb25kcyB3aXRoIGEgY3Jvc3Mtb3JpZ2luIENPUlMgYXBwcm92ZWQgcmVzcG9u
c2UuIC0tPgorPGxpbmsgaHJlZj0iY3Jvc3Mtb3JpZ2luLWNzcy5jc3M/Y29ycyIgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CisKKzwhLS0gU2VydmljZSB3b3JrZXIgZmFsbHMgYmFj
ayB0byBuZXR3b3JrLiBUaGlzIGlzIGEgc2FtZS1vcmlnaW4gcmVzcG9uc2UuIC0tPgorPGxpbmsg
aHJlZj0iZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2stc2FtZS5jc3Mi
IHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPgorCis8IS0tIFNlcnZpY2Ugd29ya2Vy
IHJlc3BvbmRzIHdpdGggYSBuZXcgUmVzcG9uc2UoKSBzeW50aGV0aWMgcmVzcG9uc2UuIC0tPgor
PGxpbmsgaHJlZj0ic3ludGhldGljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2Nz
cyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVz
dC1jc3MtY3Jvc3Mtb3JpZ2luLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4td29ya2VyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3
MWU5MTIxNmMxMDg5M2RhZmI3MmZkMDFkZTgyMmVmMjllNDBlNDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3Jp
Z2luLXdvcmtlci5qcwpAQCAtMCwwICsxLDY1IEBACitpbXBvcnRTY3JpcHRzKCcvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzJyk7CitpbXBvcnRTY3JpcHRzKCd0ZXN0LWhlbHBlcnMuc3ViLmpz
Jyk7CisKK2NvbnN0IEhPU1RfSU5GTyA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IFJFTU9URV9P
UklHSU4gPSBIT1NUX0lORk8uSFRUUFNfUkVNT1RFX09SSUdJTjsKK2NvbnN0IEJBU0VfUEFUSCA9
IGJhc2VfcGF0aCgpOworY29uc3QgQ1NTX0ZJTEUgPSAnZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mt
b3JpZ2luLW1pbWUtY2hlY2stY3Jvc3MuY3NzJzsKK2NvbnN0IEhUTUxfRklMRSA9ICdmZXRjaC1y
ZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tbWltZS1jaGVjay1jcm9zcy5odG1sJzsKKworZnVuY3Rp
b24gYWRkX3BpcGVfaGVhZGVyKHVybF9zdHIsIGhlYWRlcikgeworICBpZiAodXJsX3N0ci5pbmRl
eE9mKCc/cGlwZT0nKSA9PSAtMSkgeworICAgIHVybF9zdHIgKz0gJz9waXBlPSc7CisgIH0gZWxz
ZSB7CisgICAgdXJsX3N0ciArPSAnfCc7CisgIH0KKyAgdXJsX3N0ciArPSBgaGVhZGVyJHtoZWFk
ZXJ9YDsKKyAgcmV0dXJuIHVybF9zdHI7Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0
Y2gnLCBmdW5jdGlvbihldmVudCkgeworICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoZXZlbnQucmVx
dWVzdC51cmwpOworCisgICAgY29uc3QgdXNlX21pbWUgPQorICAgICAgICAodXJsLnNlYXJjaFBh
cmFtcy5nZXQoJ21pbWUnKSAhPSAnbm8nKTsKKyAgICBjb25zdCBtaW1lX2hlYWRlciA9ICcoQ29u
dGVudC1UeXBlLCB0ZXh0L2NzcyknOworCisgICAgY29uc3QgdXNlX2NvcnMgPQorICAgICAgICAo
dXJsLnNlYXJjaFBhcmFtcy5oYXMoJ2NvcnMnKSk7CisgICAgY29uc3QgY29yc19oZWFkZXIgPSAn
KEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwgKiknOworCisgICAgY29uc3QgZmlsZSA9IHVy
bC5wYXRobmFtZS5zdWJzdHJpbmcodXJsLnBhdGhuYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKTsK
KworICAgIC8vIFJlc3BvbmQgd2l0aCBhIGNyb3NzLW9yaWdpbiBDU1MgcmVzb3VyY2UsIHVzaW5n
IENPUlMgaWYgZGVzaXJlZC4KKyAgICBpZiAoZmlsZSA9PSAnY3Jvc3Mtb3JpZ2luLWNzcy5jc3Mn
KSB7CisgICAgICBsZXQgZmV0Y2hfdXJsID0gIFJFTU9URV9PUklHSU4gKyBCQVNFX1BBVEggKyBD
U1NfRklMRTsKKyAgICAgIGlmICh1c2VfbWltZSkKKyAgICAgICAgZmV0Y2hfdXJsID0gYWRkX3Bp
cGVfaGVhZGVyKGZldGNoX3VybCwgbWltZV9oZWFkZXIpOworICAgICAgaWYgKHVzZV9jb3JzKQor
ICAgICAgICBmZXRjaF91cmwgPSBhZGRfcGlwZV9oZWFkZXIoZmV0Y2hfdXJsLCBjb3JzX2hlYWRl
cik7CisgICAgICBjb25zdCBtb2RlID0gdXNlX2NvcnMgPyAnY29ycycgOiAnbm8tY29ycyc7Cisg
ICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChmZXRjaF91cmwsIHsnbW9kZSc6IG1vZGV9KSk7
CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gUmVzcG9uZCB3aXRoIGEgY3Jvc3Mtb3Jp
Z2luIENTUyByZXNvdXJjZSB3aXRoIGFuIEhUTUwgbmFtZS4gVGhpcyBpcyBvbmx5CisgICAgLy8g
dXNlZCBpbiB0aGUgTUlNRSBzbmlmZmluZyB0ZXN0LCBzbyBNSU1FIGlzIG5ldmVyIGFkZGVkLgor
ICAgIGlmIChmaWxlID09ICdjcm9zcy1vcmlnaW4taHRtbC5jc3MnKSB7CisgICAgICBjb25zdCBm
ZXRjaF91cmwgPSBSRU1PVEVfT1JJR0lOICsgQkFTRV9QQVRIICsgSFRNTF9GSUxFOworICAgICAg
ZXZlbnQucmVzcG9uZFdpdGgoZmV0Y2goZmV0Y2hfdXJsLCB7bW9kZTogJ25vLWNvcnMnfSkpOwor
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIFJlc3BvbmQgd2l0aCBzeW50aGV0aWMgQ1NT
LgorICAgIGlmIChmaWxlID09ICdzeW50aGV0aWMuY3NzJykgeworICAgICAgbGV0IGhlYWRlcnMg
PSB7fTsKKyAgICAgIGlmICh1c2VfbWltZSkgeworICAgICAgICBoZWFkZXJzWydDb250ZW50LVR5
cGUnXSA9ICd0ZXh0L2Nzcyc7CisgICAgICB9CisKKyAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKG5l
dyBSZXNwb25zZSgiI3N5bnRoZXRpYyB7IGNvbG9yOiBibHVlOyB9Iiwge2hlYWRlcnN9KSk7Cisg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gT3RoZXJ3aXNlLCBmYWxsYmFjayB0byBuZXR3
b3JrLgorICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRj
aC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMtaWZyYW1l
Lmh0bWwKaW5kZXggNjhhMWE4Njg3NjBiYmMzYzk2NjhiNjIyMjRiN2Y5NDBjNWRjZmZjMy4uZTZl
OTM4MGJhNjIyNzY2MzhhYjZiNzcxZDVkNTliNmI2MzJiNTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMt
aWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVl
c3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMtaWZyYW1lLmh0bWwKQEAgLTEgKzEgQEAKLTxzY3JpcHQg
c3JjPSJlbXB0eS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9mZXRjaC1yZXF1ZXN0LW5v
LWZyZXNobmVzcy1oZWFkZXJzLXNjcmlwdC5weSI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1uby1mcmVzaG5lc3MtaGVhZGVy
cy1zY3JpcHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1u
by1mcmVzaG5lc3MtaGVhZGVycy1zY3JpcHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTZhMzkyYzg2M2UzM2U2
NTg0ODhlOWM3YTEwYzVhNDZkYzRhZDQ4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXNjcmlw
dC5weQpAQCAtMCwwICsxLDYgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBo
ZWFkZXJzID0gW10KKyAgICAjIFNldHMgYW4gRVRhZyBoZWFkZXIgdG8gY2hlY2sgdGhlIGNhY2hl
IHJldmFsaWRhdGlvbiBiZWhhdmlvci4KKyAgICBoZWFkZXJzLmFwcGVuZCgoIkVUYWciLCAiYWJj
MTIzIikpCisgICAgaGVhZGVycy5hcHBlbmQoKCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZhc2Ny
aXB0IikpCisgICAgcmV0dXJuIGhlYWRlcnMsICIvKiBlbXB0eSBzY3JpcHQgKi8iCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1yZWRpcmVjdC1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJl
ZGlyZWN0LWlmcmFtZS5odG1sCmluZGV4IDRjNTJjYTkxNzc5NzQ2OTIwOThkNmYyMzNkYThmNGEw
YjUwYTQ1ZTEuLmZmZDc2YmZjNDk5MDhiOWIyNWQxMGQ1NjcxYzlkZGI3MDk1ZWE3NTIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJlZGlyZWN0
LWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1
ZXN0LXJlZGlyZWN0LWlmcmFtZS5odG1sCkBAIC0yMCw3ICsyMCw2IEBAIGZ1bmN0aW9uIGxvYWRf
aW1hZ2UodXJsKSB7CiAgICAgICBpbWcub25sb2FkID0gcmVzb2x2ZTsKICAgICAgIGltZy5vbmVy
cm9yID0gcmVqZWN0OwogICAgICAgaW1nLnNyYyA9IHVybDsKLSAgICAgIHNldFRpbWVvdXQoKCkg
PT4geyByZWplY3QoImltYWdlIGxvYWQgdGltZWQgb3V0IikgfSwgNTAwMCk7CiAgICAgfSk7CiB9
CiAKQEAgLTMxLDcgKzMwLDYgQEAgZnVuY3Rpb24gbG9hZF9hdWRpbyh1cmwpIHsKICAgICAgIGF1
ZGlvLm9uY2FucGxheSA9IHJlc29sdmU7CiAgICAgICBhdWRpby5vbmVycm9yID0gcmVqZWN0Owog
ICAgICAgYXVkaW8uc3JjID0gdXJsOwotICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHJlamVjdCgi
YXVkaW8gbG9hZCB0aW1lZCBvdXQiKSB9LCA1MDAwKTsKICAgICB9KTsKIH0KIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QteGhy
LWlmcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJl
cXVlc3QteGhyLWlmcmFtZS5odHRwcy5odG1sCmluZGV4IGFiM2UyYTEyODBiOTE3NTVkNGQwY2Y4
MWU0MDc5YjhmNGRmNjYxMzEuLjY1ZmE1MTcxYjNkNDMwYjA3YWNjZjkxNzE4MTAzM2Q2ZmNhYTNk
ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0
LXhoci1pZnJhbWUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
ZmV0Y2gtcmVxdWVzdC14aHItaWZyYW1lLmh0dHBzLmh0bWwKQEAgLTE5LDI0ICsxOSw2IEBAIGZ1
bmN0aW9uIGdldF9ib3VuZGFyeShoZWFkZXJzKSB7CiAgIHJldHVybiAnJzsKIH0KIAotZnVuY3Rp
b24gY3JlYXRlX2ZpbGVfc3lzdGVtX2ZpbGUoZmlsZV9uYW1lLCBkYXRhKSB7Ci0gIHJldHVybiBu
ZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgIHdlYmtpdFJlcXVl
c3RGaWxlU3lzdGVtKFRFTVBPUkFSWSwgMTAyNCwgZnVuY3Rpb24oZnMpIHsKLSAgICAgICAgICBm
cy5yb290LmdldEZpbGUoCi0gICAgICAgICAgICBmaWxlX25hbWUsIHtjcmVhdGU6IHRydWUsIGV4
Y2x1c2l2ZTogdHJ1ZX0sCi0gICAgICAgICAgICBmdW5jdGlvbihmaWxlRW50cnkpIHsKLSAgICAg
ICAgICAgICAgZmlsZUVudHJ5LmNyZWF0ZVdyaXRlcihmdW5jdGlvbihmaWxlV3JpdGVyKSB7Ci0g
ICAgICAgICAgICAgICAgICBmaWxlV3JpdGVyLm9ud3JpdGVlbmQgPSBmdW5jdGlvbihlKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGZpbGVFbnRyeS5maWxlKGZ1bmN0aW9uKGZpbGUpIHsgcmVzb2x2
ZShmaWxlKTsgfSk7Ci0gICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgdmFy
IGJsb2IgPSBuZXcgQmxvYihbZGF0YV0sIHt0eXBlOiAndGV4dC9wbGFpbid9KTsKLSAgICAgICAg
ICAgICAgICAgIGZpbGVXcml0ZXIud3JpdGUoYmxvYik7Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICB9LCBmdW5jdGlvbihlKSB7IHJlamVjdChlKTsgfSk7Ci0gICAgICAgIH0sIGZ1
bmN0aW9uKGUpIHsgcmVqZWN0KGUpOyB9KTsKLSAgICB9KTsKLX0KLQogZnVuY3Rpb24geGhyX3Nl
bmQodXJsX2Jhc2UsIG1ldGhvZCwgZGF0YSwgd2l0aF9jcmVkZW50aWFscykgewogICByZXR1cm4g
bmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICB2YXIgeGhyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtcmVxdWVzdC14aHItc3luYy1vbi13b3JrZXItd29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLXdv
cmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wZDI0ZmZjMWYzMzMzMGZiNTk5OTZjM2E2NWI3NTMwY2VkMGY2
ODA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLXdvcmtlci5qcwpAQCAtMCwwICsxLDQxIEBACisn
dXNlIHN0cmljdCc7CisKK3NlbGYub25mZXRjaCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgIGlmIChl
dmVudC5yZXF1ZXN0LnVybC5pbmRleE9mKCdub24tZXhpc3RlbnQtZmlsZS50eHQnKSAhPT0gLTEp
IHsKKyAgICBldmVudC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoJ1Jlc3BvbnNlIGZyb20gc2Vy
dmljZSB3b3JrZXInKSk7CisgIH0gZWxzZSBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZign
L2lmcmFtZV9wYWdlJykgIT09IC0xKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFJlc3Bv
bnNlKAorICAgICAgICAnPCFET0NUWVBFIGh0bWw+XG4nICsKKyAgICAgICAgJzxzY3JpcHQ+XG4n
ICsKKyAgICAgICAgJ2Z1bmN0aW9uIHBlcmZvcm1TeW5jWEhST25Xb3JrZXIodXJsKSB7XG4nICsK
KyAgICAgICAgJyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4nICsKKyAgICAg
ICAgJyAgICB2YXIgd29ya2VyID1cbicgKworICAgICAgICAnICAgICAgICBuZXcgV29ya2VyKFwn
Li93b3JrZXJfc2NyaXB0XCcpO1xuJyArCisgICAgICAgICcgICAgd29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoXCdtZXNzYWdlXCcsIChtc2cpID0+IHtcbicgKworICAgICAgICAnICAgICAgcmVzb2x2
ZShtc2cuZGF0YSk7XG4nICsKKyAgICAgICAgJyAgICB9KTtcbicgKworICAgICAgICAnICAgIHdv
cmtlci5wb3N0TWVzc2FnZSh7XG4nICsKKyAgICAgICAgJyAgICAgIHVybDogdXJsXG4nICsKKyAg
ICAgICAgJyAgICB9KTtcbicgKworICAgICAgICAnICB9KTtcbicgKworICAgICAgICAnfVxuJyAr
CisgICAgICAgICc8L3NjcmlwdD4nLAorICAgICAgICB7CisgICAgICAgICAgaGVhZGVyczogW1sn
Y29udGVudC10eXBlJywgJ3RleHQvaHRtbCddXQorICAgICAgICB9KSk7CisgIH0gZWxzZSBpZiAo
ZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignL3dvcmtlcl9zY3JpcHQnKSAhPT0gLTEpIHsKKyAg
ICBldmVudC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoCisgICAgICAgICdzZWxmLm9ubWVzc2Fn
ZSA9IChtc2cpID0+IHsnICsKKyAgICAgICAgJyAgY29uc3Qgc3luY1hociA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpOycgKworICAgICAgICAnICBzeW5jWGhyLm9wZW4oXCdHRVRcJywgbXNnLmRhdGEu
dXJsLCBmYWxzZSk7JyArCisgICAgICAgICcgIHN5bmNYaHIuc2VuZCgpOycgKworICAgICAgICAn
ICBzZWxmLnBvc3RNZXNzYWdlKHsnICsKKyAgICAgICAgJyAgICBzdGF0dXM6IHN5bmNYaHIuc3Rh
dHVzLCcgKworICAgICAgICAnICAgIHJlc3BvbnNlVGV4dDogc3luY1hoci5yZXNwb25zZVRleHQn
ICsKKyAgICAgICAgJyAgfSk7JyArCisgICAgICAgICd9JywKKyAgICAgICAgeworICAgICAgICAg
IGhlYWRlcnM6IFtbJ2NvbnRlbnQtdHlwZScsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0J11dCisg
ICAgICAgIH0pKTsKKyAgfQorfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvZmV0Y2gtcmVxdWVzdC14aHItd29ya2VyLmpzCmluZGV4IDhiNGZkNmJmOTFlNDkyMDBh
YWU5YWFmMjMxMzQ1YjM5NGFhYzRlZGUuLjkxYjNhYmIxNGQ5YzY3NWEwYmQ4ODYzNDRhMjY0ODJm
MzZiYjU3NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1y
ZXF1ZXN0LXhoci13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLXJlcXVlc3QteGhyLXdvcmtlci5qcwpAQCAtMTYsNyArMTYsNyBAQCBzZWxmLmFkZEV2ZW50
TGlzdGVuZXIoJ2ZldGNoJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIGNy
ZWRlbnRpYWxzOiBldmVudC5yZXF1ZXN0LmNyZWRlbnRpYWxzLAogICAgICAgICAgICAgICAgICAg
aGVhZGVyczogaGVhZGVycywKICAgICAgICAgICAgICAgICAgIGJvZHk6IHJlc3VsdAotICAgICAg
ICAgICAgICAgIH0pLCB7IGhlYWRlcnMgOiBbWyJDYWNoZS1Db250cm9sIiwgIm5vLWNhY2hlIl1d
IH0gKSk7CisgICAgICAgICAgICAgICAgfSkpKTsKICAgICAgICAgICAgIH0pOwogICAgICAgfSkp
OwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1y
ZXdyaXRlLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXdy
aXRlLXdvcmtlci5qcwppbmRleCA1ZDc0Y2IzOWQ3NmRhZjBjZDI5ZjczYjkxOWY2MmI4OTVkYTc5
MmU2Li5mMmQ0OWUyNzA2YTQwZmI1NWYwOThmNWUzM2RjNmMxN2E5M2JmMWNiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmV3cml0ZS13b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJld3JpdGUtd29ya2VyLmpzCkBA
IC0xLDMgKzEsMTEgQEAKKy8vIEJ5IGRlZmF1bHQsIHRoaXMgd29ya2VyIHJlc3BvbmRzIHRvIGZl
dGNoIGV2ZW50cyB3aXRoCisvLyByZXNwb25kV2l0aChmZXRjaChyZXF1ZXN0KSkuIEFkZGl0aW9u
YWxseSwgaWYgdGhlIHJlcXVlc3QgaGFzIGEgJnVybAorLy8gcGFyYW1ldGVyLCBpdCBmZXRjaGVz
IHRoZSBwcm92aWRlZCBVUkwgaW5zdGVhZC4gQmVjYXVzZSBpdCBmb3J3YXJkcyBmZXRjaAorLy8g
ZXZlbnRzIHRvIHRoaXMgb3RoZXIgVVJMLCBpdCBpcyBjYWxsZWQgdGhlICJmZXRjaCByZXdyaXRl
IiB3b3JrZXIuCisvLworLy8gVGhlIHdvcmtlciBhbHNvIGxvb2tzIGZvciBvdGhlciBwYXJhbXMg
b24gdGhlIHJlcXVlc3QgdG8gZG8gbW9yZSBjdXN0b20KKy8vIGJlaGF2aW9yLCBsaWtlIGZhbGxp
bmcgYmFjayB0byBuZXR3b3JrIG9yIHRocm93aW5nIGFuIGVycm9yLgorCiBmdW5jdGlvbiBnZXRf
cXVlcnlfcGFyYW1zKHVybCkgewogICB2YXIgc2VhcmNoID0gKG5ldyBVUkwodXJsKSkuc2VhcmNo
OwogICBpZiAoIXNlYXJjaCkgewpAQCAtMTI1LDYgKzEzMyw3IEBAIHNlbGYuYWRkRXZlbnRMaXN0
ZW5lcignZmV0Y2gnLCBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgfQogICAgICAgICAg
IH0KIAorICAgICAgICAgIC8vIHxjYWNoZXwgbWVhbnMgdG8gYm91bmNlIHJlc3BvbnNlcyB0aHJv
dWdoIENhY2hlIFN0b3JhZ2UgYW5kIGJhY2suCiAgICAgICAgICAgaWYgKHBhcmFtc1snY2FjaGUn
XSkgewogICAgICAgICAgICAgdmFyIGNhY2hlTmFtZSA9ICJjYWNoZWQtZmV0Y2hlcy0iICsgcGVy
Zm9ybWFuY2Uubm93KCkgKyAiLSIgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50
LnJlcXVlc3QudXJsOwpAQCAtMTM3LDEzICsxNDYsOSBAQCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIo
J2ZldGNoJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlLm1h
dGNoKHJlcXVlc3QpOwogICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbihjYWNoZWQpIHsKICAg
ICAgICAgICAgICAgY2FjaGVkUmVzcG9uc2UgPSBjYWNoZWQ7Ci0gICAgICAgICAgICAgIHJldHVy
biBjYWNoZS5kZWxldGUocmVxdWVzdC51cmwpOwotICAgICAgICAgICAgfSkudGhlbihmdW5jdGlv
bigpIHsKICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmRlbGV0ZShjYWNoZU5hbWUp
OwogICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgcmVzb2x2
ZShjYWNoZWRSZXNwb25zZSk7Ci0gICAgICAgICAgICB9KS5jYXRjaCgoZSkgPT4gewotICAgICAg
ICAgICAgICByZWplY3QoZSk7CisgICAgICAgICAgICAgICByZXNvbHZlKGNhY2hlZFJlc3BvbnNl
KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICByZXNv
bHZlKHJlc3BvbnNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9o
dHRwLXRvLWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci1pZnJhbWUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9odHRwLXRvLWh0dHBzLXJlZGlyZWN0LWFuZC1yZWdpc3Rlci1p
ZnJhbWUuaHRtbAppbmRleCA4YzQ4YTE4Y2VlNDU3NDY5ZDE4NzhjMDhhMTE2ZjYxMzY3ZWRiNTMz
Li5iY2FiMzUzNjRkZmY2ZjQ0OTRkNzNhZGZhMTUwZDgwMGVmYzZiZjcwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaHR0cC10by1odHRwcy1yZWRpcmVjdC1hbmQtcmVn
aXN0ZXItaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2h0dHAt
dG8taHR0cHMtcmVkaXJlY3QtYW5kLXJlZ2lzdGVyLWlmcmFtZS5odG1sCkBAIC00LDE4ICs0LDIy
IEBACiA8c2NyaXB0PgogJ3VzZSBzdHJpY3QnOwogCi1uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5y
ZWdpc3RlcignZW1wdHktd29ya2VyLmpzJywge3Njb3BlOiAnc2NvcGUtcmVnaXN0ZXInfSkKLSAg
LnRoZW4oCi0gICAgcmVnaXN0cmF0aW9uID0+IHsKLSAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVn
aXN0ZXIoKS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3Nh
Z2UoJ09LJywgJyonKTsKLSAgICAgICAgICB9KTsKLSAgICAgIH0sCi0gICAgZXJyb3IgPT4gewot
ICAgICAgICB3aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCdGQUlMOiAnICsgZXJyb3IubmFtZSwg
JyonKTsKLSAgICAgIH0pCi0gIC5jYXRjaChlcnJvciA9PiB7Ci0gICAgICB3aW5kb3cub3BlbmVy
LnBvc3RNZXNzYWdlKCdFUlJPUjogJyArIGVycm9yLm5hbWUsICcqJyk7Ci0gICAgfSk7CitpZiAo
IW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyKSB7CisgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2Uo
J0ZBSUw6IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIGlzIHVuZGVmaW5lZCcsICcqJyk7Cit9IGVs
c2UgeworICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignZW1wdHktd29ya2VyLmpz
Jywge3Njb3BlOiAnc2NvcGUtcmVnaXN0ZXInfSkKKyAgICAudGhlbigKKyAgICAgIHJlZ2lzdHJh
dGlvbiA9PiB7CisgICAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKS50aGVuKCgpID0+
IHsKKyAgICAgICAgICAgICAgd2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgnT0snLCAnKicpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0sCisgICAgICBlcnJvciA9PiB7CisgICAgICAgICAg
d2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgnRkFJTDogJyArIGVycm9yLm5hbWUsICcqJyk7Cisg
ICAgICAgIH0pCisgICAgLmNhdGNoKGVycm9yID0+IHsKKyAgICAgICAgd2luZG93Lm9wZW5lci5w
b3N0TWVzc2FnZSgnRVJST1I6ICcgKyBlcnJvci5uYW1lLCAnKicpOworICAgICAgfSk7Cit9CiA8
L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9pZnJhbWUtd2l0aC1pbWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lm
cmFtZS13aXRoLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U3ODg0MGNiMjgzMTA5NDdmMzkyMzJh
Y2Q4N2ZiYTBjMDI2MmYwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9pZnJhbWUtd2l0aC1pbWFnZS5odG1sCkBAIC0wLDAgKzEsMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aW1nIHNyYz0ic3F1YXJlIj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVzLXdvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVzLXdvcmtlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yYzU4NWFjMTA2MGE4OGM0ZjNlZWFjNmI2YTgxYmJiNGUwYzMwMjgwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRz
LW1pbWUtdHlwZXMtd29ya2VyLmpzCkBAIC0wLDAgKzEsNDkgQEAKK2NvbnN0IGJhZE1pbWVUeXBl
cyA9IFsKKyAgbnVsbCwgIC8vIG5vIE1JTUUgdHlwZQorICAndGV4dC9wbGFpbicsCitdOworCitj
b25zdCB2YWxpZE1pbWVUeXBlcyA9IFsKKyAgJ2FwcGxpY2F0aW9uL2VjbWFzY3JpcHQnLAorICAn
YXBwbGljYXRpb24vamF2YXNjcmlwdCcsCisgICdhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQnLAor
ICAnYXBwbGljYXRpb24veC1qYXZhc2NyaXB0JywKKyAgJ3RleHQvZWNtYXNjcmlwdCcsCisgICd0
ZXh0L2phdmFzY3JpcHQnLAorICAndGV4dC9qYXZhc2NyaXB0MS4wJywKKyAgJ3RleHQvamF2YXNj
cmlwdDEuMScsCisgICd0ZXh0L2phdmFzY3JpcHQxLjInLAorICAndGV4dC9qYXZhc2NyaXB0MS4z
JywKKyAgJ3RleHQvamF2YXNjcmlwdDEuNCcsCisgICd0ZXh0L2phdmFzY3JpcHQxLjUnLAorICAn
dGV4dC9qc2NyaXB0JywKKyAgJ3RleHQvbGl2ZXNjcmlwdCcsCisgICd0ZXh0L3gtZWNtYXNjcmlw
dCcsCisgICd0ZXh0L3gtamF2YXNjcmlwdCcsCitdOworCitmdW5jdGlvbiBpbXBvcnRTY3JpcHRz
V2l0aE1pbWVUeXBlKG1pbWVUeXBlKSB7CisgIGltcG9ydFNjcmlwdHMoYC4vbWltZS10eXBlLXdv
cmtlci5weSR7bWltZVR5cGUgPyAnP21pbWU9JyArIG1pbWVUeXBlIDogJyd9YCk7Cit9CisKK2lt
cG9ydFNjcmlwdHMoJy9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMnKTsKKworZm9yIChjb25zdCBt
aW1lVHlwZSBvZiBiYWRNaW1lVHlwZXMpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgYXNzZXJ0X3Ro
cm93cygKKyAgICAgICdOZXR3b3JrRXJyb3InLAorICAgICAgKCkgPT4geyBpbXBvcnRTY3JpcHRz
V2l0aE1pbWVUeXBlKG1pbWVUeXBlKTsgfSwKKyAgICAgIGBpbXBvcnRTY3JpcHRzIHdpdGggJHtt
aW1lVHlwZSA/ICdiYWQnIDogJ25vJ30gTUlNRSB0eXBlICR7bWltZVR5cGUgfHwgJyd9IHRocm93
cyBOZXR3b3JrRXJyb3JgLAorICAgICk7CisgIH0sIGBJbXBvcnRpbmcgc2NyaXB0IHdpdGggJHtt
aW1lVHlwZSA/ICdiYWQnIDogJ25vJ30gTUlNRSB0eXBlICR7bWltZVR5cGUgfHwgJyd9YCk7Cit9
CisKK2ZvciAoY29uc3QgbWltZVR5cGUgb2YgdmFsaWRNaW1lVHlwZXMpIHsKKyAgdGVzdCgoKSA9
PiB7CisgICAgdHJ5IHsKKyAgICAgIGltcG9ydFNjcmlwdHNXaXRoTWltZVR5cGUobWltZVR5cGUp
OworICAgIH0gY2F0Y2ggeworICAgICAgYXNzZXJ0X3VucmVhY2hlZChgaW1wb3J0U2NyaXB0cyB3
aXRoIE1JTUUgdHlwZSAke21pbWVUeXBlfSBzaG91bGQgbm90IHRocm93YCk7CisgICAgfQorICB9
LCBgSW1wb3J0aW5nIHNjcmlwdCB3aXRoIHZhbGlkIEphdmFTY3JpcHQgTUlNRSB0eXBlICR7bWlt
ZVR5cGV9YCk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1w
b3J0LXNjcmlwdHMtdXBkYXRlZC1mbGFnLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWctd29ya2VyLmpzCmluZGV4IDBmNTAw
NWQ5YWY0MWQ5NWM5MjQzMDk2NDc4ZDJlMzVjNjUzYzk2NjAuLmUwMTY2NDY2MmVmMTc4YTFkZmU1
MWM1OTcwMzkyZDBmYjY2YzcyMzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWctd29ya2VyLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWctd29ya2VyLmpz
CkBAIC00LDYgKzQsNyBAQCBsZXQgZWNob19vdXRwdXQgPSBudWxsOwogCiAvLyBUZXN0cyBpbXBv
cnRpbmcgYSBzY3JpcHQgdGhhdCBzZXRzIHxlY2hvX291dHB1dHwgdG8gdGhlIHF1ZXJ5IHN0cmlu
Zy4KIGZ1bmN0aW9uIHRlc3RfaW1wb3J0KHN0cikgeworICBlY2hvX291dHB1dCA9IG51bGw7CiAg
IGltcG9ydFNjcmlwdHMoJ2ltcG9ydC1zY3JpcHRzLWVjaG8ucHk/bXNnPScgKyBzdHIpOwogICBh
c3NlcnRfZXF1YWxzKGVjaG9fb3V0cHV0LCBzdHIpOwogfQpAQCAtMTgsNiArMTksNyBAQCBzZWxm
LmFkZEV2ZW50TGlzdGVuZXIoJ2luc3RhbGwnLCAoKSA9PiB7CiAKIHNlbGYuYWRkRXZlbnRMaXN0
ZW5lcignbWVzc2FnZScsIGUgPT4gewogICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgZWNob19v
dXRwdXQgPSBudWxsOwogCiAgICAgdHJ5IHsKICAgICAgIGltcG9ydFNjcmlwdHMoJ2ltcG9ydC1z
Y3JpcHRzLWVjaG8ucHk/bXNnPScgKyBlLmRhdGEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ltcG9ydGVkLWNsYXNzaWMtc2NyaXB0LmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ltcG9ydGVkLWNsYXNzaWMtc2NyaXB0LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVm
YzUyMDQwNTEzNWUyMTUyOTBlYmZlZTAwOGY5ZjcxOTYwOTU1YTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtY2xhc3NpYy1zY3JpcHQuanMK
QEAgLTAsMCArMSBAQAorY29uc3QgaW1wb3J0ZWQgPSAnQSBjbGFzc2ljIHNjcmlwdC4nOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydGVkLW1vZHVsZS1zY3Jp
cHQuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQtbW9kdWxlLXNjcmlw
dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NmQxOTZkZjA0MGY5YWRiOTk5Yzk0NDMyOWU2ZjE1NjlhYzg3NmZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydGVk
LW1vZHVsZS1zY3JpcHQuanMKQEAgLTAsMCArMSBAQAorZXhwb3J0IGNvbnN0IGltcG9ydGVkID0g
J0EgbW9kdWxlIHNjcmlwdC4nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2luc3RhbGwtd29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW5z
dGFsbC13b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDIwY2Q0ZGNhNmExNGU0MjdiOTA3YTFkNTE0
N2M4ODU5NmJiMWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2luc3RhbGwtd29ya2VyLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorPHA+TG9hZGluZy4uLjwvcD4KKzxzY3JpcHQ+Cithc3luYyBmdW5j
dGlvbiBpbnN0YWxsKCkgeworICBsZXQgc2NyaXB0OworICBmb3IgKGNvbnN0IHEgb2YgbG9jYXRp
b24uc2VhcmNoLnNsaWNlKDEpLnNwbGl0KCcmJykpIHsKKyAgICBpZiAocS5zcGxpdCgnPScpWzBd
ID09PSAnc2NyaXB0JykgeworICAgICAgc2NyaXB0ID0gcS5zcGxpdCgnPScpWzFdOworICAgIH0K
KyAgfQorICBjb25zdCBzY29wZSA9IGxvY2F0aW9uLmhyZWY7CisgIGNvbnN0IHJlZyA9IGF3YWl0
IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwge3Njb3BlfSk7CisgIGF3
YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlYWR5OworICBsb2NhdGlvbi5yZWxvYWQoKTsK
K30KKworaW5zdGFsbCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxzLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2ludGVyZmFjZXMtaWRscy5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggOWY1YzVlZDk2NzVhMTBjMWQ2NmYzOWZmYTI3YWZkYTlkYjYwOGFmMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxzLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTM1ICswLDAgQEAKLXZhciBpZGxzID0ge307Ci1pZGxzLnVudGVzdGVkID0gYAotW0V4cG9zZWQ9
V29ya2VyXQotaW50ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHt9OwotCi1bVHJlYXROb25PYmpl
Y3RBc051bGxdCi1jYWxsYmFjayBFdmVudEhhbmRsZXJOb25OdWxsID0gYW55IChFdmVudCBldmVu
dCk7Ci10eXBlZGVmIEV2ZW50SGFuZGxlck5vbk51bGw/IEV2ZW50SGFuZGxlcjsKLQotW05vSW50
ZXJmYWNlT2JqZWN0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBBYnN0cmFj
dFdvcmtlciB7Ci0gIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lcnJvcjsKLX07Ci1gOwotaWRs
cy50ZXN0ZWQgPSBgCi1bR2xvYmFsPShXb3JrZXIsU2VydmljZVdvcmtlciksIEV4cG9zZWQ9U2Vy
dmljZVdvcmtlcl0KLWludGVyZmFjZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgOiBXb3JrZXJH
bG9iYWxTY29wZSB7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQ2xpZW50cyBj
bGllbnRzOwotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gcmVnaXN0cmF0aW9uOwotCi0gIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4g
c2tpcFdhaXRpbmcoKTsKLQotICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uaW5zdGFsbDsKLSAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFjdGl2YXRlOwotICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9uZmV0Y2g7Ci0KLSAgLy8gZXZlbnQKLSAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1l
c3NhZ2U7IC8vIGV2ZW50LnNvdXJjZSBvZiB0aGUgbWVzc2FnZSBldmVudHMgaXMgQ2xpZW50IG9i
amVjdAotICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubWVzc2FnZWVycm9yOwotfTsKLQotW0V4
cG9zZWQ9U2VydmljZVdvcmtlcl0KLWludGVyZmFjZSBDbGllbnQgewotICByZWFkb25seSBhdHRy
aWJ1dGUgVVNWU3RyaW5nIHVybDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIENsaWVudFR5cGUgdHlwZTsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gcmVzZXJ2ZWQ7Ci0gIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9w
dGlvbmFsIHNlcXVlbmNlPG9iamVjdD4gdHJhbnNmZXIgPSBbXSk7Ci19OwotCi1bRXhwb3NlZD1T
ZXJ2aWNlV29ya2VyXQotaW50ZXJmYWNlIFdpbmRvd0NsaWVudCA6IENsaWVudCB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRlOwotICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBmb2N1c2VkOwotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0
cmlidXRlIEZyb3plbkFycmF5PFVTVlN0cmluZz4gYW5jZXN0b3JPcmlnaW5zOwotICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPFdpbmRvd0NsaWVudD4gZm9jdXMoKTsKLSAgW05ld09iamVjdF0gUHJvbWlz
ZTxXaW5kb3dDbGllbnQ+IG5hdmlnYXRlKFVTVlN0cmluZyB1cmwpOwotfTsKLQotW0V4cG9zZWQ9
U2VydmljZVdvcmtlcl0KLWludGVyZmFjZSBDbGllbnRzIHsKLSAgLy8gVGhlIG9iamVjdHMgcmV0
dXJuZWQgd2lsbCBiZSBuZXcgaW5zdGFuY2VzIGV2ZXJ5IHRpbWUKLSAgW05ld09iamVjdF0gUHJv
bWlzZTxhbnk+IGdldChET01TdHJpbmcgaWQpOwotICBbTmV3T2JqZWN0XSBQcm9taXNlPHNlcXVl
bmNlPENsaWVudD4+IG1hdGNoQWxsKG9wdGlvbmFsIENsaWVudFF1ZXJ5T3B0aW9ucyBvcHRpb25z
KTsKLSAgW05ld09iamVjdF0gUHJvbWlzZTxXaW5kb3dDbGllbnQ/PiBvcGVuV2luZG93KFVTVlN0
cmluZyB1cmwpOwotICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IGNsYWltKCk7Ci19OwotCi1b
U2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCi1pbnRlcmZhY2UgU2Vydmlj
ZVdvcmtlciA6IEV2ZW50VGFyZ2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBz
Y3JpcHRVUkw7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGU7
Ci0gIHZvaWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIHNlcXVlbmNlPG9iamVj
dD4gdHJhbnNmZXIgPSBbXSk7Ci0KLSAgLy8gZXZlbnQKLSAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbnN0YXRlY2hhbmdlOwotfTsKLVNlcnZpY2VXb3JrZXIgaW1wbGVtZW50cyBBYnN0cmFjdFdv
cmtlcjsKLQotZW51bSBTZXJ2aWNlV29ya2VyU3RhdGUgewotICAiaW5zdGFsbGluZyIsCi0gICJp
bnN0YWxsZWQiLAotICAiYWN0aXZhdGluZyIsCi0gICJhY3RpdmF0ZWQiLAotICAicmVkdW5kYW50
IgotfTsKLQotZW51bSBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgewotICAgICJpbXBvcnRz
IiwKLSAgICAiYWxsIiwKLSAgICAibm9uZSIKLX07Ci0KLVtTZWN1cmVDb250ZXh0LCBFeHBvc2Vk
PShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIDog
RXZlbnRUYXJnZXQgewotICByZWFkb25seSBhdHRyaWJ1dGUgU2VydmljZVdvcmtlcj8gaW5zdGFs
bGluZzsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIFNlcnZpY2VXb3JrZXI/IHdhaXRpbmc7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyPyBhY3RpdmU7Ci0gIFtTYW1lT2JqZWN0XSBy
ZWFkb25seSBhdHRyaWJ1dGUgTmF2aWdhdGlvblByZWxvYWRNYW5hZ2VyIG5hdmlnYXRpb25QcmVs
b2FkOwotCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgc2NvcGU7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRlVmlhQ2FjaGU7Ci0K
LSAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB1cGRhdGUoKTsKLSAgW05ld09iamVjdF0gUHJv
bWlzZTxib29sZWFuPiB1bnJlZ2lzdGVyKCk7Ci0KLSAgLy8gZXZlbnQKLSAgYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbnVwZGF0ZWZvdW5kOwotfTsKLQotW0NvbnN0cnVjdG9yKCksIEV4cG9zZWQ9
KFdpbmRvdyxXb3JrZXIpXQotaW50ZXJmYWNlIEV2ZW50VGFyZ2V0IHsKLSAgdm9pZCBhZGRFdmVu
dExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyPyBjYWxsYmFjaywgb3B0aW9u
YWwgKEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIG9yIGJvb2xlYW4pIG9wdGlvbnMpOwotICB2b2lk
IHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxi
YWNrLCBvcHRpb25hbCAoRXZlbnRMaXN0ZW5lck9wdGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyk7
Ci0gIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChFdmVudCBldmVudCk7Ci19OwotCi1bU2VjdXJlQ29u
dGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCi1pbnRlcmZhY2UgTmF2aWdhdGlvblByZWxv
YWRNYW5hZ2VyIHsKLSAgUHJvbWlzZTx2b2lkPiBlbmFibGUoKTsKLSAgUHJvbWlzZTx2b2lkPiBk
aXNhYmxlKCk7Ci0gIFByb21pc2U8dm9pZD4gc2V0SGVhZGVyVmFsdWUoQnl0ZVN0cmluZyB2YWx1
ZSk7Ci0gIFByb21pc2U8TmF2aWdhdGlvblByZWxvYWRTdGF0ZT4gZ2V0U3RhdGUoKTsKLX07Ci0K
LVtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBDYWNo
ZSB7Ci0gIFtOZXdPYmplY3RdIFByb21pc2U8YW55PiBtYXRjaChSZXF1ZXN0SW5mbyByZXF1ZXN0
LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAgW05ld09iamVjdF0gUHJv
bWlzZTxzZXF1ZW5jZTxSZXNwb25zZT4+IG1hdGNoQWxsKG9wdGlvbmFsIFJlcXVlc3RJbmZvIHJl
cXVlc3QsIG9wdGlvbmFsIENhY2hlUXVlcnlPcHRpb25zIG9wdGlvbnMpOwotICBbTmV3T2JqZWN0
XSBQcm9taXNlPHZvaWQ+IGFkZChSZXF1ZXN0SW5mbyByZXF1ZXN0KTsKLSAgW05ld09iamVjdF0g
UHJvbWlzZTx2b2lkPiBhZGRBbGwoc2VxdWVuY2U8UmVxdWVzdEluZm8+IHJlcXVlc3RzKTsKLSAg
W05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBwdXQoUmVxdWVzdEluZm8gcmVxdWVzdCwgUmVzcG9u
c2UgcmVzcG9uc2UpOwotICBbTmV3T2JqZWN0XSBQcm9taXNlPGJvb2xlYW4+IGRlbGV0ZShSZXF1
ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLSAg
W05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxSZXF1ZXN0Pj4ga2V5cyhvcHRpb25hbCBSZXF1
ZXN0SW5mbyByZXF1ZXN0LCBvcHRpb25hbCBDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zKTsKLX07
Ci0KLVtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBD
YWNoZVN0b3JhZ2UgewotICBbTmV3T2JqZWN0XSBQcm9taXNlPGFueT4gbWF0Y2goUmVxdWVzdElu
Zm8gcmVxdWVzdCwgb3B0aW9uYWwgQ2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9ucyk7Ci0gIFtOZXdP
YmplY3RdIFByb21pc2U8Ym9vbGVhbj4gaGFzKERPTVN0cmluZyBjYWNoZU5hbWUpOwotICBbTmV3
T2JqZWN0XSBQcm9taXNlPENhY2hlPiBvcGVuKERPTVN0cmluZyBjYWNoZU5hbWUpOwotICBbTmV3
T2JqZWN0XSBQcm9taXNlPGJvb2xlYW4+IGRlbGV0ZShET01TdHJpbmcgY2FjaGVOYW1lKTsKLSAg
W05ld09iamVjdF0gUHJvbWlzZTxzZXF1ZW5jZTxET01TdHJpbmc+PiBrZXlzKCk7Ci19OwotYDsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbnRlcmZhY2VzLXdvcmtl
ci5zdWIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy13b3JrZXIu
c3ViLmpzCmluZGV4IDdiZGYxMDE2MjE1NTcxZWZkNDI3MTExYmQyMWUwODQxNmExYmY0ZGMuLjU2
YmM4YWY0NDVkNWU3OTAwYjQ1NzNjMzVlNmQ2ODBlZmYxNmM2NzEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbnRlcmZhY2VzLXdvcmtlci5zdWIuanMKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ludGVyZmFjZXMtd29ya2VyLnN1Yi5qcwpAQCAtMSwx
NCArMSwzMyBAQAogJ3VzZSBzdHJpY3QnOwogCi1pbXBvcnRTY3JpcHRzKCdpbnRlcmZhY2VzLWlk
bHMuanMnKTsKIGltcG9ydFNjcmlwdHMoJ3dvcmtlci10ZXN0aGFybmVzcy5qcycpOwogaW1wb3J0
U2NyaXB0cygnL3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMnKTsKIGltcG9ydFNjcmlwdHMoJy9y
ZXNvdXJjZXMvaWRsaGFybmVzcy5qcycpOwogCi12YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXko
KTsKLWlkbEFycmF5LmFkZF91bnRlc3RlZF9pZGxzKGlkbHMudW50ZXN0ZWQpOwotaWRsQXJyYXku
YWRkX2lkbHMoaWRscy50ZXN0ZWQpOwotaWRsQXJyYXkuYWRkX29iamVjdHMoeworcHJvbWlzZV90
ZXN0KGFzeW5jICh0KSA9PiB7CisgIGNvbnN0IHNyY3MgPSBbJ2RvbScsICdodG1sJywgJ3NlcnZp
Y2Utd29ya2VycycsICdkZWRpY2F0ZWQtd29ya2VycyddOworICBjb25zdCBbZG9tLCBodG1sLCBz
ZXJ2aWNlV29ya2VySWRsLCBkZWRpY2F0ZWRdID0gYXdhaXQgUHJvbWlzZS5hbGwoCisgICAgc3Jj
cy5tYXAoaSA9PiBmZXRjaChgL2ludGVyZmFjZXMvJHtpfS5pZGxgKS50aGVuKHIgPT4gci50ZXh0
KCkpKSk7CisKKyAgdmFyIGlkbEFycmF5ID0gbmV3IElkbEFycmF5KCk7CisgIGlkbEFycmF5LmFk
ZF9pZGxzKHNlcnZpY2VXb3JrZXJJZGwsIHsgb25seTogWworICAgICdTZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUnLAorICAgICdDbGllbnQnLAorICAgICdXaW5kb3dDbGllbnQnLAorICAgICdDbGll
bnRzJywKKyAgICAnU2VydmljZVdvcmtlcicsCisgICAgJ1NlcnZpY2VXb3JrZXJTdGF0ZScsCisg
ICAgJ1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZScsCisgICAgJ1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24nLAorICAgICdFdmVudFRhcmdldCcsCisgICAgJ05hdmlnYXRpb25QcmVsb2FkTWFu
YWdlcicsCisgICAgJ0NhY2hlJywKKyAgICAnQ2FjaGVTdG9yYWdlJywKKyAgXX0pOworICBpZGxB
cnJheS5hZGRfZGVwZW5kZW5jeV9pZGxzKGRlZGljYXRlZCk7CisgIGlkbEFycmF5LmFkZF9kZXBl
bmRlbmN5X2lkbHMoZG9tKTsKKyAgaWRsQXJyYXkuYWRkX2RlcGVuZGVuY3lfaWRscyhodG1sKTsK
KyAgaWRsQXJyYXkuYWRkX29iamVjdHMoewogICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTog
WydzZWxmJ10sCiAgICAgQ2xpZW50czogWydzZWxmLmNsaWVudHMnXSwKICAgICBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uOiBbJ3NlbGYucmVnaXN0cmF0aW9uJ10sCkBAIC0xNywxNiArMzYsMTQg
QEAgaWRsQXJyYXkuYWRkX29iamVjdHMoewogICAgIC8vIENsaWVudDogWydzZWxmLmNsaWVudElu
c3RhbmNlJ10sCiAgICAgLy8gV2luZG93Q2xpZW50OiBbJ3NlbGYud2luZG93Q2xpZW50SW5zdGFu
Y2UnXQogICB9KTsKKyAgcmV0dXJuIGNyZWF0ZV90ZW1wb3JhcnlfY2FjaGUodCkKKyAgICAudGhl
bihmdW5jdGlvbihjYWNoZSkgeworICAgICAgICBzZWxmLmNhY2hlSW5zdGFuY2UgPSBjYWNoZTsK
IAotcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKLSAgICByZXR1cm4gY3JlYXRlX3RlbXBvcmFy
eV9jYWNoZSh0KQotICAgICAgLnRoZW4oZnVuY3Rpb24oY2FjaGUpIHsKLSAgICAgICAgICBzZWxm
LmNhY2hlSW5zdGFuY2UgPSBjYWNoZTsKLQotICAgICAgICAgIGlkbEFycmF5LmFkZF9vYmplY3Rz
KHsgQ2FjaGU6IFsnc2VsZi5jYWNoZUluc3RhbmNlJ10gfSk7Ci0gICAgICAgICAgaWRsQXJyYXku
dGVzdCgpOwotICAgICAgICB9KTsKLSAgfSwgJ3Rlc3Qgc2V0dXAgKGNhY2hlIGNyZWF0aW9uKScp
OworICAgICAgICBpZGxBcnJheS5hZGRfb2JqZWN0cyh7IENhY2hlOiBbJ3NlbGYuY2FjaGVJbnN0
YW5jZSddIH0pOworICAgICAgICBpZGxBcnJheS50ZXN0KCk7CisgICAgICB9KTsKK30sICd0ZXN0
IHNldHVwIChjYWNoZSBjcmVhdGlvbiknKTsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICB2YXIg
cmVxID0gbmV3IFJlcXVlc3QoJ2h0dHA6Ly97e2hvc3R9fS8nLApAQCAtNzYsMyArOTMsNyBAQCB0
ZXN0KGZ1bmN0aW9uKCkgewogdGVzdCgoKSA9PiB7CiAgICAgYXNzZXJ0X2ZhbHNlKCdYTUxIdHRw
UmVxdWVzdCcgaW4gc2VsZik7CiAgIH0sICd4aHIgaXMgbm90IGV4cG9zZWQnKTsKKwordGVzdCgo
KSA9PiB7CisgICAgYXNzZXJ0X2ZhbHNlKCdjcmVhdGVPYmplY3RVUkwnIGluIHNlbGYuVVJMKTsK
KyAgfSwgJ1VSTC5jcmVhdGVPYmplY3RVUkwgaXMgbm90IGV4cG9zZWQnKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIt
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJp
dC1jb250cm9sbGVyLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjMzMWY4OGQ0NzE3OWVmMTVkM2Yy
NjM0Zjg0ZDZhMjc5MTAwMTkzNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLWZyYW1lLmh0bWwKQEAgLTAs
MCArMSwxMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c2NyaXB0PgorCitjb25zdCBm
ZXRjaFVSTCA9IG5ldyBVUkwoJ2R1bW15LnR4dCcsIHdpbmRvdy5sb2NhdGlvbikuaHJlZjsKKwor
Y29uc3QgZnJhbWVDb250cm9sbGVyVGV4dCA9CitgPHNjcmlwdD4KKyAgbGV0IHQgPSBudWxsOwor
ICB0cnkgeworICAgIGlmIChuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyKSB7Cisg
ICAgICB0ID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5zY3JpcHRVUkw7Cisg
ICAgfQorICB9IGNhdGNoIChlKSB7CisgICAgdCA9IGUubWVzc2FnZTsKKyAgfSBmaW5hbGx5IHsK
KyAgICBwYXJlbnQucG9zdE1lc3NhZ2UoeyBkYXRhOiB0IH0sICcqJyk7CisgIH0KKzwvYCArIGBz
Y3JpcHQ+YDsKKworY29uc3QgZnJhbWVGZXRjaFRleHQgPQorYDxzY3JpcHQ+CisgIGZldGNoKCck
e2ZldGNoVVJMfScsIHsgbW9kZTogJ25vLWNvcnMnIH0pLnRoZW4ocmVzcG9uc2UgPT4geworICAg
IHJldHVybiByZXNwb25zZS50ZXh0KCk7CisgIH0pLnRoZW4odGV4dCA9PiB7CisgICAgcGFyZW50
LnBvc3RNZXNzYWdlKHsgZGF0YTogdGV4dCB9LCAnKicpOworICB9KS5jYXRjaChlID0+IHsKKyAg
ICBwYXJlbnQucG9zdE1lc3NhZ2UoeyBkYXRhOiBlLm1lc3NhZ2UgfSwgJyonKTsKKyAgfSk7Cis8
L2AgKyBgc2NyaXB0PmA7CisKK2NvbnN0IHdvcmtlckNvbnRyb2xsZXJUZXh0ID0KK2BsZXQgdCA9
IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIKKyAgICAgICA/IG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIuc2NyaXB0VVJMCisgICAgICAgOiBudWxsOworc2VsZi5w
b3N0TWVzc2FnZSh0KTtgOworCitjb25zdCB3b3JrZXJGZXRjaFRleHQgPQorYGZldGNoKCcke2Zl
dGNoVVJMfScsIHsgbW9kZTogJ25vLWNvcnMnIH0pLnRoZW4ocmVzcG9uc2UgPT4geworICByZXR1
cm4gcmVzcG9uc2UudGV4dCgpOworfSkudGhlbih0ZXh0ID0+IHsKKyAgc2VsZi5wb3N0TWVzc2Fn
ZSh0ZXh0KTsKK30pLmNhdGNoKGUgPT4geworICBzZWxmLnBvc3RNZXNzYWdlKGUubWVzc2FnZSk7
Cit9KTtgCisKK2Z1bmN0aW9uIGdldENoaWxkVGV4dChvcHRzKSB7CisgIGlmIChvcHRzLmNoaWxk
ID09PSAnaWZyYW1lJykgeworICAgIGlmIChvcHRzLmNoZWNrID09PSAnY29udHJvbGxlcicpIHsK
KyAgICAgIHJldHVybiBmcmFtZUNvbnRyb2xsZXJUZXh0OworICAgIH0KKworICAgIGlmIChvcHRz
LmNoZWNrID09PSAnZmV0Y2gnKSB7CisgICAgICByZXR1cm4gZnJhbWVGZXRjaFRleHQ7CisgICAg
fQorCisgICAgdGhyb3coJ3VuZXhwZWN0ZWQgZmVhdHVyZSB0byBjaGVjazogJyArIG9wdHMuY2hl
Y2spOworICB9CisKKyAgaWYgKG9wdHMuY2hpbGQgPT09ICd3b3JrZXInKSB7CisgICAgaWYgKG9w
dHMuY2hlY2sgPT09ICdjb250cm9sbGVyJykgeworICAgICAgcmV0dXJuIHdvcmtlckNvbnRyb2xs
ZXJUZXh0OworICAgIH0KKworICAgIGlmIChvcHRzLmNoZWNrID09PSAnZmV0Y2gnKSB7CisgICAg
ICByZXR1cm4gd29ya2VyRmV0Y2hUZXh0OworICAgIH0KKworICAgIHRocm93KCd1bmV4cGVjdGVk
IGZlYXR1cmUgdG8gY2hlY2s6ICcgKyBvcHRzLmNoZWNrKTsKKyAgfQorCisgIHRocm93KCd1bmV4
cGVjdGVkIGNoaWxkIHR5cGUgJyArIG9wdHMuY2hpbGQpOworfQorCitmdW5jdGlvbiBtYWtlVVJM
KG9wdHMpIHsKKyAgbGV0IG1pbWV0eXBlID0gb3B0cy5jaGlsZCA9PT0gJ2lmcmFtZScgPyAndGV4
dC9odG1sJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICd0ZXh0
L2phdmFzY3JpcHQnOworCisgIGlmIChvcHRzLnNjaGVtZSA9PT0gJ2Jsb2InKSB7CisgICAgbGV0
IGJsb2IgPSBuZXcgQmxvYihbZ2V0Q2hpbGRUZXh0KG9wdHMpXSwgeyB0eXBlOiBtaW1ldHlwZSB9
KTsKKyAgICByZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKKyAgfQorCisgIGlmIChv
cHRzLnNjaGVtZSA9PT0gJ2RhdGEnKSB7CisgICAgcmV0dXJuIGBkYXRhOiR7bWltZXR5cGV9LCR7
Z2V0Q2hpbGRUZXh0KG9wdHMpfWA7CisgIH0KKworICB0aHJvdyhgdW5leHBlY3RlZCBVUkwgc2No
ZW1lICR7b3B0cy5zY2hlbWV9YCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RXb3JrZXJDaGlsZCh1cmwp
IHsKKyAgbGV0IHcgPSBuZXcgV29ya2VyKHVybCk7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgdy5vbm1lc3NhZ2UgPSByZXNvbHZlOworICAgIHcub25l
cnJvciA9IGV2dCA9PiB7CisgICAgICByZWplY3QoZXZ0Lm1lc3NhZ2UpOworICAgIH0KKyAgfSk7
Cit9CisKK2Z1bmN0aW9uIHRlc3RJZnJhbWVDaGlsZCh1cmwpIHsKKyAgbGV0IGZyYW1lID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgIGZyYW1lLnNyYyA9IHVybDsKKyAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4geworICAgIGFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBldnQgPT4geworICAg
ICAgcmVzb2x2ZShldnQuZGF0YSk7CisgICAgfSwgeyBvbmNlOiB0cnVlIH0pOworICB9KTsKK30K
KworZnVuY3Rpb24gdGVzdFVSTChvcHRzLCB1cmwpIHsKKyAgaWYgKG9wdHMuY2hpbGQgPT09ICd3
b3JrZXInKSB7CisgICAgcmV0dXJuIHRlc3RXb3JrZXJDaGlsZCh1cmwpOworICB9CisKKyAgaWYg
KG9wdHMuY2hpbGQgPT09ICdpZnJhbWUnKSB7CisgICAgcmV0dXJuIHRlc3RJZnJhbWVDaGlsZCh1
cmwpOworICB9CisKKyAgdGhyb3coYHVuZXhwZWN0ZWQgY2hpbGQgdHlwZSAke29wdHMuY2hpbGR9
YCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrQ2hpbGRDb250cm9sbGVyKG9wdHMpIHsKKyAgbGV0IHVy
bCA9IG1ha2VVUkwob3B0cyk7CisgIHJldHVybiB0ZXN0VVJMKG9wdHMsIHVybCk7Cit9Cis8L3Nj
cmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9s
b2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9sb2NhbC11cmwtaW5oZXJpdC1jb250cm9sbGVyLXdvcmtlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZDg5NTVmMTExZjZmMzYyNGRhOGEzMWUwMzM1NDRlNzM4YmEyNzUxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2xvY2FsLXVybC1pbmhlcml0LWNv
bnRyb2xsZXItd29ya2VyLmpzCkBAIC0wLDAgKzEsNSBAQAorYWRkRXZlbnRMaXN0ZW5lcignZmV0
Y2gnLCBldnQgPT4geworICBpZiAoZXZ0LnJlcXVlc3QudXJsLmluY2x1ZGVzKCdkdW1teScpKSB7
CisgICAgZXZ0LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZSgnaW50ZXJjZXB0ZWQnKSk7CisgIH0K
K30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21hbGZvcm1lZC1o
dHRwLXJlc3BvbnNlLmFzaXMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbWFsZm9ybWVk
LWh0dHAtcmVzcG9uc2UuYXNpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzNjNjhkNDZkNTMwZjMxOGU1ZDZlOTE0
MGEyNDUxOTcyNGNmMjMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL21hbGZvcm1lZC1odHRwLXJlc3BvbnNlLmFzaXMKQEAgLTAsMCArMSBAQAorSEFIQUhB
IFRISVMgSVMgTk9UIEhUVFAgQU5EIFRIRSBCUk9XU0VSIFNIT1VMRCBDT05TSURFUiBJVCBBIE5F
VFdPUksgRVJST1IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tZXNz
YWdlLXZzLW1pY3JvdGFzay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21lc3Nh
Z2UtdnMtbWljcm90YXNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM0NWM1OWE0NzVhZTliMmU2YmMxNjhk
Yzc1YjMxZWFiOWQyMzFmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9tZXNzYWdlLXZzLW1pY3JvdGFzay5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9D
VFlQRSBodG1sPgorPHNjcmlwdD4KKyAgbGV0IGRyYWZ0ID0gW107CisgIHZhciByZXNvbHZlX21h
bnVhbF9wcm9taXNlOworICBsZXQgbWFudWFsX3Byb21pc2UgPQorICAgIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gcmVzb2x2ZV9tYW51YWxfcHJvbWlzZSA9IHJlc29sdmUpLnRoZW4oKCkgPT4gZHJh
ZnQucHVzaCgnbWljcm90YXNrJykpOworCisgIGxldCByZXNvbHZlX21lc3NhZ2VfcHJvbWlzZTsK
KyAgbGV0IG1lc3NhZ2VfcHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZV9t
ZXNzYWdlX3Byb21pc2UgPSByZXNvbHZlKTsKKyAgZnVuY3Rpb24gaGFuZGxlX21lc3NhZ2UoZXZl
bnQpIHsKKyAgICBkcmFmdC5wdXNoKCdtZXNzYWdlJyk7CisgICAgcmVzb2x2ZV9tZXNzYWdlX3By
b21pc2UoKTsKKyAgfQorCisgIHZhciByZXN1bHQgPSBQcm9taXNlLmFsbChbbWFudWFsX3Byb21p
c2UsIG1lc3NhZ2VfcHJvbWlzZV0pLnRoZW4oKCkgPT4gZHJhZnQpOworPC9zY3JpcHQ+CisKKzxz
Y3JpcHQgc3JjPSJlbXB0eS5qcz9rZXk9c3RhcnQiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21vZHVsZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvbW9kdWxlLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zODVmZTcxMDE1MDNj
YjRjN2NhNzdlOTVlMDIzNDU5YjI5MjY3NzQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL21vZHVsZS13b3JrZXIuanMKQEAgLTAsMCArMSBAQAoraW1wb3J0
ICogYXMgbW9kdWxlIGZyb20gJy4vaW1wb3J0ZWQtbW9kdWxlLXNjcmlwdC5qcyc7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL211bHRpcGFydC1pbWFnZS1pZnJhbWUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNTliOTU1OTRmZjUwNTkxM2U4NTYzNzc0NTllYmEyOGIwMGI4YzZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL211bHRpcGFy
dC1pbWFnZS1pZnJhbWUuaHRtbApAQCAtMCwwICsxLDE5IEBACis8c2NyaXB0PgorZnVuY3Rpb24g
bG9hZF9tdWx0aXBhcnRfaW1hZ2Uoc3JjKSB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY29uc3QgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnaW1nJyk7CisgICAgICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4g
cmVzb2x2ZShpbWcpKTsKKyAgICAgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKGUp
ID0+IHJlamVjdChuZXcgRE9NRXhjZXB0aW9uKCdsb2FkIGZhaWxlZCcsICdOZXR3b3JrRXJyb3In
KSkpOworICAgICAgICBpbWcuc3JjID0gc3JjOworICAgIH0pOworfQorCitmdW5jdGlvbiBnZXRf
aW1hZ2VfZGF0YShpbWcpIHsKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdjYW52YXMnKTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJk
Jyk7CisgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAwLCAwKTsKKyAgICAvLyBXaGVuIHxpbWcu
c3JjfCBpcyBjcm9zcyBvcmlnaW4sIHRoaXMgc2hvdWxkIHRocm93IGEgU2VjdXJpdHlFcnJvci4K
KyAgICBjb25zdCBpbWFnZURhdGEgPSBjb250ZXh0LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsK
KyAgICByZXR1cm4gaW1hZ2VEYXRhOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2Utd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEzOGZlNTRkMzRmY2IxZDI3YmMzNTBiY2ZhNzUwMDc0OTc3NzZhMDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdvcmtlci5q
cwpAQCAtMCwwICsxLDIxIEBACitpbXBvcnRTY3JpcHRzKCcvY29tbW9uL2dldC1ob3N0LWluZm8u
c3ViLmpzJyk7CitpbXBvcnRTY3JpcHRzKCd0ZXN0LWhlbHBlcnMuc3ViLmpzJyk7CisKK2NvbnN0
IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKworY29uc3QgbXVsdGlwYXJ0X2ltYWdlX3Bh
dGggPSBiYXNlX3BhdGgoKSArICdtdWx0aXBhcnQtaW1hZ2UucHknOworY29uc3Qgc2FtZW9yaWdp
bl91cmwgPSBob3N0X2luZm9bJ0hUVFBTX09SSUdJTiddICsgbXVsdGlwYXJ0X2ltYWdlX3BhdGg7
Citjb25zdCBjcm9zc19vcmlnaW5fdXJsID0gaG9zdF9pbmZvWydIVFRQU19SRU1PVEVfT1JJR0lO
J10gKyBtdWx0aXBhcnRfaW1hZ2VfcGF0aDsKKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRj
aCcsIGV2ZW50ID0+IHsKKyAgICBjb25zdCB1cmwgPSBldmVudC5yZXF1ZXN0LnVybDsKKyAgICBp
ZiAodXJsLmluZGV4T2YoJ2Nyb3NzLW9yaWdpbi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1uby1jb3Jz
JykgPj0gMCkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5f
dXJsLCB7bW9kZTogJ25vLWNvcnMnfSkpOworICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YoJ2Ny
b3NzLW9yaWdpbi1tdWx0aXBhcnQtaW1hZ2Utd2l0aC1jb3JzLXJlamVjdGVkJykgPj0gMCkgewor
ICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5fdXJsLCB7bW9kZTog
J2NvcnMnfSkpOworICAgIH0gZWxzZSBpZiAodXJsLmluZGV4T2YoJ2Nyb3NzLW9yaWdpbi1tdWx0
aXBhcnQtaW1hZ2Utd2l0aC1jb3JzLWFwcHJvdmVkJykgPj0gMCkgeworICAgICAgICBldmVudC5y
ZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5fdXJsICsgJz9hcHByb3ZlY29ycycsIHttb2Rl
OiAnY29ycyd9KSk7CisgICAgfSBlbHNlIGlmICh1cmwuaW5kZXhPZignc2FtZS1vcmlnaW4tbXVs
dGlwYXJ0LWltYWdlJykgPj0gMCkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChz
YW1lb3JpZ2luX3VybCkpOworICAgIH0KK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL211bHRpcGFydC1pbWFnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9tdWx0aXBhcnQtaW1hZ2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk0ZWUxYzY0ZmQ5YmVjMGJlOTg3
OWRmOGE0YzE2NmU5ZmE1ZTBmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UucHkKQEAgLTAsMCArMSwyMyBAQAorIyBBIHJlcXVl
c3QgaGFuZGxlciB0aGF0IHNlcnZlcyBhIG11bHRpcGFydCBpbWFnZS4KKworaW1wb3J0IG9zCisK
KworQk9VTkRBUlkgPSAnY3V0SGVyZScKKworCitkZWYgY3JlYXRlX3BhcnQocGF0aCk6CisgICAg
d2l0aCBvcGVuKHBhdGgsICdyYicpIGFzIGY6CisgICAgICAgIHJldHVybiAnQ29udGVudC1UeXBl
OiBpbWFnZS9wbmdcclxuXHJcbicgKyBmLnJlYWQoKSArICctLSVzJyAlIEJPVU5EQVJZCisKKwor
ZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnRfdHlwZSA9ICdtdWx0aXBh
cnQveC1taXhlZC1yZXBsYWNlOyBib3VuZGFyeT0lcycgJSBCT1VOREFSWQorICAgIGhlYWRlcnMg
PSBbKCdDb250ZW50LVR5cGUnLCBjb250ZW50X3R5cGUpXQorICAgIGlmICdhcHByb3ZlY29ycycg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgnQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luJywgJyonKSkKKworICAgIGltYWdlX3BhdGggPSBvcy5wYXRoLmpvaW4ocmVx
dWVzdC5kb2Nfcm9vdCwgJ2ltYWdlcycpCisgICAgYm9keSA9IGNyZWF0ZV9wYXJ0KG9zLnBhdGgu
am9pbihpbWFnZV9wYXRoLCAncmVkLnBuZycpKQorICAgIGJvZHkgPSBib2R5ICsgY3JlYXRlX3Bh
cnQob3MucGF0aC5qb2luKGltYWdlX3BhdGgsICdyZWQtMTZ4MTYucG5nJykpCisgICAgcmV0dXJu
IGhlYWRlcnMsIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9u
YXZpZ2F0aW9uLXJlZGlyZWN0LW90aGVyLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3RoZXItb3JpZ2luLmh0bWwKaW5kZXggYTk0
ODNjNjUzNDU3OWFjMmYzNTQ5ZDc5Yzc0ODhmZWVmMTFhNWM2OS4uZDgyNTcxZDFhM2M3MWUyMzI3
NDAwOWQxNDdlNDEwYjEwZmU4ZDI0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3RoZXItb3JpZ2luLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3Qtb3RoZXItb3JpZ2luLmh0
bWwKQEAgLTMzLDExICszMywyOCBAQCBmdW5jdGlvbiBzZW5kX3Jlc3VsdChtZXNzYWdlX2lkLCBy
ZXN1bHQpIHsKICAgICAgIGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10pOwogfQogCi1mdW5jdGlv
biBnZXRfaW50ZXJjZXB0ZWRfdXJscyh3b3JrZXIpIHsKK2Z1bmN0aW9uIGdldF9yZXF1ZXN0X2lu
Zm9zKHdvcmtlcikgeworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewor
ICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0
MS5vbm1lc3NhZ2UgPSAobXNnKSA9PiB7CisgICAgICByZXNvbHZlKG1zZy5kYXRhLnJlcXVlc3RJ
bmZvcyk7CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe2NvbW1hbmQ6ICdnZXRSZXF1
ZXN0SW5mb3MnLCBwb3J0OiBjaGFubmVsLnBvcnQyfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
W2NoYW5uZWwucG9ydDJdKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIGdldF9jbGllbnRzKHdvcmtl
ciwgYWN0dWFsX2lkcykgewogICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
ewogICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKLSAgICAgIGNoYW5u
ZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7IHJlc29sdmUobXNnLmRhdGEudXJs
cyk7IH07Ci0gICAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9ydDJ9LCBb
Y2hhbm5lbC5wb3J0Ml0pOworICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSAobXNnKSA9
PiB7CisgICAgICAgIHJlc29sdmUobXNnLmRhdGEuY2xpZW50cyk7CisgICAgICB9OworICAgICAg
d29ya2VyLnBvc3RNZXNzYWdlKHsKKyAgICAgICAgY29tbWFuZDogJ2dldENsaWVudHMnLAorICAg
ICAgICBhY3R1YWxfaWRzLAorICAgICAgICBwb3J0OiBjaGFubmVsLnBvcnQyCisgICAgICB9LCBb
Y2hhbm5lbC5wb3J0Ml0pOwogICAgIH0pOwogfQogCkBAIC00OCwxNCArNjUsMjAgQEAgZnVuY3Rp
b24gb25fbWVzc2FnZShlKSB7CiAgICAgY29uc29sZS5lcnJvcignaW52YWxpZCBvcmlnaW46ICcg
KyBlLm9yaWdpbik7CiAgICAgcmV0dXJuOwogICB9Ci0gIGlmIChlLmRhdGEubWVzc2FnZSA9PSAn
d2FpdF9mb3Jfd29ya2VyJykgeworICBjb25zdCBjb21tYW5kID0gZS5kYXRhLm1lc3NhZ2UuY29t
bWFuZDsKKyAgaWYgKGNvbW1hbmQgPT0gJ3dhaXRfZm9yX3dvcmtlcicpIHsKICAgICB3YWl0X2Zv
cl93b3JrZXJfcHJvbWlzZS50aGVuKGZ1bmN0aW9uKCkgeyBzZW5kX3Jlc3VsdChlLmRhdGEuaWQs
ICdvaycpOyB9KTsKLSAgfSBlbHNlIGlmIChlLmRhdGEubWVzc2FnZSA9PSAnZ2V0X2ludGVyY2Vw
dGVkX3VybHMnKSB7Ci0gICAgZ2V0X2ludGVyY2VwdGVkX3VybHMod29ya2VyKQotICAgICAgLnRo
ZW4oZnVuY3Rpb24odXJscykgewotICAgICAgICAgIHNlbmRfcmVzdWx0KGUuZGF0YS5pZCwgdXJs
cyk7CisgIH0gZWxzZSBpZiAoY29tbWFuZCA9PSAnZ2V0X3JlcXVlc3RfaW5mb3MnKSB7CisgICAg
Z2V0X3JlcXVlc3RfaW5mb3Mod29ya2VyKQorICAgICAgLnRoZW4oZnVuY3Rpb24oZGF0YSkgewor
ICAgICAgICAgIHNlbmRfcmVzdWx0KGUuZGF0YS5pZCwgZGF0YSk7CisgICAgICAgIH0pOworICB9
IGVsc2UgaWYgKGNvbW1hbmQgPT0gJ2dldF9jbGllbnRzJykgeworICAgIGdldF9jbGllbnRzKHdv
cmtlciwgZS5kYXRhLm1lc3NhZ2UuYWN0dWFsX2lkcykKKyAgICAgIC50aGVuKGZ1bmN0aW9uKGRh
dGEpIHsKKyAgICAgICAgICBzZW5kX3Jlc3VsdChlLmRhdGEuaWQsIGRhdGEpOwogICAgICAgICB9
KTsKLSAgfSBlbHNlIGlmIChlLmRhdGEubWVzc2FnZSA9PSAndW5yZWdpc3RlcicpIHsKKyAgfSBl
bHNlIGlmIChjb21tYW5kID09ICd1bnJlZ2lzdGVyJykgewogICAgIHJlZ2lzdHJhdGlvbi51bnJl
Z2lzdGVyKCkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgIHNlbmRfcmVzdWx0
KGUuZGF0YS5pZCwgJ29rJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1vdXQtc2NvcGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC1vdXQtc2NvcGUucHkKaW5kZXggOTA3Y2VmYTNi
MWFmYTk2YTU1ZDU0OTM1YWQ4MzU3YjIzMjExOGY5Yi4uMTY4NTA3MjNmOTY4ZmQzZmFjNTFhMzNj
NmU5ODNjNGYwMTNhODgyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L25hdmlnYXRpb24tcmVkaXJlY3Qtb3V0LXNjb3BlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW91dC1zY29wZS5weQpAQCAtMTEsMTAgKzEx
LDEyIEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICByZXR1cm4gc3RhdHVzLCBb
KCJjb250ZW50LXR5cGUiLCAidGV4dC9odG1sIildLCAnJycKIDwhRE9DVFlQRSBodG1sPgogPHNj
cmlwdD4KK29ubWVzc2FnZSA9IGV2ZW50ID0+IHsKICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2Fn
ZSgKICAgICAgIHsKLSAgICAgICAgaWQ6ICdsYXN0X3VybCcsCisgICAgICAgIGlkOiBldmVudC5k
YXRhLmlkLAogICAgICAgICByZXN1bHQ6IGxvY2F0aW9uLmhyZWYKICAgICAgIH0sICcqJyk7Cit9
OwogPC9zY3JpcHQ+CiAnJycKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMS5weQppbmRleCA5MDdjZWZhM2IxYWZhOTZh
NTVkNTQ5MzVhZDgzNTdiMjMyMTE4ZjliLi4xNjg1MDcyM2Y5NjhmZDNmYWM1MWEzM2M2ZTk4M2M0
ZjAxM2E4ODIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdh
dGlvbi1yZWRpcmVjdC1zY29wZTEucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L25hdmlnYXRpb24tcmVkaXJlY3Qtc2NvcGUxLnB5CkBAIC0xMSwxMCArMTEsMTIgQEAgZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHJldHVybiBzdGF0dXMsIFsoImNvbnRlbnQtdHlw
ZSIsICJ0ZXh0L2h0bWwiKV0sICcnJwogPCFET0NUWVBFIGh0bWw+CiA8c2NyaXB0Pgorb25tZXNz
YWdlID0gZXZlbnQgPT4gewogICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKAogICAgICAgewot
ICAgICAgICBpZDogJ2xhc3RfdXJsJywKKyAgICAgICAgaWQ6IGV2ZW50LmRhdGEuaWQsCiAgICAg
ICAgIHJlc3VsdDogbG9jYXRpb24uaHJlZgogICAgICAgfSwgJyonKTsKK307CiA8L3NjcmlwdD4K
ICcnJwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24t
cmVkaXJlY3Qtc2NvcGUyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRp
b24tcmVkaXJlY3Qtc2NvcGUyLnB5CmluZGV4IDkwN2NlZmEzYjFhZmE5NmE1NWQ1NDkzNWFkODM1
N2IyMzIxMThmOWIuLjE2ODUwNzIzZjk2OGZkM2ZhYzUxYTMzYzZlOTgzYzRmMDEzYTg4MjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0
LXNjb3BlMi5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi1y
ZWRpcmVjdC1zY29wZTIucHkKQEAgLTExLDEwICsxMSwxMiBAQCBkZWYgbWFpbihyZXF1ZXN0LCBy
ZXNwb25zZSk6CiAgICAgcmV0dXJuIHN0YXR1cywgWygiY29udGVudC10eXBlIiwgInRleHQvaHRt
bCIpXSwgJycnCiA8IURPQ1RZUEUgaHRtbD4KIDxzY3JpcHQ+Citvbm1lc3NhZ2UgPSBldmVudCA9
PiB7CiAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoCiAgICAgICB7Ci0gICAgICAgIGlkOiAn
bGFzdF91cmwnLAorICAgICAgICBpZDogZXZlbnQuZGF0YS5pZCwKICAgICAgICAgcmVzdWx0OiBs
b2NhdGlvbi5ocmVmCiAgICAgICB9LCAnKicpOworfTsKIDwvc2NyaXB0PgogJycnCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi10aW1pbmctd29ya2Vy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tdGltaW5nLXdvcmtl
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NTM5YjQwMDY2ZGQ5MWJiZmFmN2VmMjQwYjgxMDRkY2IyYWIzYjI3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRp
b24tdGltaW5nLXdvcmtlci5qcwpAQCAtMCwwICsxLDE1IEBACitzZWxmLmFkZEV2ZW50TGlzdGVu
ZXIoJ2ZldGNoJywgKGV2ZW50KSA9PiB7CisgICAgY29uc3QgdXJsID0gZXZlbnQucmVxdWVzdC51
cmw7CisKKyAgICAvLyBOZXR3b3JrIGZhbGxiYWNrLgorICAgIGlmICh1cmwuaW5kZXhPZignbmV0
d29yay1mYWxsYmFjaycpID49IDApIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8v
IERvbid0IGludGVyY2VwdCByZWRpcmVjdC4KKyAgICBpZiAodXJsLmluZGV4T2YoJ3JlZGlyZWN0
LnB5JykgPj0gMCkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZXZlbnQucmVzcG9u
ZFdpdGgoZmV0Y2godXJsKSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9uZXN0ZWQtaWZyYW1lLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL25lc3RlZC1pZnJhbWUtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE1YWIyNmUxMjIx
MDI0YjMwMzEzNTY5ZjQ4NDk0MmIxMGY2ZGJhMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9uZXN0ZWQtaWZyYW1lLXBhcmVudC5odG1sCkBAIC0wLDAgKzEs
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgorICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5vbm1lc3NhZ2UgPSBldmVudCA9PiBwYXJlbnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSwgJyon
LCBldmVudC5wb3J0cyk7Cis8L3NjcmlwdD4KKzxpZnJhbWUgaWQ9J2NoaWxkJz48L2lmcmFtZT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uZXN0ZWRfbG9hZF93b3Jr
ZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmVzdGVkX2xvYWRfd29ya2VyLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZlMmU5ZWRjNGQ4YjM1ZTAzZjVhYTRiMjk5NjY4MTJhZGRmNDM0NDQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmVzdGVkX2xvYWRf
d29ya2VyLmpzCkBAIC0wLDAgKzEsOSBAQAordmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoImxvYWRf
d29ya2VyLmpzIik7CisKK3NlbGYub25tZXNzYWdlID0gZnVuY3Rpb24gKGV2dCkgeworICB3b3Jr
ZXIucG9zdE1lc3NhZ2UoZXZ0LmRhdGEpOworfTsKKword29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uIChldnQpIHsKKyAgc2VsZi5wb3N0TWVzc2FnZShldnQuZGF0YSk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWltYWdlLWlzLW5vdC1pbnRlcmNl
cHRlZC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vYmplY3QtaW1h
Z2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhMjBhNThhYjE2
OTA2ZjQyYjA1ZmQ4MGNjZjIyMDI0ZDU5ZGUyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWltYWdlLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJh
bWUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5pZnJhbWUgZm9yIGVtYmVkLWFuZC1vYmplY3QtYXJlLW5vdC1pbnRl
cmNlcHRlZCB0ZXN0PC90aXRsZT4KKzxib2R5PgorPG9iamVjdCB0eXBlPSJpbWFnZS9wbmciIGRh
dGE9Ii9pbWFnZXMvZ3JlZW4ucG5nIj48L2VtYmVkPgorPHNjcmlwdD4KKy8vIE91ciBwYXJlbnQg
KHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxsIGV4YW1pbmUgdGhpcyB0byBnZXQgdGhl
IHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAg
ICBpZiAoIW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIpCisgICAgICByZXNvbHZl
KCdGQUlMOiB0aGlzIGlmcmFtZSBpcyBub3QgY29udHJvbGxlZCcpOworCisgICAgY29uc3QgZWxl
bSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpOworICAgIGVsZW0uYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIGUgPT4geworICAgICAgICByZXNvbHZlKCdyZXF1ZXN0IHdhcyBub3Qg
aW50ZXJjZXB0ZWQnKTsKKyAgICAgIH0pOworICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcignZXJy
b3InLCBlID0+IHsKKyAgICAgICAgcmVzb2x2ZSgnRkFJTDogcmVxdWVzdCB3YXMgaW50ZXJjZXB0
ZWQnKTsKKyAgICAgIH0pOworICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL29iamVjdC1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZy
YW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWlzLW5vdC1pbnRl
cmNlcHRlZC1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYWViODE5NTFlZGU0OGM2Mjc4MGZlNzIz
MDEzYjJhZDc3ZmZlMzM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL29iamVjdC1pcy1ub3QtaW50ZXJjZXB0ZWQtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+aWZy
YW1lIGZvciBlbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3QtaW50ZXJjZXB0ZWQgdGVzdDwvdGl0bGU+
Cis8Ym9keT4KKzxzY3JpcHQ+CisvLyBUaGUgT0JKRUNUIGVsZW1lbnQgd2lsbCBjYWxsIHRoaXMg
d2l0aCB0aGUgcmVzdWx0IGFib3V0IHdoZXRoZXIgdGhlIE9CSkVDVAorLy8gcmVxdWVzdCB3YXMg
aW50ZXJjZXB0ZWQgYnkgdGhlIHNlcnZpY2Ugd29ya2VyLgordmFyIHJlcG9ydF9yZXN1bHQ7CisK
Ky8vIE91ciBwYXJlbnQgKHRoZSByb290IGZyYW1lIG9mIHRoZSB0ZXN0KSB3aWxsIGV4YW1pbmUg
dGhpcyB0byBnZXQgdGhlIHJlc3VsdC4KK3ZhciB0ZXN0X3Byb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICByZXBvcnRfcmVzdWx0ID0gcmVzb2x2ZTsKKyAgfSk7Cis8L3Njcmlw
dD4KKworPG9iamVjdCBkYXRhPSJlbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWwiPjwv
b2JqZWN0PgorPC9ib2R5PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvcGFzcy10aHJvdWdoLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9w
YXNzLXRocm91Z2gtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlYWY0OGQ1ODg3ZDExOWUwMGIwZGI5
ZDRhZGI3YWRhNDJiMzc4NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvcGFzcy10aHJvdWdoLXdvcmtlci5qcwpAQCAtMCwwICsxLDMgQEAKK2FkZEV2ZW50
TGlzdGVuZXIoJ2ZldGNoJywgZXZ0ID0+IHsKKyAgZXZ0LnJlc3BvbmRXaXRoKGZldGNoKGV2dC5y
ZXF1ZXN0KSk7Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9w
YXNzLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bhc3MudHh0CkBAIC0wLDAgKzEgQEAK
K1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wZXJmb3JtYW5j
ZS10aW1lbGluZS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcGVyZm9y
bWFuY2UtdGltZWxpbmUtd29ya2VyLmpzCmluZGV4IDZmN2RmNzVlOTIxNzg2MTA4N2YwNDE5ZTk4
NDlkNGJjNTg5M2FiMjQuLmNhYzMyN2MzNGJmOWRmMTg0OTEzYzU2MWI1ODRiMDM4ZjM1MDRjOTQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wZXJmb3JtYW5jZS10aW1l
bGluZS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3BlcmZvcm1h
bmNlLXRpbWVsaW5lLXdvcmtlci5qcwpAQCAtNDUsMTEgKzQ1LDE1IEBAIHByb21pc2VfdGVzdChm
dW5jdGlvbih0ZXN0KSB7CiAgICAgICAgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnku
cmVzcG9uc2VFbmQsIGVudHJ5LnN0YXJ0VGltZSk7CiAgICAgICAgICAgfQogICAgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0gICAgICAgICAgICAgIHBlcmZv
cm1hbmNlLm9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsID0gcmVzb2x2ZTsKKyAgICAgICAgICAg
ICAgcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgPSBfID0+IHsKKyAgICAg
ICAgICAgICAgICByZXNvbHZlKCdidWZmZXJmdWxsJyk7CisgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKGV4cGVjdGVk
UmVzb3VyY2VzLmxlbmd0aCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgZmV0Y2go
J2R1bW15LnR4dCcpOworICAgICAgICAgIH0pOwogICAgICAgICB9KQotICAgICAgLnRoZW4oZnVu
Y3Rpb24oKSB7CisgICAgICAudGhlbihmdW5jdGlvbihyZXN1bHQpIHsKKyAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHJlc3VsdCwgJ2J1ZmZlcmZ1bGwnKTsKICAgICAgICAgICBwZXJmb3JtYW5jZS5j
bGVhclJlc291cmNlVGltaW5ncygpOwogICAgICAgICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5sZW5ndGgsIDApOwogICAgICAgICB9KQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bvc3RtZXNzYWdlLWRpY3Rp
b25hcnktdHJhbnNmZXJhYmxlcy13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvcG9zdG1lc3NhZ2UtZGljdGlvbmFyeS10cmFuc2ZlcmFibGVzLXdvcmtlci5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44N2E0NTAwZDc1NGFiMDI0NjVlMTA5ODk5ZTdmMWZmZGMwYmRjYTUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Bvc3RtZXNzYWdlLWRpY3Rpb25h
cnktdHJhbnNmZXJhYmxlcy13b3JrZXIuanMKQEAgLTAsMCArMSwyNCBAQAordmFyIG1lc3NhZ2VI
YW5kbGVyID0gZnVuY3Rpb24ocG9ydCwgZSkgeworICAgIHZhciB0ZXh0X2RlY29kZXIgPSBuZXcg
VGV4dERlY29kZXI7CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7CisgICAgICBjb250ZW50OiB0ZXh0
X2RlY29kZXIuZGVjb2RlKGUuZGF0YSksCisgICAgICBieXRlTGVuZ3RoOiBlLmRhdGEuYnl0ZUxl
bmd0aAorICAgIH0pOworCisgICAgLy8gU2VuZCBiYWNrIHRoZSBhcnJheSBidWZmZXIgdmlhIENs
aWVudC5wb3N0TWVzc2FnZS4KKyAgICBwb3J0LnBvc3RNZXNzYWdlKGUuZGF0YSwge3RyYW5zZmVy
OiBbZS5kYXRhLmJ1ZmZlcl19KTsKKworICAgIHBvcnQucG9zdE1lc3NhZ2UoeworICAgICAgY29u
dGVudDogdGV4dF9kZWNvZGVyLmRlY29kZShlLmRhdGEpLAorICAgICAgYnl0ZUxlbmd0aDogZS5k
YXRhLmJ5dGVMZW5ndGgKKyAgICB9KTsKK307CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIGUgPT4geworICAgIGlmIChlLnBvcnRzWzBdKSB7CisgICAgICAvLyBXYWl0IGZvciBt
ZXNzYWdlcyBzZW50IHZpYSBNZXNzYWdlUG9ydC4KKyAgICAgIGUucG9ydHNbMF0ub25tZXNzYWdl
ID0gbWVzc2FnZUhhbmRsZXIuYmluZChudWxsLCBlLnBvcnRzWzBdKTsKKyAgICAgIHJldHVybjsK
KyAgICB9CisgICAgbWVzc2FnZUhhbmRsZXIoZS5zb3VyY2UsIGUpOworICB9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yYW5nZS1yZXF1ZXN0LXRvLWRpZmZlcmVu
dC1vcmlnaW5zLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yYW5nZS1y
ZXF1ZXN0LXRvLWRpZmZlcmVudC1vcmlnaW5zLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWI2MDU4
MzM5MDU4Zjg1NjcxOTQ4ZTBkOTIwYWI0OTM0MzY3ZDBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JhbmdlLXJlcXVlc3QtdG8tZGlmZmVyZW50LW9yaWdp
bnMtd29ya2VyLmpzCkBAIC0wLDAgKzEsNDAgQEAKKy8vIFRoaXMgd29ya2VyIGlzIG1lYW50IHRv
IHRlc3QgcmFuZ2UgcmVxdWVzdHMgd2hlcmUgdGhlIHJlc3BvbnNlcyBjb21lIGZyb20KKy8vIG11
bHRpcGxlIG9yaWdpbnMuIEl0IGZvcndhcmRzIHRoZSBmaXJzdCByZXF1ZXN0IHRvIGEgY3Jvc3Mt
b3JpZ2luIFVSTAorLy8gKGdlbmVyYXRpbmcgYW4gb3BhcXVlIHJlc3BvbnNlKS4gVGhlIHNlcnZl
ciBpcyBleHBlY3RlZCB0byByZXR1cm4gYSAyMDYKKy8vIFBhcnRpYWwgQ29udGVudCByZXNwb25z
ZS4gIFRoZW4gdGhlIHdvcmtlciBsZXRzIHN1YnNlcXVlbnQgcmFuZ2UgcmVxdWVzdHMKKy8vIGZh
bGwgYmFjayB0byBuZXR3b3JrIChnZW5lcmF0aW5nIHNhbWUtb3JpZ2luIHJlc3BvbnNlcykuIFRo
ZSBpbnRlbnQgaXMgdG8gdHJ5CisvLyB0byB0cmljayB0aGUgYnJvd3NlciBpbnRvIHRyZWF0aW5n
IHRoZSByZXNvdXJjZSBhcyBzYW1lLW9yaWdpbi4KKy8vCisvLyBJdCB3b3VsZCBhbHNvIGJlIGlu
dGVyZXN0aW5nIHRvIGRvIHRoZSByZXZlcnNlIHRlc3Qgd2hlcmUgdGhlIGZpcnN0IHJlcXVlc3QK
Ky8vIGdvZXMgdG8gdGhlIHNhbWUtb3JpZ2luIFVSTCwgYW5kIHN1YnNlcXVlbnQgcmFuZ2UgcmVx
dWVzdHMgZ28gY3Jvc3Mtb3JpZ2luIGluCisvLyAnbm8tY29ycycgbW9kZSB0byByZWNlaXZlIG9w
YXF1ZSByZXNwb25zZXMuIEJ1dCB0aGUgc2VydmljZSB3b3JrZXIgY2Fubm90IGRvCisvLyB0aGlz
LCBiZWNhdXNlIGluICduby1jb3JzJyBtb2RlIHRoZSAncmFuZ2UnIEhUVFAgaGVhZGVyIGlzIGRp
c2FsbG93ZWQuCisKK2ltcG9ydFNjcmlwdHMoJy9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMn
KQorCitsZXQgaW5pdGlhbCA9IHRydWU7CitmdW5jdGlvbiBpc19pbml0aWFsX3JlcXVlc3QoKSB7
CisgIGNvbnN0IG9sZCA9IGluaXRpYWw7CisgIGluaXRpYWwgPSBmYWxzZTsKKyAgcmV0dXJuIG9s
ZDsKK30KKworc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGUgPT4geworICAgIGNvbnN0
IHVybCA9IG5ldyBVUkwoZS5yZXF1ZXN0LnVybCk7CisgICAgaWYgKHVybC5zZWFyY2guaW5kZXhP
ZignVklERU8nKSA9PSAtMSkgeworICAgICAgLy8gRmFsbCBiYWNrIGZvciBub24tdmlkZW8uCisg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gTWFrZSB0aGUgZmlyc3QgcmVxdWVzdCBnbyBj
cm9zcy1vcmlnaW4uCisgICAgaWYgKGlzX2luaXRpYWxfcmVxdWVzdCgpKSB7CisgICAgICBjb25z
dCBjcm9zc19vcmlnaW5fdXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4g
KworICAgICAgICAgIHVybC5wYXRobmFtZSArIHVybC5zZWFyY2g7CisgICAgICBjb25zdCBjcm9z
c19vcmlnaW5fcmVxdWVzdCA9IG5ldyBSZXF1ZXN0KGNyb3NzX29yaWdpbl91cmwsCisgICAgICAg
ICAge21vZGU6ICduby1jb3JzJywgaGVhZGVyczogZS5yZXF1ZXN0LmhlYWRlcnN9KTsKKyAgICAg
IGUucmVzcG9uZFdpdGgoZmV0Y2goY3Jvc3Nfb3JpZ2luX3JlcXVlc3QpKTsKKyAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICAvLyBGYWxsIGJhY2sgdG8gc2FtZSBvcmlnaW4gZm9yIHN1YnNlcXVl
bnQgcmFuZ2UgcmVxdWVzdHMuCisgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3JhbmdlLXJlcXVlc3Qtd2l0aC1kaWZmZXJlbnQtY29ycy1tb2Rlcy13b3JrZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmFuZ2UtcmVxdWVzdC13aXRoLWRpZmZl
cmVudC1jb3JzLW1vZGVzLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTgwYjBiNjhhOTVlNzQyOWFk
ZWM5ZTM3ZTE4MGEwNmI1M2NhMTVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3JhbmdlLXJlcXVlc3Qtd2l0aC1kaWZmZXJlbnQtY29ycy1tb2Rlcy13b3Jr
ZXIuanMKQEAgLTAsMCArMSw2MCBAQAorLy8gVGhpcyB3b3JrZXIgaXMgbWVhbnQgdG8gdGVzdCBy
YW5nZSByZXF1ZXN0cyB3aGVyZSB0aGUgcmVzcG9uc2VzIGFyZSBhIG1peCBvZgorLy8gb3BhcXVl
IG9uZXMgYW5kIG5vbi1vcGFxdWUgb25lcy4gSXQgZm9yd2FyZHMgdGhlIGZpcnN0IHJlcXVlc3Qg
dG8gYQorLy8gY3Jvc3Mtb3JpZ2luIFVSTCAoZ2VuZXJhdGluZyBhbiBvcGFxdWUgcmVzcG9uc2Up
LiBUaGUgc2VydmVyIGlzIGV4cGVjdGVkIHRvCisvLyByZXR1cm4gYSAyMDYgUGFydGlhbCBDb250
ZW50IHJlc3BvbnNlLiAgVGhlbiB0aGUgd29ya2VyIGZvcndhcmRzIHN1YnNlcXVlbnQKKy8vIHJh
bmdlIHJlcXVlc3RzIHRvIHRoYXQgVVJMLCB3aXRoIENPUlMgc2hhcmluZyBnZW5lcmF0aW5nIGEg
bm9uLW9wYXF1ZQorLy8gcmVzcG9uc2VzLiBUaGUgaW50ZW50IGlzIHRvIHRyeSB0byB0cmljayB0
aGUgYnJvd3NlciBpbnRvIHRyZWF0aW5nIHRoZQorLy8gcmVzb3VyY2UgYXMgbm9uLW9wYXF1ZS4K
Ky8vCisvLyBJdCB3b3VsZCBhbHNvIGJlIGludGVyZXN0aW5nIHRvIGRvIHRoZSByZXZlcnNlIHRl
c3Qgd2hlcmUgdGhlIGZpcnN0IHJlcXVlc3QKKy8vIHVzZXMgJ2NvcnMnLCBhbmQgc3Vic2VxdWVu
dCByYW5nZSByZXF1ZXN0cyB1c2UgJ25vLWNvcnMnIG1vZGUuIEJ1dCB0aGUKKy8vIHNlcnZpY2Ug
d29ya2VyIGNhbm5vdCBkbyB0aGlzLCBiZWNhdXNlIGluICduby1jb3JzJyBtb2RlIHRoZSAncmFu
Z2UnIEhUVFAKKy8vIGhlYWRlciBpcyBkaXNhbGxvd2VkLgorCitpbXBvcnRTY3JpcHRzKCcvY29t
bW9uL2dldC1ob3N0LWluZm8uc3ViLmpzJykKKworbGV0IGluaXRpYWwgPSB0cnVlOworZnVuY3Rp
b24gaXNfaW5pdGlhbF9yZXF1ZXN0KCkgeworICBjb25zdCBvbGQgPSBpbml0aWFsOworICBpbml0
aWFsID0gZmFsc2U7CisgIHJldHVybiBvbGQ7Cit9CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcign
ZmV0Y2gnLCBlID0+IHsKKyAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGUucmVxdWVzdC51cmwpOwor
ICAgIGlmICh1cmwuc2VhcmNoLmluZGV4T2YoJ1ZJREVPJykgPT0gLTEpIHsKKyAgICAgIC8vIEZh
bGwgYmFjayBmb3Igbm9uLXZpZGVvLgorICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBj
cm9zc19vcmlnaW5fdXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4gKwor
ICAgICAgICB1cmwucGF0aG5hbWUgKyB1cmwuc2VhcmNoOworCisgICAgLy8gVGhlIGZpcnN0IHJl
cXVlc3QgaXMgbm8tY29ycy4KKyAgICBpZiAoaXNfaW5pdGlhbF9yZXF1ZXN0KCkpIHsKKyAgICAg
IGNvbnN0IGluaXQgPSB7IG1vZGU6ICduby1jb3JzJywgaGVhZGVyczogZS5yZXF1ZXN0LmhlYWRl
cnMgfTsKKyAgICAgIGNvbnN0IGNyb3NzX29yaWdpbl9yZXF1ZXN0ID0gbmV3IFJlcXVlc3QoY3Jv
c3Nfb3JpZ2luX3VybCwgaW5pdCk7CisgICAgICBlLnJlc3BvbmRXaXRoKGZldGNoKGNyb3NzX29y
aWdpbl9yZXF1ZXN0KSk7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gU3Vic2VxdWVu
dCByYW5nZSByZXF1ZXN0cyBhcmUgY29ycy4KKworICAgIC8vIENvcHkgaGVhZGVycyBuZWVkZWQg
Zm9yIHJhbmdlIHJlcXVlc3RzLgorICAgIGxldCBteV9oZWFkZXJzID0gbmV3IEhlYWRlcnM7Cisg
ICAgaWYgKGUucmVxdWVzdC5oZWFkZXJzLmdldCgnYWNjZXB0JykpCisgICAgICBteV9oZWFkZXJz
LmFwcGVuZCgnYWNjZXB0JywgZS5yZXF1ZXN0LmhlYWRlcnMuZ2V0KCdhY2NlcHQnKSk7CisgICAg
aWYgKGUucmVxdWVzdC5oZWFkZXJzLmdldCgncmFuZ2UnKSkKKyAgICBteV9oZWFkZXJzLmFwcGVu
ZCgncmFuZ2UnLCBlLnJlcXVlc3QuaGVhZGVycy5nZXQoJ3JhbmdlJykpOworCisgICAgLy8gQWRk
ICZBQ0FPcmlnaW4gdG8gYWxsb3cgQ09SUy4KKyAgICBjcm9zc19vcmlnaW5fdXJsICs9ICcmQUNB
T3JpZ2luPScgKyBnZXRfaG9zdF9pbmZvKCkuSFRUUFNfT1JJR0lOOworICAgIC8vIEFkZCAmQUNB
SGVhZGVycyB0byBhbGxvdyByYW5nZSByZXF1ZXN0cy4KKyAgICBjcm9zc19vcmlnaW5fdXJsICs9
ICcmQUNBSGVhZGVycz1hY2NlcHQscmFuZ2UnOworCisgICAgLy8gTWFrZSB0aGUgQ09SUyByZXF1
ZXN0LgorICAgIGNvbnN0IGluaXQgPSB7IG1vZGU6ICdjb3JzJywgaGVhZGVyczogbXlfaGVhZGVy
cyB9OworICAgIGNvbnN0IGNyb3NzX29yaWdpbl9yZXF1ZXN0ID0gbmV3IFJlcXVlc3QoY3Jvc3Nf
b3JpZ2luX3VybCwgaW5pdCk7CisgICAgZS5yZXNwb25kV2l0aChmZXRjaChjcm9zc19vcmlnaW5f
cmVxdWVzdCkpOworICB9KTsKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3JlZGlyZWN0LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRp
cmVjdC13b3JrZXIuanMKaW5kZXggN2U1ZWFkMTk0MTllMmM5YmRmNmJmMjIzZWM4NGU2OTJlNTdj
OGZlMi4uZGRjYzJjZjU0Nzg5NDIyOTJkYzhjNWUzMGQxNTZkYzQyODg2MzY1ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXdvcmtlci5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVkaXJlY3Qtd29ya2VyLmpzCkBAIC01LDIwICs1
LDgwIEBAIHZhciBjYWNoZU5hbWUgPSAndXJscy0nICsgc2VsZi5yZWdpc3RyYXRpb24uc2NvcGU7
CiAKIHZhciB3YWl0VW50aWxQcm9taXNlTGlzdCA9IFtdOwogCi1zZWxmLmFkZEV2ZW50TGlzdGVu
ZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldmVudCkgewotICAgIHZhciB1cmxzOwotICAgIGV2ZW50
LndhaXRVbnRpbChQcm9taXNlLmFsbCh3YWl0VW50aWxQcm9taXNlTGlzdCkudGhlbihmdW5jdGlv
bigpIHsKLSAgICAgIHdhaXRVbnRpbFByb21pc2VMaXN0ID0gW107Ci0gICAgICByZXR1cm4gY2Fj
aGVzLm9wZW4oY2FjaGVOYW1lKTsKLSAgICB9KS50aGVuKGZ1bmN0aW9uKGNhY2hlKSB7Ci0gICAg
ICByZXR1cm4gY2FjaGUua2V5cygpOwotICAgIH0pLnRoZW4oZnVuY3Rpb24ocmVxdWVzdExpc3Qp
IHsKLSAgICAgIHVybHMgPSByZXF1ZXN0TGlzdC5tYXAoZnVuY3Rpb24ocmVxdWVzdCkgeyByZXR1
cm4gcmVxdWVzdC51cmw7IH0pOwotICAgICAgcmV0dXJuIGNhY2hlcy5kZWxldGUoY2FjaGVOYW1l
KTsKLSAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgZXZlbnQuZGF0YS5wb3J0LnBvc3RN
ZXNzYWdlKHt1cmxzOiB1cmxzfSk7Ci0gICAgfSkpOwotICB9KTsKKy8vIFNlbmRzIHRoZSByZXF1
ZXN0cyBzZWVuIGJ5IHRoaXMgd29ya2VyLiBUaGUgb3V0cHV0IGlzOgorLy8geworLy8gICByZXF1
ZXN0SW5mb3M6IFsKKy8vICAgICB7dXJsOiB1cmwxLCByZXN1bHRpbmdDbGllbnRJZDogaWQxfSwK
Ky8vICAgICB7dXJsOiB1cmwyLCByZXN1bHRpbmdDbGllbnRJZDogaWQyfSwKKy8vICAgXQorLy8g
fQorYXN5bmMgZnVuY3Rpb24gZ2V0UmVxdWVzdEluZm9zKGV2ZW50KSB7CisgIC8vIFdhaXQgZm9y
IGZldGNoIGV2ZW50cyB0byBmaW5pc2guCisgIGF3YWl0IFByb21pc2UuYWxsKHdhaXRVbnRpbFBy
b21pc2VMaXN0KTsKKyAgd2FpdFVudGlsUHJvbWlzZUxpc3QgPSBbXTsKKworICAvLyBHZW5lcmF0
ZSB0aGUgbWVzc2FnZS4KKyAgY29uc3QgY2FjaGUgPSBhd2FpdCBjYWNoZXMub3BlbihjYWNoZU5h
bWUpOworICBjb25zdCByZXF1ZXN0TGlzdCA9IGF3YWl0IGNhY2hlLmtleXMoKTsKKyAgY29uc3Qg
cmVxdWVzdEluZm9zID0gW107CisgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVxdWVzdExpc3QubGVu
Z3RoOyBpKyspIHsKKyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNhY2hlLm1hdGNoKHJlcXVl
c3RMaXN0W2ldKTsKKyAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpOworICAg
IHJlcXVlc3RJbmZvc1tpXSA9IHsKKyAgICAgIHVybDogcmVxdWVzdExpc3RbaV0udXJsLAorICAg
ICAgcmVzdWx0aW5nQ2xpZW50SWQ6IGJvZHkucmVzdWx0aW5nQ2xpZW50SWQKKyAgICB9OworICB9
CisgIGF3YWl0IGNhY2hlcy5kZWxldGUoY2FjaGVOYW1lKTsKKworICBldmVudC5kYXRhLnBvcnQu
cG9zdE1lc3NhZ2Uoe3JlcXVlc3RJbmZvc30pOworfQorCisvLyBTZW5kcyB0aGUgcmVzdWx0cyBv
ZiBjbGllbnRzLmdldChpZCkgZnJvbSB0aGlzIHdvcmtlci4gVGhlCisvLyBpbnB1dCBpczoKKy8v
IHsKKy8vICAgYWN0dWFsX2lkczoge2E6IGlkMSwgYjogaWQyLCB4OiBpZDN9CisvLyB9CisvLwor
Ly8gVGhlIG91dHB1dCBpczoKKy8vIHsKKy8vICAgY2xpZW50czogeworLy8gICAgIGE6IHtmb3Vu
ZDogZmFsc2V9LAorLy8gICAgIGI6IHtmb3VuZDogZmFsc2V9LAorLy8gICAgIHg6IHsKKy8vICAg
ICAgIGlkOiBpZDMsCisvLyAgICAgICB1cmw6IHVybDEsCisvLyAgICAgICBmb3VuZDogdHJ1ZQor
Ly8gICAgfQorLy8gICB9CisvLyB9Cithc3luYyBmdW5jdGlvbiBnZXRDbGllbnRzKGV2ZW50KSB7
CisgIC8vIHxhY3R1YWxfaWRzfCBpcyBsaWtlOgorICAvLyB7YTogaWQxLCBiOiBpZDIsIHg6IGlk
M30KKyAgY29uc3QgYWN0dWFsX2lkcyA9IGV2ZW50LmRhdGEuYWN0dWFsX2lkczsKKyAgY29uc3Qg
cmVzdWx0ID0ge30KKyAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKGFjdHVhbF9pZHMpKSB7
CisgICAgY29uc3QgaWQgPSBhY3R1YWxfaWRzW2tleV07CisgICAgY29uc3QgY2xpZW50ID0gYXdh
aXQgc2VsZi5jbGllbnRzLmdldChpZCk7CisgICAgaWYgKGNsaWVudCA9PT0gdW5kZWZpbmVkKQor
ICAgICAgcmVzdWx0W2tleV0gPSB7Zm91bmQ6IGZhbHNlfTsKKyAgICBlbHNlCisgICAgICByZXN1
bHRba2V5XSA9IHtmb3VuZDogdHJ1ZSwgdXJsOiBjbGllbnQudXJsLCBpZDogY2xpZW50LmlkfTsK
KyAgfQorICBldmVudC5kYXRhLnBvcnQucG9zdE1lc3NhZ2Uoe2NsaWVudHM6IHJlc3VsdH0pOwor
fQorCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3luYyBmdW5jdGlvbihldmVu
dCkgeworICBpZiAoZXZlbnQuZGF0YS5jb21tYW5kID09ICdnZXRSZXF1ZXN0SW5mb3MnKSB7Cisg
ICAgZXZlbnQud2FpdFVudGlsKGdldFJlcXVlc3RJbmZvcyhldmVudCkpOworICAgIHJldHVybjsK
KyAgfQorCisgIGlmIChldmVudC5kYXRhLmNvbW1hbmQgPT0gJ2dldENsaWVudHMnKSB7CisgICAg
ZXZlbnQud2FpdFVudGlsKGdldENsaWVudHMoZXZlbnQpKTsKKyAgICByZXR1cm47CisgIH0KK30p
OwogCiBmdW5jdGlvbiBnZXRfcXVlcnlfcGFyYW1zKHVybCkgewogICB2YXIgc2VhcmNoID0gKG5l
dyBVUkwodXJsKSkuc2VhcmNoOwpAQCAtMzYsNyArOTYsMTEgQEAgZnVuY3Rpb24gZ2V0X3F1ZXJ5
X3BhcmFtcyh1cmwpIHsKIAogc2VsZi5hZGRFdmVudExpc3RlbmVyKCdmZXRjaCcsIGZ1bmN0aW9u
KGV2ZW50KSB7CiAgICAgdmFyIHdhaXRVbnRpbFByb21pc2UgPSBjYWNoZXMub3BlbihjYWNoZU5h
bWUpLnRoZW4oZnVuY3Rpb24oY2FjaGUpIHsKLSAgICAgIHJldHVybiBjYWNoZS5wdXQoZXZlbnQu
cmVxdWVzdCwgbmV3IFJlc3BvbnNlKCkpOworICAgICAgY29uc3QgcmVzcG9uc2VCb2R5ID0ge307
CisgICAgICByZXNwb25zZUJvZHlbJ3Jlc3VsdGluZ0NsaWVudElkJ10gPSBldmVudC5yZXN1bHRp
bmdDbGllbnRJZDsKKyAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyh7J0NvbnRlbnQt
VHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ30pOworICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcg
UmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2VCb2R5KSwge2hlYWRlcnN9KTsKKyAgICAg
IHJldHVybiBjYWNoZS5wdXQoZXZlbnQucmVxdWVzdCwgcmVzcG9uc2UpOwogICAgIH0pOwogICAg
IGV2ZW50LndhaXRVbnRpbCh3YWl0VW50aWxQcm9taXNlKTsKIApAQCAtNTAsMjggKzExNCwyNSBA
QCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBldmVudC5yZXNwb25kV2l0aCh3YWl0VW50aWxQcm9taXNl
LnRoZW4oZnVuY3Rpb24oKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgod2FpdFVudGlsUHJvbWlz
ZS50aGVuKGFzeW5jICgpID0+IHsKICAgICAgIGlmIChwYXJhbXNbJ3N3J10gPT0gJ2dlbicpIHsK
ICAgICAgICAgcmV0dXJuIFJlc3BvbnNlLnJlZGlyZWN0KHBhcmFtc1sndXJsJ10pOwogICAgICAg
fSBlbHNlIGlmIChwYXJhbXNbJ3N3J10gPT0gJ2ZldGNoJykgewogICAgICAgICByZXR1cm4gZmV0
Y2goZXZlbnQucmVxdWVzdCk7CisgICAgICB9IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnZmV0
Y2gtdXJsJykgeworICAgICAgICByZXR1cm4gZmV0Y2gocGFyYW1zWyd1cmwnXSk7CiAgICAgICB9
IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnZm9sbG93JykgewogICAgICAgICByZXR1cm4gZmV0
Y2gobmV3IFJlcXVlc3QoZXZlbnQucmVxdWVzdC51cmwsIHtyZWRpcmVjdDogJ2ZvbGxvdyd9KSk7
CiAgICAgICB9IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnbWFudWFsJykgewogICAgICAgICBy
ZXR1cm4gZmV0Y2gobmV3IFJlcXVlc3QoZXZlbnQucmVxdWVzdC51cmwsIHtyZWRpcmVjdDogJ21h
bnVhbCd9KSk7CiAgICAgICB9IGVsc2UgaWYgKHBhcmFtc1snc3cnXSA9PSAnbWFudWFsVGhyb3Vn
aENhY2hlJykgewotICAgICAgICB2YXIgdXJsID0gZXZlbnQucmVxdWVzdC51cmw7Ci0gICAgICAg
IHZhciBjYWNoZTsKLSAgICAgICAgcmV0dXJuIGNhY2hlcy5kZWxldGUodXJsKQotICAgICAgICAg
IC50aGVuKGZ1bmN0aW9uKCkgeyByZXR1cm4gc2VsZi5jYWNoZXMub3Blbih1cmwpOyB9KQotICAg
ICAgICAgIC50aGVuKGZ1bmN0aW9uKGMpIHsKLSAgICAgICAgICAgIGNhY2hlID0gYzsKLSAgICAg
ICAgICAgIHJldHVybiBmZXRjaChuZXcgUmVxdWVzdCh1cmwsIHtyZWRpcmVjdDogJ21hbnVhbCd9
KSk7Ci0gICAgICAgICAgfSkKLSAgICAgICAgICAudGhlbihmdW5jdGlvbihyZXMpIHsgcmV0dXJu
IGNhY2hlLnB1dChldmVudC5yZXF1ZXN0LCByZXMpOyB9KQotICAgICAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgeyByZXR1cm4gY2FjaGUubWF0Y2godXJsKTsgfSk7CisgICAgICAgIGNvbnN0IHVybCA9
IGV2ZW50LnJlcXVlc3QudXJsOworICAgICAgICBhd2FpdCBjYWNoZXMuZGVsZXRlKHVybCkKKyAg
ICAgICAgY29uc3QgY2FjaGUgPSBhd2FpdCBzZWxmLmNhY2hlcy5vcGVuKHVybCk7CisgICAgICAg
IGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2gobmV3IFJlcXVlc3QodXJsLCB7cmVkaXJlY3Q6
ICdtYW51YWwnfSkpOworICAgICAgICBhd2FpdCBjYWNoZS5wdXQoZXZlbnQucmVxdWVzdCwgcmVz
cG9uc2UpOworICAgICAgICByZXR1cm4gY2FjaGUubWF0Y2godXJsKTsKICAgICAgIH0KLQogICAg
ICAgLy8gdW5leHBlY3RlZC4uLiB0cmlnZ2VyIGFuIGludGVyY2VwdGlvbiBmYWlsdXJlCiAgICAg
fSkpOwogICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdp
c3RyYXRpb24tdGVzdHMtbWltZS10eXBlcy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9yZWdpc3RyYXRpb24tdGVzdHMtbWltZS10eXBlcy5qcwppbmRleCAxYjhlYTliZTAwOGNlM2Nm
NDU5N2FhYTdlM2NhNmRkNjgwYWJkZDBiLi4zZTQ4NTliOGIzOWIwOTU1ZTZjNTE1ZDM2N2UyZTdk
NDRjNGYzYTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0
cmF0aW9uLXRlc3RzLW1pbWUtdHlwZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3JlZ2lzdHJhdGlvbi10ZXN0cy1taW1lLXR5cGVzLmpzCkBAIC0yMSwxMSArMjEsMjEgQEAg
ZnVuY3Rpb24gcmVnaXN0cmF0aW9uX3Rlc3RzX21pbWVfdHlwZXMocmVnaXN0ZXJfbWV0aG9kLCBj
aGVja19lcnJvcl90eXBlcykgewogICAgICAgICAgICdSZWdpc3RyYXRpb24gb2YgcGxhaW4gdGV4
dCBzY3JpcHQgc2hvdWxkIGZhaWwuJyk7CiAgICAgfSwgJ1JlZ2lzdGVyaW5nIHNjcmlwdCB3aXRo
IGJhZCBNSU1FIHR5cGUnKTsKIAorICAvKioKKyAgICogU2VydmljZVdvcmtlckNvbnRhaW5lci5y
ZWdpc3RlcigpIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciwgYWNjb3JkaW5nIHRvCisgICAqIHN0
ZXAgMTcuMSBvZiBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jaW1wb3J0c2Ny
aXB0cworICAgKgorICAgKiAiWzE3XSBJZiBhbiB1bmNhdWdodCBydW50aW1lIHNjcmlwdCBlcnJv
ciBvY2N1cnMgZHVyaW5nIHRoZSBhYm92ZSBzdGVwLCB0aGVuOgorICAgKiAgWzE3LjFdIEludm9r
ZSBSZWplY3QgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIFR5cGVFcnJvciIKKyAgICoKKyAgICog
KFdoZXJlIHRoZSAidW5jYXVnaHQgcnVudGltZSBzY3JpcHQgZXJyb3IiIGlzIHRocm93biBieSBh
biB1bnN1Y2Nlc3NmdWwKKyAgICogaW1wb3J0U2NyaXB0cygpKQorICAgKi8KICAgcHJvbWlzZV90
ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIHZhciBzY3JpcHQgPSAncmVzb3VyY2VzL2ltcG9ydC1t
aW1lLXR5cGUtd29ya2VyLnB5JzsKICAgICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUv
bm8tbWltZS10eXBlLXdvcmtlci8nOwogICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAot
ICAgICAgICAgIGNoZWNrX2Vycm9yX3R5cGVzID8gJ1NlY3VyaXR5RXJyb3InIDogbnVsbCwKKyAg
ICAgICAgICBjaGVja19lcnJvcl90eXBlcyA/IG5ldyBUeXBlRXJyb3IoKSA6IG51bGwsCiAgICAg
ICAgICAgcmVnaXN0ZXJfbWV0aG9kKHNjcmlwdCwge3Njb3BlOiBzY29wZX0pLAogICAgICAgICAg
ICdSZWdpc3RyYXRpb24gb2Ygbm8gTUlNRSB0eXBlIGltcG9ydGVkIHNjcmlwdCBzaG91bGQgZmFp
bC4nKTsKICAgICB9LCAnUmVnaXN0ZXJpbmcgc2NyaXB0IHRoYXQgaW1wb3J0cyBzY3JpcHQgd2l0
aCBubyBNSU1FIHR5cGUnKTsKQEAgLTM0LDcgKzQ0LDcgQEAgZnVuY3Rpb24gcmVnaXN0cmF0aW9u
X3Rlc3RzX21pbWVfdHlwZXMocmVnaXN0ZXJfbWV0aG9kLCBjaGVja19lcnJvcl90eXBlcykgewog
ICAgICAgdmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvaW1wb3J0LW1pbWUtdHlwZS13b3JrZXIucHk/
bWltZT10ZXh0L3BsYWluJzsKICAgICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvYmFk
LW1pbWUtdHlwZS13b3JrZXIvJzsKICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwKLSAg
ICAgICAgICBjaGVja19lcnJvcl90eXBlcyA/ICdTZWN1cml0eUVycm9yJyA6IG51bGwsCisgICAg
ICAgICAgY2hlY2tfZXJyb3JfdHlwZXMgPyBuZXcgVHlwZUVycm9yKCkgOiBudWxsLAogICAgICAg
ICAgIHJlZ2lzdGVyX21ldGhvZChzY3JpcHQsIHtzY29wZTogc2NvcGV9KSwKICAgICAgICAgICAn
UmVnaXN0cmF0aW9uIG9mIHBsYWluIHRleHQgaW1wb3J0ZWQgc2NyaXB0IHNob3VsZCBmYWlsLicp
OwogICAgIH0sICdSZWdpc3RlcmluZyBzY3JpcHQgdGhhdCBpbXBvcnRzIHNjcmlwdCB3aXRoIGJh
ZCBNSU1FIHR5cGUnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9y
ZWdpc3RyYXRpb24tdGVzdHMtc2NvcGUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
cmVnaXN0cmF0aW9uLXRlc3RzLXNjb3BlLmpzCmluZGV4IDUxYjBhYjRhZDUxYTNjMGEyYTdiNjgz
NDEzY2E2YWViYTdlYzYxOTEuLjZjMDk3YWQ4ZDFmOGI4ZjlhNGZlOTVmN2M2ZWJkMDRlZGI1Y2Zk
OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24t
dGVzdHMtc2NvcGUuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJh
dGlvbi10ZXN0cy1zY29wZS5qcwpAQCAtOTQsOSArOTQsOSBAQCBmdW5jdGlvbiByZWdpc3RyYXRp
b25fdGVzdHNfc2NvcGUocmVnaXN0ZXJfbWV0aG9kLCBjaGVja19lcnJvcl90eXBlcykgewogICAg
ICAgdmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzJzsKICAgICAgIHZhciBz
Y29wZSA9ICdmaWxlc3lzdGVtOicgKyBub3JtYWxpemVVUkwoJ3Jlc291cmNlcy9zY29wZS9maWxl
c3lzdGVtLXNjb3BlLXVybCcpOwogICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAotICAg
ICAgICAgIGNoZWNrX2Vycm9yX3R5cGVzID8gJ1NlY3VyaXR5RXJyb3InIDogbnVsbCwKKyAgICAg
ICAgICBjaGVja19lcnJvcl90eXBlcyA/IG5ldyBUeXBlRXJyb3IgOiBudWxsLAogICAgICAgICAg
IHJlZ2lzdGVyX21ldGhvZChzY3JpcHQsIHtzY29wZTogc2NvcGV9KSwKICAgICAgICAgICAnUmVn
aXN0ZXJpbmcgd2l0aCB0aGUgc2NvcGUgdGhhdCBoYXMgc2FtZS1vcmlnaW4gZmlsZXN5c3RlbTog
VVJMICcgKwotICAgICAgICAgICAgICAnc2hvdWxkIGZhaWwgd2l0aCBTZWN1cml0eUVycm9yLicp
OworICAgICAgICAgICAgICAnc2hvdWxkIGZhaWwgd2l0aCBUeXBlRXJyb3IuJyk7CiAgICAgfSwg
J1Njb3BlIFVSTCBpcyBzYW1lLW9yaWdpbiBmaWxlc3lzdGVtOiBVUkwnKTsKIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24tdGVzdHMtc2NyaXB0
LXVybC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWdpc3RyYXRpb24tdGVzdHMt
c2NyaXB0LXVybC5qcwppbmRleCA4ZDc3N2E4MzA5OWQ1NGIzMGJlZTZiOWY3OGRlNmZjMzVkOGMz
ZjI5Li4wZGM1YWYxNmQzMGI3Yjg0NjM3NjJlNmY4OGMwMjU1ZGU4NTE3MDFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXRlc3RzLXNjcmlwdC11
cmwuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJhdGlvbi10ZXN0
cy1zY3JpcHQtdXJsLmpzCkBAIC0zNiw2ICszNiwxNSBAQCBmdW5jdGlvbiByZWdpc3RyYXRpb25f
dGVzdHNfc2NyaXB0X3VybChyZWdpc3Rlcl9tZXRob2QsIGNoZWNrX2Vycm9yX3R5cGVzKSB7CiAg
ICAgICAgICAgJ1VSTC1lbmNvZGVkIGJhY2tzbGFzaCBpbiB0aGUgc2NyaXB0IFVSTCBzaG91bGQg
YmUgcmVqZWN0ZWQuJyk7CiAgICAgfSwgJ1NjcmlwdCBVUkwgaW5jbHVkaW5nIHVwcGVyY2FzZSBV
UkwtZW5jb2RlZCBiYWNrc2xhc2gnKTsKIAorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICAgICAgdmFyIHNjcmlwdCA9ICdkYXRhOmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsJzsKKyAgICAg
IHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvZGF0YS11cmwtaW4tc2NyaXB0LXVybCc7Cisg
ICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsCisgICAgICAgICAgY2hlY2tfZXJyb3JfdHlw
ZXMgPyBuZXcgVHlwZUVycm9yIDogbnVsbCwKKyAgICAgICAgICByZWdpc3Rlcl9tZXRob2Qoc2Ny
aXB0LCB7c2NvcGU6IHNjb3BlfSksCisgICAgICAgICAgJ0RhdGEgVVJMcyBzaG91bGQgbm90IGJl
IHJlZ2lzdGVyZWQgYXMgc2VydmljZSB3b3JrZXJzLicpOworICAgIH0sICdTY3JpcHQgVVJMIGlz
IGEgZGF0YSBVUkwnKTsKKwogICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgdmFy
IHNjcmlwdCA9ICdyZXNvdXJjZXMvLi8uL2VtcHR5LXdvcmtlci5qcyc7CiAgICAgICB2YXIgc2Nv
cGUgPSAncmVzb3VyY2VzL3Njb3BlL3BhcmVudC1yZWZlcmVuY2UtaW4tc2NyaXB0LXVybCc7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXRlc3Rz
LXNlY3VyaXR5LWVycm9yLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3JlZ2lzdHJh
dGlvbi10ZXN0cy1zZWN1cml0eS1lcnJvci5qcwppbmRleCBjOThjNGI5NDQwYjI3ZTA3NDgzZGMw
ODY2OWFlOGNmMDhkZWQ4MWJlLi5hNzJkM2JhYzI5MWM2ZjQyYWNmMjY0OTI2Yjg1OGEwZjM5NjRl
ZDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9u
LXRlc3RzLXNlY3VyaXR5LWVycm9yLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9yZWdpc3RyYXRpb24tdGVzdHMtc2VjdXJpdHktZXJyb3IuanMKQEAgLTQwLDcgKzQwLDcgQEAg
ZnVuY3Rpb24gcmVnaXN0cmF0aW9uX3Rlc3RzX3NlY3VyaXR5X2Vycm9yKHJlZ2lzdGVyX21ldGhv
ZCwgY2hlY2tfZXJyb3JfdHlwZXMpIHsKIAogICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewog
ICAgICAgdmFyIHNjcmlwdCA9ICdyZXNvdXJjZXMvcmVkaXJlY3QucHk/UmVkaXJlY3Q9JyArCi0g
ICAgICAgICAgICAgICAgICAgIGVuY29kZVVSSUNvbXBvbmVudCgnL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVnaXN0cmF0aW9uLXdvcmtlci5qcycpOworICAgICAg
ICAgICAgICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoJy9yZXNvdXJjZXMvcmVnaXN0cmF0aW9u
LXdvcmtlci5qcycpOwogICAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZWRpcmVj
dC8nOwogICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LAogICAgICAgICAgIGNoZWNrX2Vy
cm9yX3R5cGVzID8gJ1NlY3VyaXR5RXJyb3InIDogbnVsbCwKQEAgLTcwLDkgKzcwLDkgQEAgZnVu
Y3Rpb24gcmVnaXN0cmF0aW9uX3Rlc3RzX3NlY3VyaXR5X2Vycm9yKHJlZ2lzdGVyX21ldGhvZCwg
Y2hlY2tfZXJyb3JfdHlwZXMpIHsKICAgICAgIHZhciBzY3JpcHQgPSAnZmlsZXN5c3RlbTonICsg
bm9ybWFsaXplVVJMKCdyZXNvdXJjZXMvZW1wdHktd29ya2VyLmpzJyk7CiAgICAgICB2YXIgc2Nv
cGUgPSAncmVzb3VyY2VzL3Njb3BlL2ZpbGVzeXN0ZW0tc2NyaXB0LXVybCc7CiAgICAgICByZXR1
cm4gcHJvbWlzZV9yZWplY3RzKHQsCi0gICAgICAgICAgY2hlY2tfZXJyb3JfdHlwZXMgPyAnU2Vj
dXJpdHlFcnJvcicgOiBudWxsLAorICAgICAgICAgIGNoZWNrX2Vycm9yX3R5cGVzID8gbmV3IFR5
cGVFcnJvciA6IG51bGwsCiAgICAgICAgICAgcmVnaXN0ZXJfbWV0aG9kKHNjcmlwdCwge3Njb3Bl
OiBzY29wZX0pLAogICAgICAgICAgICdSZWdpc3RlcmluZyBhIHNjcmlwdCB3aGljaCBoYXMgc2Ft
ZS1vcmlnaW4gZmlsZXN5c3RlbTogVVJMIHNob3VsZCAnICsKLSAgICAgICAgICAgICAgJ2ZhaWwg
d2l0aCBTZWN1cml0eUVycm9yLicpOworICAgICAgICAgICAgICAnZmFpbCB3aXRoIFR5cGVFcnJv
ci4nKTsKICAgICB9LCAnU2NyaXB0IFVSTCBpcyBzYW1lLW9yaWdpbiBmaWxlc3lzdGVtOiBVUkwn
KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZXNvdXJjZS10
aW1pbmctaWZyYW1lLnN1Yi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291
cmNlLXRpbWluZy1pZnJhbWUuc3ViLmh0bWwKaW5kZXggYzkzMDhlYTUxNWU4ZDQwM2E5NDFmZjQ1
Nzg4MDRmM2ZiYzA5MDU3OC4uNGI2MjY1NzZhYjQ1NmVhZTAyYWE5MjI4ODRiMGQ0OTE3Y2FlY2Ex
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWlu
Zy1pZnJhbWUuc3ViLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291
cmNlLXRpbWluZy1pZnJhbWUuc3ViLmh0bWwKQEAgLTIsNSArMiw5IEBACiA8c2NyaXB0IHNyYz0i
ZW1wdHkuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9ImR1bW15LmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJyZWRpcmVjdC5weT9SZWRpcmVjdD1lbXB0eS5qcyI+PC9zY3JpcHQ+Cis8aW1n
IHNyYz0ic3F1YXJlLnBuZyI+Cis8aW1nIHNyYz0iaHR0cHM6Ly97e2RvbWFpbnNbd3d3MV19fTp7
e3BvcnRzW2h0dHBzXVswXX19L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc3F1YXJlLnBuZyI+CiA8aW1nIHNyYz0ibWlzc2luZy5qcGciPgogPGltZyBzcmM9Imh0dHBz
Oi8ve3tkb21haW5zW3d3dzFdfX06e3twb3J0c1todHRwc11bMF19fS9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL21pc3NpbmcuanBnIj4KKzxpbWcgc3JjPSdtaXNzaW5n
LmpwZz9TV1Jlc3BvbmRzV2l0aEZldGNoJz4KKzxzY3JpcHQgc3JjPSdlbXB0eS13b3JrZXIuanMn
Pjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc291
cmNlLXRpbWluZy13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3Vy
Y2UtdGltaW5nLXdvcmtlci5qcwppbmRleCA0NTI4NzY4MzhmNTc5MDQwMGQyNWU0YWY5MjkwYTlm
N2ZmN2FjNzNjLi41YmM2ZWYzNDc0OGY2ZGU0YjQxOGZkMTZkMjI2MWE0Mjc2NDgzYTZhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdvcmtl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLXdv
cmtlci5qcwpAQCAtMSw5ICsxLDEyIEBACiBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywg
ZnVuY3Rpb24oZXZlbnQpIHsKLSAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignZHVt
bXkuanMnKSAhPSAtMSkgewotICAgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7Ci0gICAgICAgIC8vIFNsaWdodGx5IGRlbGF5IHRoZSByZXNwb25zZSBzbyB3ZSBl
bnN1cmUgd2UgZ2V0IGEgbm9uLXplcm8KLSAgICAgICAgLy8gZHVyYXRpb24uCi0gICAgICAgIHNl
dFRpbWVvdXQoXyA9PiByZXNvbHZlKG5ldyBSZXNwb25zZSgpKSwgMTAwKTsKLSAgICAgIH0pKTsK
LSAgICB9Ci0gIH0pOworICBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignZHVtbXkuanMn
KSAhPSAtMSkgeworICAgIGV2ZW50LnJlc3BvbmRXaXRoKG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eworICAgICAgLy8gU2xpZ2h0bHkgZGVsYXkgdGhlIHJlc3BvbnNlIHNvIHdlIGVuc3VyZSB3ZSBn
ZXQgYSBub24temVybworICAgICAgLy8gZHVyYXRpb24uCisgICAgICBzZXRUaW1lb3V0KF8gPT4g
cmVzb2x2ZShuZXcgUmVzcG9uc2UoJy8vIEVtcHR5IGphdmFzY3JpcHQnKSksIDUwKTsKKyAgICB9
KSk7CisgIH0KKyAgZWxzZSBpZiAoZXZlbnQucmVxdWVzdC51cmwuaW5kZXhPZignbWlzc2luZy5q
cGc/U1dSZXNwb25kc1dpdGhGZXRjaCcpICE9IC0xKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgo
ZmV0Y2goJ2R1bW15LnR4dD9TV0ZldGNoZWQnKSk7CisgIH0KK30pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtaWZy
YW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1m
ZXRjaC1ldmVudC1pZnJhbWUuaHRtbAppbmRleCAxNTVkYmRkYjZkNGM3YTI1OTU2ZmZlYzFjNGFi
NzBkMzc0NWZkNTZiLi4yMzlmYTczMzAzNzFiY2ViNTg1NjcxODZkMTgwOTVkMDRlNGVlZTViIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1m
ZXRjaC1ldmVudC1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC1pZnJhbWUuaHRtbApAQCAtMSw1NiArMSw2MyBA
QAogPHNjcmlwdD4KIGZ1bmN0aW9uIHdpdGhfaWZyYW1lKHVybCkgewotICByZXR1cm4gbmV3IFBy
b21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0gICAgICBmcmFtZS5zcmMgPSB1cmw7Ci0gICAgICBmcmFt
ZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShmcmFtZSk7IH07Ci0gICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKLSAgICB9KTsKKyAgcmV0dXJuIG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgIGxldCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOworICAgIGZyYW1lLnNyYyA9IHVybDsKKyAgICBmcmFtZS5vbmxvYWQgPSAoKSA9PiB7
IHJlc29sdmUoZnJhbWUpOyB9OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUp
OworICB9KTsKIH0KIAogZnVuY3Rpb24gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKHVybCwgc2FuZGJv
eCkgewotICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgewotICAgICAgdmFy
IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7Ci0gICAgICBmcmFtZS5z
YW5kYm94ID0gc2FuZGJveDsKLSAgICAgIGZyYW1lLnNyYyA9IHVybDsKLSAgICAgIGZyYW1lLm9u
bG9hZCA9IGZ1bmN0aW9uKCkgeyByZXNvbHZlKGZyYW1lKTsgfTsKLSAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOwotICAgIH0pOworICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgbGV0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1l
Jyk7CisgICAgZnJhbWUuc2FuZGJveCA9IHNhbmRib3g7CisgICAgZnJhbWUuc3JjID0gdXJsOwor
ICAgIGZyYW1lLm9ubG9hZCA9ICgpID0+IHsgcmVzb2x2ZShmcmFtZSk7IH07CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChmcmFtZSk7CisgIH0pOwogfQogCi1mdW5jdGlvbiBmZXRjaF9p
bl93b3JrZXIoKSB7Ci0gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgIHZh
ciBibG9iID0gbmV3IEJsb2IoWwotICAgICAgImZldGNoKCciICsgbG9jYXRpb24uaHJlZiArICJf
d29ya2VyZmV0Y2gnLCB7bW9kZTogJ25vLWNvcnMnfSkiICsKK2Z1bmN0aW9uIGZldGNoX2Zyb21f
d29ya2VyKHVybCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbGV0
IGJsb2IgPSBuZXcgQmxvYihbCisgICAgICBgZmV0Y2goJyR7dXJsfScsIHttb2RlOiAnbm8tY29y
cyd9KWAgKwogICAgICAgIiAgLnRoZW4oKCkgPT4geyBzZWxmLnBvc3RNZXNzYWdlKCdPSycpOyB9
KTsiXSk7Ci0gICAgdmFyIHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7Ci0gICAgdmFy
IHdvcmtlciA9IG5ldyBXb3JrZXIodXJsKTsKKyAgICBsZXQgd29ya2VyX3VybCA9IFVSTC5jcmVh
dGVPYmplY3RVUkwoYmxvYik7CisgICAgbGV0IHdvcmtlciA9IG5ldyBXb3JrZXIod29ya2VyX3Vy
bCk7CiAgICAgd29ya2VyLm9ubWVzc2FnZSA9IHJlc29sdmU7CiAgIH0pOwogfQogCi13aW5kb3cu
b25tZXNzYWdlID0gZnVuY3Rpb24gKGUpIHsKLSAgdmFyIGlkID0gZS5kYXRhWydpZCddOwotICBm
ZXRjaChsb2NhdGlvbi5ocmVmICsgIl9mZXRjaCIsIHttb2RlOiAnbm8tY29ycyd9KQotICAgIC50
aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gZmV0Y2hfaW5fd29ya2VyKCk7Ci0gICAg
ICB9KQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUo
bG9jYXRpb24uaHJlZiArICJfaWZyYW1lIik7Ci0gICAgICB9KQotICAgIC50aGVuKGZ1bmN0aW9u
KCkgewotICAgICAgICByZXR1cm4gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKGxvY2F0aW9uLmhyZWYg
KyAiX3NjcmlwdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsbG93
LXNjcmlwdHMiKTsKLSAgICAgIH0pCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJl
dHVybiB3aXRoX3NhbmRib3hlZF9pZnJhbWUobG9jYXRpb24uaHJlZiArICJfc2NyaXB0LW9yaWdp
biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFsbG93LXNjcmlwdHMg
YWxsb3ctc2FtZS1vcmlnaW4iKTsKLSAgICAgIH0pCi0gICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIHdpbmRvdy50b3AucG9zdE1lc3NhZ2Uoe2lkOiBpZCwgcmVzdWx0OiAnZG9uZSd9LCAn
KicpOwotICAgICAgfSkKLSAgICAuY2F0Y2goZnVuY3Rpb24oZSkgewotICAgICAgICB3aW5kb3cu
dG9wLnBvc3RNZXNzYWdlKHtpZDogaWQsIHJlc3VsdDogJ2Vycm9yOiAnICsgZS50b1N0cmluZygp
fSwgJyonKTsKLSAgICAgIH0pOworZnVuY3Rpb24gcnVuX3Rlc3QodHlwZSkgeworICBjb25zdCBi
YXNlX3BhdGggPSBsb2NhdGlvbi5ocmVmOworICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlICdm
ZXRjaCc6CisgICAgICByZXR1cm4gZmV0Y2goYCR7YmFzZV9wYXRofSZ0ZXN0PWZldGNoYCwge21v
ZGU6ICduby1jb3JzJ30pOworICAgIGNhc2UgJ2ZldGNoLWZyb20td29ya2VyJzoKKyAgICAgIHJl
dHVybiBmZXRjaF9mcm9tX3dvcmtlcihgJHtiYXNlX3BhdGh9JnRlc3Q9ZmV0Y2gtZnJvbS13b3Jr
ZXJgKTsKKyAgICBjYXNlICdpZnJhbWUnOgorICAgICAgcmV0dXJuIHdpdGhfaWZyYW1lKGAke2Jh
c2VfcGF0aH0mdGVzdD1pZnJhbWVgKTsKKyAgICBjYXNlICdzYW5kYm94ZWQtaWZyYW1lJzoKKyAg
ICAgIHJldHVybiB3aXRoX3NhbmRib3hlZF9pZnJhbWUoYCR7YmFzZV9wYXRofSZ0ZXN0PXNhbmRi
b3hlZC1pZnJhbWVgLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxsb3ct
c2NyaXB0cyIpOworICAgIGNhc2UgJ3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nOgorICAg
ICAgcmV0dXJuIHdpdGhfc2FuZGJveGVkX2lmcmFtZSgKKyAgICAgICAgYCR7YmFzZV9wYXRofSZ0
ZXN0PXNhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW5gLAorICAgICAgICAiYWxsb3ctc2NyaXB0
cyBhbGxvdy1zYW1lLW9yaWdpbiIpOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gUHJvbWlz
ZS5yZWplY3QoYFVua25vd24gdHlwZTogJHt0eXBlfWApOworICB9Cit9CisKK3dpbmRvdy5vbm1l
c3NhZ2UgPSBldmVudCA9PiB7CisgIGxldCBpZCA9IGV2ZW50LmRhdGFbJ2lkJ107CisgIHJ1bl90
ZXN0KGV2ZW50LmRhdGFbJ3R5cGUnXSkKKyAgICAudGhlbigoKSA9PiB7CisgICAgICB3aW5kb3cu
dG9wLnBvc3RNZXNzYWdlKHtpZDogaWQsIHJlc3VsdDogJ2RvbmUnfSwgJyonKTsKKyAgICB9KQor
ICAgIC5jYXRjaChlID0+IHsKKyAgICAgIHdpbmRvdy50b3AucG9zdE1lc3NhZ2Uoe2lkOiBpZCwg
cmVzdWx0OiAnZXJyb3I6ICcgKyBlLnRvU3RyaW5nKCl9LCAnKicpOworICAgIH0pOwogfTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hl
ZC1pZnJhbWUtZmV0Y2gtZXZlbnQtaWZyYW1lLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtaWZyYW1lLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhi
MjI0NGJmMjA5NDU1ZTI3Mzc0ODI2NDgyODY5NTNlYjc4NGMyYTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVu
dC1pZnJhbWUucHkKQEAgLTAsMCArMSwxNiBAQAoraW1wb3J0IG9zLnBhdGgKKworZGVmIG1haW4o
cmVxdWVzdCwgcmVzcG9uc2UpOgorICBoZWFkZXIgPSBbKCdDb250ZW50LVR5cGUnLCAndGV4dC9o
dG1sJyldCisgIGlmICd0ZXN0JyBpbiByZXF1ZXN0LkdFVDoKKyAgICB3aXRoIG9wZW4ob3MucGF0
aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksJ2JsYW5rLmh0bWwnKSwgJ3InKSBhcyBm
OgorICAgICAgYm9keSA9IGYucmVhZCgpCisgICAgcmV0dXJuIChoZWFkZXIsIGJvZHkpCisKKyAg
aWYgJ3NhbmRib3gnIGluIHJlcXVlc3QuR0VUOgorICAgIGhlYWRlci5hcHBlbmQoKCdDb250ZW50
LVNlY3VyaXR5LVBvbGljeScsCisgICAgICAgICAgICAgICAgICAgJ3NhbmRib3ggJXMnICUgcmVx
dWVzdC5HRVRbJ3NhbmRib3gnXSkpCisgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4ob3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc2FuZGJveGVkLWlm
cmFtZS1mZXRjaC1ldmVudC1pZnJhbWUuaHRtbCcpLCAncicpIGFzIGY6CisgICAgYm9keSA9IGYu
cmVhZCgpCisgIHJldHVybiAoaGVhZGVyLCBib2R5KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQtd29ya2VyLmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQt
d29ya2VyLmpzCmluZGV4IGZmYTBhYmFjMzRmMjUxZDg5NTc3ZDFhNDYyZTViMjllNGQ2MGQ2YTQu
LjQwMzVhOGIxOWI5MDJiMjZlODY4ODk3ZjZlMDdlOWJkMWEyN2RmZTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zYW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50LXdv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFt
ZS1mZXRjaC1ldmVudC13b3JrZXIuanMKQEAgLTEwLDYgKzEwLDcgQEAgc2VsZi5hZGRFdmVudExp
c3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZlbnQpIHsKICAgICAgICAgICBjbGllbnRfdXJs
cyA9IGNsaWVudF91cmxzLnNvcnQoKTsKICAgICAgICAgICBldmVudC5kYXRhLnBvcnQucG9zdE1l
c3NhZ2UoCiAgICAgICAgICAgICAgIHtjbGllbnRzOiBjbGllbnRfdXJscywgcmVxdWVzdHM6IHJl
cXVlc3RzfSk7CisgICAgICAgICAgcmVxdWVzdHMgPSBbXTsKICAgICAgICAgfSkpOwogICB9KTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS9yZWRpcmVj
dC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvcmVkaXJlY3QucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmI0Yzg3NGFhY2VlOTQ3OWJkNjkwYmZhZThkYzk1NjM3OGQxZWU2NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvcmVkaXJlY3Qu
cHkKQEAgLTAsMCArMSw2IEBACitpbXBvcnQgb3MKK2ltcG9ydCBpbXAKKyMgVXNlIHRoZSBmaWxl
IGZyb20gdGhlIHBhcmVudCBkaXJlY3RvcnkuCittb2QgPSBpbXAubG9hZF9zb3VyY2UoIl9wYXJl
bnQiLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVf
XykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBh
dGguYmFzZW5hbWUoX19maWxlX18pKSkKK21haW4gPSBtb2QubWFpbgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY3
MDc3NTBmNDJjNjFkZTEzN2EwMThjOTczOTljYWVhNDZkNDliYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTEvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMS9y
ZWRpcmVjdC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3Bl
Mi93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY5MzczNDc1Y2IyMTY5YmY4NDNlMGQzYmQxMDU3ZGU2
ODhkMDZkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
Y29wZTIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMg
ZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1Qg
bW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBh
IHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2Vi
LXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQt
dzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92
ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dl
Yndvcmtlci5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3Bl
Mi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3
b3JrZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmI0Yzg3NGFhY2VlOTQ3OWJkNjkwYmZhZThkYzk1NjM3OGQx
ZWU2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29w
ZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkKQEAgLTAsMCArMSw2
IEBACitpbXBvcnQgb3MKK2ltcG9ydCBpbXAKKyMgVXNlIHRoZSBmaWxlIGZyb20gdGhlIHBhcmVu
dCBkaXJlY3RvcnkuCittb2QgPSBpbXAubG9hZF9zb3VyY2UoIl9wYXJlbnQiLCBvcy5wYXRoLmpv
aW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUoX19m
aWxlX18pKSkKK21haW4gPSBtb2QubWFpbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWhlYWRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRmNTdhNzJhOTA0
MTc2MmY5ZjUwNzMyZDJjZTg5MGQ4ODk4MTBjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXIucHkKQEAgLTAsMCArMSwy
MCBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICBzZXJ2aWNlX3dvcmtlcl9oZWFk
ZXIgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCdzZXJ2aWNlLXdvcmtlcicpCisKKyAgaWYgJ2hlYWRl
cicgaW4gcmVxdWVzdC5HRVQgYW5kIHNlcnZpY2Vfd29ya2VyX2hlYWRlciAhPSAnc2NyaXB0JzoK
KyAgICByZXR1cm4gNDAwLCBbKCdDb250ZW50LVR5cGUnLCAndGV4dC9wbGFpbicpXSwgJ0JhZCBS
ZXF1ZXN0JworCisgIGlmICduby1oZWFkZXInIGluIHJlcXVlc3QuR0VUIGFuZCBzZXJ2aWNlX3dv
cmtlcl9oZWFkZXIgPT0gJ3NjcmlwdCc6CisgICAgcmV0dXJuIDQwMCwgWygnQ29udGVudC1UeXBl
JywgJ3RleHQvcGxhaW4nKV0sICdCYWQgUmVxdWVzdCcKKworICAjIG5vLWNhY2hlIGl0c2VsZiB0
byBlbnN1cmUgdGhlIHVzZXIgYWdlbnQgZmluZHMgYSBuZXcgdmVyc2lvbiBmb3IgZWFjaAorICAj
IHVwZGF0ZS4KKyAgaGVhZGVycyA9IFsoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tY2FjaGUsIG11c3Qt
cmV2YWxpZGF0ZScpLAorICAgICAgICAgICAgICgnUHJhZ21hJywgJ25vLWNhY2hlJyksCisgICAg
ICAgICAgICAgKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcpXQorICBi
b2R5ID0gJy8qIFRoaXMgaXMgYSBzZXJ2aWNlIHdvcmtlciBzY3JpcHQgKi9cbicKKworICBpZiAn
aW1wb3J0JyBpbiByZXF1ZXN0LkdFVDoKKyAgICBib2R5ICs9ICJpbXBvcnRTY3JpcHRzKCclcycp
OyIgJSByZXF1ZXN0LkdFVFsnaW1wb3J0J10KKworICByZXR1cm4gMjAwLCBoZWFkZXJzLCBib2R5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3JrZXIt
aW50ZXJjZXB0aW9uLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tZHluYW1pYy1pbXBvcnQtd29y
a2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY4MGUwN2ZmNTg4Y2M3MDMwOGIxNDU5NWIxMTMwODI2YWZkNWM2
ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Vydmlj
ZS13b3JrZXItaW50ZXJjZXB0aW9uLWR5bmFtaWMtaW1wb3J0LXdvcmtlci5qcwpAQCAtMCwwICsx
IEBACitpbXBvcnQoJy4vc2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLW5ldHdvcmstd29ya2Vy
LmpzJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13
b3JrZXItaW50ZXJjZXB0aW9uLW5ldHdvcmstd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZmYzOTAwMTAxMzQ1ODM0YWEzOGViZjI1ZmFjYTJhNmNkZjFiYzRiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2Vy
LWludGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5qcwpAQCAtMCwwICsxIEBACitwb3N0TWVzc2Fn
ZSgnTE9BREVEX0ZST01fTkVUV09SSycpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1zZXJ2aWNlLXdvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24t
c2VydmljZS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI0M2EzNzY5NjM3ZGNiYzM1NzRiNzAxMGVh
NWM5M2JlNzNkN2IwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tc2VydmljZS13b3JrZXIuanMKQEAgLTAs
MCArMSw5IEBACitjb25zdCBrVVJMID0gJy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tbmV0
d29yay13b3JrZXIuanMnOworY29uc3Qga1NjcmlwdCA9ICdwb3N0TWVzc2FnZSgiTE9BREVEX0ZS
T01fU0VSVklDRV9XT1JLRVIiKSc7Citjb25zdCBrSGVhZGVycyA9IFtbJ2NvbnRlbnQtdHlwZScs
ICd0ZXh0L2phdmFzY3JpcHQnXV07CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gnLCBl
ID0+IHsKKyAgLy8gU2VydmUgYSBnZW5lcmF0ZWQgcmVzcG9uc2UgZm9yIGtVUkwuCisgIGlmIChl
LnJlcXVlc3QudXJsLmluZGV4T2Yoa1VSTCkgIT0gLTEpCisgICAgZS5yZXNwb25kV2l0aChuZXcg
UmVzcG9uc2Uoa1NjcmlwdCwgeyBoZWFkZXJzOiBrSGVhZGVycyB9KSk7Cit9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRp
b24tc3RhdGljLWltcG9ydC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c2VydmljZS13b3JrZXItaW50ZXJjZXB0aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU1NzA5NTg3MDFkYjQ3MjUwY2Y2ZDg3YTE2ZjQ3MjJhODRlNjI2YjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2VydmljZS13b3JrZXItaW50
ZXJjZXB0aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzCkBAIC0wLDAgKzEgQEAKK2ltcG9ydCAn
Li9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRpb24tbmV0d29yay13b3JrZXIuanMnOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS1pbnRlcmNlcHQtd29ya2Vy
LmpzLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLWludGVyY2Vw
dC13b3JrZXIuanMuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTdhOWEzYTEyY2VmZTg4M2E1ZDRkZWU0
ZDVhNDViZWYxMjBkMDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3NpbXBsZS1pbnRlcmNlcHQtd29ya2VyLmpzLmhlYWRlcnMKQEAgLTAsMCArMSBAQAor
Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLWluc3RhbGxlZC13b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLWluc3RhbGxlZC13b3JrZXIu
anMKaW5kZXggYjQ4ZDUwMmIxMzYwNjYzYjYyMDYzYjdiMGRhMGM5NmNmNjM4OTkyYi4uNmY3MDA4
YmRkY2RmYTA0NGRiZWRkMmU4ZjJhY2ViODllYzk4MGE3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3NraXAtd2FpdGluZy1pbnN0YWxsZWQtd29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9za2lwLXdhaXRpbmctaW5zdGFsbGVkLXdvcmtl
ci5qcwpAQCAtMjEsNyArMjEsNyBAQCBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBm
dW5jdGlvbihldmVudCkgewogCiAgICAgICAgICAgaWYgKHNlbGYucmVnaXN0cmF0aW9uLmFjdGl2
ZS5zdGF0ZSAhPT0gJ2FjdGl2YXRpbmcnKSB7CiAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdl
KAotICAgICAgICAgICAgICAgICdGQUlUTDogUHJvbWlzZSBzaG91bGQgYmUgcmVzb2x2ZWQgYmVm
b3JlIFNlcnZpY2VXb3JrZXIjc3RhdGUgaXMgc2V0IHRvIGFjdGl2YXRlZCcpOworICAgICAgICAg
ICAgICAgICdGQUlMOiBQcm9taXNlIHNob3VsZCBiZSByZXNvbHZlZCBiZWZvcmUgU2VydmljZVdv
cmtlciNzdGF0ZSBpcyBzZXQgdG8gYWN0aXZhdGVkJyk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3F1
YXJlLnBuZy5zdWIuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zcXVhcmUu
cG5nLnN1Yi5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNDExMzI3NDViZTJiZWU5ZTQ3MTE0Y2RhNDE2
Nzg2NWU4YTk2OTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc3F1YXJlLnBuZy5zdWIuaGVhZGVycwpAQCAtMCwwICsxLDIgQEAKK0NvbnRlbnQtVHlwZTog
aW1hZ2UvcG5nCitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdGFsbGluZy1zZXJ2aWNlLXdvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdGFsbGluZy1zZXJ2aWNlLXdvcmtlci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZGYxZTZjYWMwNGUxNjUxZjMwZDk2MDg5N2RhODc0MGE0MGM5MTM4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N0YWxsaW5nLXNlcnZpY2Ut
d29ya2VyLmpzCkBAIC0wLDAgKzEsNTQgQEAKK2FzeW5jIGZ1bmN0aW9uIHBvc3RfbWVzc2FnZV90
b19jbGllbnQocm9sZSwgbWVzc2FnZSwgcG9ydHMpIHsKKyAgICAoYXdhaXQgY2xpZW50cy5tYXRj
aEFsbCgpKS5mb3JFYWNoKGNsaWVudCA9PiB7CisgICAgICAgIGlmIChuZXcgVVJMKGNsaWVudC51
cmwpLnNlYXJjaFBhcmFtcy5nZXQoJ3JvbGUnKSA9PT0gcm9sZSkgeworICAgICAgICAgICAgY2xp
ZW50LnBvc3RNZXNzYWdlKG1lc3NhZ2UsIHBvcnRzKTsKKyAgICAgICAgfQorICAgIH0pOworfQor
Cithc3luYyBmdW5jdGlvbiBwb3N0X21lc3NhZ2VfdG9fY2hpbGQobWVzc2FnZSwgcG9ydHMpIHsK
KyAgICBhd2FpdCBwb3N0X21lc3NhZ2VfdG9fY2xpZW50KCdjaGlsZCcsIG1lc3NhZ2UsIHBvcnRz
KTsKK30KKworZnVuY3Rpb24gcGluZ19tZXNzYWdlKGRhdGEpIHsKKyAgICByZXR1cm4geyB0eXBl
OiAncGluZycsIGRhdGEgfTsKK30KKworc2VsZi5vbm1lc3NhZ2UgPSBldmVudCA9PiB7CisgICAg
Y29uc3QgbWVzc2FnZSA9IHBpbmdfbWVzc2FnZShldmVudC5kYXRhKTsKKyAgICBwb3N0X21lc3Nh
Z2VfdG9fY2hpbGQobWVzc2FnZSk7CisgICAgcG9zdF9tZXNzYWdlX3RvX3BhcmVudChtZXNzYWdl
KTsKK30KKworYXN5bmMgZnVuY3Rpb24gcG9zdF9tZXNzYWdlX3RvX3BhcmVudChtZXNzYWdlLCBw
b3J0cykgeworICAgIGF3YWl0IHBvc3RfbWVzc2FnZV90b19jbGllbnQoJ3BhcmVudCcsIG1lc3Nh
Z2UsIHBvcnRzKTsKK30KKworZnVuY3Rpb24gZmV0Y2hfbWVzc2FnZShrZXkpIHsKKyAgICByZXR1
cm4geyB0eXBlOiAnZmV0Y2gnLCBrZXkgfTsKK30KKworLy8gU2VuZCBhIG1lc3NhZ2UgdG8gdGhl
IHBhcmVudCBhbG9uZyB3aXRoIGEgTWVzc2FnZVBvcnQgdG8gcmVzcG9uZAorLy8gd2l0aC4KK2Z1
bmN0aW9uIHJlcG9ydF9mZXRjaF9yZXF1ZXN0KGtleSkgeworICAgIGNvbnN0IGNoYW5uZWwgPSBu
ZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgICBjb25zdCByZXBseSA9IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAg
fSkudGhlbihldmVudCA9PiBldmVudC5kYXRhKTsKKyAgICByZXR1cm4gcG9zdF9tZXNzYWdlX3Rv
X3BhcmVudChmZXRjaF9tZXNzYWdlKGtleSksIFtjaGFubmVsLnBvcnQyXSkudGhlbigoKSA9PiBy
ZXBseSk7Cit9CisKK2Z1bmN0aW9uIHJlc3BvbmRfd2l0aF9zY3JpcHQoc2NyaXB0KSB7CisgICAg
cmV0dXJuIG5ldyBSZXNwb25zZShuZXcgQmxvYihzY3JpcHQsIHsgdHlwZTogJ3RleHQvamF2YXNj
cmlwdCcgfSkpOworfQorCisvLyBXaGVuZXZlciBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgcmVxdWVz
dHMgYSBVUkwgd2l0aCBhICdrZXknIHNlYXJjaAorLy8gcGFyYW1ldGVyIHdlIHJlcG9ydCB0aGUg
cmVxdWVzdCB0byB0aGUgcGFyZW50IGZyYW1lIGFuZCB3YWl0IGZvcgorLy8gYSByZXNwb25zZS4g
VGhlIGNvbnRlbnQgb2YgdGhlIHJlc3BvbnNlIGlzIHRoZW4gdXNlZCB0byByZXNwb25kIHRvCisv
LyB0aGUgZmV0Y2ggcmVxdWVzdC4KK2FkZEV2ZW50TGlzdGVuZXIoJ2ZldGNoJywgZXZlbnQgPT4g
eworICAgIGxldCBrZXkgPSBuZXcgVVJMKGV2ZW50LnJlcXVlc3QudXJsKS5zZWFyY2hQYXJhbXMu
Z2V0KCdrZXknKTsKKyAgICBpZiAoa2V5KSB7CisgICAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKHJl
cG9ydF9mZXRjaF9yZXF1ZXN0KGtleSkudGhlbihyZXNwb25kX3dpdGhfc2NyaXB0KSk7CisgICAg
fQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxw
ZXJzLnN1Yi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzCmluZGV4IDYxMjQwOWZiYzFkNTVjMzE0ZGFiNzk2ZGJmNjM5MTgzZDc2N2MwZjYuLjdlZmRl
MzU0YThmOWIzYjE1Nzk3MmRjYThlNWEzYzViNWViNDExNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzCkBAIC00Niw5ICs0NiwxNCBAQCBm
dW5jdGlvbiB1bnJlYWNoZWRfcmVqZWN0aW9uKHRlc3QsIHByZWZpeCkgewogICAgIH0pOwogfQog
Ci0vLyBBZGRzIGFuIGlmcmFtZSB0byB0aGUgZG9jdW1lbnQgYW5kIHJldHVybnMgYSBwcm9taXNl
IHRoYXQgcmVzb2x2ZXMgdG8gdGhlCi0vLyBpZnJhbWUgd2hlbiBpdCBmaW5pc2hlcyBsb2FkaW5n
LiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciByZW1vdmluZyB0aGUKLS8vIGlmcmFtZSBs
YXRlciBpZiBuZWVkZWQuCisvKioKKyAqIEFkZHMgYW4gaWZyYW1lIHRvIHRoZSBkb2N1bWVudCBh
bmQgcmV0dXJucyBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUKKyAqIGlmcmFtZSB3aGVu
IGl0IGZpbmlzaGVzIGxvYWRpbmcuIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIHJlbW92
aW5nIHRoZQorICogaWZyYW1lIGxhdGVyIGlmIG5lZWRlZC4KKyAqCisgKiBAcGFyYW0ge3N0cmlu
Z30gdXJsCisgKiBAcmV0dXJucyB7SFRNTElGcmFtZUVsZW1lbnR9CisgKi8KIGZ1bmN0aW9uIHdp
dGhfaWZyYW1lKHVybCkgewogICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkg
ewogICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CkBA
IC0xMjIsMTQgKzEyNywxMSBAQCBmdW5jdGlvbiB3YWl0X2Zvcl9zdGF0ZSh0ZXN0LCB3b3JrZXIs
IHN0YXRlKSB7CiAgICAgfQogICB9CiAKLSAgcmV0dXJuIG5ldyBQcm9taXNlKHRlc3Quc3RlcF9m
dW5jKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgeworICByZXR1cm4gbmV3IFByb21pc2UodGVz
dC5zdGVwX2Z1bmMoZnVuY3Rpb24ocmVzb2x2ZSkgewogICAgICAgd29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoJ3N0YXRlY2hhbmdlJywgdGVzdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgaWYgKHdvcmtlci5zdGF0ZSA9PT0gc3RhdGUpCiAgICAgICAgICAgICByZXNvbHZlKHN0YXRl
KTsKICAgICAgICAgfSkpOwotICAgICAgICB0ZXN0LnN0ZXBfdGltZW91dCgoKSA9PiB7Ci0gICAg
ICAgICAgICByZWplY3QoIndhaXRfZm9yX3N0YXRlIHRpbWVkIG91dCwgd2FpdGluZyBmb3Igc3Rh
dGUgIiArIHN0YXRlICsgIiwgd29ya2VyIHN0YXRlIGlzICIgKyB3b3JrZXIuc3RhdGUpOwotICAg
ICAgICB9LCAxMDAwMCk7CiAgICAgfSkpOwogfQogCkBAIC0yMDQsMTYgKzIwNiw2IEBAIGZ1bmN0
aW9uIHRlc3Rfd2Vic29ja2V0KHRlc3QsIGZyYW1lLCB1cmwpIHsKICAgICB9KTsKIH0KIAotZnVu
Y3Rpb24gbG9naW4odGVzdCkgewotICB2YXIgaG9zdF9pbmZvID0gZ2V0X2hvc3RfaW5mbygpOwot
ICByZXR1cm4gdGVzdF9sb2dpbih0ZXN0LCBob3N0X2luZm8uSFRUUF9SRU1PVEVfT1JJR0lOLAot
ICAgICAgICAgICAgICAgICAgICAndXNlcm5hbWUxcycsICdwYXNzd29yZDFzJywgJ2Nvb2tpZTEn
KQotICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gdGVzdF9sb2dpbih0ZXN0
LCBob3N0X2luZm8uSFRUUF9PUklHSU4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICd1c2Vy
bmFtZTJzJywgJ3Bhc3N3b3JkMnMnLCAnY29va2llMicpOwotICAgICAgfSk7Ci19Ci0KIGZ1bmN0
aW9uIGxvZ2luX2h0dHBzKHRlc3QpIHsKICAgdmFyIGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8o
KTsKICAgcmV0dXJuIHRlc3RfbG9naW4odGVzdCwgaG9zdF9pbmZvLkhUVFBTX1JFTU9URV9PUklH
SU4sCkBAIC0yNzEsMyArMjYzLDE2IEBAIGZ1bmN0aW9uIHdpdGhfc2FuZGJveGVkX2lmcmFtZSh1
cmwsIHNhbmRib3gpIHsKICAgICB9KTsKIH0KIAorLy8gUmVnaXN0ZXJzLCB3YWl0cyBmb3IgYWN0
aXZhdGlvbiwgdGhlbiB1bnJlZ2lzdGVycyBvbiBhIGR1bW15IHNjb3BlLgorLy8KKy8vIFRoaXMg
Y2FuIGJlIHVzZWQgdG8gd2FpdCBmb3IgYSBwZXJpb2Qgb2YgdGltZSBuZWVkZWQgdG8gcmVnaXN0
ZXIsCisvLyBhY3RpdmF0ZSwgYW5kIHRoZW4gdW5yZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyLiAg
V2hlbiBjaGVja2luZyB0aGF0CisvLyBjZXJ0YWluIGJlaGF2aW9yIGRvZXMgKk5PVCogaGFwcGVu
LCB0aGlzIGlzIHByZWZlcmFibGUgdG8gdXNpbmcgYW4KKy8vIGFyYml0cmFyeSBkZWxheS4KK2Fz
eW5jIGZ1bmN0aW9uIHdhaXRfZm9yX2FjdGl2YXRpb25fb25fZHVtbXlfc2NvcGUodCwgd2luZG93
X29yX3dvcmtlcmdsb2JhbHNjb3BlKSB7CisgIGNvbnN0IHNjcmlwdCA9ICcvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnOworICBjb25zdCBz
Y29wZSA9ICdyZXNvdXJjZXMvdGhlcmUvaXMvbm8vdGhlcmUvdGhlcmU/JyArIERhdGUubm93KCk7
CisgIGxldCByZWdpc3RyYXRpb24gPSBhd2FpdCB3aW5kb3dfb3Jfd29ya2VyZ2xvYmFsc2NvcGUu
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7IHNjb3BlIH0pOworICBh
d2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRl
ZCcpOworICBhd2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1kdXJpbmctaW5zdGFsbGF0aW9uLXdv
cmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtZHVyaW5nLWluc3Rh
bGxhdGlvbi13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGFiZWVjMDc3Zjc3ZDVlOGQxOTI0ZWI1ZjNi
ZDVkODY2N2IxMjlmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy91cGRhdGUtZHVyaW5nLWluc3RhbGxhdGlvbi13b3JrZXIuanMKQEAgLTAsMCArMSwyMyBA
QAorJ3VzZSBzdHJpY3QnOworCitjb25zdCBpbnN0YWxsTWF5RmluaXNoID0gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgc2VsZi5maW5pc2hJbnN0YWxsID0gcmVzb2x2ZTsKK30pOworCits
ZXQgcmVwb3J0ID0geyBpbnN0YWxsRXZlbnRGaXJlZDogZmFsc2UgfTsKKworYWRkRXZlbnRMaXN0
ZW5lcignaW5zdGFsbCcsIGV2ZW50ID0+IHsKKyAgICByZXBvcnQuaW5zdGFsbEV2ZW50RmlyZWQg
PSB0cnVlOworICAgIGxldCBhdHRlbXB0VXBkYXRlID0gcmVnaXN0cmF0aW9uLnVwZGF0ZSgpLmNh
dGNoKGV4Y2VwdGlvbiA9PiB7CisgICAgICAgIHJlcG9ydC5leGNlcHRpb24gPSBleGNlcHRpb24u
bmFtZTsKKyAgICB9KTsKKyAgICBldmVudC53YWl0VW50aWwoUHJvbWlzZS5hbGwoW2luc3RhbGxN
YXlGaW5pc2gsIGF0dGVtcHRVcGRhdGVdKSk7Cit9KTsKKworYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIGV2ZW50ID0+IHsKKyAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ2ZpbmlzaEluc3RhbGwn
KSB7CisgICAgICAgIGZpbmlzaEluc3RhbGwoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBldmVu
dC5zb3VyY2UucG9zdE1lc3NhZ2UocmVwb3J0KTsKKyAgICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy1p
bXBvcnRlZC13b3JrZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLW1p
c3NpbmctaW1wb3J0LXNjcmlwdHMtaW1wb3J0ZWQtd29ya2VyLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkOTUz
ODdmYzkyMzNlZDEyZmEyNmIzNmYwNmE5OWY5Nzc1ZWQwOGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMt
aW1wb3J0ZWQtd29ya2VyLnB5CkBAIC0wLDAgKzEsOSBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgorICAgIGtleSA9IHJlcXVlc3QuR0VUWydrZXknXQorICAgIGFscmVhZHlfcmVxdWVz
dGVkID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZShrZXkpCisKKyAgICBpZiBhbHJlYWR5X3Jl
cXVlc3RlZCBpcyBOb25lOgorICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQoa2V5LCBU
cnVlKQorICAgICAgICByZXR1cm4gWygnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2phdmFz
Y3JpcHQnKV0sICcvLyBpbml0aWFsIHNjcmlwdCcKKworICAgIHJlc3BvbnNlLnN0YXR1cyA9ICg0
MDQsICdOb3QgZm91bmQ6IHNob3VsZCBub3QgaGF2ZSBiZWVuIGFibGUgdG8gaW1wb3J0IHRoaXMg
c2NyaXB0IHR3aWNlIScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
dXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtbWFpbi13b3JrZXIucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtbWFpbi13b3Jr
ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjFkMmY2ZmNiNzgyNzFiZjUzM2VjOGVjNGFhNDE1YzIxYzhkMTVj
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUt
bWlzc2luZy1pbXBvcnQtc2NyaXB0cy1tYWluLXdvcmtlci5weQpAQCAtMCwwICsxLDEzIEBACitk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAga2V5ID0gcmVxdWVzdC5HRVRbJ2tleSdd
CisgICAgYWxyZWFkeV9yZXF1ZXN0ZWQgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKGtleSkK
KworICAgIGhlYWRlciA9IFsoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0
JyldCisgICAgaW5pdGlhbF9zY3JpcHQgPSAnaW1wb3J0U2NyaXB0cygiLi91cGRhdGUtbWlzc2lu
Zy1pbXBvcnQtc2NyaXB0cy1pbXBvcnRlZC13b3JrZXIucHk/a2V5PXswfSIpJy5mb3JtYXQoa2V5
KQorICAgIHVwZGF0ZWRfc2NyaXB0ID0gJy8vIHJlbW92ZWQgaW1wb3J0U2NyaXB0cygpJworCisg
ICAgaWYgYWxyZWFkeV9yZXF1ZXN0ZWQgaXMgTm9uZToKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gucHV0KGtleSwgVHJ1ZSkKKyAgICAgICAgcmV0dXJuIGhlYWRlciwgaW5pdGlhbF9zY3Jp
cHQKKworICAgIHJldHVybiBoZWFkZXIsIHVwZGF0ZWRfc2NyaXB0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5
cGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGY2ZDVhZTI4MjAwZTA5Y2JhMGUyNWMyNzY5MTY4YmMxNjIyYTM2
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUt
cmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5weQpAQCAtMCwwICsxLDMzIEBACitkZWYgY2xhc3NpY19z
Y3JpcHQoKToKKyAgICByZXR1cm4gIiIiCisgICAgICBpbXBvcnRTY3JpcHRzKCcuL2ltcG9ydGVk
LWNsYXNzaWMtc2NyaXB0LmpzJyk7CisgICAgICBzZWxmLm9ubWVzc2FnZSA9IGUgPT4geworICAg
ICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShpbXBvcnRlZCk7CisgICAgICB9OworICAgICAgIiIi
CisKK2RlZiBtb2R1bGVfc2NyaXB0KCk6CisgICAgcmV0dXJuICIiIgorICAgICAgaW1wb3J0ICog
YXMgbW9kdWxlIGZyb20gJy4vaW1wb3J0ZWQtbW9kdWxlLXNjcmlwdC5qcyc7CisgICAgICBzZWxm
Lm9ubWVzc2FnZSA9IGUgPT4geworICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShtb2R1bGUu
aW1wb3J0ZWQpOworICAgICAgfTsKKyAgICAgICIiIgorCisjIFJldHVybnMgdGhlIGNsYXNzaWMg
c2NyaXB0IGZvciBhIGZpcnN0IHJlcXVlc3QgYW5kCisjIHJldHVybnMgdGhlIG1vZHVsZSBzY3Jp
cHQgZm9yIHNlY29uZCBhbmQgc3Vic2VxdWVudCByZXF1ZXN0cy4KK2RlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKKyAgICBoZWFkZXJzID0gWygnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9u
L2phdmFzY3JpcHQnKSwKKyAgICAgICAgICAgICAgICgnUHJhZ21hJywgJ25vLXN0b3JlJyksCisg
ICAgICAgICAgICAgICAoJ0NhY2hlLUNvbnRyb2wnLCAnbm8tc3RvcmUnKV0KKworICAgIGNsYXNz
aWNfZmlyc3QgPSByZXF1ZXN0LkdFVFsnY2xhc3NpY19maXJzdCddCisgICAga2V5ID0gcmVxdWVz
dC5HRVRbJ2tleSddCisgICAgcmVxdWVzdGVkX29uY2UgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50
YWtlKGtleSkKKyAgICBpZiByZXF1ZXN0ZWRfb25jZSBpcyBOb25lOgorICAgICAgICByZXF1ZXN0
LnNlcnZlci5zdGFzaC5wdXQoa2V5LCBUcnVlKQorICAgICAgICBib2R5ID0gY2xhc3NpY19zY3Jp
cHQoKSBpZiBjbGFzc2ljX2ZpcnN0ID09ICcxJyBlbHNlIG1vZHVsZV9zY3JpcHQoKQorICAgIGVs
c2U6CisgICAgICAgIGJvZHkgPSBtb2R1bGVfc2NyaXB0KCkgaWYgY2xhc3NpY19maXJzdCA9PSAn
MScgZWxzZSBjbGFzc2ljX3NjcmlwdCgpCisKKyAgICByZXR1cm4gMjAwLCBoZWFkZXJzLCBib2R5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS93M2MtaW1wb3J0Lmxv
ZwppbmRleCBiZTJmMDE2ZTMwNTRjZTAxYTc1YjEzOWMwODYwMjY3OGM3MzY1OWRlLi40OWNlMTUw
N2M3M2U2YjYyMjM4Y2JkMDgzMTQ5MjIxYTViMzMzODg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvdXBkYXRlL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy91cGRhdGUvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3IEBACiBU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgog
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZV9zaGVsbC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy91cGRhdGVfc2hlbGwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyZTUxOTQxNDAwYTMzZGQ1
ZTI3MTAwNzdiODhlZDRjNjg4OGM2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy91cGRhdGVfc2hlbGwucHkKQEAgLTAsMCArMSwzMSBAQAorIyBUaGlzIHNl
cnZlcyBhIGRpZmZlcmVudCByZXNwb25zZSB0byBlYWNoIHJlcXVlc3QsIHRvIHRlc3Qgc2Vydmlj
ZSB3b3JrZXIKKyMgdXBkYXRlcy4gSWYgfGZpbGVuYW1lfCBpcyBwcm92aWRlZCwgaXQgd3JpdGVz
IHRoYXQgZmlsZSBpbnRvIHRoZSBib2R5LgorIworIyBVc2FnZToKKyMgICBuYXZpZ2F0b3Iuc2Vy
dmljZVdvcmtlci5yZWdpc3RlcigndXBkYXRlX3NoZWxsLnB5P2ZpbGVuYW1lPXdvcmtlci5qcycp
CisjCisjIFRoaXMgcmVnaXN0ZXJzIHdvcmtlci5qcyBhcyBhIHNlcnZpY2Ugd29ya2VyLCBhbmQg
ZXZlcnkgdXBkYXRlIGNoZWNrCisjIHdpbGwgcmV0dXJuIGEgbmV3IHJlc3BvbnNlLgoraW1wb3J0
IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6CisgICMgU2V0IG5vLWNhY2hlIHRvIGVuc3VyZSB0aGUgdXNlciBhZ2VudCBmaW5kcyBhIG5l
dyB2ZXJzaW9uIGZvciBlYWNoIHVwZGF0ZS4KKyAgaGVhZGVycyA9IFsoJ0NhY2hlLUNvbnRyb2wn
LCAnbm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZScpLAorICAgICAgICAgICAgICgnUHJhZ21hJywg
J25vLWNhY2hlJyksCisgICAgICAgICAgICAgKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24v
amF2YXNjcmlwdCcpXQorCisgICMgUmV0dXJuIGEgZGlmZmVyZW50IHNjcmlwdCBmb3IgZWFjaCBh
Y2Nlc3MuICBVc2UgLnRpbWUoKSBhbmQgLmNsb2NrKCkgZm9yCisgICMgYmVzdCB0aW1lIHJlc29s
dXRpb24gYWNyb3NzIGRpZmZlcmVudCBwbGF0Zm9ybXMuCisgIHRpbWVzdGFtcCA9ICcvLyAlcyAl
cycgJSAodGltZS50aW1lKCksIHRpbWUuY2xvY2soKSkKKyAgYm9keSA9IHRpbWVzdGFtcCArICdc
bicKKworICAjIEluamVjdCB0aGUgZmlsZSBpbnRvIHRoZSByZXNwb25zZS4KKyAgaWYgJ2ZpbGVu
YW1lJyBpbiByZXF1ZXN0LkdFVDoKKyAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGly
bmFtZShfX2ZpbGVfXyksCisgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LkdFVFsnZmls
ZW5hbWUnXSkKKyAgICB3aXRoIG9wZW4ocGF0aCwgJ3JiJykgYXMgZjoKKyAgICAgIGJvZHkgKz0g
Zi5yZWFkKCkKKworICByZXR1cm4gaGVhZGVycywgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Z0dC1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Z0dC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzYWM4MDM0ZTE5MmZjZDZhZGNhMTFm
YTYzOGVkYTU3YjYyZDk1YmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvdnR0LWZyYW1lLmh0bWwKQEAgLTAsMCArMSw2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5QYWdlIFRpdGxlPC90aXRsZT4KKzx2aWRl
bz4KKyAgPHRyYWNrPgorPC92aWRlbz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwppbmRleCAzNzVmOTNlMGNmMDkyZTJhZGZlNWQ4ZTY5ZmI1ZGU1YWRhMTI1Yjkz
Li5jNDAyOGVhMDdmNzAzNGQwYTk0NWM2MzRkZmY4NTZiMTc4NjhhODA2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCiBEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE1LDkgKzE1LDEyIEBAIE5vbmUK
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvNDA0LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Fib3V0LWJsYW5rLXJl
cGxhY2VtZW50LWJsYW5rLWR5bmFtaWMtbmVzdGVkLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtYmxhbmstbmVzdGVkLWZyYW1l
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1l
bnQtZnJhbWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVw
bGFjZW1lbnQtcGluZy1mcmFtZS5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9hYm91
dC1ibGFuay1yZXBsYWNlbWVudC1wb3B1cC1mcmFtZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9hYm91dC1ibGFuay1yZXBsYWNlbWVudC1zcmNkb2MtbmVzdGVkLWZyYW1lLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQtdW5j
b250cm9sbGVkLW5lc3RlZC1mcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2Fib3V0LWJsYW5rLXJlcGxhY2VtZW50LXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9hcHBjYWNoZS1vcmRlcmluZy5pbnN0YWxsLmh0bWwKQEAgLTI3LDEyICszMCwxNSBA
QCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9ibGFuay5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2J5dGVjaGVjay13b3JrZXItaW1wb3J0ZWQt
c2NyaXB0LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2J5dGVjaGVjay13b3JrZXIu
cHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvY2xhaW0tbmVzdGVkLXdvcmtlci1mZXRj
aC1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS1uZXN0ZWQt
d29ya2VyLWZldGNoLXBhcmVudC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvY2xhaW0tc2hhcmVkLXdvcmtlci1mZXRjaC1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9jbGFpbS1zaGFyZWQtd29ya2VyLWZldGNoLXdvcmtlci5qcwogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS13aXRoLXJlZGlyZWN0LWlmcmFtZS5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLXdvcmtlci1mZXRjaC1pZnJhbWUuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFpbS13b3JrZXItZmV0Y2gtd29ya2Vy
LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsYWltLXdvcmtlci5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGFzc2ljLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9jbGllbnQtaWQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2NsaWVudC1uYXZpZ2F0ZS1mcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKQEAgLTQ0LDIyICs1MCwzNCBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLWdldC1jcm9z
cy1vcmlnaW4tZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRz
LWdldC1mcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMtZ2V0
LW90aGVyLW9yaWdpbi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2NsaWVudHMt
Z2V0LXJlc3VsdGluZ0NsaWVudElkLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9jbGllbnRzLWdldC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMtZGVkaWNhdGVkLXdvcmtlci5qcwogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy1pZnJh
bWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9jbGllbnRzLW1hdGNoYWxsLWNs
aWVudC10eXBlcy1zaGFyZWQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2NsaWVudHMtbWF0Y2hhbGwtb24tZXZhbHVhdGlvbi13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvY2xpZW50cy1tYXRjaGFsbC13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvY29ycy1hcHByb3ZlZC50eHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvY29ycy1hcHByb3ZlZC50eHQuaGVhZGVycworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9jb3JzLWRlbmllZC50eHQKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZHVtbXkt
c2hhcmVkLXdvcmtlci1pbnRlcmNlcHRvci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9kdW1teS1zaGFyZWQtd29ya2VyLWludGVyY2VwdG9yLmpzLmhlYWRlcnMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZHVtbXktd29ya2VyLWludGVyY2VwdG9yLmpzCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2R1bW15LXdvcmtlci1zY3JpcHQucHkKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvZHVtbXkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9k
dW1teS50eHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZWNoby1jb250ZW50LnB5CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VjaG8tbWVzc2FnZS10by1zb3VyY2Utd29ya2Vy
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtYmVkLWFuZC1vYmplY3QtYXJlLW5v
dC1pbnRlcmNlcHRlZC13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1i
ZWQtaW1hZ2UtaXMtbm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2VtYmVkLWlzLW5vdC1pbnRlcmNlcHRlZC1pZnJhbWUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbWJlZGRlZC1jb250ZW50LWZyb20tc2VydmVyLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1iZWRkZWQtY29udGVudC1mcm9tLXNlcnZp
Y2Utd29ya2VyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1wdHktYnV0LXNs
b3ctd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbXB0eS5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2VtcHR5LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Vu
YWJsZS1jbGllbnQtbWVzc2FnZS1xdWV1ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2VuZC10by1lbmQtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2V2
ZW50cy13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZXh0ZW5kYWJsZS1l
dmVudC1hc3luYy13YWl0dW50aWwuanMKQEAgLTY3LDcgKzg1LDEwIEBAIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZhaWwtb24tZmV0Y2gtd29ya2VyLmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWFjY2Vzcy1jb250cm9sLWxvZ2luLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHkK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtY2FudmFzLXRhaW50aW5nLWRvdWJs
ZS13cml0ZS13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtY2Fu
dmFzLXRhaW50aW5nLWlmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2Zl
dGNoLWNhbnZhcy10YWludGluZy10ZXN0cy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9mZXRjaC1jb3JzLWV4cG9zZWQtaGVhZGVyLW5hbWVzLXdvcmtlci5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1jb3JzLXhoci1pZnJhbWUuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1jc3AtaWZyYW1lLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvZmV0Y2gtY3NwLWlmcmFtZS5odG1sLnN1Yi5oZWFkZXJzCkBAIC03NSwxMCAr
OTYsMTMgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtZXZlbnQtYXN5bmMtcmVzcG9uZC13aXRoLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1ldmVudC1uZXR3b3JrLWVycm9yLWNvbnRyb2xsZWUtaWZyYW1lLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtbmV0d29yay1lcnJv
ci13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtbmV0
d29yay1mYWxsYmFjay13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0
Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWFyZ3VtZW50LWlmcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1hcmd1bWVudC13b3JrZXIu
anMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRo
LWJvZHktbG9hZGVkLWluLWNodW5rLXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3VzdG9tLXJlc3BvbnNlLXdvcmtlci5qcwog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtcGFy
dGlhbC1zdHJlYW0td29ya2VyLmpzCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNo
LWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0taWZyYW1lLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0
cmVhbS1jaHVuay13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gt
ZXZlbnQtcmVzcG9uZC13aXRoLXJlYWRhYmxlLXN0cmVhbS13b3JrZXIuanMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXJlc3BvbnNlLWJvZHkt
d2l0aC1pbnZhbGlkLWNodW5rLWlmcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZXNwb25zZS1ib2R5LXdpdGgtaW52YWxpZC1j
aHVuay13b3JrZXIuanMKQEAgLTk3LDE4ICsxMjEsMjEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1p
bWUtY2hlY2staWZyYW1lLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gt
cmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hlY2stc2FtZS5jc3MKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1jc3MtY3Jvc3Mtb3JpZ2luLW1pbWUtY2hl
Y2stc2FtZS5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3Qt
Y3NzLWNyb3NzLW9yaWdpbi1taW1lLWNoZWNrLXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9zcy1vcmlnaW4tcmVhZC1jb250ZW50cy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3Nz
LW9yaWdpbi13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVx
dWVzdC1mYWxsYmFjay1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1yZXF1ZXN0LWZhbGxiYWNrLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy1pZnJhbWUuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LWh0bWwtaW1wb3J0cy13b3JrZXIuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVxdWVzdC1uby1mcmVzaG5lc3MtaGVh
ZGVycy1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1
ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXNjcmlwdC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1yZXF1ZXN0LW5vLWZyZXNobmVzcy1oZWFkZXJzLXdvcmtlci5qcwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXJlZGlyZWN0LWlmcmFtZS5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QtcmVzb3VyY2Vz
LWlmcmFtZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJl
cXVlc3QtcmVzb3VyY2VzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9m
ZXRjaC1yZXF1ZXN0LXhoci1pZnJhbWUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci1zeW5jLWlmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXJlcXVlc3QteGhyLXN5bmMtb24td29ya2VyLXdvcmtlci5q
cwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci1zeW5jLXdv
cmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9mZXRjaC1yZXF1ZXN0LXhoci13
b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZmV0Y2gtcmVzcG9uc2UtdGFp
bnQtaWZyYW1lLmh0bWwKQEAgLTEyMCwxNyArMTQ3LDIxIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ZldGNoLXdhaXRzLWZvci1hY3RpdmF0ZS13b3JrZXIu
anMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZnJhbWUtZm9yLWdldHJlZ2lzdHJhdGlv
bnMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9odHRwLXRvLWh0dHBzLXJlZGly
ZWN0LWFuZC1yZWdpc3Rlci1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9pZnJhbWUtd2l0aC1pbWFnZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lt
bXV0YWJsZS1wcm90b3R5cGUtc2VydmljZXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9pbXBvcnQtbWltZS10eXBlLXdvcmtlci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ltcG9ydC1zY3JpcHRzLW1pbWUtdHlwZXMtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0LWltcG9ydC5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC13b3JrZXIuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtcmVzb3VyY2UtbWFwLXdv
cmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy11cGRh
dGVkLWZsYWctd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1z
Y3JpcHRzLXZlcnNpb24ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQt
Y2xhc3NpYy1zY3JpcHQuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0ZWQt
bW9kdWxlLXNjcmlwdC5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbmRleGVkZGIt
d29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2luc3RhbGwtZXZlbnQtdHlw
ZS13b3JrZXIuanMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy1pZGxz
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2luc3RhbGwtd29ya2VyLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW50ZXJmYWNlcy13b3JrZXIuc3ViLmpzCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ludmFsaWQtYmxvYnR5cGUtaWZyYW1lLmh0dHBzLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW52YWxpZC1ibG9idHlwZS13b3JrZXIu
anMKQEAgLTE0MiwxMCArMTczLDE4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2lzby1sYXRpbjEtaGVhZGVyLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9sb2FkX3dvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9sb2FkZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9sb2NhbC11cmwtaW5o
ZXJpdC1jb250cm9sbGVyLWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
bG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvbWFsZm9ybWVkLWh0dHAtcmVzcG9uc2UuYXNpcwogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9tYWxmb3JtZWQtd29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL21lc3NhZ2UtdnMtbWljcm90YXNrLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvbWltZS1zbmlmZmluZy13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvbWltZS10eXBlLXdvcmtlci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9taW50
LW5ldy13b3JrZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbW9kdWxlLXdvcmtl
ci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UtaWZyYW1l
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbXVsdGlwYXJ0LWltYWdlLXdvcmtl
ci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9tdWx0aXBhcnQtaW1hZ2UucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGUtd2luZG93LXdvcmtlci5qcwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LWJvZHktd29ya2Vy
LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL25hdmlnYXRpb24tcmVkaXJlY3QtYm9k
eS5weQpAQCAtMTU1LDcgKzE5NCwxMiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXNjb3BlMi5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXJlZGlyZWN0LXRvLWh0dHAtaWZyYW1lLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmF2aWdhdGlvbi1yZWRpcmVjdC10by1odHRw
LXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uYXZpZ2F0aW9uLXRpbWlu
Zy13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbmVzdGVkLWlmcmFtZS1w
YXJlbnQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9uZXN0ZWRfbG9hZF93b3Jr
ZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvbm90aWZpY2F0aW9uX2ljb24ucHkK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb2JqZWN0LWltYWdlLWlzLW5vdC1pbnRlcmNl
cHRlZC1pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vYmplY3QtaXMt
bm90LWludGVyY2VwdGVkLWlmcmFtZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L29uYWN0aXZhdGUtdGhyb3ctZXJyb3ItZnJvbS1uZXN0ZWQtZXZlbnQtd29ya2VyLmpzCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL29uYWN0aXZhdGUtdGhyb3ctZXJyb3ItdGhlbi1jYW5j
ZWwtd29ya2VyLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL29uYWN0aXZhdGUtdGhy
b3ctZXJyb3ItdGhlbi1wcmV2ZW50LWRlZmF1bHQtd29ya2VyLmpzCkBAIC0xNzIsMTIgKzIxNiwx
NyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9vcGFxdWUt
cmVzcG9uc2UtcHJlbG9hZGVkLXhoci5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L290aGVyLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvb3ZlcnJpZGVfYXNzZXJ0
X29iamVjdF9lcXVhbHMuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcGFzcy10aHJv
dWdoLXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wYXNzLnR4dAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wZXJmb3JtYW5jZS10aW1lbGluZS13b3JrZXIuanMK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcG9zdG1lc3NhZ2UtYmxvYi11cmwuanMKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcG9zdG1lc3NhZ2UtZGljdGlvbmFyeS10cmFuc2Zl
cmFibGVzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9wb3N0bWVzc2Fn
ZS1tc2dwb3J0LXRvLWNsaWVudC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvcG9zdG1lc3NhZ2UtdG8tY2xpZW50LXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9wb3N0bWVzc2FnZS10cmFuc2ZlcmFibGVzLXdvcmtlci5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9wb3N0bWVzc2FnZS13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvcmFuZ2UtcmVxdWVzdC10by1kaWZmZXJlbnQtb3JpZ2lucy13b3JrZXIuanMK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmFuZ2UtcmVxdWVzdC13aXRoLWRpZmZlcmVu
dC1jb3JzLW1vZGVzLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9yZWRp
cmVjdC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVkaXJlY3QucHkK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvcmVmZXJlci1pZnJhbWUuaHRtbApAQCAtMjAy
LDMyICsyNTEsNTIgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvcmVzcG9uZC13aXRoLWJvZHktYWNjZXNzZWQtcmVzcG9uc2Utd29ya2VyLmpzCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Jlc3BvbmQtd2l0aC1ib2R5LWFjY2Vzc2VkLXJlc3BvbnNl
Lmpzb25wCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZmV0
Y2gtZXZlbnQtaWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2FuZGJv
eGVkLWlmcmFtZS1mZXRjaC1ldmVudC1pZnJhbWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1uYXZpZ2F0b3Itc2VydmljZXdvcmtl
ci1pZnJhbWUuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtl
ci1jc3Atd29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NlcnZpY2Utd29y
a2VyLWhlYWRlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtl
ci1pbnRlcmNlcHRpb24tZHluYW1pYy1pbXBvcnQtd29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWludGVyY2VwdGlvbi1uZXR3b3JrLXdvcmtlci5q
cworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1pbnRlcmNlcHRp
b24tc2VydmljZS13b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Vydmlj
ZS13b3JrZXItaW50ZXJjZXB0aW9uLXN0YXRpYy1pbXBvcnQtd29ya2VyLmpzCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29udHJvbGxlZC5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWltcG9ydC5qcwogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zaWxlbmNlLm9nYQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zaW1wbGUtaW50ZXJjZXB0LXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zaW1wbGUtaW50ZXJjZXB0LXdvcmtlci5qcy5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3NpbXBsZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBs
ZS50eHQKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLWluc3RhbGxl
ZC13b3JrZXIuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2tpcC13YWl0aW5nLXdv
cmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zcXVhcmUucG5nCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3NxdWFyZS5wbmcuc3ViLmhlYWRlcnMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvc3RhbGxpbmctc2VydmljZS13b3JrZXIuanMKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvc3VjY2Vzcy5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy90ZXN0LWhlbHBlcnMuc3ViLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLWhlbHBlcnMuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdW5yZWdpc3Rl
ci1jb250cm9sbGVyLXBhZ2UuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRh
dGUtY2xhaW0td29ya2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1k
dXJpbmctaW5zdGFsbGF0aW9uLXdvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy91cGRhdGUtbWF4LWFnZWQtd29ya2VyLWltcG9ydGVkLXNjcmlwdC5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy91cGRhdGUtbWF4LWFnZWQtd29ya2VyLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3VwZGF0ZS1taXNzaW5nLWltcG9ydC1zY3JpcHRzLWltcG9ydGVkLXdv
cmtlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGUtbWlzc2luZy1pbXBv
cnQtc2NyaXB0cy1tYWluLXdvcmtlci5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91
cGRhdGUtbm9jb29raWUtd29ya2VyLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Vw
ZGF0ZS1yZWNvdmVyeS13b3JrZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdXBk
YXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvdXBkYXRlLXdvcmtlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy91cGRhdGVf
c2hlbGwucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdnR0LWZyYW1lLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd2FpdC1mb3JldmVyLWluLWluc3RhbGwtd29ya2Vy
LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dlYnNvY2tldC13b3JrZXIuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd2Vic29ja2V0LmpzCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3dpbmRvd2NsaWVudC1uYXZpZ2F0ZS13b3JrZXIuanMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWNsaWVudC1pZC13b3JrZXIuanMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWZldGNoaW5nLWNyb3NzLW9yaWdpbi5qcwogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLWlmcmFtZS5odHRwcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1pbnRlcmNlcHRpb24tcmVk
aXJlY3Qtc2VydmljZXdvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3Jr
ZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0LXdlYndvcmtlci5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy93b3JrZXItbG9hZC1pbnRlcmNlcHRvci5qcwogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy93b3JrZXItdGVzdGhhcm5lc3MuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItY2xpZW50LWlkLXdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItY2xpZW50LWlkLXdvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNTkyNjI5ZDA3NGJjMzkxMmNlNjRmMzI1YTM1NjBhOWQzMWM3ZjEzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1jbGll
bnQtaWQtd29ya2VyLmpzCkBAIC0wLDAgKzEsMjUgQEAKK2FkZEV2ZW50TGlzdGVuZXIoJ2ZldGNo
JywgZXZ0ID0+IHsKKyAgaWYgKGV2dC5yZXF1ZXN0LnVybC5pbmNsdWRlcygnd29ya2VyLWVjaG8t
Y2xpZW50LWlkLmpzJykpIHsKKyAgICBldnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKAorICAg
ICAgJ2ZldGNoKCJmZXRjaC1lY2hvLWNsaWVudC1pZCIpLnRoZW4ociA9PiByLnRleHQoKSkudGhl
bih0ID0+IHNlbGYucG9zdE1lc3NhZ2UodCkpOycsCisgICAgICB7IGhlYWRlcnM6IHsgJ0NvbnRl
bnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JyB9fSkpOworICAgIHJldHVybjsKKyAg
fQorCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5jbHVkZXMoJ2ZldGNoLWVjaG8tY2xpZW50LWlk
JykpIHsKKyAgICBldnQucmVzcG9uZFdpdGgobmV3IFJlc3BvbnNlKGV2dC5jbGllbnRJZCkpOwor
ICAgIHJldHVybjsKKyAgfQorCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5jbHVkZXMoJ2ZyYW1l
Lmh0bWwnKSkgeworICAgIGV2dC5yZXNwb25kV2l0aChuZXcgUmVzcG9uc2UoJycpKTsKKyAgICBy
ZXR1cm47CisgIH0KK30pOworCithZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZXZ0ID0+IHsK
KyAgaWYgKGV2dC5kYXRhID09PSAnZWNoby1jbGllbnQtaWQnKSB7CisgICAgZXZ0LnBvcnRzWzBd
LnBvc3RNZXNzYWdlKGV2dC5zb3VyY2UuaWQpOworICAgIHJldHVybjsKKyAgfQorfSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWZldGNoaW5nLWNyb3Nz
LW9yaWdpbi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItZmV0Y2hpbmct
Y3Jvc3Mtb3JpZ2luLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5ZjA4OTkxMTc0Y2I1MDczNWY4YmMwNjMxODc2
YzIyYjMzNTliZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvd29ya2VyLWZldGNoaW5nLWNyb3NzLW9yaWdpbi5qcwpAQCAtMCwwICsxLDEwIEBACitpbXBv
cnRTY3JpcHRzKCcvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzJyk7CitpbXBvcnRTY3JpcHRz
KCd0ZXN0LWhlbHBlcnMuc3ViLmpzJyk7CisKK3NlbGYuYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gn
LCBldmVudCA9PiB7CisgIGNvbnN0IGhvc3RfaW5mbyA9IGdldF9ob3N0X2luZm8oKTsKKyAgLy8g
VGhlIHNuZWFreSBTZXJ2aWNlIFdvcmtlciBjaGFuZ2VzIHRoZSBzYW1lLW9yaWdpbiAnc3F1YXJl
JyByZXF1ZXN0IGZvciBhIGNyb3NzLW9yaWdpbiBpbWFnZS4KKyAgaWYgKGV2ZW50LnJlcXVlc3Qu
dXJsLmluZGV4T2YoJ3NxdWFyZScpICE9IC0xKSB7CisgICAgZXZlbnQucmVzcG9uZFdpdGgoZmV0
Y2goaG9zdF9pbmZvWydIVFRQU19SRU1PVEVfT1JJR0lOJ10gKyBiYXNlX3BhdGgoKSArICdzcXVh
cmUucG5nJywge21vZGU6ICdjb3JzJ30pKTsKKyAgfQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWludGVyY2VwdGlvbi1pZnJhbWUuaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLWlmcmFt
ZS5odHRwcy5odG1sCmluZGV4IGU4OWIzODY5MWNkNGJlNzg1NWM4Y2Y0OWU3NGMzNDMzMWUzODk3
ZTQuLmFiMTBhMDc4ZjNkNjdhOGMyMTNiODUxMWI4ZmY1ZmZjZGU5MjM3NWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLWlmcmFtZS5o
dHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJj
ZXB0aW9uLWlmcmFtZS5odHRwcy5odG1sCkBAIC0zLDkgKzMsOSBAQAogPHNjcmlwdD4KIHZhciBo
b3N0X2luZm8gPSBnZXRfaG9zdF9pbmZvKCk7CiAKLWZ1bmN0aW9uIGJvaWxlcnBsYXRlX3Rlc3Qo
bXNnKSB7CitmdW5jdGlvbiBib2lsZXJwbGF0ZV90ZXN0KHVybCwgbXNnKSB7CiAgICAgcmV0dXJu
IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgIHZhciB3
b3JrZXIgPSBuZXcgV29ya2VyKCJsb2FkX3dvcmtlci5qcyIpOworICAgICAgICAgIHZhciB3b3Jr
ZXIgPSBuZXcgV29ya2VyKHVybCk7CiAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKGUpIHsgcmVzb2x2ZShlLmRhdGEpIH07CiAgICAgICAgICAgd29ya2VyLm9uZXJyb3IgPSBm
dW5jdGlvbihlKSB7IHJlamVjdChlKSB9OwogICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSht
c2cpOwpAQCAtMTYsMTUgKzE2LDI3IEBAIGZ1bmN0aW9uIGJvaWxlcnBsYXRlX3Rlc3QobXNnKSB7
CiB9CiAKIGZ1bmN0aW9uIHhocl90ZXN0KCkgewotICAgIHJldHVybiBib2lsZXJwbGF0ZV90ZXN0
KCJ4aHIiKTsKKyAgICByZXR1cm4gYm9pbGVycGxhdGVfdGVzdCgibG9hZF93b3JrZXIuanMiLCAi
eGhyIik7CiB9CiAKIGZ1bmN0aW9uIGZldGNoX3Rlc3QoKSB7Ci0gICAgcmV0dXJuIGJvaWxlcnBs
YXRlX3Rlc3QoImZldGNoIik7CisgICAgcmV0dXJuIGJvaWxlcnBsYXRlX3Rlc3QoImxvYWRfd29y
a2VyLmpzIiwgImZldGNoIik7CiB9CiAKIGZ1bmN0aW9uIGltcG9ydFNjcmlwdHNfdGVzdCgpIHsK
LSAgICByZXR1cm4gYm9pbGVycGxhdGVfdGVzdCgiaW1wb3J0U2NyaXB0cyIpOworICAgIHJldHVy
biBib2lsZXJwbGF0ZV90ZXN0KCJsb2FkX3dvcmtlci5qcyIsICJpbXBvcnRTY3JpcHRzIik7Cit9
CisKK2Z1bmN0aW9uIG5lc3RlZF93b3JrZXJfeGhyX3Rlc3QoKSB7CisgICAgcmV0dXJuIGJvaWxl
cnBsYXRlX3Rlc3QoIm5lc3RlZF9sb2FkX3dvcmtlci5qcyIsICJ4aHIiKTsKK30KKworZnVuY3Rp
b24gbmVzdGVkX3dvcmtlcl9mZXRjaF90ZXN0KCkgeworICAgIHJldHVybiBib2lsZXJwbGF0ZV90
ZXN0KCJuZXN0ZWRfbG9hZF93b3JrZXIuanMiLCAiZmV0Y2giKTsKK30KKworZnVuY3Rpb24gbmVz
dGVkX3dvcmtlcl9pbXBvcnRTY3JpcHRzX3Rlc3QoKSB7CisgICAgcmV0dXJuIGJvaWxlcnBsYXRl
X3Rlc3QoIm5lc3RlZF9sb2FkX3dvcmtlci5qcyIsICJpbXBvcnRTY3JpcHRzIik7CiB9CiAKIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZ0KSB7CkBAIC0zMiw2
ICs0NCw5IEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXZ0
KSB7CiAgICAgeGhyX3Rlc3QoKQogICAgICAgLnRoZW4oZmV0Y2hfdGVzdCkKICAgICAgIC50aGVu
KGltcG9ydFNjcmlwdHNfdGVzdCkKKyAgICAgIC50aGVuKG5lc3RlZF93b3JrZXJfeGhyX3Rlc3Qp
CisgICAgICAudGhlbihuZXN0ZWRfd29ya2VyX2ZldGNoX3Rlc3QpCisgICAgICAudGhlbihuZXN0
ZWRfd29ya2VyX2ltcG9ydFNjcmlwdHNfdGVzdCkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeyBw
b3J0LnBvc3RNZXNzYWdlKHtyZXN1bHRzOiAnZmluaXNoJ30pOyB9KQogICAgICAgLmNhdGNoKGZ1
bmN0aW9uKGUpIHsgcG9ydC5wb3N0TWVzc2FnZSh7cmVzdWx0czogJ2ZhaWx1cmU6JyArIGV9KTsg
fSk7CiAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtl
ci1pbnRlcmNlcHRpb24tcmVkaXJlY3Qtc2VydmljZXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0LXNlcnZpY2V3b3JrZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjViYTVhMzhkZjVhNzg5M2RjYTNlMmRiNDdiNDM5NWM1MzYwZGIyYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItaW50
ZXJjZXB0aW9uLXJlZGlyZWN0LXNlcnZpY2V3b3JrZXIuanMKQEAgLTAsMCArMSw0OCBAQAorbGV0
IG5hbWU7CitpZiAoc2VsZi5yZWdpc3RyYXRpb24uc2NvcGUuaW5kZXhPZignc2NvcGUxJykgIT0g
LTEpCisgIG5hbWUgPSAnc3cxJzsKK2lmIChzZWxmLnJlZ2lzdHJhdGlvbi5zY29wZS5pbmRleE9m
KCdzY29wZTInKSAhPSAtMSkKKyAgbmFtZSA9ICdzdzInOworCisKK3NlbGYuYWRkRXZlbnRMaXN0
ZW5lcignZmV0Y2gnLCBldnQgPT4geworICAvLyBUaGVyZSBhcmUgdGhyZWUgdHlwZXMgb2YgcmVx
dWVzdHMgdGhpcyBzZXJ2aWNlIHdvcmtlciBoYW5kbGVzLgorCisgIC8vICgxKSBUaGUgZmlyc3Qg
cmVxdWVzdCBmb3IgdGhlIHdvcmtlciwgd2hpY2ggd2lsbCByZWRpcmVjdCBlbHNld2hlcmUuCisg
IC8vICJyZWRpcmVjdC5weSIgbWVhbnMgdG8gdGVzdCBuZXR3b3JrIHJlZGlyZWN0LCBzbyBsZXQg
bmV0d29yayBoYW5kbGUgaXQuCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5kZXhPZigncmVkaXJl
Y3QucHknKSAhPSAtMSkgeworICAgIHJldHVybjsKKyAgfQorICAvLyAic3ctcmVkaXJlY3QiIG1l
YW5zIHRvIHRlc3Qgc2VydmljZSB3b3JrZXIgcmVkaXJlY3QsIHNvIHJlc3BvbmQgd2l0aCBhCisg
IC8vIHJlZGlyZWN0LgorICBpZiAoZXZ0LnJlcXVlc3QudXJsLmluZGV4T2YoJ3N3LXJlZGlyZWN0
JykgIT0gLTEpIHsKKyAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGV2dC5yZXF1ZXN0LnVybCk7Cisg
ICAgY29uc3QgcmVkaXJlY3RfdG8gPSB1cmwuc2VhcmNoUGFyYW1zLmdldCgnUmVkaXJlY3QnKTsK
KyAgICBldnQucmVzcG9uZFdpdGgoUmVzcG9uc2UucmVkaXJlY3QocmVkaXJlY3RfdG8pKTsKKyAg
ICByZXR1cm47CisgIH0KKworICAvLyAoMikgQWZ0ZXIgcmVkaXJlY3QsIHRoZSByZXF1ZXN0IGlz
IGZvciBhICJ3ZWJ3b3JrZXIucHkiIFVSTC4KKyAgLy8gQWRkIGEgc2VhcmNoIHBhcmFtZXRlciB0
byBpbmRpY2F0ZSB0aGlzIHNlcnZpY2Ugd29ya2VyIGhhbmRsZWQgdGhlCisgIC8vIGZpbmFsIHJl
cXVlc3QgZm9yIHRoZSB3b3JrZXIuCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5kZXhPZignd2Vi
d29ya2VyLnB5JykgIT0gLTEpIHsKKyAgICBjb25zdCBncmVldGluZyA9IGVuY29kZVVSSUNvbXBv
bmVudChgJHtuYW1lfSBzYXcgdGhlIHJlcXVlc3QgZm9yIHRoZSB3b3JrZXIgc2NyaXB0YCk7Cisg
ICAgZXZ0LnJlc3BvbmRXaXRoKGZldGNoKGB3b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dl
Yndvcmtlci5weT9ncmVldGluZz0ke2dyZWV0aW5nfWApKTsKKyAgICByZXR1cm47CisgIH0KKwor
ICAvLyAoMykgVGhlIHdvcmtlciBkb2VzIGFuIGltcG9ydFNjcmlwdHMoKSB0byBpbXBvcnQtc2Ny
aXB0cy1lY2hvLnB5LiBJbmRpY2F0ZQorICAvLyB0aGF0IHRoaXMgc2VydmljZSB3b3JrZXIgaGFu
ZGxlZCB0aGUgcmVxdWVzdC4KKyAgaWYgKGV2dC5yZXF1ZXN0LnVybC5pbmRleE9mKCdpbXBvcnQt
c2NyaXB0cy1lY2hvLnB5JykgIT0gLTEpIHsKKyAgICBjb25zdCBtc2cgPSBlbmNvZGVVUklDb21w
b25lbnQoYCR7bmFtZX0gc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyYCk7CisgICAg
ZXZ0LnJlc3BvbmRXaXRoKGZldGNoKGBpbXBvcnQtc2NyaXB0cy1lY2hvLnB5P21zZz0ke21zZ31g
KSk7CisgICAgcmV0dXJuOworICB9CisKKyAgLy8gKDQpIFRoZSB3b3JrZXIgZG9lcyBhIGZldGNo
KCkgdG8gc2ltcGxlLnR4dC4gSW5kaWNhdGUgdGhhdCB0aGlzIHNlcnZpY2UKKyAgLy8gd29ya2Vy
IGhhbmRsZWQgdGhlIHJlcXVlc3QuCisgIGlmIChldnQucmVxdWVzdC51cmwuaW5kZXhPZignc2lt
cGxlLnR4dCcpICE9IC0xKSB7CisgICAgZXZ0LnJlc3BvbmRXaXRoKG5ldyBSZXNwb25zZShgJHtu
YW1lfSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcmApKTsKKyAgICByZXR1cm47CisgIH0K
K30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci1pbnRl
cmNlcHRpb24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZjODM0Nzc3NjRmZjRjZDZkYzc5Y2Q0NTlhYTk5OWM5YTM4YTE1MWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLWludGVyY2VwdGlvbi1yZWRp
cmVjdC13ZWJ3b3JrZXIuanMKQEAgLTAsMCArMSw0NCBAQAorLy8gVGhpcyBpcyB0aGUgKHNoYXJl
ZCBvciBkZWRpY2F0ZWQpIHdvcmtlciBmaWxlIGZvciB0aGUKKy8vIHdvcmtlci1pbnRlcmNlcHRp
b24tcmVkaXJlY3QgdGVzdC4gSXQgc2hvdWxkIGJlIHNlcnZlZCBieSB0aGUgY29ycmVzcG9uZGlu
ZworLy8gLnB5IGZpbGUgaW5zdGVhZCBvZiBiZWluZyBzZXJ2ZWQgZGlyZWN0bHkuCisvLworLy8g
VGhpcyBmaWxlIGlzIHNlcnZlZCBmcm9tIGJvdGggcmVzb3VyY2VzLyp3ZWJ3b3JrZXIucHkgYW5k
CisvLyByZXNvdXJjZXMvc2NvcGUyLyp3ZWJ3b3JrZXIucHksIGhlbmNlIHNvbWUgb2YgdGhlIGNv
bXBsZXhpdHkKKy8vIGJlbG93IGFib3V0IHBhdGhzLgorY29uc3QgcmVzb3VyY2VzX3VybCA9IG5l
dyBVUkwoIi9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzLyIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvY2F0aW9uKTsKKworLy8gVGhpcyBncmVl
dGluZyB0ZXh0IGlzIG1lYW50IHRvIGJlIGluamVjdGVkIGJ5IHRoZSBQeXRob24gc2NyaXB0IHRo
YXQgc2VydmVzCisvLyB0aGlzIGZpbGUsIHRvIGluZGljYXRlIGhvdyB0aGUgc2NyaXB0IHdhcyBz
ZXJ2ZWQgKGZyb20gbmV0d29yayBvciBmcm9tCisvLyBzZXJ2aWNlIHdvcmtlcikuCisvLworLy8g
V2UgY2FuJ3QganVzdCB1c2UgYSBzdWIgcGlwZSBhbmQgbmFtZSB0aGlzIGZpbGUgLnN1Yi5qcyBz
aW5jZSB3ZSB3YW50CisvLyB0byBzZXJ2ZSB0aGUgZmlsZSBmcm9tIG11bHRpcGxlIFVSTHMgKHNl
ZSBhYm92ZSkuCitsZXQgZ3JlZXRpbmcgPSAnJUdSRUVUSU5HX1RFWFQlJzsKK2lmICghZ3JlZXRp
bmcpCisgIGdyZWV0aW5nID0gJ3RoZSBzaGFyZWQgd29ya2VyIHNjcmlwdCB3YXMgc2VydmVkIGZy
b20gbmV0d29yayc7CisKKy8vIENhbGwgaW1wb3J0U2NyaXB0cygpIHdoaWNoIGZpbGxzIHxlY2hv
X291dHB1dHwgd2l0aCBhIHN0cmluZyBpbmRpY2F0aW5nCisvLyB3aGV0aGVyIGEgc2VydmljZSB3
b3JrZXIgaW50ZXJjZXB0ZWQgdGhlIGltcG9ydFNjcmlwdHMoKSByZXF1ZXN0LgorbGV0IGVjaG9f
b3V0cHV0OworY29uc3QgaW1wb3J0X3NjcmlwdHNfbXNnID0gZW5jb2RlVVJJQ29tcG9uZW50KAor
ICAgICdpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3JrJyk7Citjb25zdCBpbXBvcnRf
c2NyaXB0c191cmwgPQorICAgIG5ldyBVUkwoYGltcG9ydC1zY3JpcHRzLWVjaG8ucHk/bXNnPSR7
aW1wb3J0X3NjcmlwdHNfbXNnfWAsIHJlc291cmNlc191cmwpOworaW1wb3J0U2NyaXB0cyhpbXBv
cnRfc2NyaXB0c191cmwpOworY29uc3QgaW1wb3J0X3NjcmlwdHNfZ3JlZXRpbmcgPSBlY2hvX291
dHB1dDsKKworc2VsZi5vbmNvbm5lY3QgPSBhc3luYyBmdW5jdGlvbihlKSB7CisgIGNvbnN0IHBv
cnQgPSBlLnBvcnRzWzBdOworICBwb3J0LnN0YXJ0KCk7CisgIHBvcnQucG9zdE1lc3NhZ2UoZ3Jl
ZXRpbmcpOworCisgIHBvcnQucG9zdE1lc3NhZ2UoaW1wb3J0X3NjcmlwdHNfZ3JlZXRpbmcpOwor
CisgIGNvbnN0IGZldGNoX3VybCA9IG5ldyBVUkwoJ3NpbXBsZS50eHQnLCByZXNvdXJjZXNfdXJs
KTsKKyAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmZXRjaF91cmwpOworICBjb25zdCB0
ZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpOworICBwb3J0LnBvc3RNZXNzYWdlKCdmZXRjaCgp
OiAnICsgdGV4dCk7CisKKyAgcG9ydC5wb3N0TWVzc2FnZShzZWxmLmxvY2F0aW9uLmhyZWYpOwor
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItdGVzdGhh
cm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyLXRlc3RoYXJuZXNz
LmpzCmluZGV4IGZkZjU4NjhlMzNlMmZlMzUzNDQ4MThlYzNmMWEyZTA2OGI5MDk5NmQuLjczZTk3
YmUxZWFhNDRiYmU5NmY4ODAxZTBjNzZjMzc3NzJhYzdkMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy93b3JrZXItdGVzdGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlci10ZXN0aGFybmVzcy5qcwpAQCAtMjAsNyArMjAsNyBA
QCBpbXBvcnRTY3JpcHRzKCcvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJyk7CiAgICAgdmFyIGNh
Y2hlX25hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lICsgJy8nICsgdW5pcXVpZmllcjsKIAog
ICAgIHRlc3QuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgIHNlbGYuY2FjaGVzLmRl
bGV0ZShjYWNoZV9uYW1lKTsKKyAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmRlbGV0ZShjYWNo
ZV9uYW1lKTsKICAgICAgIH0pOwogCiAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmRlbGV0ZShjYWNo
ZV9uYW1lKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3dvcmtlcl9p
bnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUzODhlNDYxNDQ4ZjY0ZDM3ZDc0N2IyNjgzMGY0ZTg2OWEyYzY1MjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvd29ya2VyX2ludGVyY2VwdGlvbl9y
ZWRpcmVjdF93ZWJ3b3JrZXIucHkKQEAgLTAsMCArMSwxOSBAQAorIyBUaGlzIHNlcnZlcyB0aGUg
d29ya2VyIEphdmFTY3JpcHQgZmlsZS4gSXQgdGFrZXMgYSB8Z3JlZXRpbmd8IHJlcXVlc3QKKyMg
cGFyYW1ldGVyIHRvIGluamVjdCBpbnRvIHRoZSBKYXZhU2NyaXB0IHRvIGluZGljYXRlIGhvdyB0
aGUgcmVxdWVzdAorIyByZWFjaGVkIHRoZSBzZXJ2ZXIuCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMK
KworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICBwYXRoID0gb3MucGF0aC5qb2luKG9z
LnBhdGguZGlybmFtZShfX2ZpbGVfXyksCisgICAgICAgICAgICAgICAgICAgICAgIndvcmtlci1p
bnRlcmNlcHRpb24tcmVkaXJlY3Qtd2Vid29ya2VyLmpzIikKKyAgYm9keSA9IG9wZW4ocGF0aCwg
InJiIikucmVhZCgpCisgIGlmICJncmVldGluZyIgaW4gcmVxdWVzdC5HRVQ6CisgICAgYm9keSA9
IGJvZHkucmVwbGFjZSgiJUdSRUVUSU5HX1RFWFQlIiwgcmVxdWVzdC5HRVRbImdyZWV0aW5nIl0p
CisgIGVsc2U6CisgICAgYm9keSA9IGJvZHkucmVwbGFjZSgiJUdSRUVUSU5HX1RFWFQlIiwgIiIp
CisKKyAgaGVhZGVycyA9IFtdCisgIGhlYWRlcnMuYXBwZW5kKCgiQ29udGVudC1UeXBlIiwgInRl
eHQvamF2YXNjcmlwdCIpKQorCisgIHJldHVybiBoZWFkZXJzLCBib2R5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9zYW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9zYW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50Lmh0dHBzLmh0
bWwKaW5kZXggOGIzNjFiZDI1ZGY3Y2MwZTA1MDYyZDg4ZTgxNDJlNTQ4NzBmZjM0My4uZTA4Yjcx
NjQ1MzI1Y2Q4ZmU5NGYxMDAxYmM3NzhlZDMyNTU3MWE5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC5odHRwcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3NhbmRib3hlZC1pZnJhbWUtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbApA
QCAtNywyMTAgKzcsNTI5IEBACiA8c2NyaXB0PgogdmFyIGxhc3RDYWxsYmFja0lkID0gMDsKIHZh
ciBjYWxsYmFja3MgPSB7fTsKLWZ1bmN0aW9uIHBvc3RNZXNzYWdlQW5kV2FpdFJlc3VsdChmcmFt
ZSkgeworZnVuY3Rpb24gZG9UZXN0KGZyYW1lLCB0eXBlKSB7CiAgIHJldHVybiBuZXcgUHJvbWlz
ZShmdW5jdGlvbihyZXNvbHZlKSB7CiAgICAgdmFyIGlkID0gKytsYXN0Q2FsbGJhY2tJZDsKICAg
ICBjYWxsYmFja3NbaWRdID0gcmVzb2x2ZTsKLSAgICBmcmFtZS5jb250ZW50V2luZG93LnBvc3RN
ZXNzYWdlKHtpZDppZH0sICcqJyk7CisgICAgZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2Fn
ZSh7aWQ6IGlkLCB0eXBlOiB0eXBlfSwgJyonKTsKKyAgfSk7Cit9CisKKy8vIEFza3MgdGhlIHNl
cnZpY2Ugd29ya2VyIGZvciBkYXRhIGFib3V0IHJlcXVlc3RzIGFuZCBjbGllbnRzIHNlZW4uIFRo
ZQorLy8gd29ya2VyIHBvc3RzIGEgbWVzc2FnZSBiYWNrIHdpdGggfGRhdGF8IHdoZXJlOgorLy8g
fGRhdGEucmVxdWVzdHN8OiB0aGUgcmVxdWVzdHMgdGhlIHdvcmtlciByZWNlaXZlZCBGZXRjaEV2
ZW50cyBmb3IKKy8vIHxkYXRhLmNsaWVudHN8OiB0aGUgVVJMcyBvZiBhbGwgdGhlIHdvcmtlcidz
IGNsaWVudHMKKy8vIFRoZSB3b3JrZXIgY2xlYXJzIGl0cyBkYXRhIGFmdGVyIHJlc3BvbmRpbmcu
CitmdW5jdGlvbiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpIHsKKyAgcmV0dXJuIG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgIGxldCBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVs
KCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBtc2cgPT4geworICAgICAgcmVzb2x2
ZShtc2cuZGF0YSk7CisgICAgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5u
ZWwucG9ydDJ9LCBbY2hhbm5lbC5wb3J0Ml0pOwogICB9KTsKIH0KIAogd2luZG93Lm9ubWVzc2Fn
ZSA9IGZ1bmN0aW9uIChlKSB7CiAgIG1lc3NhZ2UgPSBlLmRhdGE7CiAgIHZhciBpZCA9IG1lc3Nh
Z2VbJ2lkJ107Ci0gIHZhciBjYWxiYWNrID0gY2FsbGJhY2tzW2lkXTsKKyAgdmFyIGNhbGxiYWNr
ID0gY2FsbGJhY2tzW2lkXTsKICAgZGVsZXRlIGNhbGxiYWNrc1tpZF07Ci0gIGNhbGJhY2sobWVz
c2FnZVsncmVzdWx0J10pOworICBjYWxsYmFjayhtZXNzYWdlWydyZXN1bHQnXSk7CiB9OwogCi1w
cm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBTQ09QRSA9ICdyZXNvdXJjZXMvc2Fu
ZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC1pZnJhbWUuaHRtbCc7Ci0gICAgdmFyIFNDUklQVCA9
ICdyZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanMnOwotICAg
IHZhciBmcmFtZXMgPSBbXTsKLSAgICB2YXIgd29ya2VyOwotICAgIHJldHVybiBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFNDT1BFKQotICAgICAgLnRo
ZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmc7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lz
dHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhl
bihmdW5jdGlvbigpIHsKLSAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoU0NPUEUgKyAnP2lm
cmFtZScpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAg
ICAgICBmcmFtZXMucHVzaChmcmFtZSk7Ci0gICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlQW5k
V2FpdFJlc3VsdChmcmFtZSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihyZXN1
bHQpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKLSAgICAgICAg
ICByZXR1cm4gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKFNDT1BFICsgJz9zY3JpcHQnLCAnYWxsb3ct
c2NyaXB0cycpOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAg
ICAgICAgICBmcmFtZXMucHVzaChmcmFtZSk7Ci0gICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdl
QW5kV2FpdFJlc3VsdChmcmFtZSk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihy
ZXN1bHQpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKLSAgICAg
ICAgICByZXR1cm4gd2l0aF9zYW5kYm94ZWRfaWZyYW1lKFNDT1BFICsgJz9zY3JpcHQtb3JpZ2lu
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbGxvdy1zY3JpcHRz
IGFsbG93LXNhbWUtb3JpZ2luJyk7Ci0gICAgICAgIH0pCi0gICAgICAudGhlbihmdW5jdGlvbihm
cmFtZSkgewotICAgICAgICAgIGZyYW1lcy5wdXNoKGZyYW1lKTsKLSAgICAgICAgICByZXR1cm4g
cG9zdE1lc3NhZ2VBbmRXYWl0UmVzdWx0KGZyYW1lKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVu
KGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9u
ZScpOwotICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7Ci0g
ICAgICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gICAgICAg
ICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24obXNnKSB7Ci0gICAgICAg
ICAgICAgICAgICByZXNvbHZlKG1zZyk7Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAg
ICAgd29ya2VyLnBvc3RNZXNzYWdlKHtwb3J0OiBjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9y
dDJdKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KQotICAgICAgLnRoZW4oZnVuY3Rpb24o
bXNnKSB7Ci0gICAgICAgICAgZm9yICh2YXIgZnJhbWUgb2YgZnJhbWVzKSB7Ci0gICAgICAgICAg
ICBmcmFtZS5yZW1vdmUoKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgdmFyIGV4cGVjdGVkX2Jh
c2VfdXJsID0gbmV3IFVSTChTQ09QRSwgbG9jYXRpb24uaHJlZikuaHJlZjsKLSAgICAgICAgICB2
YXIgcmVxdWVzdF9zZXQgPSB7fTsKLSAgICAgICAgICBmb3IgKHZhciByZXF1ZXN0IG9mIG1zZy5k
YXRhLnJlcXVlc3RzKSB7Ci0gICAgICAgICAgICByZXF1ZXN0X3NldFtyZXF1ZXN0XSA9IHRydWU7
Ci0gICAgICAgICAgfQotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICBleHBl
Y3RlZF9iYXNlX3VybCArICc/aWZyYW1lJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAg
J1RoZSByZXF1ZXN0IGZvciBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicp
OwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3Vy
bCArICc/aWZyYW1lX2ZldGNoJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBm
ZXRjaCByZXF1ZXN0IGZyb20gbm9ybWFsIGlmcmFtZSBzaG91bGQgYmUgaGFuZGxlZCBieSBTVy4n
KTsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91
cmwgKyAnP2lmcmFtZV93b3JrZXJmZXRjaCcgaW4gcmVxdWVzdF9zZXQsCi0gICAgICAgICAgICAg
ICdUaGUgZmV0Y2ggcmVxdWVzdCBmcm9tIHdvcmtlciBpbiBub3JtYWwgaWZyYW1lIHNob3VsZCBi
ZSAnICsKLSAgICAgICAgICAgICAgJ2hhbmRsZWQgYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0
X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9pZnJhbWVfaWZyYW1l
JyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBub3JtYWwg
aWZyYW1lIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSAnICsKLSAgICAgICAgICAgICAg
J2hhbmRsZWQgYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNlKAotICAgICAgICAgICAg
ICBleHBlY3RlZF9iYXNlX3VybCArICc/aWZyYW1lX3NjcmlwdCcgaW4gcmVxdWVzdF9zZXQsCi0g
ICAgICAgICAgICAgICdUaGUgcmVxdWVzdCBmb3Igc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93
LXNjcmlwdHMgZmxhZyAnICsKLSAgICAgICAgICAgICAgJ2luc2lkZSBub3JtYWwgaWZyYW1lIHNo
b3VsZCBub3QgYmUgaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAg
ICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP2lmcmFtZV9zY3JpcHQtb3JpZ2luJyBp
biByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBzYW5kYm94ZWQg
aWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBhbmQgJyArCi0gICAgICAgICAgICAgICdhbGxvdy1z
YW1lLW9yaWdpbiBmbGFnIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBoYW5kbGVkICcg
KwotICAgICAgICAgICAgICAnYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNlKAotICAg
ICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0JyBpbiByZXF1ZXN0X3NldCwK
LSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxs
b3ctc2NyaXB0cyBmbGFnICcgKwotICAgICAgICAgICAgICAnc2hvdWxkIG5vdCBiZSBoYW5kbGVk
IGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAgICAgICAgICAgICAgZXhwZWN0
ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9mZXRjaCcgaW4gcmVxdWVzdF9zZXQsCi0gICAgICAgICAg
ICAgICdUaGUgZmV0Y2ggcmVxdWVzdCBmcm9tIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1z
Y3JpcHRzICcgKwotICAgICAgICAgICAgICAnZmxhZyBzaG91bGQgbm90IGJlIGhhbmRsZWQgYnkg
U1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X2ZhbHNlKAotICAgICAgICAgICAgICBleHBlY3RlZF9i
YXNlX3VybCArICc/c2NyaXB0X3dvcmtlcmZldGNoJyBpbiByZXF1ZXN0X3NldCwKLSAgICAgICAg
ICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0IGZyb20gd29ya2VyIGZyb20gc2FuZGJveGVkIGlmcmFt
ZSB3aXRoICcgKwotICAgICAgICAgICAgICAnYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3Qg
YmUgaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfZmFsc2UoCi0gICAgICAgICAg
ICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zY3JpcHRfaWZyYW1lJyBpbiByZXF1ZXN0X3NldCwK
LSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBub3JtYWwgaWZyYW1lIGluc2lkZSBzYW5k
Ym94ZWQgaWZyYW1lIHdpdGggJyArCi0gICAgICAgICAgICAgICdhbGxvdy1zY3JpcHRzIGZsYWcg
c2hvdWxkIG5vdCBiZSBoYW5kbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgK
LSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9zY3JpcHQnIGluIHJl
cXVlc3Rfc2V0LAotICAgICAgICAgICAgICAnVGhlIHJlcXVlc3QgZm9yIHNhbmRib3hlZCBpZnJh
bWUgd2l0aCBhbGxvdy1zY3JpcHRzIGZsYWcgJyArCi0gICAgICAgICAgICAgICdpbnNpZGUgc2Fu
ZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgZmxhZyBzaG91bGQgbm90IGJlICcgKwot
ICAgICAgICAgICAgICAnaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfZmFsc2Uo
Ci0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zY3JpcHRfc2NyaXB0LW9yaWdp
bicgaW4gcmVxdWVzdF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgcmVxdWVzdCBmb3Igc2FuZGJv
eGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKwotICAgICAgICAgICAgICAnYWxs
b3ctc2FtZS1vcmlnaW4gZmxhZyBpbnNpZGUgc2FuZGJveGVkIGlmcmFtZSB3aXRoICcgKwotICAg
ICAgICAgICAgICAnYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgaGFuZGxlZCBieSBT
Vy4nKTsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFz
ZV91cmwgKyAnP3NjcmlwdC1vcmlnaW4nIGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAgICAgICAn
VGhlIHJlcXVlc3QgZm9yIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAn
ICsKLSAgICAgICAgICAgICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZsYWcgc2hvdWxkIGJlIGhhbmRs
ZWQgYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVj
dGVkX2Jhc2VfdXJsICsgJz9zY3JpcHQtb3JpZ2luX2ZldGNoJyBpbiByZXF1ZXN0X3NldCwKLSAg
ICAgICAgICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0IGZyb20gc2FuZGJveGVkIGlmcmFtZSB3aXRo
IGFsbG93LXNjcmlwdHMgJyArCi0gICAgICAgICAgICAgICdhbmQgYWxsb3ctc2FtZS1vcmlnaW4g
ZmxhZyBzaG91bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfdHJ1ZSgK
LSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdC1vcmlnaW5fd29ya2Vy
ZmV0Y2gnIGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVlc3Qg
ZnJvbSB3b3JrZXIgaW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoICcgKwotICAgICAgICAgICAgICAn
YWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgaGFuZGxl
ZCAnICsKLSAgICAgICAgICAgICAgJ2J5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAot
ICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0LW9yaWdpbl9pZnJhbWUn
IGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAgICAgICAnVGhlIHJlcXVlc3QgZm9yIG5vcm1hbCBp
ZnJhbWUgaW5zaWRlIHNhbmRib3hlZCBpZnJhbWUgd2l0aCAnICsKLSAgICAgICAgICAgICAgJ2Fs
bG93LXNjcmlwdHMgYW5kIGFsbG93LXNhbWUtb3JpZ2luIGZsYWcgc2hvdWxkIGJlIGhhbmRsZWQg
YnknICsKLSAgICAgICAgICAgICAgJ1NXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAg
ICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdC1vcmlnaW5fc2NyaXB0JyBp
biByZXF1ZXN0X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IGZvciBzYW5kYm94ZWQg
aWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnICcgKwotICAgICAgICAgICAgICAnaW5zaWRl
IHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKLSAgICAgICAgICAg
ICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZsYWcgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7Ci0g
ICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsg
Jz9zY3JpcHQtb3JpZ2luX3NjcmlwdC1vcmlnaW4nIGluIHJlcXVlc3Rfc2V0LAotICAgICAgICAg
ICAgICAnVGhlIHJlcXVlc3QgZm9yIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRz
IGFuZCcgKwotICAgICAgICAgICAgICAnYWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBpbnNpZGUgc2Fu
ZGJveGVkIGlmcmFtZSB3aXRoICcgKwotICAgICAgICAgICAgICAnYWxsb3ctc2NyaXB0cyBhbmQg
YWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgaGFuZGxlZCBieScgKwotICAgICAgICAg
ICAgICAnU1cuJyk7Ci0KLSAgICAgICAgICB2YXIgY2xpZW50X3NldCA9IHt9OwotICAgICAgICAg
IGZvciAodmFyIGNsaWVudCBvZiBtc2cuZGF0YS5jbGllbnRzKSB7Ci0gICAgICAgICAgICBjbGll
bnRfc2V0W2NsaWVudF0gPSB0cnVlOwotICAgICAgICAgIH0KLSAgICAgICAgICBhc3NlcnRfdHJ1
ZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP2lmcmFtZScgaW4gY2xpZW50
X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBjb250cm9s
bGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAgICAgICAgICBleHBl
Y3RlZF9iYXNlX3VybCArICc/aWZyYW1lX2lmcmFtZScgaW4gY2xpZW50X3NldCwKLSAgICAgICAg
ICAgICAgJ1RoZSBub3JtYWwgaWZyYW1lIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBj
b250cm9sbGVkICcgKwotICAgICAgICAgICAgICAnYnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0
X2ZhbHNlKAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/aWZyYW1lX3Njcmlw
dCcgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBzYW5kYm94ZWQgaWZyYW1lIHdp
dGggYWxsb3ctc2NyaXB0cyBmbGFnIGluc2lkZSBub3JtYWwgJyArCi0gICAgICAgICAgICAgICdp
ZnJhbWUgc2hvdWxkIG5vdCBiZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2Vy
dF90cnVlKAotICAgICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/aWZyYW1lX3Njcmlw
dC1vcmlnaW4nIGluIGNsaWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgc2FuZGJveGVkIGlm
cmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kIGFsbG93LXNhbWUtb3JpZ2luJyArCi0gICAgICAg
ICAgICAgICdmbGFnIGluc2lkZSBub3JtYWwgaWZyYW1lIHNob3VsZCBiZSBjb250cm9sbGVkIGJ5
IFNXLicpOwotICAgICAgICAgIGFzc2VydF9mYWxzZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRf
YmFzZV91cmwgKyAnP3NjcmlwdCcgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBz
YW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgJyAr
Ci0gICAgICAgICAgICAgICdjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9m
YWxzZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9pZnJhbWUn
IGluIGNsaWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgbm9ybWFsIGlmcmFtZSBpbnNpZGUg
c2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMnICsKLSAgICAgICAgICAgICAgJ2Zs
YWcgc2hvdWxkIG5vdCBiZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF9m
YWxzZSgKLSAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NjcmlwdF9zY3JpcHQn
IGluIGNsaWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgc2FuZGJveGVkIGlmcmFtZSB3aXRo
IGFsbG93LXNjcmlwdHMgZmxhZyBpbnNpZGUgc2FuZGJveGVkICcgKwotICAgICAgICAgICAgICAn
aWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCBub3QgYmUgY29udHJvbGxlZCBi
eSBTVy4nKTsKLSAgICAgICAgICBhc3NlcnRfZmFsc2UoCi0gICAgICAgICAgICAgIGV4cGVjdGVk
X2Jhc2VfdXJsICsgJz9zY3JpcHRfc2NyaXB0LW9yaWdpbicgaW4gY2xpZW50X3NldCwKLSAgICAg
ICAgICAgICAgJ1RoZSBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBhbmQgYWxs
b3ctc2FtZS1vcmlnaW4gJyArCi0gICAgICAgICAgICAgICdmbGFnIGluc2lkZSBzYW5kYm94ZWQg
aWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIHNob3VsZCAnICsKLSAgICAgICAgICAgICAg
J25vdCBiZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAg
ICAgICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0LW9yaWdpbicgaW4gY2xpZW50
X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2Ny
aXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gJyArCi0gICAgICAgICAgICAgICdmbGFnIHNob3Vs
ZCBiZSBjb250cm9sbGVkIGJ5IFNXLicpOwotICAgICAgICAgIGFzc2VydF90cnVlKAotICAgICAg
ICAgICAgICBleHBlY3RlZF9iYXNlX3VybCArICc/c2NyaXB0LW9yaWdpbl9pZnJhbWUnIGluIGNs
aWVudF9zZXQsCi0gICAgICAgICAgICAgICdUaGUgbm9ybWFsIGlmcmFtZSBpbnNpZGUgc2FuZGJv
eGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgJyArCi0gICAgICAgICAgICAgICdhbmQgYWxs
b3ctc2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBTVy4nKTsKLSAgICAg
ICAgICBhc3NlcnRfZmFsc2UoCi0gICAgICAgICAgICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9z
Y3JpcHQtb3JpZ2luX3NjcmlwdCcgaW4gY2xpZW50X3NldCwKLSAgICAgICAgICAgICAgJ1RoZSBz
YW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIGluc2lkZSBzYW5kYm94ZWQg
JyArCi0gICAgICAgICAgICAgICdpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1z
YW1lLW9yaWdpbiBmbGFnIHNob3VsZCAnICsKLSAgICAgICAgICAgICAgJ2JlIGNvbnRyb2xsZWQg
YnkgU1cuJyk7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUoCi0gICAgICAgICAgICAgIGV4cGVjdGVk
X2Jhc2VfdXJsICsgJz9zY3JpcHQtb3JpZ2luX3NjcmlwdC1vcmlnaW4nIGluIGNsaWVudF9zZXQs
Ci0gICAgICAgICAgICAgICdUaGUgc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMg
YW5kIGFsbG93LXNhbWUtb3JpZ2luICcgKwotICAgICAgICAgICAgICAnZmxhZyBpbnNpZGUgc2Fu
ZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKwotICAgICAgICAgICAgICAn
YWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBTVy4nKTsKLSAg
ICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfZG9uZSh0LCBTQ09Q
RSk7Ci0gICAgICAgIH0pOwotICB9LCAnU2VydmljZVdvcmtlciBGZXRjaEV2ZW50IGZvciBzYW5k
Ym94ZWQgaWZyYW1lLicpOworY29uc3QgU0NPUEUgPSAncmVzb3VyY2VzL3NhbmRib3hlZC1pZnJh
bWUtZmV0Y2gtZXZlbnQtaWZyYW1lLnB5JzsKK2NvbnN0IFNDUklQVCA9ICdyZXNvdXJjZXMvc2Fu
ZGJveGVkLWlmcmFtZS1mZXRjaC1ldmVudC13b3JrZXIuanMnOworY29uc3QgZXhwZWN0ZWRfYmFz
ZV91cmwgPSBuZXcgVVJMKFNDT1BFLCBsb2NhdGlvbi5ocmVmKTsKKy8vIFNlcnZpY2Ugd29ya2Vy
IGNvbnRyb2xsaW5nIHxTQ09QRXwuCitsZXQgd29ya2VyOworLy8gQSBub3JtYWwgaWZyYW1lLgor
Ly8gVGhpcyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgorbGV0IG5v
cm1hbF9mcmFtZTsKKy8vIEFuIGlmcmFtZSBjcmVhdGVkIGJ5IDxpZnJhbWUgc2FuZGJveD0nYWxs
b3ctc2NyaXB0cyc+LgorLy8gVGhpcyBzaG91bGQgTk9UIGJlIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4KK2xldCBzYW5kYm94ZWRfZnJhbWU7CisvLyBBbiBpZnJhbWUgY3JlYXRlZCBi
eSA8aWZyYW1lIHNhbmRib3g9J2FsbG93LXNjcmlwdHMgYWxsb3ctc2FtZS1vcmlnaW4nPi4KKy8v
IFRoaXMgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KK2xldCBzYW5k
Ym94ZWRfc2FtZV9vcmlnaW5fZnJhbWU7CisvLyBBbiBpZnJhbWUgd2hvc2UgcmVzcG9uc2UgaGVh
ZGVyIGhhcworLy8gJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5OiBhbGxvdy1zY3JpcHRzJy4KKy8v
IFRoaXMgc2hvdWxkIE5PVCBiZSBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCitsZXQg
c2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlcjsKKy8vIEFuIGlmcmFtZSB3aG9zZSByZXNwb25zZSBo
ZWFkZXIgaGFzCisvLyAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGFsbG93LXNjcmlwdHMgYWxs
b3ctc2FtZS1vcmlnaW4nLgorLy8gVGhpcyBzaG91bGQgYmUgY29udHJvbGxlZCBieSBhIHNlcnZp
Y2Ugd29ya2VyLgorbGV0IHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFtZV9ieV9oZWFkZXI7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX3JlZ2lzdGVyKHQsIFNDUklQVCwgU0NPUEUpCisgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0
cmF0aW9uKSB7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiByZWdpc3RyYXRp
b24udW5yZWdpc3RlcigpKTsKKyAgICAgIHdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5n
OworICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5n
LCAnYWN0aXZhdGVkJyk7CisgICAgfSk7Cit9LCAnUHJlcGFyZSBhIHNlcnZpY2Ugd29ya2VyLicp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiB3aXRoX2lmcmFtZShTQ09QRSArICc/
aWZyYW1lJykKKyAgICAudGhlbihmID0+IHsKKyAgICAgIG5vcm1hbF9mcmFtZSA9IGY7CisgICAg
ICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVy
biBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9
PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1sw
XSwgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP2lmcmFtZScpOworICAgICAgYXNzZXJ0X3RydWUoZGF0
YS5jbGllbnRzLmluY2x1ZGVzKGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9pZnJhbWUnKSk7CisgICAg
fSk7Cit9LCAnUHJlcGFyZSBhIG5vcm1hbCBpZnJhbWUuJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgcmV0dXJuIHdpdGhfc2FuZGJveGVkX2lmcmFtZShTQ09QRSArICc/c2FuZGJveGVkLWlm
cmFtZScsICdhbGxvdy1zY3JpcHRzJykKKyAgICAudGhlbihmID0+IHsKKyAgICAgIHNhbmRib3hl
ZF9mcmFtZSA9IGY7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92
ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0p
CisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMu
bGVuZ3RoLCAwKTsKKyAgICAgIGFzc2VydF9mYWxzZShkYXRhLmNsaWVudHMuaW5jbHVkZXMoZXhw
ZWN0ZWRfYmFzZV91cmwgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnP3NhbmRib3hlZC1pZnJhbWUnKSk7CisgICAgfSk7Cit9LCAnUHJlcGFyZSBhbiBpZnJhbWUg
c2FuZGJveGVkIGJ5IDxpZnJhbWUgc2FuZGJveD0iYWxsb3ctc2NyaXB0cyI+LicpOworCitwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiB3aXRoX3NhbmRib3hlZF9pZnJhbWUoU0NPUEUgKyAn
P3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luJykKKyAgICAudGhlbihmID0+
IHsKKyAgICAgIHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFtZSA9IGY7CisgICAgICBhZGRfY29t
cGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1
bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAg
ICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1
ZXN0cy5sZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwKKyAgICAg
ICAgICAgICAgICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NhbmRib3hlZC1pZnJhbWUtc2Ft
ZS1vcmlnaW4nKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50cy5pbmNsdWRlcygKKyAg
ICAgICAgZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4n
KSk7CisgICAgfSkKK30sICdQcmVwYXJlIGFuIGlmcmFtZSBzYW5kYm94ZWQgYnkgJyArCisgICAn
PGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIGFsbG93LXNhbWUtb3JpZ2luIj4uJyk7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgaWZyYW1lX2Z1bGxfdXJsID0gZXhwZWN0ZWRf
YmFzZV91cmwgKyAnP3NhbmRib3g9YWxsb3ctc2NyaXB0cyYnICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3NhbmRib3hlZC1mcmFtZS1ieS1oZWFkZXInOworICByZXR1cm4gd2l0aF9pZnJh
bWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4geworICAgICAgc2FuZGJveGVkX2Zy
YW1lX2J5X2hlYWRlciA9IGY7CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBm
LnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOwor
ICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJl
cXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEsCisgICAgICAg
ICAgICAgICAgICAgICdTZXJ2aWNlIHdvcmtlciBzaG91bGQgcHJvdmlkZSB0aGUgcmVzcG9uc2Un
KTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHNbMF0sIGlmcmFtZV9mdWxsX3VybCk7Cisg
ICAgICBhc3NlcnRfZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVzKGlmcmFtZV9mdWxsX3VybCks
CisgICAgICAgICAgICAgICAgICAgJ1NlcnZpY2Ugd29ya2VyIHNob3VsZCBOT1QgY29udHJvbCB0
aGUgc2FuZGJveGVkIHBhZ2UnKTsKKyAgICB9KTsKK30sICdQcmVwYXJlIGFuIGlmcmFtZSBzYW5k
Ym94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGggYWxsb3ctc2NyaXB0cy4nKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICBjb25zdCBpZnJhbWVfZnVsbF91cmwgPQorICAgIGV4cGVjdGVkX2Jh
c2VfdXJsICsgJz9zYW5kYm94PWFsbG93LXNjcmlwdHMlMjBhbGxvdy1zYW1lLW9yaWdpbiYnICsK
KyAgICAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbi1ieS1oZWFkZXInOworICByZXR1cm4g
d2l0aF9pZnJhbWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4geworICAgICAgc2Fu
ZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lX2J5X2hlYWRlciA9IGY7CisgICAgICBhZGRfY29tcGxl
dGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRz
RnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBs
ZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0
cy5sZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwgaWZyYW1lX2Z1
bGxfdXJsKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50cy5pbmNsdWRlcyhpZnJhbWVf
ZnVsbF91cmwpKTsKKyAgICB9KQorfSwgJ1ByZXBhcmUgYW4gaWZyYW1lIHNhbmRib3hlZCBieSBD
U1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKKyAgICdhbGxvdy1zYW1l
LW9yaWdpbi4nKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUgPSBub3JtYWxf
ZnJhbWU7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdmZXRjaCcpCisgICAgLnRoZW4ocmVzdWx0
ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJu
IGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+
IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAgICBhc3NlcnRfZXF1
YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBmZXRjaCBy
ZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXF1ZXN0c1swXSwgZnJhbWUuc3JjICsgJyZ0ZXN0PWZldGNoJyk7CisgICAgfSk7Cit9LCAnRmV0
Y2ggcmVxdWVzdCBmcm9tIGEgbm9ybWFsIGlmcmFtZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7
CisgIGxldCBmcmFtZSA9IG5vcm1hbF9mcmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2Zl
dGNoLWZyb20td29ya2VyJykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIo
d29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgbGV0IHJlcXVlc3Rz
ID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHMubGVuZ3RoLCAx
LAorICAgICAgICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRs
ZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzWzBdLCBmcmFtZS5zcmMg
KyAnJnRlc3Q9ZmV0Y2gtZnJvbS13b3JrZXInKTsKKyAgICB9KTsKK30sICdGZXRjaCByZXF1ZXN0
IGZyb20gYSB3b3JrZXIgaW4gYSBub3JtYWwgaWZyYW1lJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgbGV0IGZyYW1lID0gbm9ybWFsX2ZyYW1lOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAn
aWZyYW1lJykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1
bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsK
KyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgbGV0IHJlcXVlc3RzID0gZGF0YS5y
ZXF1ZXN0czsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHMubGVuZ3RoLCAxLAorICAgICAg
ICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzWzBdLCBmcmFtZS5zcmMgKyAnJnRlc3Q9aWZyYW1l
Jyk7CisgICAgICBhc3NlcnRfdHJ1ZShkYXRhLmNsaWVudHMuaW5jbHVkZXMoZnJhbWUuc3JjICsg
JyZ0ZXN0PWlmcmFtZScpKTsKKworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIGlmcmFtZSBp
biB0aGUgbm9ybWFsIGlmcmFtZScpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFt
ZSA9IG5vcm1hbF9mcmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ3NhbmRib3hlZC1pZnJh
bWUnKQorICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwg
J2RvbmUnKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAg
IH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVz
dHMubGVuZ3RoLCAwLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5P
VCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5p
bmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUnKSk7
CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93
LXNjcmlwdHMgZmxhZyBpbiB0aGUgbm9ybWFsICcgKworICAgJ2lmcmFtZScpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IG5vcm1hbF9mcmFtZTsKKyAgcmV0dXJuIGRvVGVz
dChmcmFtZSwgJ3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKQorICAgIC50aGVuKHJlc3Vs
dCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJldHVy
biBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9
PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEsCisgICAgICAgICAgICAgICAgICAgICdUaGUgcmVxdWVz
dCBzaG91bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVz
dHNbMF0sCisgICAgICAgICAgICAgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQt
aWZyYW1lLXNhbWUtb3JpZ2luJyk7CisgICAgICBhc3NlcnRfdHJ1ZShkYXRhLmNsaWVudHMuaW5j
bHVkZXMoCisgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1lLXNhbWUt
b3JpZ2luJykpOworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIHNhbmRib3hlZCBpZnJhbWUg
d2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAnICsKKyAgICdhbGxvdy1zYW1lLW9yaWdpbiBmbGFnIGlu
IHRoZSBub3JtYWwgaWZyYW1lJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1l
ID0gc2FuZGJveGVkX2ZyYW1lOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnZmV0Y2gnKQorICAg
IC50aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsK
KyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAg
LnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3Ro
LCAwLAorICAgICAgICAgICAgICAgICAgICAnVGhlIGZldGNoIHJlcXVlc3Qgc2hvdWxkIE5PVCBi
ZSBoYW5kbGVkIGJ5IFNXLicpOworICAgIH0pOworfSwgJ0ZldGNoIHJlcXVlc3QgZnJvbSBpZnJh
bWUgc2FuZGJveGVkIGJ5IGFuIGF0dHJpYnV0ZSB3aXRoIGFsbG93LXNjcmlwdHMgJyArCisgICAn
ZmxhZycpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9m
cmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2ZldGNoLWZyb20td29ya2VyJykKKyAgICAu
dGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7Cisg
ICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50
aGVuKGRhdGEgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnJlcXVlc3RzLmxlbmd0aCwg
MCwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0IHNob3VsZCBOT1QgYmUg
aGFuZGxlZCBieSBTVy4nKTsKKyAgICB9KTsKK30sICdGZXRjaCByZXF1ZXN0IGZyb20gYSB3b3Jr
ZXIgaW4gaWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRyaWJ1dGUgd2l0aCAnICsKKyAgICdhbGxv
dy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUgPSBz
YW5kYm94ZWRfZnJhbWU7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdpZnJhbWUnKQorICAgIC50
aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAg
ICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRo
ZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAw
LAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVk
IGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRlcyhmcmFt
ZS5zcmMgKyAnJnRlc3Q9aWZyYW1lJykpOworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIGlm
cmFtZSBpbiB0aGUgaWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRyaWJ1dGUgd2l0aCAnICsKKyAg
ICdhbGxvdy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgZnJh
bWUgPSBzYW5kYm94ZWRfZnJhbWU7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdzYW5kYm94ZWQt
aWZyYW1lJykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1
bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsK
KyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnJl
cXVlc3RzLmxlbmd0aCwgMCwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IHNob3Vs
ZCBOT1QgYmUgaGFuZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9mYWxzZShkYXRhLmNsaWVu
dHMuaW5jbHVkZXMoCisgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1l
JykpOworICAgIH0pOworfSwgJ1JlcXVlc3QgZm9yIGFuIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBh
bGxvdy1zY3JpcHRzIGZsYWcgaW4gdGhlIGlmcmFtZSAnICsKKyAgICdzYW5kYm94ZWQgYnkgYW4g
YXR0cmlidXRlIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX2ZyYW1lOworICByZXR1cm4gZG9UZXN0KGZyYW1l
LCAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsK
KyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJl
c3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAg
ICAgIGFzc2VydF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAg
ICAgICAgICdUaGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAg
ICBhc3NlcnRfZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVzKAorICAgICAgICBmcmFtZS5zcmMg
KyAnJnRlc3Q9c2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpKTsKKyAgICB9KTsKK30sICdS
ZXF1ZXN0IGZvciBhbiBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBhbmQgJyAr
CisgICAnYWxsb3ctc2FtZS1vcmlnaW4gZmxhZyBpbiB0aGUgaWZyYW1lIHNhbmRib3hlZCBieSBh
biBhdHRyaWJ1dGUgd2l0aCAnICsKKyAgICdhbGxvdy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICBsZXQgZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWU7
CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdmZXRjaCcpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsK
KyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJl
c3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAg
ICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAgICBhc3NlcnRfZXF1YWxzKHJl
cXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSBmZXRjaCByZXF1ZXN0
IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0
c1swXSwgZnJhbWUuc3JjICsgJyZ0ZXN0PWZldGNoJyk7CisgICAgfSk7Cit9LCAnRmV0Y2ggcmVx
dWVzdCBmcm9tIGlmcmFtZSBzYW5kYm94ZWQgYnkgYW4gYXR0cmlidXRlIHdpdGggYWxsb3ctc2Ny
aXB0cyAnICsKKyAgICdhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9zYW1lX29yaWdpbl9mcmFtZTsKKyAg
cmV0dXJuIGRvVGVzdChmcmFtZSwgJ2ZldGNoLWZyb20td29ya2VyJykKKyAgICAudGhlbihyZXN1
bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1
cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEg
PT4geworICAgICAgbGV0IHJlcXVlc3RzID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9l
cXVhbHMocmVxdWVzdHMubGVuZ3RoLCAxLAorICAgICAgICAgICAgICAgICAgICAnVGhlIGZldGNo
IHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxz
KHJlcXVlc3RzWzBdLAorICAgICAgICAgICAgICAgICAgICBmcmFtZS5zcmMgKyAnJnRlc3Q9ZmV0
Y2gtZnJvbS13b3JrZXInKTsKKyAgICB9KTsKK30sICdGZXRjaCByZXF1ZXN0IGZyb20gYSB3b3Jr
ZXIgaW4gaWZyYW1lIHNhbmRib3hlZCBieSBhbiBhdHRyaWJ1dGUgd2l0aCAnICsKKyAgICdhbGxv
dy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lOworICByZXR1
cm4gZG9UZXN0KGZyYW1lLCAnaWZyYW1lJykKKyAgICAudGhlbihyZXN1bHQgPT4geworICAgICAg
YXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zy
b21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVuKGRhdGEgPT4geworICAgICAgbGV0
IHJlcXVlc3RzID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHMu
bGVuZ3RoLCAxLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGhh
bmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzWzBdLCBmcmFtZS5z
cmMgKyAnJnRlc3Q9aWZyYW1lJyk7CisgICAgICBhc3NlcnRfdHJ1ZShkYXRhLmNsaWVudHMuaW5j
bHVkZXMoZnJhbWUuc3JjICsgJyZ0ZXN0PWlmcmFtZScpKTsKKyAgICB9KTsKK30sICdSZXF1ZXN0
IGZvciBhbiBpZnJhbWUgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgYW4gYXR0cmlidXRlIHdp
dGggJyArCisgICAnYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9zYW1lX29yaWdp
bl9mcmFtZTsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ3NhbmRib3hlZC1pZnJhbWUnKQorICAg
IC50aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsK
KyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAg
LnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3Ro
LCAwLAorICAgICAgICAgICAgICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5k
bGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRlcygK
KyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUnKSk7CisgICAgfSk7
Cit9LCAnUmVxdWVzdCBmb3IgYW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMg
ZmxhZyBpbiB0aGUgaWZyYW1lICcgKworICAgJ3NhbmRib3hlZCBieSBhdHRyaWJ1dGUgd2l0aCBh
bGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBmbGFnJyk7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lOworICBy
ZXR1cm4gZG9UZXN0KGZyYW1lLCAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicpCisgICAg
LnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOwor
ICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAu
dGhlbihkYXRhID0+IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAg
J1RoZSByZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0c1swXSwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0
PXNhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEu
Y2xpZW50cy5pbmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRib3hlZC1p
ZnJhbWUtc2FtZS1vcmlnaW4nKSk7CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gc2FuZGJv
eGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKworICAgJ2FsbG93LXNhbWUtb3Jp
Z2luIGZsYWcgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgYXR0cmlidXRlIHdpdGggJyArCisg
ICAnYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycpOworCitwcm9taXNl
X3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9mcmFtZV9ieV9oZWFkZXI7Cisg
IHJldHVybiBkb1Rlc3QoZnJhbWUsICdmZXRjaCcpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAg
ICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3Vs
dHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAg
IGFzc2VydF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAg
ICAgICdUaGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgfSk7
Cit9LCAnRmV0Y2ggcmVxdWVzdCBmcm9tIGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVh
ZGVyIHdpdGggJyArCisgICAnYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlcjsKKyAgcmV0dXJu
IGRvVGVzdChmcmFtZSwgJ2lmcmFtZScpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9t
V29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAgICAgICAgICdU
aGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRf
ZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVzKGZyYW1lLnNyYyArICcmdGVzdD1pZnJhbWUnKSk7
CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gaWZyYW1lIGluIHRoZSBpZnJhbWUgc2FuZGJv
eGVkIGJ5IENTUCBIVFRQIGhlYWRlciB3aXRoICcgKworICAgJ2FsbG93LXNjcmlwdHMgZmxhZycp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGxldCBmcmFtZSA9IHNhbmRib3hlZF9mcmFtZV9i
eV9oZWFkZXI7CisgIHJldHVybiBkb1Rlc3QoZnJhbWUsICdzYW5kYm94ZWQtaWZyYW1lJykKKyAg
ICAudGhlbihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7
CisgICAgICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAg
IC50aGVuKGRhdGEgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLnJlcXVlc3RzLmxlbmd0
aCwgMCwKKyAgICAgICAgICAgICAgICAgICAgJ1RoZSByZXF1ZXN0IHNob3VsZCBOT1QgYmUgaGFu
ZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9mYWxzZShkYXRhLmNsaWVudHMuaW5jbHVkZXMo
CisgICAgICAgIGZyYW1lLnNyYyArICcmdGVzdD1zYW5kYm94ZWQtaWZyYW1lJykpOworICAgIH0p
OworfSwgJ1JlcXVlc3QgZm9yIGFuIHNhbmRib3hlZCBpZnJhbWUgd2l0aCBhbGxvdy1zY3JpcHRz
IGZsYWcgaW4gdGhlIGlmcmFtZSAnICsKKyAgICdzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVy
IHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0
IGZyYW1lID0gc2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVzdChmcmFt
ZSwgJ3NhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKQorICAgIC50aGVuKHJlc3VsdCA9PiB7
CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJldHVybiBnZXRS
ZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAorICAgICAgICAgICAg
ICAgICAgICAnVGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAg
ICAgYXNzZXJ0X2ZhbHNlKGRhdGEuY2xpZW50cy5pbmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3Jj
ICsgJyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKSk7CisgICAgfSk7Cit9LCAn
UmVxdWVzdCBmb3IgYW4gc2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcg
KworICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZsYWcgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkg
Q1NQIEhUVFAgaGVhZGVyIHdpdGggJyArCisgICAnYWxsb3ctc2NyaXB0cyBmbGFnJyk7CisKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2luX2Zy
YW1lX2J5X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2ZldGNoJykKKyAgICAudGhl
bihyZXN1bHQgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdkb25lJyk7CisgICAg
ICByZXR1cm4gZ2V0UmVzdWx0c0Zyb21Xb3JrZXIod29ya2VyKTsKKyAgICB9KQorICAgIC50aGVu
KGRhdGEgPT4geworICAgICAgbGV0IHJlcXVlc3RzID0gZGF0YS5yZXF1ZXN0czsKKyAgICAgIGFz
c2VydF9lcXVhbHMocmVxdWVzdHMubGVuZ3RoLCAxLAorICAgICAgICAgICAgICAgICAgICAnVGhl
IHJlcXVlc3Qgc2hvdWxkIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAgICBhc3NlcnRfZXF1YWxz
KHJlcXVlc3RzWzBdLCBmcmFtZS5zcmMgKyAnJnRlc3Q9ZmV0Y2gnKTsKKyAgICB9KTsKK30sICdG
ZXRjaCByZXF1ZXN0IGZyb20gaWZyYW1lIHNhbmRib3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0
aCAnICsKKyAgICdhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBmbGFnJyk7CisK
K3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgbGV0IGZyYW1lID0gc2FuZGJveGVkX3NhbWVfb3JpZ2lu
X2ZyYW1lX2J5X2hlYWRlcjsKKyAgcmV0dXJuIGRvVGVzdChmcmFtZSwgJ2lmcmFtZScpCisgICAg
LnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOwor
ICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAu
dGhlbihkYXRhID0+IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAgICAgICAg
J1RoZSByZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0c1swXSwgZnJhbWUuc3JjICsgJyZ0ZXN0PWlmcmFtZScpOworICAgICAgYXNz
ZXJ0X3RydWUoZGF0YS5jbGllbnRzLmluY2x1ZGVzKGZyYW1lLnNyYyArICcmdGVzdD1pZnJhbWUn
KSk7CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4gaWZyYW1lIGluIHRoZSBpZnJhbWUgc2Fu
ZGJveGVkIGJ5IENTUCBIVFRQIGhlYWRlciB3aXRoICcgKworICAgJ2FsbG93LXNjcmlwdHMgYW5k
IGFsbG93LXNhbWUtb3JpZ2luIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQg
ZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWVfYnlfaGVhZGVyOworICByZXR1cm4g
ZG9UZXN0KGZyYW1lLCAnc2FuZGJveGVkLWlmcmFtZScpCisgICAgLnRoZW4ocmVzdWx0ID0+IHsK
KyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9uZScpOworICAgICAgcmV0dXJuIGdldFJl
c3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkKKyAgICAudGhlbihkYXRhID0+IHsKKyAg
ICAgIGFzc2VydF9lcXVhbHMoZGF0YS5yZXF1ZXN0cy5sZW5ndGgsIDAsCisgICAgICAgICAgICAg
ICAgICAgICdUaGUgcmVxdWVzdCBzaG91bGQgTk9UIGJlIGhhbmRsZWQgYnkgU1cuJyk7CisgICAg
ICBhc3NlcnRfZmFsc2UoCisgICAgICAgIGRhdGEuY2xpZW50cy5pbmNsdWRlcyhmcmFtZS5zcmMg
KyAnJnRlc3Q9c2FuZGJveGVkLWlmcmFtZScpKTsKKyAgICB9KTsKK30sICdSZXF1ZXN0IGZvciBh
biBzYW5kYm94ZWQgaWZyYW1lIHdpdGggYWxsb3ctc2NyaXB0cyBmbGFnIGluIHRoZSAnICsKKyAg
ICdpZnJhbWUgc2FuZGJveGVkIGJ5IENTUCBIVFRQIGhlYWRlciB3aXRoIGFsbG93LXNjcmlwdHMg
YW5kICcgKworICAgJ2FsbG93LXNhbWUtb3JpZ2luIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICBsZXQgZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWVfYnlfaGVhZGVy
OworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbicp
CisgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnZG9u
ZScpOworICAgICAgcmV0dXJuIGdldFJlc3VsdHNGcm9tV29ya2VyKHdvcmtlcik7CisgICAgfSkK
KyAgICAudGhlbihkYXRhID0+IHsKKyAgICAgIGxldCByZXF1ZXN0cyA9IGRhdGEucmVxdWVzdHM7
CisgICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3RzLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICAg
ICAgICAgJ1RoZSByZXF1ZXN0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgICAgYXNz
ZXJ0X2VxdWFscyhyZXF1ZXN0c1swXSwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWUuc3JjICsg
JyZ0ZXN0PXNhbmRib3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKTsKKyAgICAgIGFzc2VydF90cnVl
KGRhdGEuY2xpZW50cy5pbmNsdWRlcygKKyAgICAgICAgZnJhbWUuc3JjICsgJyZ0ZXN0PXNhbmRi
b3hlZC1pZnJhbWUtc2FtZS1vcmlnaW4nKSk7CisgICAgfSk7Cit9LCAnUmVxdWVzdCBmb3IgYW4g
c2FuZGJveGVkIGlmcmFtZSB3aXRoIGFsbG93LXNjcmlwdHMgYW5kICcgKworICAgJ2FsbG93LXNh
bWUtb3JpZ2luIGZsYWcgaW4gdGhlIGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVy
IHdpdGggJyArCisgICAnYWxsb3ctc2NyaXB0cyBhbmQgYWxsb3ctc2FtZS1vcmlnaW4gZmxhZycp
OwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2
aWNlLXdvcmtlci1oZWFkZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
c2VydmljZS13b3JrZXItaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzI0
ZDc3ZWExNWFjNDc2YmEyYmYzNDY2ZTgyOTYyNTkwMTExM2Q0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItaGVhZGVyLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBBIHJlcXVlc3QgdG8gZmV0Y2ggc2VydmljZSB3b3Jr
ZXIgbWFpbiBzY3JpcHQgc2hvdWxkIGhhdmUgU2VydmljZS1Xb3JrZXIgaGVhZGVyIGFuZCBpbXBv
cnRlZCBzY3JpcHRzIHNob3VsZCBub3QgaGF2ZSBvbmUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWhlYWRlci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvc2VydmljZS13b3JrZXItaGVhZGVyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI5MDJj
ZDFiNDU1ZDEzMGM4OTljZjA2YmYwNWMzMjE4NGQyYjU0MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWhlYWRlci5odHRwcy5odG1sCkBAIC0wLDAg
KzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlcnZpY2UgV29ya2VyOiBTZXJ2aWNl
LVdvcmtlciBoZWFkZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
Y29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXIucHknCisgICAg
KyAnP2hlYWRlciZpbXBvcnQ9c2VydmljZS13b3JrZXItaGVhZGVyLnB5P25vLWhlYWRlcic7Cisg
IGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1oZWFkZXInOworICBjb25z
dCBleHBlY3RlZF91cmwgPSBub3JtYWxpemVVUkwoc2NyaXB0KTsKKyAgY29uc3QgcmVnaXN0cmF0
aW9uID0KKyAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0
LCBzY3JpcHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWdpc3RyYXRpb24udW5y
ZWdpc3RlcigpKTsKKyAgYXNzZXJ0X3RydWUocmVnaXN0cmF0aW9uIGluc3RhbmNlb2YgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbik7CisKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0
cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgYXdhaXQgcmVnaXN0cmF0aW9uLnVw
ZGF0ZSgpOworfSwgJ0EgcmVxdWVzdCB0byBmZXRjaCBzZXJ2aWNlIHdvcmtlciBtYWluIHNjcmlw
dCBzaG91bGQgaGF2ZSBTZXJ2aWNlLVdvcmtlciAnCisgICsgJ2hlYWRlciBhbmQgaW1wb3J0ZWQg
c2NyaXB0cyBzaG91bGQgbm90IGhhdmUgb25lJyk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtlcm9iamVjdC1zY3JpcHR1
cmwuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAyYzZhNWYwZGRiZWE3ZjlmNGRkOTQ1MzRlYmNm
ZmU4NGFhYzg3NzUuLjkyZTYzZDcxMmY2NTJiODhkMWViOGUyNGZhOGFmYWEzNWUxNTY5NDMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2V3b3JrZXJvYmplY3Qtc2NyaXB0dXJs
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNld29ya2Vy
b2JqZWN0LXNjcmlwdHVybC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw2IEBACiAKIFBB
U1MgVmVyaWZ5IHRoZSBzY3JpcHRVUkwgcHJvcGVydHk6IHJlbGF0aXZlIAogUEFTUyBWZXJpZnkg
dGhlIHNjcmlwdFVSTCBwcm9wZXJ0eTogd2l0aC1mcmFnbWVudCAKK1BBU1MgVmVyaWZ5IHRoZSBz
Y3JpcHRVUkwgcHJvcGVydHk6IHdpdGgtcXVlcnkgCiBQQVNTIFZlcmlmeSB0aGUgc2NyaXB0VVJM
IHByb3BlcnR5OiBhYnNvbHV0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2Vy
dmljZXdvcmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3NlcnZpY2V3b3JrZXJvYmplY3Qtc2NyaXB0dXJsLmh0dHBzLmh0bWwKaW5kZXggNThmMjVmM2E0
NDJjMDEzODc4MDczMDBiMWEyNzhlNzFlOTI1NGQwYS4uNjAwNDk4NWEzNDYwODEzMjgyNTA4NmRh
YjBjMDc3N2YzZjBmZGYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdv
cmtlcm9iamVjdC1zY3JpcHR1cmwuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9z
ZXJ2aWNld29ya2Vyb2JqZWN0LXNjcmlwdHVybC5odHRwcy5odG1sCkBAIC03LDI1ICs3LDIwIEBA
CiAndXNlIHN0cmljdCc7CiAKIGZ1bmN0aW9uIHVybF90ZXN0KG5hbWUsIHVybCkgewotICB2YXIg
c2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlLycgKyBuYW1lOwotICB2YXIgZXhwZWN0ZWRVUkwgPSBu
b3JtYWxpemVVUkwodXJsKTsKKyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzL3Njb3BlLycgKyBu
YW1lOworICBjb25zdCBleHBlY3RlZFVSTCA9IG5vcm1hbGl6ZVVSTCh1cmwpOwogCi0gIHByb21p
c2VfdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdp
c3Rlcl9hbmRfcmVnaXN0ZXIodCwgdXJsLCBzY29wZSkKLSAgICAgICAgLnRoZW4oZnVuY3Rpb24o
cmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgICAgICB2YXIgd29ya2VyID0gcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmc7Ci0KLSAgICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgICAgICAgfSk7
Ci0KLSAgICAgICAgICAgIGFzc2VydF9lcXVhbHMod29ya2VyLnNjcmlwdFVSTCwgZXhwZWN0ZWRV
UkwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICdSZXR1cm5lZCBTZXJ2aWNlV29ya2VyIG9i
amVjdCBzaG91bGQgaGF2ZSBzY3JpcHRVUkwnKTsKLSAgICAgICAgICB9KTsKLSAgICB9LCAnVmVy
aWZ5IHRoZSBzY3JpcHRVUkwgcHJvcGVydHk6ICcgKyBuYW1lKTsKKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9CisgICAgICAgIGF3YWl0IHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHVybCwgc2NvcGUpOworICAgIGNv
bnN0IHdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGFzc2VydF9lcXVhbHMo
d29ya2VyLnNjcmlwdFVSTCwgZXhwZWN0ZWRVUkwsICdzY3JpcHRVUkwnKTsKKyAgICBhd2FpdCBy
ZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICB9LCAnVmVyaWZ5IHRoZSBzY3JpcHRVUkwgcHJv
cGVydHk6ICcgKyBuYW1lKTsKIH0KIAogdXJsX3Rlc3QoJ3JlbGF0aXZlJywgJ3Jlc291cmNlcy9l
bXB0eS13b3JrZXIuanMnKTsKIHVybF90ZXN0KCd3aXRoLWZyYWdtZW50JywgJ3Jlc291cmNlcy9l
bXB0eS13b3JrZXIuanMjcmVmJyk7Cit1cmxfdGVzdCgnd2l0aC1xdWVyeScsICdyZXNvdXJjZXMv
ZW1wdHktd29ya2VyLmpzP3JlZicpOwogdXJsX3Rlc3QoJ2Fic29sdXRlJywgbm9ybWFsaXplVVJM
KCcuL3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMnKSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lz
dHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzhkM2QwOTQzOTIwZTJiZjY5YTFmMTcy
Y2ZlNDUzZDljMDlmZDJkNC4uM2FkMWY3YWNiYWZlMmNiMTcyZTQ2OGIwMjNhYjI4YThiODU3MDAy
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lz
dHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13
YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1
IEBACiAKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCiBQQVNTIFRl
c3Qgc2tpcFdhaXRpbmcgd2hpbGUgYSBjbGllbnQgaXMgdXNpbmcgdGhlIHJlZ2lzdHJhdGlvbiAK
LVBBU1Mgc2tpcFdhaXRpbmcgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAt
d2FpdGluZy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3NraXAtd2FpdGluZy11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbAppbmRleCBjMjY1YjAz
ZTAyMTkwNDI1Yzc4MWRhZTJiMzUxYzc2MGJkNjFlOTY1Li42NzgzOGFjZmY0NjY5ODU3NjkzNmZi
MzNiMjJjNTk0Y2IzY2QxMGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdh
aXRpbmctdXNpbmctcmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvc2tpcC13YWl0aW5nLXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sCkBAIC01MCw2ICs1
MCw5IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgIH0pCiAgICAgICAudGhl
bihmdW5jdGlvbihyZWdpc3RyYXRpb24pIHsKICAgICAgICAgICBzd19yZWdpc3RyYXRpb24gPSBy
ZWdpc3RyYXRpb247CisgICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAgICAgICAgICB9
KTsKICAgICAgICAgICByZXR1cm4gc2F3X2NvbnRyb2xsZXJjaGFuZ2VkOwogICAgICAgICB9KQog
ICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9z
a2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLXdpdGhvdXQtdXNpbmctcmVnaXN0cmF0
aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAwZWE5ZDU4NzU3ODZhODI5YTM2Mjg1MDc5NDUy
Y2NkZGYwNWVhNDc1Li5mNzRiZTZiNjVkYTU4ZTIxOWRlY2Y1NmFkNmJjYzNjNzVlMjk0MTIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1y
ZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Nr
aXAtd2FpdGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsNCArMSw1IEBACiAKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAorCiBQQVNTIFRlc3Qgc2tpcFdhaXRpbmcgd2hpbGUgYSBjbGllbnQgaXMgbm90IGJlaW5nIGNv
bnRyb2xsZWQgCi1QQVNTIHNraXBXYWl0aW5nIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9za2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1yZWdpc3RyYXRpb24uaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlv
bi5odHRwcy5odG1sCmluZGV4IGRhMWUzMzQxMWU1NDQ1OTEwNDQxNmQxYzdlNTI2YTA2YzhmNDc3
MTAuLjcwNWZlODM1NWUxMjVjOTljMDRhYmQ3ZGZiODk5ZDg1MzZlZDY4NTEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0LXVzaW5nLXJlZ2lzdHJhdGlv
bi5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy13aXRob3V0
LXVzaW5nLXJlZ2lzdHJhdGlvbi5odHRwcy5odG1sCkBAIC0yNiw2ICsyNiw5IEBAIHByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbihyZWdp
c3RyYXRpb24pIHsKICAgICAgICAgICBzd19yZWdpc3RyYXRpb24gPSByZWdpc3RyYXRpb247Cisg
ICAgICAgICAgdC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJu
IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAgICBy
ZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0
ZWQnKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3N0
YXRlLmh0dHBzLmh0bWwKaW5kZXggMzgxMDM2MmUwNTMzMDU2OWY5N2I3NjEyY2FlMWM5M2Y4MTM1
Y2YzOC4uNzM1OGU1OGZmMTRhNzRlMDQ1MTRlYjk0MzIxNTE1NzZjZjYyYjkwNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9zdGF0ZS5odHRwcy5odG1sCkBAIC00LDIxICs0LDI0IEBACiA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgogPGJvZHk+CiA8c2NyaXB0Pgot
KGZ1bmN0aW9uICgpIHsKLSAgICB2YXIgdCA9IGFzeW5jX3Rlc3QoJ1NlcnZpY2UgV29ya2VyIHN0
YXRlIHByb3BlcnR5IGFuZCAic3RhdGVjaGFuZ2UiIGV2ZW50Jyk7Citwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24gKHQpIHsKICAgICB2YXIgY3VycmVudFN0YXRlID0gJ3Rlc3QtaXMtc3RhcnRpbmcnOwog
ICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc3RhdGUvJzsKIAotICAgIHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyX2FuZF9yZWdpc3RlcigKICAgICAgICAgdCwgJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIu
anMnLCBzY29wZSkKLSAgICAgIC50aGVuKHQuc3RlcF9mdW5jKGZ1bmN0aW9uKHJlZ2lzdHJhdGlv
bikgeworICAgICAgLnRoZW4oZnVuY3Rpb24ocmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgdC5h
ZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICB2
YXIgc3cgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKLSAgICAgICAgICBzdy5hZGRFdmVudExp
c3RlbmVyKCdzdGF0ZWNoYW5nZScsIHQuc3RlcF9mdW5jKG9uU3RhdGVDaGFuZ2Uoc3cpKSk7CisK
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHN3LnN0YXRlLCAnaW5zdGFsbGluZycsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAndGhlIHNlcnZpY2Ugd29ya2VyIHNob3VsZCBiZSBpbiAiaW5zdGFs
bGluZyIgc3RhdGUuJyk7CiAgICAgICAgICAgY2hlY2tTdGF0ZVRyYW5zaXRpb24oc3cuc3RhdGUp
OwotICAgICAgICB9KSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAg
ICAgICAgICByZXR1cm4gb25TdGF0ZUNoYW5nZShzdyk7CisgICAgICAgIH0pOwogCiAgICAgZnVu
Y3Rpb24gY2hlY2tTdGF0ZVRyYW5zaXRpb24obmV3U3RhdGUpIHsKICAgICAgICAgc3dpdGNoIChj
dXJyZW50U3RhdGUpIHsKQEAgLTQ5LDcgKzUyLDkgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiBv
blN0YXRlQ2hhbmdlKGV4cGVjdGVkVGFyZ2V0KSB7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbihl
dmVudCkgeworICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUpIHsKKyAg
ICAgICAgICAgIGV4cGVjdGVkVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdlJywg
cmVzb2x2ZSk7CisgICAgICAgICAgfSkudGhlbihmdW5jdGlvbihldmVudCkgewogICAgICAgICAg
ICAgYXNzZXJ0X3RydWUoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgU2VydmljZVdvcmtlciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICd0aGUgdGFyZ2V0IG9mIHRoZSBzdGF0ZWNoYW5nZSBldmVu
dCBzaG91bGQgYmUgYSAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlV29ya2Vy
LicpOwpAQCAtNjEsOSArNjYsOSBAQAogCiAgICAgICAgICAgICBjaGVja1N0YXRlVHJhbnNpdGlv
bihldmVudC50YXJnZXQuc3RhdGUpOwogCi0gICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnN0
YXRlID09ICdhY3RpdmF0ZWQnKQotICAgICAgICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9OworICAgICAgICAgICAgaWYgKGV2
ZW50LnRhcmdldC5zdGF0ZSAhPSAnYWN0aXZhdGVkJykKKyAgICAgICAgICAgICAgICByZXR1cm4g
b25TdGF0ZUNoYW5nZShleHBlY3RlZFRhcmdldCk7CisgICAgICAgICAgfSk7CiAgICAgfQotfSgp
KTsKK30sICdTZXJ2aWNlIFdvcmtlciBzdGF0ZSBwcm9wZXJ0eSBhbmQgInN0YXRlY2hhbmdlIiBl
dmVudCcpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zeW5jZWQt
c3RhdGUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3N5bmNlZC1zdGF0ZS5odHRwcy5o
dG1sCmluZGV4IGM0YTliNjY1NWNiMDY2MGE3OGEyN2M1MjM1OTFjNDk1M2QzYjc3YTkuLjBlOWY2
M2E5YTJlNTI4ZTdmZmI4Zjk5MTNlZGZmYzhlMDI5NGFkOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3N5bmNlZC1zdGF0ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3N5bmNlZC1zdGF0ZS5odHRwcy5odG1sCkBAIC0zMyw3ICszMyw3IEBAIHByb21pc2VfdGVzdChm
dW5jdGlvbih0KSB7CiAgICAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxpbmc7
CiAKICAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBy
LnVucmVnaXN0ZXIoKTsKKyAgICAgICAgICAgICAgcmV0dXJuIHIudW5yZWdpc3RlcigpOwogICAg
ICAgICAgICAgfSk7CiAKICAgICAgICAgICByZXR1cm4gbmV4dENoYW5nZSh3b3JrZXIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5jb250cm9sbGVkLXBhZ2UuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3VuY29udHJvbGxlZC1wYWdlLmh0dHBzLmh0bWwKaW5kZXggYTk1
MjNhNTRjZGNlMjdjY2RkYjU4NjAxMjExMDFjZGQxYmRiNTBjYy4uZTIyY2E4ZjBhOTFhZGY5ZmJj
ZjY0Yzc3Y2QzZDFkNGRmMjc5NTZmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5j
b250cm9sbGVkLXBhZ2UuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bmNvbnRy
b2xsZWQtcGFnZS5odHRwcy5odG1sCkBAIC0xOSwxMCArMTksMTQgQEAgZnVuY3Rpb24gZmV0Y2hf
dXJsKHVybCkgewogfQogdmFyIHdvcmtlciA9ICdyZXNvdXJjZXMvZmFpbC1vbi1mZXRjaC13b3Jr
ZXIuanMnOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlv
bih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS91bmNvbnRyb2xsZWQtcGFn
ZS8nOwotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtl
ciwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lz
dGVyKHQsIHdvcmtlciwgc2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyZWcpIHsKKyAgICAg
ICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2Vy
dmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAg
ICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByZWcuaW5zdGFsbGluZywgJ2FjdGl2YXRl
ZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CkBAIC0zMCwxMCArMzQs
NiBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1
bmN0aW9uKHRleHQpIHsKICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRleHQsICdhIHNpbXBsZSB0
ZXh0IGZpbGVcbicpOwotICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2Rv
bmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHQuc3RlcF9mdW5jKGZ1bmN0
aW9uKHJlYXNvbikgewotICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQocmVhc29uLm1lc3NhZ2Up
OwotICAgICAgICB9KSk7CisgICAgICAgIH0pOwogICB9LCAnRmV0Y2ggZXZlbnRzIHNob3VsZCBu
b3QgZ28gdGhyb3VnaCB1bmNvbnRyb2xsZWQgcGFnZS4nKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLW5ldy1zY3JpcHQu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJl
Z2lzdGVyLW5ldy1zY3JpcHQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDhlNDJiZWU0YmVkY2M4
MWZjNmY5YWY1YWI3OWU4YzU5NGMzODczOTkuLjkwYjdjYWUzMWM4NmUzMTA0NGZlMzBlYzk0ODcy
NzI2OTIyMzc5OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhl
bi1yZWdpc3Rlci1uZXctc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItbmV3LXNjcmlwdC5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIFBBU1MgUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVS
TCB3aGlsZSBhbiB1bnJlZ2lzdGVyZWQgcmVnaXN0cmF0aW9uIGlzIGluIHVzZSAKLVBBU1MgUmVn
aXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVSTCB0aGF0IDQwNHMgZG9lcyBub3QgcmVzdXJyZWN0IGFu
IHVucmVnaXN0ZXJlZCByZWdpc3RyYXRpb24gCi1QQVNTIFJlZ2lzdGVyaW5nIGEgbmV3IHNjcmlw
dCBVUkwgdGhhdCBmYWlscyB0byBpbnN0YWxsIGRvZXMgbm90IHJlc3VycmVjdCBhbiB1bnJlZ2lz
dGVyZWQgcmVnaXN0cmF0aW9uIAorUEFTUyBSZWdpc3RlcmluZyBhIG5ldyBzY3JpcHQgVVJMIHRo
YXQgNDA0cyBkb2VzIHJlc3VycmVjdCBhbiB1bnJlZ2lzdGVyZWQgcmVnaXN0cmF0aW9uIAorUEFT
UyBSZWdpc3RlcmluZyBhIG5ldyBzY3JpcHQgVVJMIHRoYXQgZmFpbHMgdG8gaW5zdGFsbCBkb2Vz
IHJlc3VycmVjdCBhbiB1bnJlZ2lzdGVyZWQgcmVnaXN0cmF0aW9uIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItbmV3LXNjcmlwdC5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLW5ldy1z
Y3JpcHQuaHR0cHMuaHRtbAppbmRleCAzODU0MzBjMmQ4ZTZjODc1YTFkYmJjM2ZmMTRjODA1MDBm
MDQ5YTM5Li41ODIxMzJhNzQyZmM5YmIwZmJhNjJlZTAyNTM1NmY5ODM5MzhkYTFiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXItbmV3LXNjcmlw
dC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdp
c3Rlci1uZXctc2NyaXB0Lmh0dHBzLmh0bWwKQEAgLTkwLDkgKzkwLDEyIEBAIGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgewogICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3Rlcigp
OwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgLy8gU3Rl
cCA1LjEgb2YgUmVnaXN0ZXIgY2xlYXJzIHRoZSB1bmluc3RhbGwgZmxhZyBiZWZvcmUgZmV0Y2hp
bmcKKyAgICAgICAgICAvLyB0aGUgc2NyaXB0OgorICAgICAgICAgIC8vCisgICAgICAgICAgLy8g
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNyZWdpc3Rlci1hbGdvcml0aG0K
ICAgICAgICAgICB2YXIgcHJvbWlzZSA9IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVy
KCd0aGlzLXdpbGwtNDA0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHsgc2NvcGU6IHNjb3BlIH0pOwotICAgICAgICAgIGlmcmFtZS5y
ZW1vdmUoKTsKICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKICAgICAgICAgfSkKICAgICAgIC50
aGVuKApAQCAtMTAwLDE3ICsxMDMsMjggQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAg
ICAgICAgYXNzZXJ0X3VucmVhY2hlZCgncmVnaXN0ZXIgc2hvdWxkIHJlamVjdCB0aGUgcHJvbWlz
ZScpOwogICAgICAgICB9LAogICAgICAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCBudWxsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgJ3JlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nJyk7CisgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyZWdpc3RyYXRpb24ud2FpdGluZywgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICdy
ZWdpc3RyYXRpb24ud2FpdGluZycpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0
aW9uLmFjdGl2ZS5zY3JpcHRVUkwsIG5vcm1hbGl6ZVVSTCh3b3JrZXJfdXJsKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICdyZWdpc3RyYXRpb24uYWN0aXZlJyk7CisgICAgICAgICAgaWZyYW1l
LnJlbW92ZSgpOwogICAgICAgICAgIHJldHVybiB3aXRoX2lmcmFtZShzY29wZSk7CiAgICAgICAg
IH0pCiAgICAgICAudGhlbihmdW5jdGlvbihmcmFtZSkgewotICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVy
LAotICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICdkb2N1bWVudCBzaG91bGQgbm90IGxvYWQgd2l0aCBhIGNvbnRyb2xsZXInKTsKKyAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKAorICAgICAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmln
YXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIuc2NyaXB0VVJMLAorICAgICAgICAgICAgICBu
b3JtYWxpemVVUkwod29ya2VyX3VybCksCisgICAgICAgICAgICAgICd0aGUgb3JpZ2luYWwgd29y
a2VyIHNob3VsZCBjb250cm9sIGEgbmV3IGRvY3VtZW50Jyk7CiAgICAgICAgICAgZnJhbWUucmVt
b3ZlKCk7CisgICAgICAgICAgcmV0dXJuIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7CisgICAg
ICAgIH0pCisgICAgICAudGhlbihmdW5jdGlvbigpIHsKICAgICAgICAgICB0LmRvbmUoKTsKICAg
ICAgICAgfSkKICAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKLX0sICdSZWdp
c3RlcmluZyBhIG5ldyBzY3JpcHQgVVJMIHRoYXQgNDA0cyBkb2VzIG5vdCByZXN1cnJlY3QgYW4g
JyArCit9LCAnUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVSTCB0aGF0IDQwNHMgZG9lcyByZXN1
cnJlY3QgYW4gJyArCiAgICAgICAgJ3VucmVnaXN0ZXJlZCByZWdpc3RyYXRpb24nKTsKIAogYXN5
bmNfdGVzdChmdW5jdGlvbih0KSB7CkBAIC0xMzEsOSArMTQ1LDEyIEBAIGFzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgewogICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwog
ICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgLy8gU3RlcCA1
LjEgb2YgUmVnaXN0ZXIgY2xlYXJzIHRoZSB1bmluc3RhbGwgZmxhZyBiZWZvcmUgZmlyaW5nCisg
ICAgICAgICAgLy8gdGhlIGluc3RhbGwgZXZlbnQ6CisgICAgICAgICAgLy8KKyAgICAgICAgICAv
LyAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3JlZ2lzdGVyLWFsZ29yaXRo
bQogICAgICAgICAgIHZhciBwcm9taXNlID0gbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0
ZXIoCiAgICAgICAgICAgICAgICdyZXNvdXJjZXMvcmVqZWN0LWluc3RhbGwtd29ya2VyLmpzJywg
eyBzY29wZTogc2NvcGUgfSk7Ci0gICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOwogICAgICAgICAg
IHJldHVybiBwcm9taXNlOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgewpA
QCAtMTQxLDEyICsxNTgsMjAgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAg
cmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ3JlZHVuZGFudCcpOwogICAg
ICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyZWdpc3RyYXRpb24uaW5zdGFsbGluZywgbnVsbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICdyZWdpc3RyYXRpb24uaW5zdGFsbGluZycpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVn
aXN0cmF0aW9uLndhaXRpbmcsIG51bGwsCisgICAgICAgICAgICAgICAgICAgICAgICAncmVnaXN0
cmF0aW9uLndhaXRpbmcnKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5h
Y3RpdmUuc2NyaXB0VVJMLCBub3JtYWxpemVVUkwod29ya2VyX3VybCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAncmVnaXN0cmF0aW9uLmFjdGl2ZScpOworICAgICAgICAgIGlmcmFtZS5yZW1v
dmUoKTsKICAgICAgICAgICByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOwogICAgICAgICB9KQog
ICAgICAgLnRoZW4oZnVuY3Rpb24oZnJhbWUpIHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGZy
YW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG51bGwsCi0gICAgICAgICAgICAgICAgICAgICAgICAnZG9j
dW1lbnQgc2hvdWxkIG5vdCBsb2FkIHdpdGggYSBjb250cm9sbGVyJyk7CisgICAgICAgICAgYXNz
ZXJ0X2VxdWFscygKKyAgICAgICAgICAgICAgZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iu
c2VydmljZVdvcmtlci5jb250cm9sbGVyLnNjcmlwdFVSTCwKKyAgICAgICAgICAgICAgbm9ybWFs
aXplVVJMKHdvcmtlcl91cmwpLAorICAgICAgICAgICAgICAndGhlIG9yaWdpbmFsIHdvcmtlciBz
aG91bGQgY29udHJvbCBhIG5ldyBkb2N1bWVudCcpOwogICAgICAgICAgIGZyYW1lLnJlbW92ZSgp
OwogICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOwogICAgICAgICB9
KQpAQCAtMTU0LDYgKzE3OSw2IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAg
IHQuZG9uZSgpOwogICAgICAgICB9KQogICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24o
dCkpOwotICB9LCAnUmVnaXN0ZXJpbmcgYSBuZXcgc2NyaXB0IFVSTCB0aGF0IGZhaWxzIHRvIGlu
c3RhbGwgZG9lcyBub3QgcmVzdXJyZWN0ICcgKworICB9LCAnUmVnaXN0ZXJpbmcgYSBuZXcgc2Ny
aXB0IFVSTCB0aGF0IGZhaWxzIHRvIGluc3RhbGwgZG9lcyByZXN1cnJlY3QgJyArCiAgICAgICAg
J2FuIHVucmVnaXN0ZXJlZCByZWdpc3RyYXRpb24nKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbAppbmRl
eCA2YzBhMGFlY2YzZjU2MmE1NmVkZjdmZjY1YWNiOWZjZDY3NWNkZmE2Li4zMDNiMmJlMmI3ZDFk
Y2EwZDY5ZDg0YWU1NjFhNTgyNDIxMDYxNjIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbApAQCAtNSwxMiArNSwxNiBA
QAogPHNjcmlwdD4KIHZhciB3b3JrZXJfdXJsID0gJ3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMn
OwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZS1yZWdpc3Rlci1yZXNvbHZlcy10
by1uZXctdmFsdWUnOwogICAgIHZhciByZWdpc3RyYXRpb247CiAKLSAgICBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXJfdXJsLCBzY29wZSkKKyAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwg
c2NvcGUpCiAgICAgICAudGhlbihmdW5jdGlvbihyKSB7CisgICAgICAgICAgdC5hZGRfY2xlYW51
cChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXIodCwgc2NvcGUpOworICAgICAgICAgICAgfSk7CisKICAgICAgICAgICByZWdpc3RyYXRp
b24gPSByOwogICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcs
ICdhY3RpdmF0ZWQnKTsKICAgICAgICAgfSkKQEAgLTIzLDE3ICsyNywxOSBAQCBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKICAgICAgIC50aGVuKGZ1bmN0aW9uKG5ld19yZWdpc3RyYXRpb24pIHsK
ICAgICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhyZWdpc3RyYXRpb24sIG5ld19yZWdpc3RyYXRp
b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZ2lzdGVyIHNob3VsZCByZXNvbHZl
IHRvIGEgbmV3IHZhbHVlJyk7Ci0gICAgICAgICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfZG9uZSh0LCBzY29wZSk7Ci0gICAgICAgIH0pCi0gICAgICAuY2F0Y2godW5yZWFjaGVkX3Jl
amVjdGlvbih0KSk7CisgICAgICAgIH0pOwogICB9LCAnVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVy
IHJlc29sdmVzIHRvIGEgbmV3IHZhbHVlJyk7CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewor
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL3Nj
b3BlL3JlLXJlZ2lzdGVyLXdoaWxlLW9sZC1yZWdpc3RyYXRpb24taW4tdXNlJzsKICAgICB2YXIg
cmVnaXN0cmF0aW9uOwogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0
ZXIodCwgd29ya2VyX3VybCwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQogICAgICAgLnRoZW4oZnVu
Y3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAg
ICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAgICByZXR1
cm4gd2FpdF9mb3Jfc3RhdGUodCwgci5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAg
IH0pCkBAIC00OSwyMCArNTUsMjIgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAu
dGhlbihmdW5jdGlvbihuZXdfcmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyZWdpc3RyYXRpb24sIG5ld19yZWdpc3RyYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAg
ICAnbmV3IHJlZ2lzdHJhdGlvbiBzaG91bGQgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRp
b24nKTsKLSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNj
b3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsK
KyAgICAgICAgfSk7CiAgIH0sICdVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzb2x2ZXMgdG8g
dGhlIG9yaWdpbmFsIHZhbHVlIGlmIHRoZSAnICsKICAgICAgICAgICdyZWdpc3RyYXRpb24gaXMg
aW4gdXNlLicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5j
dGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9jb21wbGV0ZS11bnJl
Z2lzdHJhdGlvbi1mb2xsb3dlZC1ieS0nICsKICAgICAgICAgICAgICAgICAncmVsb2FkaW5nLWNv
bnRyb2xsZWUtaWZyYW1lJzsKICAgICB2YXIgcmVnaXN0cmF0aW9uOwogICAgIHZhciBmcmFtZTsK
ICAgICB2YXIgc2VydmljZV93b3JrZXI7Ci0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9h
bmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwgc2NvcGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29y
a2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQogICAgICAg
LnRoZW4oZnVuY3Rpb24ocikgeworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3Bl
KTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgci5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7
CiAgICAgICAgIH0pCkBAIC04OCwyMCArOTYsMjIgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CiAgICAgICAudGhlbihmdW5jdGlvbihyKSB7CiAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyLCB1
bmRlZmluZWQsICdnZXRSZWdpc3RyYXRpb24gc2hvdWxkIHJldHVybiAnICsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VuZGVmaW5lZCBhZnRlciB1bnJlZ2lzdHJhdGlv
bicpOwotICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2Nv
cGUpOwotICAgICAgICB9KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOwor
ICAgICAgICB9KTsKIH0sICdSZWxvYWRpbmcgdGhlIGxhc3QgY29udHJvbGxlZCBpZnJhbWUgYWZ0
ZXIgdW5yZWdpc3RyYXRpb24gc2hvdWxkIGVuc3VyZSAnICsKICAgICd0aGUgZGVsZXRpb24gb2Yg
dGhlIHJlZ2lzdHJhdGlvbicpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZS1y
ZWdpc3Rlci1kb2VzLW5vdC1hZmZlY3QtZXhpc3RpbmctY29udHJvbGxlZSc7CiAgICAgdmFyIGlm
cmFtZTsKICAgICB2YXIgcmVnaXN0cmF0aW9uOwogICAgIHZhciBjb250cm9sbGVyOwogCi0gICAg
c2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgd29ya2VyX3VybCwgc2Nv
cGUpCisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQs
IHdvcmtlcl91cmwsIHNjb3BlKQogICAgICAgLnRoZW4oZnVuY3Rpb24ocikgeworICAgICAgICAg
IHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0pOworCiAgICAgICAg
ICAgcmVnaXN0cmF0aW9uID0gcjsKICAgICAgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwg
ci5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCkBAIC0xMjUsMTggKzEzNSwy
MCBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgY29udHJvbGxlciwK
ICAgICAgICAgICAgICAgJ3RoZSB3b3JrZXIgZnJvbSB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGlz
IHRoZSBjb250cm9sbGVyJyk7CiAgICAgICAgICAgaWZyYW1lLnJlbW92ZSgpOwotICAgICAgICAg
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9
KQotICAgICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAg
fSwgJ1VucmVnaXN0ZXIgdGhlbiByZWdpc3RlciBkb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgY29u
dHJvbGxlZScpOwogCi1hc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKK3Byb21pc2VfdGVzdChmdW5j
dGlvbih0KSB7CiAgICAgdmFyIHNjb3BlID0gJ3Jlc291cmNlcy9zY29wZS9yZXN1cnJlY3Rpb24n
OwogICAgIHZhciBpZnJhbWU7CiAgICAgdmFyIHJlZ2lzdHJhdGlvbjsKIAotICAgIHNlcnZpY2Vf
d29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtlcl91cmwsIHNjb3BlKQorICAg
IHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCB3b3JrZXJf
dXJsLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsKKyAgICAgICAgICB0LmFkZF9j
bGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1cm4gc2VydmljZV93b3JrZXJf
dW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsKKwogICAgICAgICAgIHJlZ2lz
dHJhdGlvbiA9IHI7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFs
bGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQpAQCAtMTU5LDggKzE3MSw2IEBAIGFzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAgICAgICBmcmFtZS5jb250ZW50V2luZG93Lm5h
dmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIsIG51bGwsCiAgICAgICAgICAgICAgICdk
b2N1bWVudCBzaG91bGQgaGF2ZSBhIGNvbnRyb2xsZXInKTsKICAgICAgICAgICBmcmFtZS5yZW1v
dmUoKTsKLSAgICAgICAgICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNj
b3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsK
KyAgICAgICAgfSk7CiAgIH0sICdVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzdXJyZWN0cyB0
aGUgcmVnaXN0cmF0aW9uJyk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3VwZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1mZXRjaC1ldmVudC5odHRwcy5o
dG1sCmluZGV4IDA0Y2Q5OTYwZmM2M2IwZmFkM2ZmYzMzMjRjNTRmNzVlNzVjMDBmNDMuLmZmNTFm
N2Y5MDJjN2JmN2MyN2UwOTk2YzYxYmIwNmVkZWM2ZmNlODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3VwZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tZmV0Y2gtZXZl
bnQuaHR0cHMuaHRtbApAQCAtMSwzNCArMSw5MSBAQAogPCFET0NUWVBFIGh0bWw+Ci08dGl0bGU+
U2VydmljZSBXb3JrZXI6IFVwZGF0ZSBzaG91bGQgYmUgdHJpZ2dlcmVkIGFmdGVyIGEgbmF2aWdh
dGlvbiBmZXRjaCBldmVudC48L3RpdGxlPgorPG1ldGEgbmFtZT10aW1lb3V0IGNvbnRlbnQ9bG9u
Zz4KKzx0aXRsZT5TZXJ2aWNlIFdvcmtlcjogVXBkYXRlIHNob3VsZCBiZSB0cmlnZ2VyZWQgYWZ0
ZXIgYSBuYXZpZ2F0aW9uPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1
Yi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgogCi1wcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewot
ICAgIHZhciBzY3JpcHQgPSAncmVzb3VyY2VzL3VwZGF0ZS1ub2Nvb2tpZS13b3JrZXIucHknOwot
ICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2NvcGUvdXBkYXRlJzsKLSAgICB2YXIgcGFyc2Vk
X3VybCA9IG5vcm1hbGl6ZVVSTChzY3JpcHQpOwotICAgIHZhciByZWdpc3RyYXRpb247Ci0gICAg
dmFyIGZyYW1lOwotCi0gICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3Jl
Z2lzdGVyKHQsIHBhcnNlZF91cmwsIHNjb3BlKQotICAgICAgLnRoZW4oZnVuY3Rpb24ocikgewot
ICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IHI7Ci0gICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0
YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7Ci0gICAgICAgIH0p
Ci0gICAgICAudGhlbihmdW5jdGlvbigpIHsKLSAgICAgICAgICAvLyBOYXZpZ2F0aW9uIHRvIHRo
ZSBpZnJhbWUuCi0gICAgICAgICAgcmV0dXJuIHdpdGhfaWZyYW1lKHNjb3BlKTsKLSAgICAgICAg
fSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKGYpIHsKLSAgICAgICAgICBmcmFtZSA9IGY7Ci0gICAg
ICAgICAgLy8gTmF2aWdhdGlvbiBmZXRjaCBldmVudCBzaG91bGQgdHJpZ2dlciB1cGRhdGUuCi0g
ICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3VwZGF0ZSh0LCByZWdpc3RyYXRpb24pOwotICAgICAg
IH0pCi0gICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgZnJhbWUucmVtb3ZlKCk7
Ci0gICAgICAgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwg
c2NvcGUpOwotICAgICAgIH0pCi0gIH0sICdVcGRhdGUgc2hvdWxkIGJlIHRyaWdnZXJlZCBhZnRl
ciBhIG5hdmlnYXRpb24gZmV0Y2ggZXZlbnQuJyk7Cithc3luYyBmdW5jdGlvbiBjbGVhbnVwKGZy
YW1lLCByZWdpc3RyYXRpb24pIHsKKyAgaWYgKGZyYW1lKQorICAgIGZyYW1lLnJlbW92ZSgpOwor
ICBpZiAocmVnaXN0cmF0aW9uKQorICAgYXdhaXQgcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsK
K30KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVzb3Vy
Y2VzL3VwZGF0ZV9zaGVsbC5weT9maWxlbmFtZT1lbXB0eS5qcyc7CisgIGNvbnN0IHNjb3BlID0g
J3Jlc291cmNlcy9zY29wZS91cGRhdGUnOworICBsZXQgcmVnaXN0cmF0aW9uOworICBsZXQgZnJh
bWU7CisKKyAgYXN5bmMgZnVuY3Rpb24gcnVuKCkgeworICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0
IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKAorICAgICAgICB0LCBzY3Jp
cHQsIHNjb3BlKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5z
dGFsbGluZywgJ2FjdGl2YXRlZCcpOworCisgICAgLy8gTmF2aWdhdGlvbiBzaG91bGQgdHJpZ2dl
ciB1cGRhdGUuCisgICAgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZShzY29wZSk7CisgICAgYXdh
aXQgd2FpdF9mb3JfdXBkYXRlKHQsIHJlZ2lzdHJhdGlvbik7CisgIH0KKworICB0cnkgeworICAg
IGF3YWl0IHJ1bigpOworICB9IGZpbmFsbHkgeworICAgIGF3YWl0IGNsZWFudXAoZnJhbWUsIHJl
Z2lzdHJhdGlvbik7CisgIH0KK30sICdVcGRhdGUgc2hvdWxkIGJlIHRyaWdnZXJlZCBhZnRlciBh
IG5hdmlnYXRpb24gKG5vIGZldGNoIGV2ZW50IHdvcmtlcikuJyk7CisKK3Byb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy91cGRhdGVfc2hlbGwucHk/
ZmlsZW5hbWU9c2ltcGxlLWludGVyY2VwdC13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9ICdy
ZXNvdXJjZXMvc2NvcGUvdXBkYXRlJzsKKyAgbGV0IHJlZ2lzdHJhdGlvbjsKKyAgbGV0IGZyYW1l
OworCisgIGFzeW5jIGZ1bmN0aW9uIHJ1bigpIHsKKyAgICByZWdpc3RyYXRpb24gPSBhd2FpdCBz
ZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3RlcigKKyAgICAgICAgdCwgc2NyaXB0
LCBzY29wZSk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3Rh
bGxpbmcsICdhY3RpdmF0ZWQnKTsKKworICAgIC8vIE5hdmlnYXRpb24gc2hvdWxkIHRyaWdnZXIg
dXBkYXRlIChuZXR3b3JrIGZhbGxiYWNrKS4KKyAgICBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1l
KHNjb3BlICsgJz9pZ25vcmUnKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl91cGRhdGUodCwgcmVnaXN0
cmF0aW9uKTsKKworICAgIC8vIE5hdmlnYXRpb24gc2hvdWxkIHRyaWdnZXIgdXBkYXRlIChyZXNw
b25kV2l0aCBjYWxsZWQpLgorICAgIGZyYW1lLnNyYyA9IHNjb3BlICsgJz9zdHJpbmcnOworICAg
IGF3YWl0IHdhaXRfZm9yX3VwZGF0ZSh0LCByZWdpc3RyYXRpb24pOworICB9CisKKyAgdHJ5IHsK
KyAgICBhd2FpdCBydW4oKTsKKyAgfSBmaW5hbGx5IHsKKyAgICBhd2FpdCBjbGVhbnVwKGZyYW1l
LCByZWdpc3RyYXRpb24pOworICB9Cit9LCAnVXBkYXRlIHNob3VsZCBiZSB0cmlnZ2VyZWQgYWZ0
ZXIgYSBuYXZpZ2F0aW9uIChmZXRjaCBldmVudCB3b3JrZXIpLicpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgIGNvbnN0IHNjcmlwdCA9ICdyZXNvdXJjZXMvdXBkYXRlX3NoZWxsLnB5
P2ZpbGVuYW1lPWVtcHR5LmpzJzsKKyAgY29uc3Qgc2NvcGUgPSAncmVzb3VyY2VzLyc7CisgIGxl
dCByZWdpc3RyYXRpb247CisgIGxldCBmcmFtZTsKKworICBhc3luYyBmdW5jdGlvbiBydW4oKSB7
CisgICAgcmVnaXN0cmF0aW9uID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRf
cmVnaXN0ZXIoCisgICAgICAgIHQsIHNjcmlwdCwgc2NvcGUpOworICAgIGF3YWl0IHdhaXRfZm9y
X3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgICAv
LyBOYXZpZ2F0aW9uIHNob3VsZCB0cmlnZ2VyIHVwZGF0ZS4gRG9uJ3QgdXNlIHdpdGhfaWZyYW1l
IGFzIGl0IHdhaXRzIGZvcgorICAgIC8vIHRoZSBvbmxvYWQgZXZlbnQuCisgICAgZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTsKKyAgICBmcmFtZS5zcmMgPSAncmVzb3Vy
Y2VzL21hbGZvcm1lZC1odHRwLXJlc3BvbnNlLmFzaXMnOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZnJhbWUpOworICAgIGF3YWl0IHdhaXRfZm9yX3VwZGF0ZSh0LCByZWdpc3RyYXRp
b24pOworICB9CisKKyAgdHJ5IHsKKyAgICBhd2FpdCBydW4oKTsKKyAgfSBmaW5hbGx5IHsKKyAg
ICBhd2FpdCBjbGVhbnVwKGZyYW1lLCByZWdpc3RyYXRpb24pOworICB9Cit9LCAnVXBkYXRlIHNo
b3VsZCBiZSB0cmlnZ2VyZWQgYWZ0ZXIgYSBuYXZpZ2F0aW9uIChuZXR3b3JrIGVycm9yKS4nKTsK
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5h
dmlnYXRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU1Y2M2MTM1Yjc1MDFhZjkyOTFmZTVjYmRiYWQxZjRmY2U4Y2IzNjYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mgc2VydmljZSB3
b3JrZXJzIGFyZSB1cGRhdGVkIG9uIHJlZGlyZWN0cyBkdXJpbmcgbmF2aWdhdGlvbiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmlnYXRpb24tcmVkaXJl
Y3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1hZnRlci1uYXZpZ2F0aW9u
LXJlZGlyZWN0Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzIxZTQwY2E5NDVlNzJhNTFkNmY0OTk0
ZGVmMmIxZDFhZWY5OTc1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3MyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2Vydmlj
ZSBXb3JrZXI6IFVwZGF0ZSBzaG91bGQgYmUgdHJpZ2dlcmVkIGFmdGVyIHJlZGlyZWN0cyBkdXJp
bmcgbmF2aWdhdGlvbjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAv
LyBUaGlzIHRlc3QgZG9lcyBhIG5hdmlnYXRpb24gdGhhdCBnb2VzIHRocm91Z2ggYSByZWRpcmVj
dCBjaGFpbi4gRWFjaAorICAvLyByZXF1ZXN0IGluIHRoZSBjaGFpbiBoYXMgYSBzZXJ2aWNlIHdv
cmtlci4gRWFjaCBzZXJ2aWNlIHdvcmtlciBoYXMgbm8KKyAgLy8gZmV0Y2ggZXZlbnQgaGFuZGxl
ci4gVGhlIHJlZGlyZWN0cyBhcmUgcGVyZm9ybWVkIGJ5IHJlZGlyZWN0LnB5LgorICBjb25zdCBz
Y3JpcHQgPSAncmVzb3VyY2VzL3VwZGF0ZS1ub2Nvb2tpZS13b3JrZXIucHknOworICBjb25zdCBz
Y29wZTEgPSAncmVzb3VyY2VzL3JlZGlyZWN0LnB5P3Njb3BlMSc7CisgIGNvbnN0IHNjb3BlMiA9
ICdyZXNvdXJjZXMvcmVkaXJlY3QucHk/c2NvcGUyJzsKKyAgY29uc3Qgc2NvcGUzID0gJ3Jlc291
cmNlcy9lbXB0eS5odG1sJzsKKyAgbGV0IHJlZ2lzdHJhdGlvbjE7CisgIGxldCByZWdpc3RyYXRp
b24yOworICBsZXQgcmVnaXN0cmF0aW9uMzsKKyAgbGV0IGZyYW1lOworCisgIGFzeW5jIGZ1bmN0
aW9uIGNsZWFudXAoKSB7CisgICAgaWYgKGZyYW1lKQorICAgICAgZnJhbWUucmVtb3ZlKCk7Cisg
ICAgaWYgKHJlZ2lzdHJhdGlvbjEpCisgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uMS51bnJlZ2lz
dGVyKCk7CisgICAgaWYgKHJlZ2lzdHJhdGlvbjIpCisgICAgICByZXR1cm4gcmVnaXN0cmF0aW9u
Mi51bnJlZ2lzdGVyKCk7CisgICAgaWYgKHJlZ2lzdHJhdGlvbjMpCisgICAgICByZXR1cm4gcmVn
aXN0cmF0aW9uMy51bnJlZ2lzdGVyKCk7CisgIH0KKworICBhc3luYyBmdW5jdGlvbiBtYWtlX2Fj
dGl2ZV9yZWdpc3RyYXRpb24oc2NvcGUpIHsKKyAgICBjb25zdCByZWdpc3RyYXRpb24gPQorICAg
ICAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBzY3Jp
cHQsIHNjb3BlKTsKKyAgICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0LCByZWdpc3RyYXRpb24uaW5z
dGFsbGluZywgJ2FjdGl2YXRlZCcpOworICAgIHJldHVybiByZWdpc3RyYXRpb247CisgIH0KKwor
ICBhc3luYyBmdW5jdGlvbiBydW4oKSB7CisgICAgLy8gTWFrZSB0aGUgcmVnaXN0cmF0aW9ucy4K
KyAgICByZWdpc3RyYXRpb24xID0gYXdhaXQgbWFrZV9hY3RpdmVfcmVnaXN0cmF0aW9uKHNjb3Bl
MSk7CisgICAgcmVnaXN0cmF0aW9uMiA9IGF3YWl0IG1ha2VfYWN0aXZlX3JlZ2lzdHJhdGlvbihz
Y29wZTIpOworICAgIHJlZ2lzdHJhdGlvbjMgPSBhd2FpdCBtYWtlX2FjdGl2ZV9yZWdpc3RyYXRp
b24oc2NvcGUzKTsKKworICAgIC8vIE1ha2UgdGhlIHByb21pc2VzIHRoYXQgcmVzb2x2ZSBvbiB1
cGRhdGUuCisgICAgY29uc3Qgc2F3X3VwZGF0ZTEgPSB3YWl0X2Zvcl91cGRhdGUodCwgcmVnaXN0
cmF0aW9uMSk7CisgICAgY29uc3Qgc2F3X3VwZGF0ZTIgPSB3YWl0X2Zvcl91cGRhdGUodCwgcmVn
aXN0cmF0aW9uMik7CisgICAgY29uc3Qgc2F3X3VwZGF0ZTMgPSB3YWl0X2Zvcl91cGRhdGUodCwg
cmVnaXN0cmF0aW9uMyk7CisKKyAgICAvLyBDcmVhdGUgYSBVUkwgZm9yIHRoZSByZWRpcmVjdCBj
aGFpbjogc2NvcGUxIC0+IHNjb3BlMiAtPiBzY29wZTMuCisgICAgLy8gQnVpbGQgdGhlIFVSTCBp
biByZXZlcnNlIG9yZGVyLgorICAgIGxldCB1cmwgPSBgJHtiYXNlX3BhdGgoKX0ke3Njb3BlM31g
OworICAgIHVybCA9IGAke2Jhc2VfcGF0aCgpfSR7c2NvcGUyfSZSZWRpcmVjdD0ke2VuY29kZVVS
SUNvbXBvbmVudCh1cmwpfWAKKyAgICB1cmwgPSBgJHtiYXNlX3BhdGgoKX0ke3Njb3BlMX0mUmVk
aXJlY3Q9JHtlbmNvZGVVUklDb21wb25lbnQodXJsKX1gCisKKyAgICAvLyBOYXZpZ2F0ZSB0byB0
aGUgVVJMLgorICAgIGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUodXJsKTsKKworICAgIC8vIEVh
Y2ggcmVnaXN0cmF0aW9uIHNob3VsZCB1cGRhdGUuCisgICAgYXdhaXQgc2F3X3VwZGF0ZTE7Cisg
ICAgYXdhaXQgc2F3X3VwZGF0ZTI7CisgICAgYXdhaXQgc2F3X3VwZGF0ZTM7CisgIH0KKworICB0
cnkgeworICAgIGF3YWl0IHJ1bigpOworICB9IGZpbmFsbHkgeworICAgIGF3YWl0IGNsZWFudXAo
KTsKKyAgfQorfSwgJ3NlcnZpY2Ugd29ya2VycyBhcmUgdXBkYXRlZCBvbiByZWRpcmVjdHMgZHVy
aW5nIG5hdmlnYXRpb24nKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5odHRwcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRmOGJmOGNjZTUxN2Y0Y2JkNjRmZDNjNmUyN2ZmZjgwMzFm
MWQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1taXNzaW5n
LWltcG9ydC1zY3JpcHRzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFT
UyBJbml0aWFsaXplIGdsb2JhbCBzdGF0ZSAKK1BBU1MgVXBkYXRlIHNlcnZpY2Ugd29ya2VyIHdp
dGggbmV3IHNjcmlwdCB0aGF0J3MgbWlzc2luZyBpbXBvcnRTY3JpcHRzKCkgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1taXNzaW5nLWltcG9ydC1zY3JpcHRzLmh0dHBz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbWlzc2luZy1pbXBvcnQtc2NyaXB0cy5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZThiZmFjNzUxZTgzNWFmOGU1NDNmYzUyODk2OTdjMTVh
YzExOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbWlzc2lu
Zy1pbXBvcnQtc2NyaXB0cy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPHRpdGxlPlNlcnZpY2UgV29ya2VyOiB1cGRhdGUgd2l0aCBtaXNzaW5nIGltcG9ydFNj
cmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PHNjcmlwdD4KKy8qKgorICogVGVzdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnVwZGF0ZSgp
IHdoZW4gaW1wb3J0U2NyaXB0cyBpbiBhIHNlcnZpY2Ugd29ya2VyCisgKiBzY3JpcHQgaXMgbm8g
bG9uZ2VyIGF2YWlsYWJsZSAoYnV0IHdhcyBpbml0aWFsbHkpLgorICovCitsZXQgcmVnaXN0cmF0
aW9uID0gbnVsbDsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgIGNvbnN0IHNj
cmlwdCA9IGByZXNvdXJjZXMvdXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMtbWFpbi13b3Jr
ZXIucHk/a2V5PSR7dG9rZW4oKX1gOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvdXBkYXRl
LW1pc3NpbmctaW1wb3J0LXNjcmlwdHMnOworCisgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHNjcmlwdCwgc2NvcGUpOwor
CisgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgpID0+IHsgcmVnaXN0cmF0aW9uLnVucmVnaXN0
ZXIoKTsgfSk7CisKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodGVzdCwgcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKK30sICdJbml0aWFsaXplIGdsb2JhbCBzdGF0ZScpOwor
Citwcm9taXNlX3Rlc3QodGVzdCA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICByZWdpc3RyYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigndXBkYXRlZm91bmQnLCByZXNv
bHZlKTsKKyAgICByZWdpc3RyYXRpb24udXBkYXRlKCk7CisgIH0pOworfSwgJ1VwZGF0ZSBzZXJ2
aWNlIHdvcmtlciB3aXRoIG5ldyBzY3JpcHQgdGhhdFwncyBtaXNzaW5nIGltcG9ydFNjcmlwdHMo
KScpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91
cGRhdGUtbm90LWFsbG93ZWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dXBkYXRlLW5vdC1hbGxvd2VkLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTU5YWNk
NWJiYWY4OTkyMjRiNzI0OWIxYjZiNmQzMGQ2NDlmYjIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvdXBkYXRlLW5vdC1hbGxvd2VkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisK
K1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi51cGRhdGUoKSBmcm9tIGNsaWVudCB0aHJv
d3Mgd2hpbGUgaW5zdGFsbGluZyBzZXJ2aWNlIHdvcmtlci4gCitUSU1FT1VUIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24udXBkYXRlKCkgZnJvbSBpbnN0YWxsaW5nIHNlcnZpY2Ugd29ya2VyIHRo
cm93cy4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBk
YXRlLW5vdC1hbGxvd2VkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtbm90
LWFsbG93ZWQuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MWZlMTczMGUwZDY4ZTRlN2UwOTQ5Y2Zh
NDA4ZDNjMmQ0ZWQ5ZDM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBk
YXRlLW5vdC1hbGxvd2VkLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworYXN5bmMgZnVuY3Rpb24gc3Bpbl91cF9zZXJ2aWNlX3dv
cmtlcih0ZXN0KSB7CisgICAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy91cGRhdGUtZHVyaW5n
LWluc3RhbGxhdGlvbi13b3JrZXIuanMnOworICAgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy9i
bGFuay5odG1sJzsKKworICAgIGxldCByZWdpc3RyYXRpb24gPSBhd2FpdCBzZXJ2aWNlX3dvcmtl
cl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0ZXN0LCBzY3JpcHQsIHNjb3BlKTsKKyAgICB0ZXN0
LmFkZF9jbGVhbnVwKCgpID0+IHsKKyAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5n
KSB7CisgICAgICAgICAgICByZWdpc3RyYXRpb24uaW5zdGFsbGluZy5wb3N0TWVzc2FnZSgnZmlu
aXNoSW5zdGFsbCcpOworICAgICAgICB9CisgICAgICAgIHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVy
KCk7CisgICAgfSk7CisKKyAgICByZXR1cm4gcmVnaXN0cmF0aW9uOworfQorCitwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc3Bpbl91cF9z
ZXJ2aWNlX3dvcmtlcih0KTsKKyAgICBjb25zdCB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFs
bGluZzsKKworICAgIC8vIHNwaW5fdXBfc2VydmljZV93b3JrZXIgaW5zdGFsbHMgYSBjbGVhbnVw
IGhvb2sgdGhhdCBlbnN1cmVzIHRoZQorICAgIC8vIHdvcmtlciBmaW5pc2hlZCBpdHMgaW5zdGFs
bGF0aW9uIGJ5IHNlbmRpbmcgaXQgYQorICAgIC8vICdmaW5pc2hJbnN0YWxsJyBtZXNzYWdlLCB0
aHVzIG1ha2luZyBzdXJlIHRoYXQgdGhlIHJlZ2lzdHJhdGlvbgorICAgIC8vIHdpbGwgYmUgY2xl
YW5seSByZW1vdmVkIGF0IHRoZSBlbmQgb2YgdGhlIHRlc3QuCisgICAgYXNzZXJ0X2VxdWFscyh3
b3JrZXIuc3RhdGUsICdpbnN0YWxsaW5nJyk7CisgICAgcHJvbWlzZV9yZWplY3RzKHQsICdJbnZh
bGlkU3RhdGVFcnJvcicsIHJlZ2lzdHJhdGlvbi51cGRhdGUoKSk7Cit9LCAnU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbi51cGRhdGUoKSBmcm9tIGNsaWVudCB0aHJvd3Mgd2hpbGUgaW5zdGFsbGlu
ZyBzZXJ2aWNlIHdvcmtlci4nKQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29u
c3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgc3Bpbl91cF9zZXJ2aWNlX3dvcmtlcih0KTsKKyAgICBj
b25zdCB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICB3b3JrZXIucG9zdE1l
c3NhZ2UoJ2ZpbmlzaEluc3RhbGwnKTsKKworICAgIC8vIEJ5IHdhaXRpbmcgZm9yIGJvdGggc3Rh
dGVzIGF0IHRoZSBzYW1lIHRpbWUsIHRoZSB0ZXN0IGZhaWxzCisgICAgLy8gcXVpY2tseSBpZiB0
aGUgaW5zdGFsbGF0aW9uIGZhaWxzLCBhdm9pZGluZyBhIHRpbWVvdXQuCisgICAgYXdhaXQgUHJv
bWlzZS5yYWNlKFt3YWl0X2Zvcl9zdGF0ZSh0LCB3b3JrZXIsICdhY3RpdmF0ZWQnKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ3JlZHVuZGFudCcp
XSk7CisgICAgYXNzZXJ0X2VxdWFscyh3b3JrZXIuc3RhdGUsICdhY3RpdmF0ZWQnLCAnU2Vydmlj
ZSB3b3JrZXIgc2hvdWxkIGJlIGFjdGl2YXRlZC4nKTsKKworICAgIGNvbnN0IHJlc3BvbnNlID0g
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLm9ubWVzc2FnZSA9IGV2ZW50ID0+IHsgcmVzb2x2ZShldmVudC5kYXRhKTsgfTsKKyAg
ICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKCdQSU5HJyk7CisgICAgfSk7CisKKyAgICAvLyBXZSBj
aGVjayB0aGF0IHRoZSBzZXJ2aWNlIHdvcmtlciBpbnN0YW5jZSB0aGF0IHJlcGxpZWQgdG8gdGhl
CisgICAgLy8gbWVzc2FnZSBpcyB0aGUgc2FtZSBvbmUgdGhhdCByZWNlaXZlZCB0aGUgJ2luc3Rh
bGwnIGV2ZW50IHNpbmNlCisgICAgLy8gaXQncyBwb3NzaWJsZSBmb3IgdGhlbSB0byBiZSB0d28g
ZGlzdGluY3QgZXhlY3V0aW9uCisgICAgLy8gZW52aXJvbm1lbnRzLgorICAgIGFzc2VydF90cnVl
KHJlc3BvbnNlLmluc3RhbGxFdmVudEZpcmVkLCAnU2VydmljZSB3b3JrZXIgc2hvdWxkIGhhdmUg
YmVlbiBpbnN0YWxsZWQuJyk7CisgICAgYXNzZXJ0X2VxdWFscyhyZXNwb25zZS5leGNlcHRpb24s
ICdJbnZhbGlkU3RhdGVFcnJvcicsICd1cGRhdGUoKSBzaG91bGQgaGF2ZSB0aHJvd24uJyk7Cit9
LCAnU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi51cGRhdGUoKSBmcm9tIGluc3RhbGxpbmcgc2Vy
dmljZSB3b3JrZXIgdGhyb3dzLicpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91cGRhdGUtcmVjb3ZlcnkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1yZWNvdmVyeS5odHRwcy5odG1sCmluZGV4IDNiM2Q5NTViMTQyYmZmNjdjM2QyYzJhMmQx
NzQyODg4YzY2MWM2OWQuLjE3NjA4ZDJlZjc5MGUyZWE5N2E0M2Y1NmI4NmEyOGVmMGU2NDc2MDQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWNvdmVyeS5odHRwcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWNvdmVyeS5odHRwcy5odG1sCkBAIC01
LDcgKzUsNyBAQAogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0aGFybmVzcy1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Citwcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgewogICAgIHZhciBzY29wZSA9ICdyZXNvdXJjZXMvc2ltcGxlLnR4dCc7
CiAgICAgdmFyIHdvcmtlcl91cmwgPSAncmVzb3VyY2VzL3VwZGF0ZS1yZWNvdmVyeS13b3JrZXIu
cHknOwogICAgIHZhciBleHBlY3RlZF91cmwgPSBub3JtYWxpemVVUkwod29ya2VyX3VybCk7CkBA
IC00Niw4ICs0NiwxMiBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgIH0pOwogICAg
IH0KIAotICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHQsIHdvcmtl
cl91cmwsIHNjb3BlKQorICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9y
ZWdpc3Rlcih0LCB3b3JrZXJfdXJsLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHIpIHsK
KyAgICAgICAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICByZXR1
cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgICAgICAgICAgICB9KTsK
KwogICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IHI7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9y
X3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAg
IH0pCkBAIC02NCw4ICs2OCw2IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgICAgICAg
IGFzc2VydF9lcXVhbHMoZnJhbWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5jb250cm9sbGVyLnNjcmlwdFVSTCwKICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVk
X3VybCk7CiAgICAgICAgICAgZnJhbWUucmVtb3ZlKCk7Ci0gICAgICAgICAgcmV0dXJuIHNlcnZp
Y2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwgc2NvcGUpOwotICAgICAgICB9KQotICAg
ICAgLmNhdGNoKHVucmVhY2hlZF9yZWplY3Rpb24odCkpOworICAgICAgICB9KTsKICAgfSwgJ1Jl
Y292ZXIgZnJvbSBhIGJhZCBzZXJ2aWNlIHdvcmtlciBieSB1cGRhdGluZyBhZnRlciBhIGZhaWxl
ZCBuYXZpZ2F0aW9uLicpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5odHRwcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzFjYzczN2EwZjgzNDdiZjE0NTUwOTA5YTJkZTZmZTQ4NTljNzcz
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZWdpc3RyYXRp
b24td2l0aC10eXBlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworRkFJTCBV
cGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBlIChjbGFz
c2ljID0+IG1vZHVsZSkuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBndWlkIgor
RkFJTCBVcGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBl
IChtb2R1bGUgPT4gY2xhc3NpYykuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBn
dWlkIgorUEFTUyBVcGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlw
dCB0eXBlIChjbGFzc2ljID0+IG1vZHVsZSkgYW5kIHdpdGggYSBzYW1lIG1haW4gc2NyaXB0LiAK
K1BBU1MgVXBkYXRlIHRoZSByZWdpc3RyYXRpb24gd2l0aCBhIGRpZmZlcmVudCBzY3JpcHQgdHlw
ZSAobW9kdWxlID0+IGNsYXNzaWMpIGFuZCB3aXRoIGEgc2FtZSBtYWluIHNjcmlwdC4gCitQQVNT
IERvZXMgbm90IHVwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggdGhlIHNhbWUgc2NyaXB0IHR5
cGUgYW5kIHRoZSBzYW1lIG1haW4gc2NyaXB0LiAKK0ZBSUwgVXBkYXRlIHRoZSByZWdpc3RyYXRp
b24gd2l0aCBhIGRpZmZlcmVudCBzY3JpcHQgdHlwZSAoY2xhc3NpYyA9PiBtb2R1bGUpIGFuZCB3
aXRoIGEgc2FtZSBtYWluIHNjcmlwdC4gRXhwZWN0IGV2YWx1YXRpb24gZmFpbGVkLiBhc3NlcnRf
dW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogUmVnaXN0ZXJpbmcgd2l0aCBpbnZhbGlk
IGV2YWx1YXRpb24gc2hvdWxkIGJlIGZhaWxlZC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitG
QUlMIFVwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUg
KG1vZHVsZSA9PiBjbGFzc2ljKSBhbmQgd2l0aCBhIHNhbWUgbWFpbiBzY3JpcHQuIEV4cGVjdCBl
dmFsdWF0aW9uIGZhaWxlZC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAn
KicuIGltcG9ydCBjYWxsIGV4cGVjdHMgZXhhY3RseSBvbmUgYXJndW1lbnQuIgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZS5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNzEyYzMwZjcxZTlhODFhMjgzMmMwY2Q1YWZlN2Y1NjMw
ZTM0MDcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlZ2lz
dHJhdGlvbi13aXRoLXR5cGUuaHR0cHMuaHRtbApAQCAtMCwwICsxLDIwOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+U2VydmljZSBXb3JrZXI6IFVw
ZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUuPC90aXRs
ZT4KKzwhLS0gY29tbW9uLmpzIGlzIGZvciBndWlkKCkgLS0+Cis8c2NyaXB0IHNyYz0iL21peGVk
LWNvbnRlbnQvZ2VuZXJpYy9jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90
ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBUaGUgZm9sbG93aW5n
IHR3byB0ZXN0cyBjaGVjayB0aGF0IGEgcmVnaXN0cmF0aW9uIGlzIHVwZGF0ZWQgY29ycmVjdGx5
CisvLyB3aXRoIGRpZmZlcmVudCBzY3JpcHQgdHlwZS4gQXQgZmlyc3QgU2VydmljZSBXb3JrZXIg
aXMgcmVnaXN0ZXJlZCBhcworLy8gY2xhc3NpYyBzY3JpcHQgdHlwZSwgdGhlbiBpdCBpcyByZS1y
ZWdpc3RlcmVkIGFzIG1vZHVsZSBzY3JpcHQgdHlwZSwKKy8vIGFuZCB2aWNlIHZlcnNhLiBBIG1h
aW4gc2NyaXB0IGlzIGFsc28gdXBkYXRlZCBhdCB0aGUgc2FtZSB0aW1lLgorcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICBjb25zdCBrZXkgPSBndWlkKCk7CisgIGNvbnN0IHNjcmlwdCA9IGBy
ZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUucHk/Y2xhc3NpY19maXJzdD0x
JmtleT0ke2tleX1gOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJh
dGlvbi13aXRoLXR5cGUnOworICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNj
b3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQs
IHNjb3BlKSk7CisKKyAgLy8gUmVnaXN0ZXIgd2l0aCBjbGFzc2ljIHNjcmlwdCB0eXBlLgorICBj
b25zdCBmaXJzdFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJl
Z2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnY2xhc3NpYycK
KyAgfSk7CisgIGNvbnN0IGZpcnN0V29ya2VyID0gZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFsbGlu
ZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgZmlyc3RXb3JrZXIsICdhY3RpdmF0ZWQnKTsK
KyAgZmlyc3RXb3JrZXIucG9zdE1lc3NhZ2UoJyAnKTsKKyAgbGV0IG1zZ0V2ZW50ID0gYXdhaXQg
bmV3IFByb21pc2UociA9PiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByKTsK
KyAgYXNzZXJ0X2VxdWFscyhtc2dFdmVudC5kYXRhLCAnQSBjbGFzc2ljIHNjcmlwdC4nKTsKKwor
ICAvLyBSZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZS4KKyAgY29uc3Qgc2Vjb25k
UmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2Ny
aXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAgIHR5cGU6ICdtb2R1bGUnCisgIH0pOworICBj
b25zdCBzZWNvbmRXb3JrZXIgPSBzZWNvbmRSZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgc2Vj
b25kV29ya2VyLnBvc3RNZXNzYWdlKCcgJyk7CisgIG1zZ0V2ZW50ID0gYXdhaXQgbmV3IFByb21p
c2UociA9PiBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2UgPSByKTsKKyAgYXNzZXJ0
X2VxdWFscyhtc2dFdmVudC5kYXRhLCAnQSBtb2R1bGUgc2NyaXB0LicpOworCisgIGFzc2VydF9u
b3RfZXF1YWxzKGZpcnN0V29ya2VyLCBzZWNvbmRXb3JrZXIpOworICBhc3NlcnRfZXF1YWxzKGZp
cnN0UmVnaXN0cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24pOworfSwgJ1VwZGF0ZSB0aGUgcmVn
aXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKGNsYXNzaWMgPT4gbW9kdWxl
KS4nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBrZXkgPSBndWlkKCk7
CisgIGNvbnN0IHNjcmlwdCA9IGByZXNvdXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5
cGUucHk/Y2xhc3NpY19maXJzdD0wJmtleT0ke2tleX1gOworICBjb25zdCBzY29wZSA9ICdyZXNv
dXJjZXMvdXBkYXRlLXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUnOworICBhd2FpdCBzZXJ2aWNlX3dv
cmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKSk7CisKKyAgLy8gUmVnaXN0ZXIgd2l0aCBtb2R1
bGUgc2NyaXB0IHR5cGUuCisgIGNvbnN0IGZpcnN0UmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAor
ICAgIHR5cGU6ICdtb2R1bGUnCisgIH0pOworICBjb25zdCBmaXJzdFdvcmtlciA9IGZpcnN0UmVn
aXN0cmF0aW9uLmluc3RhbGxpbmc7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIGZpcnN0V29y
a2VyLCAnYWN0aXZhdGVkJyk7CisgIGZpcnN0V29ya2VyLnBvc3RNZXNzYWdlKCcgJyk7CisgIGxl
dCBtc2dFdmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gbmF2aWdhdG9yLnNlcnZpY2VXb3Jr
ZXIub25tZXNzYWdlID0gcik7CisgIGFzc2VydF9lcXVhbHMobXNnRXZlbnQuZGF0YSwgJ0EgbW9k
dWxlIHNjcmlwdC4nKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5
cGUuCisgIGNvbnN0IHNlY29uZFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAn
Y2xhc3NpYycKKyAgfSk7CisgIGNvbnN0IHNlY29uZFdvcmtlciA9IHNlY29uZFJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nOworICBzZWNvbmRXb3JrZXIucG9zdE1lc3NhZ2UoJyAnKTsKKyAgbXNnRXZl
bnQgPSBhd2FpdCBuZXcgUHJvbWlzZShyID0+IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVz
c2FnZSA9IHIpOworICBhc3NlcnRfZXF1YWxzKG1zZ0V2ZW50LmRhdGEsICdBIGNsYXNzaWMgc2Ny
aXB0LicpOworCisgIGFzc2VydF9ub3RfZXF1YWxzKGZpcnN0V29ya2VyLCBzZWNvbmRXb3JrZXIp
OworICBhc3NlcnRfZXF1YWxzKGZpcnN0UmVnaXN0cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24p
OworfSwgJ1VwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5
cGUgKG1vZHVsZSA9PiBjbGFzc2ljKS4nKTsKKworLy8gVGhlIGZvbGxvd2luZyB0d28gdGVzdHMg
Y2hhbmdlIHRoZSBzY3JpcHQgdHlwZSB3aGlsZSBrZWVwaW5nCisvLyB0aGUgc2NyaXB0IGlkZW50
aWNhbC4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291
cmNlcy9lbXB0eS13b3JrZXIuanMnOworICBjb25zdCBzY29wZSA9ICdyZXNvdXJjZXMvdXBkYXRl
LXJlZ2lzdHJhdGlvbi13aXRoLXR5cGUnOworICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lz
dGVyKHQsIHNjb3BlKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBzZXJ2aWNlX3dvcmtlcl91bnJl
Z2lzdGVyKHQsIHNjb3BlKSk7CisKKyAgLy8gUmVnaXN0ZXIgd2l0aCBjbGFzc2ljIHNjcmlwdCB0
eXBlLgorICBjb25zdCBmaXJzdFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNl
V29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAn
Y2xhc3NpYycKKyAgfSk7CisgIGNvbnN0IGZpcnN0V29ya2VyID0gZmlyc3RSZWdpc3RyYXRpb24u
aW5zdGFsbGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgZmlyc3RXb3JrZXIsICdhY3Rp
dmF0ZWQnKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZS4KKyAg
Y29uc3Qgc2Vjb25kUmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIu
cmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAgIHR5cGU6ICdtb2R1bGUn
CisgIH0pOworICBjb25zdCBzZWNvbmRXb3JrZXIgPSBzZWNvbmRSZWdpc3RyYXRpb24uaW5zdGFs
bGluZzsKKworICBhc3NlcnRfbm90X2VxdWFscyhmaXJzdFdvcmtlciwgc2Vjb25kV29ya2VyKTsK
KyAgYXNzZXJ0X2VxdWFscyhmaXJzdFJlZ2lzdHJhdGlvbiwgc2Vjb25kUmVnaXN0cmF0aW9uKTsK
K30sICdVcGRhdGUgdGhlIHJlZ2lzdHJhdGlvbiB3aXRoIGEgZGlmZmVyZW50IHNjcmlwdCB0eXBl
IChjbGFzc2ljID0+IG1vZHVsZSkgJworICAgICsgJ2FuZCB3aXRoIGEgc2FtZSBtYWluIHNjcmlw
dC4nKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVz
b3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy91cGRh
dGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZSc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXIodCwgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXIodCwgc2NvcGUpKTsKKworICAvLyBSZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQg
dHlwZS4KKyAgY29uc3QgZmlyc3RSZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHsKKyAgICBzY29wZTogc2NvcGUsCisgICAgdHlwZTog
J21vZHVsZScKKyAgfSk7CisgIGNvbnN0IGZpcnN0V29ya2VyID0gZmlyc3RSZWdpc3RyYXRpb24u
aW5zdGFsbGluZzsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgZmlyc3RXb3JrZXIsICdhY3Rp
dmF0ZWQnKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUuCisg
IGNvbnN0IHNlY29uZFJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2Vy
LnJlZ2lzdGVyKHNjcmlwdCwgeworICAgIHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnY2xhc3Np
YycKKyAgfSk7CisgIGNvbnN0IHNlY29uZFdvcmtlciA9IHNlY29uZFJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nOworCisgIGFzc2VydF9ub3RfZXF1YWxzKGZpcnN0V29ya2VyLCBzZWNvbmRXb3JrZXIp
OworICBhc3NlcnRfZXF1YWxzKGZpcnN0UmVnaXN0cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24p
OworfSwgJ1VwZGF0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5
cGUgKG1vZHVsZSA9PiBjbGFzc2ljKSAnCisgICAgKyAnYW5kIHdpdGggYSBzYW1lIG1haW4gc2Ny
aXB0LicpOworCisvLyBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgYSByZWdpc3RyYXRpb24gaXMgbm90
IHVwZGF0ZWQgd2l0aCB0aGUgc2FtZSBzY3JpcHQKKy8vIHR5cGUgYW5kIHRoZSBzYW1lIG1haW4g
c2NyaXB0LgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBzY3JpcHQgPSAncmVz
b3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy91cGRh
dGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlwZSc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVn
aXN0ZXIodCwgc2NvcGUpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3Vu
cmVnaXN0ZXIodCwgc2NvcGUpKTsKKworICAvLyBSZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQg
dHlwZS4KKyAgY29uc3QgZmlyc3RSZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHsKKyAgICBzY29wZTogc2NvcGUsCisgICAgdHlwZTog
J21vZHVsZScKKyAgfSk7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIGZpcnN0UmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIG1v
ZHVsZSBzY3JpcHQgdHlwZS4KKyAgY29uc3Qgc2Vjb25kUmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3Bl
LAorICAgIHR5cGU6ICdtb2R1bGUnCisgIH0pOworICBhc3NlcnRfZXF1YWxzKHNlY29uZFJlZ2lz
dHJhdGlvbi5pbnN0YWxsaW5nLCBudWxsKTsKKworICBhc3NlcnRfZXF1YWxzKGZpcnN0UmVnaXN0
cmF0aW9uLCBzZWNvbmRSZWdpc3RyYXRpb24pOworfSwgJ0RvZXMgbm90IHVwZGF0ZSB0aGUgcmVn
aXN0cmF0aW9uIHdpdGggdGhlIHNhbWUgc2NyaXB0IHR5cGUgYW5kICcKKyAgICArICd0aGUgc2Ft
ZSBtYWluIHNjcmlwdC4nKTsKKworLy8gSW4gdGhlIGNhc2UgKGNsYXNzaWMgPT4gbW9kdWxlKSwg
YSB3b3JrZXIgc2NyaXB0IGNvbnRhaW5zIGltcG9ydFNjcmlwdHMoKQorLy8gdGhhdCBpcyBkaXNh
bGxvd2VkIG9uIG1vZHVsZSBzY3JpcHRzLCBzbyB0aGUgc2Vjb25kIHJlZ2lzdHJhdGlvbiBpcwor
Ly8gZXhwZWN0ZWQgdG8gZmFpbCBzY3JpcHQgZXZhbHVhdGlvbi4KK3Byb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9jbGFzc2ljLXdvcmtlci5qcyc7
CisgIGNvbnN0IHNjb3BlID0gJ3Jlc291cmNlcy91cGRhdGUtcmVnaXN0cmF0aW9uLXdpdGgtdHlw
ZSc7CisgIGF3YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpOworICB0LmFk
ZF9jbGVhbnVwKCgpID0+IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXIodCwgc2NvcGUpKTsKKwor
ICAvLyBSZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUuCisgIGNvbnN0IGZpcnN0UmVn
aXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0
LCB7CisgICAgc2NvcGU6IHNjb3BlLAorICAgIHR5cGU6ICdjbGFzc2ljJworICB9KTsKKyAgYXNz
ZXJ0X25vdF9lcXVhbHMoZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFsbGluZywgbnVsbCk7CisgIGF3
YWl0IHdhaXRfZm9yX3N0YXRlKHQsIGZpcnN0UmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3Rp
dmF0ZWQnKTsKKworICAvLyBSZS1yZWdpc3RlciB3aXRoIG1vZHVsZSBzY3JpcHQgdHlwZSBhbmQg
ZXhwZWN0IFR5cGVFcnJvci4KKyAgcmV0dXJuIHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVy
cm9yLCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHsKKyAgICBzY29w
ZTogc2NvcGUsCisgICAgdHlwZTogJ21vZHVsZScKKyAgfSksICdSZWdpc3RlcmluZyB3aXRoIGlu
dmFsaWQgZXZhbHVhdGlvbiBzaG91bGQgYmUgZmFpbGVkLicpOworfSwgJ1VwZGF0ZSB0aGUgcmVn
aXN0cmF0aW9uIHdpdGggYSBkaWZmZXJlbnQgc2NyaXB0IHR5cGUgKGNsYXNzaWMgPT4gbW9kdWxl
KSAnCisgICAgKyAnYW5kIHdpdGggYSBzYW1lIG1haW4gc2NyaXB0LiBFeHBlY3QgZXZhbHVhdGlv
biBmYWlsZWQuJyk7CisKKy8vIEluIHRoZSBjYXNlIChtb2R1bGUgPT4gY2xhc3NpYyksIGEgd29y
a2VyIHNjcmlwdCBjb250YWlucyBzdGF0aWMtaW1wb3J0CisvLyB0aGF0IGlzIGRpc2FsbG93ZWQg
b24gY2xhc3NpYyBzY3JpcHRzLCBzbyB0aGUgc2Vjb25kIHJlZ2lzdHJhdGlvbiBpcworLy8gZXhw
ZWN0ZWQgdG8gZmFpbCBzY3JpcHQgZXZhbHVhdGlvbi4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgY29uc3Qgc2NyaXB0ID0gJ3Jlc291cmNlcy9tb2R1bGUtd29ya2VyLmpzJzsKKyAgY29u
c3Qgc2NvcGUgPSAncmVzb3VyY2VzL3VwZGF0ZS1yZWdpc3RyYXRpb24td2l0aC10eXBlJzsKKyAg
YXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSk7CisgIHQuYWRkX2NsZWFu
dXAoKCkgPT4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcih0LCBzY29wZSkpOworCisgIC8vIFJl
Z2lzdGVyIHdpdGggbW9kdWxlIHNjcmlwdCB0eXBlLgorICBjb25zdCBmaXJzdFJlZ2lzdHJhdGlv
biA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHNjcmlwdCwgeworICAg
IHNjb3BlOiBzY29wZSwKKyAgICB0eXBlOiAnbW9kdWxlJworICB9KTsKKyAgYXNzZXJ0X25vdF9l
cXVhbHMoZmlyc3RSZWdpc3RyYXRpb24uaW5zdGFsbGluZywgbnVsbCk7CisgIGF3YWl0IHdhaXRf
Zm9yX3N0YXRlKHQsIGZpcnN0UmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsK
KworICAvLyBSZS1yZWdpc3RlciB3aXRoIGNsYXNzaWMgc2NyaXB0IHR5cGUgYW5kIGV4cGVjdCBU
eXBlRXJyb3IuCisgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgbmV3IFR5cGVFcnJvciwgbmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7CisgICAgc2NvcGU6IHNjb3Bl
LAorICAgIHR5cGU6ICdjbGFzc2ljJworICB9KSwgJ1JlZ2lzdGVyaW5nIHdpdGggaW52YWxpZCBl
dmFsdWF0aW9uIHNob3VsZCBiZSBmYWlsZWQuJyk7Cit9LCAnVXBkYXRlIHRoZSByZWdpc3RyYXRp
b24gd2l0aCBhIGRpZmZlcmVudCBzY3JpcHQgdHlwZSAobW9kdWxlID0+IGNsYXNzaWMpICcKKyAg
ICArICdhbmQgd2l0aCBhIHNhbWUgbWFpbiBzY3JpcHQuIEV4cGVjdCBldmFsdWF0aW9uIGZhaWxl
ZC4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dXBkYXRlLXJlc3VsdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRh
dGUtcmVzdWx0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWU5NDQ4OTQ0NWEwNWUx
YzE0Yjk4ZGExNjBjYmViZGUwYzU5Zjc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvdXBkYXRlLXJlc3VsdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi51cGRhdGUoKSBzaG91bGQgcmVzb2x2ZSBh
IHJlZ2lzdHJhdGlvbiBvYmplY3QgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1yZXN1bHQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS1yZXN1bHQu
aHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOGVkOTRmNzc2NjUwYzhhNDBiYTgyZGY5Y2E1ZTkwOWI0
NjBiYjc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJlc3Vs
dC5odHRwcy5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNl
cnZpY2UgV29ya2VyOiB1cGRhdGUoKSBzaG91bGQgcmVzb2x2ZSBhIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb248L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KKworcHJvbWlzZV90ZXN0KGFzeW5jIGZ1bmN0aW9u
KHQpIHsKKyAgY29uc3Qgc2NyaXB0ID0gJy4vcmVzb3VyY2VzL2VtcHR5LmpzJzsKKyAgY29uc3Qg
c2NvcGUgPSAnLi9yZXNvdXJjZXMvZW1wdHkuaHRtbD91cGRhdGUtcmVzdWx0JzsKKworICBsZXQg
cmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc2NyaXB0LCB7IHNj
b3BlIH0pOworICB0LmFkZF9jbGVhbnVwKGFzeW5jIF8gPT4gYXdhaXQgcmVnLnVucmVnaXN0ZXIo
KSk7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJlZy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVk
Jyk7CisKKyAgbGV0IHJlc3VsdCA9IGF3YWl0IHJlZy51cGRhdGUoKTsKKyAgYXNzZXJ0X3RydWUo
cmVzdWx0IGluc3RhbmNlb2YgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiwKKyAgICAgICAgICAg
ICAgJ3VwZGF0ZSgpIHNob3VsZCByZXNvbHZlIGEgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbicp
OworfSwgJ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkgc2hvdWxkIHJlc29sdmUg
YSByZWdpc3RyYXRpb24gb2JqZWN0Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93
M2MtaW1wb3J0LmxvZwppbmRleCAyYThkMDE0YmYwNmFlMDkxOWIzYmY0MThhMzUzY2RlOGMzMDAw
YTYzLi4xODVkNTc3NzQyYzhjMzgxZGNlMzRkMDU5NjI2MWFlMmM1ZGQ3NDMxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAogCkBAIC0xNCw2ICsxNCw3IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL1NlcnZpY2UtV29ya2VyLUFsbG93ZWQtaGVhZGVyLmh0dHBz
Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9hYm91dC1ibGFuay1yZXBsYWNlbWVudC5odHRwcy5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvYWN0aXZhdGUtZXZlbnQtYWZ0ZXItaW5zdGFsbC1zdGF0
ZS1jaGFuZ2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2FjdGl2YXRpb24tYWZ0ZXIt
cmVnaXN0cmF0aW9uLmh0dHBzLmh0bWwKQEAgLTQxLDIwICs0MiwzNiBAQCBMaXN0IG9mIGZpbGVz
OgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NvbnRyb2xsZXItb24tZGlzY29ubmVjdC5odHRwcy5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY29udHJvbGxlci1vbi1sb2FkLmh0dHBzLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9jb250cm9sbGVyLW9uLXJlbG9hZC5odHRwcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvY29udHJvbGxlci13aXRoLW5vLWZldGNoLWV2ZW50LWhhbmRsZXIuaHR0cHMuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RlZGljYXRlZC13b3JrZXItc2VydmljZS13b3JrZXItaW50
ZXJjZXB0aW9uLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZXRhY2hlZC1jb250ZXh0
Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9lbWJlZC1hbmQtb2JqZWN0LWFyZS1ub3Qt
aW50ZXJjZXB0ZWQuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2V4dGVuZGFibGUtZXZl
bnQtYXN5bmMtd2FpdHVudGlsLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9leHRlbmRh
YmxlLWV2ZW50LXdhaXR1bnRpbC5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
Y2FudmFzLXRhaW50aW5nLWNhY2hlLmh0dHBzLmh0bWwKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1jYW52YXMtdGFpbnRpbmcuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWF1
ZGlvLXRhaW50aW5nLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMt
dGFpbnRpbmctZG91YmxlLXdyaXRlLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRj
aC1jYW52YXMtdGFpbnRpbmctaW1hZ2UtY2FjaGUuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1pbWFnZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvZmV0Y2gtY2FudmFzLXRhaW50aW5nLXZpZGVvLWNhY2hlLmh0dHBzLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmctdmlkZW8td2l0aC1yYW5nZS1yZXF1
ZXN0Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jYW52YXMtdGFpbnRpbmct
dmlkZW8uaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMtZXhwb3NlZC1o
ZWFkZXItbmFtZXMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWNvcnMteGhy
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jc3AuaHR0cHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LWFmdGVyLW5hdmlnYXRpb24td2l0aGluLXBhZ2Uu
aHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LWFzeW5jLXJlc3BvbmQt
d2l0aC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9y
eS1iYWNrd2FyZC1uYXZpZ2F0aW9uLW1hbnVhbC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvZmV0Y2gtZXZlbnQtaXMtaGlzdG9yeS1mb3J3YXJkLW5hdmlnYXRpb24tbWFudWFsLmh0dHBz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1pcy1yZWxvYWQtaWZyYW1lLW5h
dmlnYXRpb24tbWFudWFsLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVu
dC1pcy1yZWxvYWQtbmF2aWdhdGlvbi1tYW51YWwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50LW5ldHdvcmstZXJyb3IuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50LXJlZGlyZWN0Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1ldmVudC1yZWZlcnJlci1wb2xpY3kuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1hcmd1bWVudC5odHRwcy5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLWJvZHktbG9hZGVkLWluLWNodW5rLmh0
dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1yZXNwb25kLXdpdGgtY3Vz
dG9tLXJlc3BvbnNlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC1y
ZXNwb25kLXdpdGgtcGFydGlhbC1zdHJlYW0uaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1zdHJlYW0tY2h1bmsuaHR0cHMuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQtd2l0aC1yZWFkYWJsZS1z
dHJlYW0uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50LXJlc3BvbmQt
d2l0aC1yZXNwb25zZS1ib2R5LXdpdGgtaW52YWxpZC1jaHVuay5odHRwcy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtZXZlbnQtcmVzcG9uZC13aXRoLXN0b3BzLXByb3BhZ2F0aW9uLmh0
dHBzLmh0bWwKQEAgLTY3LDEzICs4NCwxNCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ZldGNoLW1peGVkLWNvbnRlbnQtdG8taW5zY29wZS5odHRwcy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvZmV0Y2gtbWl4ZWQtY29udGVudC10by1vdXRzY29wZS5odHRwcy5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1jc3MtYmFzZS11cmwuaHR0cHMuaHRtbAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3NzLWNyb3NzLW9yaWdpbi1taW1lLWNo
ZWNrLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LWNzcy1jcm9z
cy1vcmlnaW4uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3QtY3Nz
LWltYWdlcy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1mYWxs
YmFjay5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC1odG1sLWlt
cG9ydHMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3Qtbm8tZnJl
c2huZXNzLWhlYWRlcnMuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVl
c3QtcmVkaXJlY3QuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlcXVlc3Qt
cmVzb3VyY2VzLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXho
ci1zeW5jLW9uLXdvcmtlci5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVx
dWVzdC14aHItc3luYy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVz
dC14aHIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJlc3BvbnNlLXRhaW50
Lmh0dHBzLmh0bWwKQEAgLTgzLDYgKzEwMSw4IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvZ2V0cmVnaXN0cmF0aW9ucy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
aHR0cC10by1odHRwcy1yZWRpcmVjdC1hbmQtcmVnaXN0ZXIuaHR0cHMuaHRtbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ltbXV0YWJsZS1wcm90b3R5cGUtc2VydmljZXdvcmtlci5odHRwcy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvaW1wb3J0LW1vZHVsZS1zY3JpcHRzLmh0dHBzLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1taW1lLXR5cGVzLmh0dHBzLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtcmVzb3VyY2UtbWFwLmh0dHBzLmh0bWwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy11cGRhdGVkLWZsYWcuaHR0cHMuaHRtbApAQCAt
OTQsMTMgKzExNCwxNiBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFs
aWQtYmxvYnR5cGUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ludmFsaWQtaGVhZGVy
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pc28tbGF0aW4xLWhlYWRlci5odHRwcy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbG9jYWwtdXJsLWluaGVyaXQtY29udHJvbGxlci5odHRw
cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbWltZS1zbmlmZmluZy5odHRwcy5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbXVsdGlwYXJ0LWltYWdlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVs
dGlwbGUtdXBkYXRlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0ZS13aW5k
b3cuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcmVkaXJlY3QtYm9k
eS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1yZWRpcmVjdC10by1o
dHRwLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXJlZGlyZWN0Lmh0
dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXRpbWluZy5odHRwcy5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvb25hY3RpdmF0ZS1zY3JpcHQtZXJyb3IuaHR0cHMuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL29uaW5zdGFsbC1zY3JpcHQtZXJyb3IuaHR0cHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL29wYXF1ZS1yZXNwb25zZS1wcmVsb2FkZWQuaHR0cHMuaHRtbApAQCAt
MTA4LDYgKzEzMSw3IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1l
c3NhZ2UtYmxvYi11cmwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdl
LWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9wb3N0bWVzc2FnZS1tc2dwb3J0LXRvLWNsaWVudC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcG9zdG1lc3NhZ2UtdG8tY2xpZW50LW1lc3NhZ2UtcXVldWUuaHR0cHMuaHRtbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLXRvLWNsaWVudC5odHRwcy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcG9zdG1lc3NhZ2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
YWR5Lmh0dHBzLmh0bWwKQEAgLTEzMSw2ICsxNTUsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVqZWN0aW9ucy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVxdWVzdC1lbmQtdG8tZW5kLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZS10aW1pbmctY3Jvc3Mtb3JpZ2luLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZS10aW1pbmcuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc3BvbmQtd2l0aC1i
b2R5LWFjY2Vzc2VkLXJlc3BvbnNlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zYW5k
Ym94ZWQtaWZyYW1lLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKQEAgLTEzOCw2ICsxNjMsNyBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NlcnZpY2Utd29ya2VyLWNzcC1jb25u
ZWN0Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNlLXdvcmtlci1jc3AtZGVm
YXVsdC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItY3NwLXNj
cmlwdC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZS13b3JrZXItaGVhZGVy
Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9zZXJ2aWNld29ya2VyLW1lc3NhZ2UtZXZl
bnQtaGlzdG9yaWNhbC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2VydmljZXdvcmtl
cm9iamVjdC1zY3JpcHR1cmwuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NoYXJlZC13
b3JrZXItY29udHJvbGxlZC5odHRwcy5odG1sCkBAIC0xNDcsNiArMTczLDggQEAgTGlzdCBvZiBm
aWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmctd2l0aG91dC11c2luZy1yZWdp
c3RyYXRpb24uaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRw
cy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc3RhdGUuaHR0cHMuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3N2Zy10YXJnZXQtcmVmdGVzdC5odHRwcy1leHBlY3RlZC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvc3ZnLXRhcmdldC1yZWZ0ZXN0Lmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9zeW5jZWQtc3RhdGUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VuY29udHJvbGxl
ZC1wYWdlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLWNvbnRyb2xs
ZXIuaHR0cHMuaHRtbApAQCAtMTU0LDEyICsxODIsMjEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3VucmVnaXN0ZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Vw
ZGF0ZS1hZnRlci1uYXZpZ2F0aW9uLWZldGNoLWV2ZW50Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1yZWRpcmVjdC5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW9uZWRheS5odHRwcy5odG1sCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvdXBkYXRlLWJ5dGVjaGVjay5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dXBkYXRlLW1pc3NpbmctaW1wb3J0LXNjcmlwdHMuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3VwZGF0ZS1ub3QtYWxsb3dlZC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBk
YXRlLXJlY292ZXJ5Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtcmVnaXN0
cmF0aW9uLXdpdGgtdHlwZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLXJl
c3VsdC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0dHBzLmh0bWwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93
ZWJzb2NrZXQtaW4tc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dlYnNvY2tldC5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2VidnR0LWNyb3NzLW9y
aWdpbi5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRl
Lmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlkLmh0dHBzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlmcmFtZS1ieS1jc3At
ZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNl
cHRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRl
cmNlcHRpb24uaHR0cHMuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2FpdGlu
Zy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLWV4
cGVjdGVkLnR4dAppbmRleCBhNjVhOGI5NDgzZThlZDM1MjdlZjYzYzk1MDY5NDNlYmUyMzY2MTZi
Li4yYTM1MGQ5MTg3NzE1N2E5ZWViNzE3YTZkZGYyY2UxNzA4ZGVkMDNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDQgQEAKIAog
UEFTUyB3YWl0aW5nIGlzIHNldCBhZnRlciBpbnN0YWxsYXRpb24gCitQQVNTIFRoZSBTZXJ2aWNl
V29ya2VyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSB3YWl0aW5nIGF0dHJpYnV0ZSBnZXR0ZXIgdGhh
dCByZXByZXNlbnQgdGhlIHNhbWUgc2VydmljZSB3b3JrZXIgYXJlIHRoZSBzYW1lIG9iamVjdHMg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dhaXRpbmcuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dhaXRpbmcuaHR0cHMuaHRtbAppbmRleCAyYjBkYmM5NDg1YmY4NjNm
Y2IzMjRmMTY5ZGUyZTI4YmExOGQwN2IwLi40OTllNTgxZWIzNTNhMmU0MzM1ODBlNDEzYTczMGJl
YTJhOWI3YWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93YWl0aW5nLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2FpdGluZy5odHRwcy5odG1sCkBAIC01LDM2ICs1
LDQzIEBACiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2Ny
aXB0PgogPGJvZHk+CiA8c2NyaXB0PgotcHJvbWlzZV90ZXN0KHQgPT4gewotICAgIHZhciBzY3Jp
cHQgPSAncmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyc7Ci0gICAgdmFyIHNjb3BlID0gJ3Jlc291
cmNlcy9ibGFuay5odG1sJzsKLSAgICB2YXIgZnJhbWU7Ci0gICAgdmFyIHJlZ2lzdHJhdGlvbjsK
IAotICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKQotICAgICAg
LnRoZW4oKCkgPT4geyByZXR1cm4gd2l0aF9pZnJhbWUoc2NvcGUpOyB9KQotICAgICAgLnRoZW4o
ZiA9PiB7Ci0gICAgICAgICAgZnJhbWUgPSBmOwotICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3Iu
c2VydmljZVdvcmtlci5yZWdpc3RlcihzY3JpcHQsIHtzY29wZTogc2NvcGV9KTsKLSAgICAgICAg
fSkKLSAgICAgIC50aGVuKHIgPT4gewotICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IHI7Ci0gICAg
ICAgICAgYWRkX3Jlc3VsdF9jYWxsYmFjaygoKSA9PiB7IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVy
KCk7IH0pOwotICAgICAgICAgIHJldHVybiB3YWl0X2Zvcl9zdGF0ZSh0LCByLmluc3RhbGxpbmcs
ICdpbnN0YWxsZWQnKTsKLSAgICAgICAgfSkKLSAgICAgIC50aGVuKCgpID0+IHsKLSAgICAgICAg
ICBjb25zdCBjb250cm9sbGVyID0KLSAgICAgICAgICAgIGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2
aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcjsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGNvbnRyb2xsZXIsIG51bGwsICcuY29udHJvbGxlcicpOworY29uc3QgU0NSSVBUID0gJ3Jlc291
cmNlcy9lbXB0eS13b3JrZXIuanMnOworY29uc3QgU0NPUEUgPSAncmVzb3VyY2VzL2JsYW5rLmh0
bWwnOwogCi0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWdpc3RyYXRpb24uYWN0aXZlLCBudWxs
LCAnLmFjdGl2ZScpOwotICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9uLndhaXRp
bmcuc3RhdGUsICdpbnN0YWxsZWQnLCAnLndhaXRpbmcnKTsKLSAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nLCBudWxsLCAnLmluc3RhbGxpbmcnKTsKLSAgICAg
ICAgfSkKLSAgICAgIC50aGVuKCgpID0+IHsKLSAgICAgICAgICBmcmFtZS5yZW1vdmUoKTsKLSAg
ICAgICAgICByZXR1cm4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKTsKLSAgICAgICAgfSk7Ci0g
IH0sICd3YWl0aW5nIGlzIHNldCBhZnRlciBpbnN0YWxsYXRpb24nKTsKK3Byb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKworICB0LmFkZF9jbGVhbnVwKGFzeW5jKCkgPT4geworICAgIGlmIChmcmFt
ZSkKKyAgICAgIGZyYW1lLnJlbW92ZSgpOworICAgIGlmIChyZWdpc3RyYXRpb24pCisgICAgICBh
d2FpdCByZWdpc3RyYXRpb24udW5yZWdpc3RlcigpOworICB9KTsKKworICBhd2FpdCBzZXJ2aWNl
X3dvcmtlcl91bnJlZ2lzdGVyKHQsIFNDT1BFKTsKKyAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRo
X2lmcmFtZShTQ09QRSk7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9CisgICAgICBhd2FpdCBuYXZp
Z2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihTQ1JJUFQsIHtzY29wZTogU0NPUEV9KTsKKyAg
YXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdpbnN0YWxs
ZWQnKTsKKyAgY29uc3QgY29udHJvbGxlciA9IGZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIuY29udHJvbGxlcjsKKyAgYXNzZXJ0X2VxdWFscyhjb250cm9sbGVyLCBu
dWxsLCAnY29udHJvbGxlcicpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5hY3RpdmUs
IG51bGwsICdyZWdpc3RyYXRpb24uYWN0aXZlJyk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0
aW9uLndhaXRpbmcuc3RhdGUsICdpbnN0YWxsZWQnLAorICAgICAgICAgICAgICAgICdyZWdpc3Ry
YXRpb24ud2FpdGluZycpOworICBhc3NlcnRfZXF1YWxzKHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5n
LCBudWxsLCAncmVnaXN0cmF0aW9uLmluc3RhbGxpbmcnKTsKK30sICd3YWl0aW5nIGlzIHNldCBh
ZnRlciBpbnN0YWxsYXRpb24nKTsKKworLy8gVGVzdHMgdGhhdCB0aGUgU2VydmljZVdvcmtlciBv
YmplY3RzIHJldHVybmVkIGZyb20gd2FpdGluZyBhdHRyaWJ1dGUgZ2V0dGVyCisvLyB0aGF0IHJl
cHJlc2VudCB0aGUgc2FtZSBzZXJ2aWNlIHdvcmtlciBhcmUgdGhlIHNhbWUgb2JqZWN0cy4KK3By
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgcmVnaXN0cmF0aW9uMSA9CisgICAgICBh
d2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0LCBTQ1JJUFQsIFND
T1BFKTsKKyAgY29uc3QgcmVnaXN0cmF0aW9uMiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLmdldFJlZ2lzdHJhdGlvbihTQ09QRSk7CisgIGFzc2VydF9lcXVhbHMocmVnaXN0cmF0aW9u
MS53YWl0aW5nLCByZWdpc3RyYXRpb24yLndhaXRpbmcsCisgICAgICAgICAgICAgICAgJ1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24ud2FpdGluZyBzaG91bGQgcmV0dXJuIHRoZSBzYW1lICcgKwor
ICAgICAgICAgICAgICAgICdvYmplY3QnKTsKKyAgYXdhaXQgcmVnaXN0cmF0aW9uMS51bnJlZ2lz
dGVyKCk7Cit9LCAnVGhlIFNlcnZpY2VXb3JrZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIHdhaXRp
bmcgYXR0cmlidXRlIGdldHRlciB0aGF0ICcgKworICAgJ3JlcHJlc2VudCB0aGUgc2FtZSBzZXJ2
aWNlIHdvcmtlciBhcmUgdGhlIHNhbWUgb2JqZWN0cycpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJzb2NrZXQuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dlYnNvY2tldC5odHRwcy5odG1sCmluZGV4IGI5YzUyNmQ1MGZiOTlhYmJh
ZmNiMmI4ZDRmMDBjMjI2N2IyNWM0NzQuLmNiZmVkNDU2YTlkYzZiZGZkYmQxOTc4OTkxMjEwMWFi
MTExN2IxZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnNvY2tldC5odHRwcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnNvY2tldC5odHRwcy5odG1sCkBAIC02LDcg
KzYsNyBAQAogPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzP3BpcGU9
c3ViIj48L3NjcmlwdD4KIDxzY3JpcHQ+CiAKLWFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworcHJv
bWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgcGF0aCA9IG5ldyBVUkwoIi4iLCB3aW5k
b3cubG9jYXRpb24pLnBhdGhuYW1lCiAgICAgdmFyIHVybCA9ICdyZXNvdXJjZXMvd2Vic29ja2V0
LmpzJzsKICAgICB2YXIgc2NvcGUgPSAncmVzb3VyY2VzL2JsYW5rLmh0bWw/d2Vic29ja2V0JzsK
QEAgLTE0LDggKzE0LDEyIEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewogICAgIHZhciBmcmFt
ZVVSTCA9IGhvc3RfaW5mb1snSFRUUFNfT1JJR0lOJ10gKyBwYXRoICsgc2NvcGU7CiAgICAgdmFy
IGZyYW1lOwogCi0gICAgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwg
dXJsLCBzY29wZSkKKyAgICByZXR1cm4gc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgdXJsLCBzY29wZSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKHJlZ2lzdHJhdGlvbikg
eworICAgICAgICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIHJl
dHVybiBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyKHQsIHNjb3BlKTsKKyAgICAgICAgICAgIH0p
OworCiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHJlZ2lzdHJhdGlvbi5pbnN0
YWxsaW5nLCAnYWN0aXZhdGVkJyk7CiAgICAgICAgIH0pCiAgICAgICAudGhlbihmdW5jdGlvbigp
IHsgcmV0dXJuIHdpdGhfaWZyYW1lKGZyYW1lVVJMKTsgfSkKQEAgLTI0LDIzICsyOCwxOCBAQCBh
c3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICByZXR1cm4gd2Vic29ja2V0KHQsIGZy
YW1lKTsKICAgICAgICAgfSkKICAgICAgIC50aGVuKGZ1bmN0aW9uKCkgewotICAgICAgICAgIHJl
dHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAg
IGZ1bmN0aW9uIG9uTWVzc2FnZShlKSB7Ci0gICAgICAgICAgICAgIGZvciAodmFyIHVybCBpbiBl
LmRhdGEudXJscykgewotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModXJsLmluZGV4T2Yo
Z2V0X3dlYnNvY2tldF91cmwoKSksIC0xLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ik9ic2VydmVkIGFuIHVuZXhwZWN0ZWQgRmV0Y2hFdmVudCBmb3IgdGhlIFdlYlNvY2tldCBoYW5k
c2hha2UiKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICB0LmRvbmUoKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7
Ci0gICAgICAgICAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKG9uTWVz
c2FnZSk7CisgICAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAg
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgICAg
ICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSByZXNvbHZlOwogICAgICAgICAgICAgZnJhbWUu
Y29udGVudFdpbmRvdy5uYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnBvc3RNZXNz
YWdlKHtwb3J0OiBjaGFubmVsLnBvcnQyfSwgW2NoYW5uZWwucG9ydDJdKTsKICAgICAgICAgICB9
KTsKICAgICAgICAgfSkKLSAgICAgIC50aGVuKGZ1bmN0aW9uKCkgeworICAgICAgLnRoZW4oZnVu
Y3Rpb24oZSkgeworICAgICAgICAgIGZvciAodmFyIHVybCBpbiBlLmRhdGEudXJscykgeworICAg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyh1cmwuaW5kZXhPZihnZXRfd2Vic29ja2V0X3VybCgpKSwg
LTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJPYnNlcnZlZCBhbiB1bmV4cGVjdGVkIEZl
dGNoRXZlbnQgZm9yIHRoZSBXZWJTb2NrZXQgaGFuZHNoYWtlIik7CisgICAgICAgICAgfQogICAg
ICAgICAgIGZyYW1lLnJlbW92ZSgpOwotICAgICAgICAgIHJldHVybiBzZXJ2aWNlX3dvcmtlcl91
bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAgfSkKLSAgICAgIC5jYXRjaCh1
bnJlYWNoZWRfcmVqZWN0aW9uKHQpKTsKKyAgICAgICAgfSk7CiAgIH0sICdWZXJpZnkgV2ViU29j
a2V0IGhhbmRzaGFrZSBjaGFubmVsIGRvZXMgbm90IGdldCBpbnRlcmNlcHRlZCcpOwogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jvc3Mtb3JpZ2luLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnZ0dC1jcm9zcy1vcmlnaW4u
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMmEyN2E3M2MzZThjZDQ2YTk0ZmQ5Zjgz
YjNmZGU3NWM0YTBlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2
dHQtY3Jvc3Mtb3JpZ2luLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitDT05T
T0xFIE1FU1NBR0U6IEZldGNoRXZlbnQucmVzcG9uZFdpdGggcmVjZWl2ZWQgYW4gZXJyb3I6IFR5
cGVFcnJvcjogT3JpZ2luIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luLgorQ09OU09MRSBNRVNTQUdFOiBDYW5ub3QgbG9h
ZCBodHRwczovL2xvY2FsaG9zdDo5NDQzL21lZGlhL2Zvby52dHQ/dXJsPWh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvbWVkaWEvZm9vLW5vLWNvcnMudnR0Jm1vZGU9Y29ycy4KK0NPTlNPTEUgTUVTU0FH
RTogRmV0Y2hFdmVudC5yZXNwb25kV2l0aCByZWNlaXZlZCBhbiBlcnJvcjogVHlwZUVycm9yOiBP
cmlnaW4gaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1PcmlnaW4uCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBsb2FkIGh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvbWVkaWEvZm9vLnZ0dD91cmw9aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3Ql
M0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZy
ZWRpcmVjdC5weSUzRlJlZGlyZWN0JTNEaHR0cHMlMjUzQSUyNTJGJTI1MkYxMjcuMC4wLjElMjUz
QTk0NDMlMjUyRm1lZGlhJTI1MkZmb28tbm8tY29ycy52dHQmbW9kZT1jb3JzJmNyZWRlbnRpYWxz
PXNhbWUtb3JpZ2luLgorCitQQVNTIGluaXRpYWxpemUgZ2xvYmFsIHN0YXRlIAorUEFTUyBzYW1l
LW9yaWdpbiB0ZXh0IHRyYWNrIHNob3VsZCBsb2FkIAorRkFJTCBjcm9zcy1vcmlnaW4gdGV4dCB0
cmFjayB3aXRoIG5vLWNvcnMgcmVxdWVzdCBzaG91bGQgbm90IGxvYWQgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImVycm9yIGV2ZW50IiBidXQgZ290ICJsb2FkIGV2ZW50IgorUEFTUyBjcm9zcy1v
cmlnaW4gdGV4dCB0cmFjayB3aXRoIHJlamVjdGVkIGNvcnMgcmVxdWVzdCBzaG91bGQgbm90IGxv
YWQgCitGQUlMIGNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIHdpdGggYXBwcm92ZWQgY29ycyByZXF1
ZXN0IHNob3VsZCBub3QgbG9hZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZXJyb3IgZXZlbnQi
IGJ1dCBnb3QgImxvYWQgZXZlbnQiCitQQVNTIHNhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCBy
ZWRpcmVjdHMgc2FtZS1vcmlnaW4gc2hvdWxkIGxvYWQgCitGQUlMIHNhbWUtb3JpZ2luIHRleHQg
dHJhY2sgdGhhdCByZWRpcmVjdHMgY3Jvc3Mtb3JpZ2luIHNob3VsZCBub3QgbG9hZCBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiZXJyb3IgZXZlbnQiIGJ1dCBnb3QgImxvYWQgZXZlbnQiCitQQVNT
IHNhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVjdHMgdG8gYSBjcm9zcy1vcmlnaW4g
dGV4dCB0cmFjayB3aXRoIHJlamVjdGVkIGNvcnMgc2hvdWxkIG5vdCBsb2FkIAorRkFJTCBzYW1l
LW9yaWdpbiB0ZXh0IHRyYWNrIHRoYXQgcmVkaXJlY3RzIHRvIGEgY3Jvc3Mtb3JpZ2luIHRleHQg
dHJhY2sgd2l0aCBhcHByb3ZlZCBjb3JzIHNob3VsZCBub3QgbG9hZCBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiZXJyb3IgZXZlbnQiIGJ1dCBnb3QgImxvYWQgZXZlbnQiCitQQVNTIHJlc3RvcmUg
Z2xvYmFsIHN0YXRlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jv
c3Mtb3JpZ2luLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93ZWJ2dHQtY3Jvc3Mtb3Jp
Z2luLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTM5NGZmNzVjNGE1ZjM5NWQyODdjZTdjNTdhMTM1
MjJlZmNlOWFlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dlYnZ0dC1j
cm9zcy1vcmlnaW4uaHR0cHMuaHRtbApAQCAtMCwwICsxLDE3NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Y3Jvc3Mtb3JpZ2luIHdlYnZ0dCByZXR1
cm5lZCBieSBzZXJ2aWNlIHdvcmtlciBpcyBkZXRlY3RlZDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1v
bi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3Rlc3QtaGVscGVycy5zdWIuanM/cGlwZT1zdWIiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
PgorLy8gVGhpcyBmaWxlIHRlc3RzIHJlc3BvbnNlcyBmb3IgV2ViVlRUIHRleHQgdHJhY2sgZnJv
bSBhIHNlcnZpY2Ugd29ya2VyLiBJdAorLy8gY3JlYXRlcyBhbiBpZnJhbWUgd2l0aCBhIDx0cmFj
az4gZWxlbWVudCwgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgorLy8gRWFjaCB0ZXN0
IHRyaWVzIHRvIGxvYWQgYSB0ZXh0IHRyYWNrLCB0aGUgc2VydmljZSB3b3JrZXIgaW50ZXJjZXB0
cyB0aGUKKy8vIHJlcXVlc3RzIGFuZCByZXNwb25kcyB3aXRoIG9wYXF1ZSBvciBub24tb3BhcXVl
IHJlc3BvbnNlcy4gQXMgdGhlCisvLyBjcm9zc29yaWdpbiBhdHRyaWJ1dGUgaXMgbm90IHNldCwg
cmVxdWVzdCdzIG1vZGUgaXMgYWx3YXlzICJzYW1lLW9yaWdpbiIsCisvLyBhbmQgYXMgc3BlY2lm
aWVkIGluIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNodHRwLWZldGNoLAorLy8gYSBy
ZXNwb25zZSBmcm9tIGEgc2VydmljZSB3b3JrZXIgd2hvc2UgdHlwZSBpcyBuZWl0aGVyICJiYXNp
YyIgbm9yCisvLyAiZGVmYXVsdCIgaXMgcmVqZWN0ZWQuCisKK2NvbnN0IGhvc3RfaW5mbyA9IGdl
dF9ob3N0X2luZm8oKTsKK2NvbnN0IGtTY3JpcHQgPSAncmVzb3VyY2VzL2ZldGNoLXJld3JpdGUt
d29ya2VyLmpzJzsKKy8vIEFkZCAnP2lnbm9yZScgc28gdGhlIHNlcnZpY2Ugd29ya2VyIGZhbGxz
IGJhY2sgZm9yIHRoZSBuYXZpZ2F0aW9uLgorY29uc3Qga1Njb3BlID0gJ3Jlc291cmNlcy92dHQt
ZnJhbWUuaHRtbD9pZ25vcmUnOworbGV0IGZyYW1lOworCitmdW5jdGlvbiBsb2FkX3RyYWNrKHVy
bCkgeworICBjb25zdCB0cmFjayA9IGZyYW1lLmNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCd0cmFjaycpOworICBjb25zdCByZXN1bHQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7CisgICAgICB0cmFjay5vbmxvYWQgPSAoZSA9PiB7CisgICAgICAgICAgcmVzb2x2ZSgn
bG9hZCBldmVudCcpOworICAgICAgICB9KTsKKyAgICAgIHRyYWNrLm9uZXJyb3IgPSAoZSA9PiB7
CisgICAgICAgICAgcmVzb2x2ZSgnZXJyb3IgZXZlbnQnKTsKKyAgICAgICAgfSk7CisgICAgfSk7
CisKKyAgdHJhY2suc3JjID0gdXJsOworICAvLyBTZXR0aW5nIG1vZGUgdG8gaGlkZGVuIHNlZW1z
IG5lZWRlZCwgb3IgZWxzZSB0aGUgdGV4dCB0cmFjayByZXF1ZXN0cyBkb24ndAorICAvLyBvY2N1
ci4KKyAgdHJhY2sudHJhY2subW9kZSA9ICdoaWRkZW4nOworICByZXR1cm4gcmVzdWx0OworfQor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgcmV0dXJuIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0
ZXJfYW5kX3JlZ2lzdGVyKHQsIGtTY3JpcHQsIGtTY29wZSkKKyAgICAgIC50aGVuKHJlZ2lzdHJh
dGlvbiA9PiB7CisgICAgICAgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICAgICAgICAgICAg
ZnJhbWUucmVtb3ZlKCk7CisgICAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb24udW5yZWdp
c3RlcigpOworICAgICAgICAgICAgfSwgJ3Jlc3RvcmUgZ2xvYmFsIHN0YXRlJyk7CisKKyAgICAg
ICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uLmluc3RhbGxpbmcsICdh
Y3RpdmF0ZWQnKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKCgpID0+IHsKKyAgICAgICAgICBy
ZXR1cm4gd2l0aF9pZnJhbWUoa1Njb3BlKTsKKyAgICAgICAgfSkKKyAgICAgIC50aGVuKGYgPT4g
eworICAgICAgICAgIGZyYW1lID0gZjsKKyAgICAgICAgfSkKKyAgfSwgJ2luaXRpYWxpemUgZ2xv
YmFsIHN0YXRlJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBsZXQgdXJsID0gJy9tZWRp
YS9mb28udnR0JzsKKyAgICAvLyBBZGQgJz91cmwnIGFuZCB0ZWxsIHRoZSBzZXJ2aWNlIHdvcmtl
ciB0byBmZXRjaCBhIHNhbWUtb3JpZ2luIFVSTC4KKyAgICB1cmwgKz0gJz91cmw9JyArIGhvc3Rf
aW5mby5IVFRQU19PUklHSU4gKyAnL21lZGlhL2Zvby52dHQnOworICAgIHJldHVybiBsb2FkX3Ry
YWNrKHVybCkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyZXN1bHQsICdsb2FkIGV2ZW50Jyk7CisgICAgICAgIH0pOworICB9LCAnc2FtZS1vcmlnaW4g
dGV4dCB0cmFjayBzaG91bGQgbG9hZCcpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgbGV0
IHVybCA9ICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgLy8gQWRkICc/dXJsJyBhbmQgdGVsbCB0aGUg
c2VydmljZSB3b3JrZXIgdG8gZmV0Y2ggYSBjcm9zcy1vcmlnaW4gVVJMLgorICAgIHVybCArPSAn
P3VybD0nICsgZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU4gKyAnL21lZGlhL2Zv
by52dHQnOworICAgIHJldHVybiBsb2FkX3RyYWNrKHVybCkKKyAgICAgIC50aGVuKHJlc3VsdCA9
PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdlcnJvciBldmVudCcpOworICAg
ICAgICB9KTsKKyAgfSwgJ2Nyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIHdpdGggbm8tY29ycyByZXF1
ZXN0IHNob3VsZCBub3QgbG9hZCcpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgICAgbGV0IHVy
bCA9ICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgLy8gQWRkICc/dXJsJyBhbmQgdGVsbCB0aGUgc2Vy
dmljZSB3b3JrZXIgdG8gZmV0Y2ggYSBjcm9zcy1vcmlnaW4gVVJMIHRoYXQKKyAgICAvLyBkb2Vz
bid0IHN1cHBvcnQgQ09SUy4KKyAgICB1cmwgKz0gJz91cmw9JyArIGdldF9ob3N0X2luZm8oKS5I
VFRQU19SRU1PVEVfT1JJR0lOICsKKyAgICAgICAgJy9tZWRpYS9mb28tbm8tY29ycy52dHQnOwor
ICAgIC8vIEFkZCAnJm1vZGUnIHRvIHRlbGwgdGhlIHNlcnZpY2Ugd29ya2VyIHRvIGRvIGEgQ09S
UyByZXF1ZXN0LgorICAgIHVybCArPSAnJm1vZGU9Y29ycyc7CisgICAgcmV0dXJuIGxvYWRfdHJh
Y2sodXJsKQorICAgICAgLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHJlc3VsdCwgJ2Vycm9yIGV2ZW50Jyk7CisgICAgICAgIH0pOworICB9LCAnY3Jvc3Mtb3JpZ2lu
IHRleHQgdHJhY2sgd2l0aCByZWplY3RlZCBjb3JzIHJlcXVlc3Qgc2hvdWxkIG5vdCBsb2FkJyk7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBsZXQgdXJsID0gJy9tZWRpYS9mb28udnR0JzsK
KyAgICAvLyBBZGQgJz91cmwnIGFuZCB0ZWxsIHRoZSBzZXJ2aWNlIHdvcmtlciB0byBmZXRjaCBh
IGNyb3NzLW9yaWdpbiBVUkwuCisgICAgdXJsICs9ICc/dXJsPScgKyBnZXRfaG9zdF9pbmZvKCku
SFRUUFNfUkVNT1RFX09SSUdJTiArICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgLy8gQWRkICcmbW9k
ZScgdG8gdGVsbCB0aGUgc2VydmljZSB3b3JrZXIgdG8gZG8gYSBDT1JTIHJlcXVlc3QuCisgICAg
dXJsICs9ICcmbW9kZT1jb3JzJzsKKyAgICAvLyBBZGQgJyZjcmVkZW50aWFscz1zYW1lLW9yaWdp
bicgdG8gYWxsb3cgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luPSogc28KKyAgICAvLyB0aGF0
IENPUlMgd2lsbCBzdWNjZWVkIGlmIHRoZSBzZXJ2aWNlIGFwcHJvdmVzIGl0LgorICAgIHVybCAr
PSAnJmNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luJzsKKyAgICByZXR1cm4gbG9hZF90cmFjayh1cmwp
CisgICAgICAudGhlbihyZXN1bHQgPT4geworICAgICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LCAnZXJyb3IgZXZlbnQnKTsKKyAgICAgICAgfSk7CisgIH0sICdjcm9zcy1vcmlnaW4gdGV4dCB0
cmFjayB3aXRoIGFwcHJvdmVkIGNvcnMgcmVxdWVzdCBzaG91bGQgbm90IGxvYWQnKTsKKworLy8g
UmVkaXJlY3QgdGVzdHMuCisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgICBsZXQgdXJsID0gJy9t
ZWRpYS9mb28udnR0JzsKKyAgICAvLyBBZGQgJz91cmwnIGFuZCB0ZWxsIHRoZSBzZXJ2aWNlIHdv
cmtlciB0byBmZXRjaCBhIHNhbWUtb3JpZ2luIFVSTCB0aGF0IHJlZGlyZWN0cy4uLgorICAgIHJl
ZGlyZWN0b3JfdXJsID0gaG9zdF9pbmZvLkhUVFBTX09SSUdJTiArIGJhc2VfcGF0aCgpICsgJ3Jl
c291cmNlcy9yZWRpcmVjdC5weT9SZWRpcmVjdD0nOworICAgIC8vIC4uLiB0byBhIHNhbWUtb3Jp
Z2luIFVSTC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsg
Jy9tZWRpYS9mb28udnR0JzsKKyAgICB1cmwgKz0gJz91cmw9JyArIGVuY29kZVVSSUNvbXBvbmVu
dChyZWRpcmVjdG9yX3VybCArIGVuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdF90YXJnZXQpKTsK
KyAgICByZXR1cm4gbG9hZF90cmFjayh1cmwpCisgICAgICAudGhlbihyZXN1bHQgPT4geworICAg
ICAgICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnbG9hZCBldmVudCcpOworICAgICAgICB9KTsK
KyAgfSwgJ3NhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVjdHMgc2FtZS1vcmlnaW4g
c2hvdWxkIGxvYWQnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCB1cmwgPSAnL21l
ZGlhL2Zvby52dHQnOworICAgIC8vIEFkZCAnP3VybCcgYW5kIHRlbGwgdGhlIHNlcnZpY2Ugd29y
a2VyIHRvIGZldGNoIGEgc2FtZS1vcmlnaW4gVVJMIHRoYXQgcmVkaXJlY3RzLi4uCisgICAgcmVk
aXJlY3Rvcl91cmwgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgYmFzZV9wYXRoKCkgKyAncmVz
b3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSc7CisgICAgLy8gLi4uIHRvIGEgY3Jvc3Mtb3Jp
Z2luIFVSTC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNfUkVNT1RFX09S
SUdJTiArICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgdXJsICs9ICc/dXJsPScgKyBlbmNvZGVVUklD
b21wb25lbnQocmVkaXJlY3Rvcl91cmwgKyBlbmNvZGVVUklDb21wb25lbnQocmVkaXJlY3RfdGFy
Z2V0KSk7CisgICAgcmV0dXJuIGxvYWRfdHJhY2sodXJsKQorICAgICAgLnRoZW4ocmVzdWx0ID0+
IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2Vycm9yIGV2ZW50Jyk7CisgICAg
ICAgIH0pOworICB9LCAnc2FtZS1vcmlnaW4gdGV4dCB0cmFjayB0aGF0IHJlZGlyZWN0cyBjcm9z
cy1vcmlnaW4gc2hvdWxkIG5vdCBsb2FkJyk7CisKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAg
IGxldCB1cmwgPSAnL21lZGlhL2Zvby52dHQnOworICAgIC8vIEFkZCAnP3VybCcgYW5kIHRlbGwg
dGhlIHNlcnZpY2Ugd29ya2VyIHRvIGZldGNoIGEgc2FtZS1vcmlnaW4gVVJMIHRoYXQgcmVkaXJl
Y3RzLi4uCisgICAgcmVkaXJlY3Rvcl91cmwgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgYmFz
ZV9wYXRoKCkgKyAncmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSc7CisgICAgLy8gLi4u
IHRvIGEgY3Jvc3Mtb3JpZ2luIFVSTC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8u
SFRUUFNfUkVNT1RFX09SSUdJTiArICcvbWVkaWEvZm9vLW5vLWNvcnMudnR0JzsKKyAgICB1cmwg
Kz0gJz91cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdG9yX3VybCArIGVuY29kZVVS
SUNvbXBvbmVudChyZWRpcmVjdF90YXJnZXQpKTsKKyAgICAvLyBBZGQgJyZtb2RlJyB0byB0ZWxs
IHRoZSBzZXJ2aWNlIHdvcmtlciB0byBkbyBhIENPUlMgcmVxdWVzdC4KKyAgICB1cmwgKz0gJyZt
b2RlPWNvcnMnOworICAgIC8vIEFkZCAnJmNyZWRlbnRpYWxzPXNhbWUtb3JpZ2luJyB0byBhbGxv
dyBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW49KiBzbworICAgIC8vIHRoYXQgQ09SUyB3aWxs
IHN1Y2NlZWQgaWYgdGhlIHNlcnZlciBhcHByb3ZlcyBpdC4KKyAgICB1cmwgKz0gJyZjcmVkZW50
aWFscz1zYW1lLW9yaWdpbic7CisgICAgcmV0dXJuIGxvYWRfdHJhY2sodXJsKQorICAgICAgLnRo
ZW4ocmVzdWx0ID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2Vycm9yIGV2
ZW50Jyk7CisgICAgICAgIH0pOworICB9LCAnc2FtZS1vcmlnaW4gdGV4dCB0cmFjayB0aGF0IHJl
ZGlyZWN0cyB0byBhIGNyb3NzLW9yaWdpbiB0ZXh0IHRyYWNrIHdpdGggcmVqZWN0ZWQgY29ycyBz
aG91bGQgbm90IGxvYWQnKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICAgIGxldCB1cmwgPSAn
L21lZGlhL2Zvby52dHQnOworICAgIC8vIEFkZCAnP3VybCcgYW5kIHRlbGwgdGhlIHNlcnZpY2Ug
d29ya2VyIHRvIGZldGNoIGEgc2FtZS1vcmlnaW4gVVJMIHRoYXQgcmVkaXJlY3RzLi4uCisgICAg
cmVkaXJlY3Rvcl91cmwgPSBob3N0X2luZm8uSFRUUFNfT1JJR0lOICsgYmFzZV9wYXRoKCkgKyAn
cmVzb3VyY2VzL3JlZGlyZWN0LnB5P1JlZGlyZWN0PSc7CisgICAgLy8gLi4uIHRvIGEgY3Jvc3Mt
b3JpZ2luIFVSTC4KKyAgICByZWRpcmVjdF90YXJnZXQgPSBob3N0X2luZm8uSFRUUFNfUkVNT1RF
X09SSUdJTiArICcvbWVkaWEvZm9vLnZ0dCc7CisgICAgdXJsICs9ICc/dXJsPScgKyBlbmNvZGVV
UklDb21wb25lbnQocmVkaXJlY3Rvcl91cmwgKyBlbmNvZGVVUklDb21wb25lbnQocmVkaXJlY3Rf
dGFyZ2V0KSk7CisgICAgLy8gQWRkICcmbW9kZScgdG8gdGVsbCB0aGUgc2VydmljZSB3b3JrZXIg
dG8gZG8gYSBDT1JTIHJlcXVlc3QuCisgICAgdXJsICs9ICcmbW9kZT1jb3JzJzsKKyAgICAvLyBB
ZGQgJyZjcmVkZW50aWFscz1zYW1lLW9yaWdpbicgdG8gYWxsb3cgQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luPSogc28KKyAgICAvLyB0aGF0IENPUlMgd2lsbCBzdWNjZWVkIGlmIHRoZSBzZXJ2
ZXIgYXBwcm92ZXMgaXQuCisgICAgdXJsICs9ICcmY3JlZGVudGlhbHM9c2FtZS1vcmlnaW4nOwor
ICAgIHJldHVybiBsb2FkX3RyYWNrKHVybCkKKyAgICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhyZXN1bHQsICdlcnJvciBldmVudCcpOworICAgICAgICB9KTsK
KyAgfSwgJ3NhbWUtb3JpZ2luIHRleHQgdHJhY2sgdGhhdCByZWRpcmVjdHMgdG8gYSBjcm9zcy1v
cmlnaW4gdGV4dCB0cmFjayB3aXRoIGFwcHJvdmVkIGNvcnMgc2hvdWxkIG5vdCBsb2FkJyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dpbmRvd2Ns
aWVudC1uYXZpZ2F0ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50
LW5hdmlnYXRlLmh0dHBzLmh0bWwKaW5kZXggOGZiNDY3YTNmOWJmODFiZTlhZjI3MDg1N2E4ZmVk
YzM5MjQ5MmFhNC4uOGVhMjc5ZWYwNzVlNWU2Yzg5MDQ5NjZiMDA1ZjBiYWYwZDc1YmNhOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd2luZG93Y2xpZW50LW5hdmlnYXRlLmh0dHBzLmh0
bWwKQEAgLTE2Niw3ICsxNjYsNyBAQCBmdW5jdGlvbiBuYXZpZ2F0ZV90ZXN0KG92ZXJyaWRlX3Bh
cmFtZXRlcnMpIHsKICAgICAvLyBleGVjdXRlcy4gYFRlc3QjYWRkX2NsZWFudXBgIGNhbm5vdCBi
ZSB1c2VkIGZvciB0aGlzIHB1cnBvc2UgYmVjYXVzZSB0aGUKICAgICAvLyBvcGVyYXRpb24gaXMg
YXN5bmNocm9ub3VzLCBhbmQgYGFkZF9jbGVhbnVwYCBkb2VzIG5vdCBzdXBwb3J0CiAgICAgLy8g
YXN5bmNocm9ub3VzIG9wZXJhdGlvbnMgYXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLiBTZWUK
LSAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pc3N1ZXMv
NjA3NQorICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lz
c3Vlcy82MDc1CiAgICAgLy8gRW5zdXJlIGFsc28gdGhhdCB0ZXN0IGZhaWx1cmUgaXMgbm90IGhp
ZGRlbiBieSBzdWNjZXNzZnVsIGNsZWFudXAKICAgICAvLyBvcGVyYXRpb24uCiAgICAgcmV0dXJu
IHRlc3RfYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1p
ZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItY2xpZW50LWlk
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGM5ZTI0ZDk5N2Q5Njk4Nzc0MzViMGZm
NjFmMTAyNjg3MGY2MTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWNsaWVudC1pZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwg
VmVyaWZ5IHdvcmtlcnMgaGF2ZSBhIHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVp
ciBvd25pbmcgZG9jdW1lbnRzIHdpbmRvdyBhc3NlcnRfbm90X2VxdWFsczogZnJhbWUgYW5kIHdv
cmtlciBjbGllbnQgaWRzIHNob3VsZCBiZSBkaWZmZXJlbnQgZ290IGRpc2FsbG93ZWQgdmFsdWUg
IjEtMTkiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1jbGllbnQtaWQuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZTRkMzE2NjBiZDU2YWRkM2YzNTU5ZmNlNWU4ODRiMGM3ZTFmMGUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWNsaWVudC1pZC5odHRw
cy5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPlNlcnZpY2Ug
V29ya2VyOiBXb3JrZXJzIHNob3VsZCBoYXZlIHRoZWlyIG93biB1bmlxdWUgY2xpZW50IElkPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8
Ym9keT4KKzxzY3JpcHQ+CisKKy8vIEdldCB0aGUgaWZyYW1lIGNsaWVudCBJRCBieSBjYWxsaW5n
IHBvc3RNZXNzYWdlKCkgb24gaXRzIGNvbnRyb2xsaW5nCisvLyB3b3JrZXIuICBUaGlzIHdpbGwg
Y2F1c2UgdGhlIHNlcnZpY2Ugd29ya2VyIHRvIHBvc3QgYmFjayB0aGUKKy8vIE1lc3NhZ2VFdmVu
dC5zb3VyY2UuaWQgdmFsdWUuCitmdW5jdGlvbiBnZXRGcmFtZUNsaWVudElkKGZyYW1lKSB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBsZXQgbWMgPSBuZXcgTWVzc2Fn
ZUNoYW5uZWwoKTsKKyAgICBmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZXJ2aWNlV29y
a2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoCisgICAgICAnZWNoby1jbGllbnQtaWQnLCBbbWMu
cG9ydDJdKTsKKyAgICBtYy5wb3J0MS5vbm1lc3NhZ2UgPSBldnQgPT4geworICAgICAgcmVzb2x2
ZShldnQuZGF0YSk7CisgICAgfTsKKyAgfSk7Cit9CisKKy8vIEdldCB0aGUgd29ya2VyIGNsaWVu
dCBJRCBieSBjcmVhdGluZyBhIHdvcmtlciB0aGF0IHBlcmZvcm1zIGFuIGludGVyY2VwdGVkCisv
LyBmZXRjaCgpLiAgVGhlIHN5bnRoZXRpYyBmZXRjaCgpIHJlc3BvbnNlIHdpbGwgY29udGFpbiB0
aGUgRmV0Y2hFdmVudC5jbGllbnRJZAorLy8gdmFsdWUuICBUaGlzIGlzIHRoZW4gcG9zdGVkIGJh
Y2sgdG8gaGVyZS4KK2Z1bmN0aW9uIGdldFdvcmtlckNsaWVudElkKGZyYW1lKSB7CisgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBsZXQgdyA9IG5ldyBmcmFtZS5jb250ZW50
V2luZG93Lldvcmtlcignd29ya2VyLWVjaG8tY2xpZW50LWlkLmpzJyk7CisgICAgdy5vbm1lc3Nh
Z2UgPSBldnQgPT4geworICAgICAgcmVzb2x2ZShldnQuZGF0YSk7CisgICAgfTsKKyAgfSk7Cit9
CisKK3Byb21pc2VfdGVzdChhc3luYyBmdW5jdGlvbih0KSB7CisgIGNvbnN0IHNjcmlwdCA9ICcu
L3Jlc291cmNlcy93b3JrZXItY2xpZW50LWlkLXdvcmtlci5qcyc7CisgIGNvbnN0IHNjb3BlID0g
Jy4vcmVzb3VyY2VzL3dvcmtlci1jbGllbnQtaWQnOworICBjb25zdCBmcmFtZSA9IHNjb3BlICsg
Jy9mcmFtZS5odG1sJzsKKworICBsZXQgcmVnID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3Jr
ZXIucmVnaXN0ZXIoc2NyaXB0LCB7IHNjb3BlIH0pOworICB0LmFkZF9jbGVhbnVwKGFzeW5jIF8g
PT4gYXdhaXQgcmVnLnVucmVnaXN0ZXIoKSk7CisgIGF3YWl0IHdhaXRfZm9yX3N0YXRlKHQsIHJl
Zy5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgbGV0IGYgPSBhd2FpdCB3aXRoX2lmcmFt
ZShmcmFtZSk7CisgIHQuYWRkX2NsZWFudXAoXyA9PiBmLnJlbW92ZSgpKTsKKworICBsZXQgZnJh
bWVDbGllbnRJZCA9IGF3YWl0IGdldEZyYW1lQ2xpZW50SWQoZik7CisgIGFzc2VydF9ub3RfZXF1
YWxzKGZyYW1lQ2xpZW50SWQsIG51bGwsICdmcmFtZSBjbGllbnQgaWQgc2hvdWxkIGV4aXN0Jyk7
CisKKyAgbGV0IHdvcmtlckNsaWVudElkID0gYXdhaXQgZ2V0V29ya2VyQ2xpZW50SWQoZik7Cisg
IGFzc2VydF9ub3RfZXF1YWxzKHdvcmtlckNsaWVudElkLCBudWxsLCAnd29ya2VyIGNsaWVudCBp
ZCBzaG91bGQgZXhpc3QnKTsKKworICBhc3NlcnRfbm90X2VxdWFscyhmcmFtZUNsaWVudElkLCB3
b3JrZXJDbGllbnRJZCwKKyAgICAgICAgICAgICAgICAgICAgJ2ZyYW1lIGFuZCB3b3JrZXIgY2xp
ZW50IGlkcyBzaG91bGQgYmUgZGlmZmVyZW50Jyk7Cit9LCAnVmVyaWZ5IHdvcmtlcnMgaGF2ZSBh
IHVuaXF1ZSBjbGllbnQgaWQgc2VwYXJhdGUgZnJvbSB0aGVpciBvd25pbmcgZG9jdW1lbnRzIHdp
bmRvdycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1pbi1zYW5kYm94ZWQtaWZyYW1lLWJ5LWNzcC1mZXRjaC1ldmVudC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlmcmFt
ZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxNTY2
Yjc5MjViNmU3NmVmMmNiMTUwZjc0M2FmMzljNGY2YzdjMjgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW4tc2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gt
ZXZlbnQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSAyNzogW2Jsb2NrZWRdIFRoZSBwYWdlIGF0IGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbi1zYW5kYm94ZWQtaWZyYW1l
LWJ5LWNzcC1mZXRjaC1ldmVudC5odHRwcy5odG1sIHdhcyBub3QgYWxsb3dlZCB0byBkaXNwbGF5
IGluc2VjdXJlIGNvbnRlbnQgZnJvbSBibG9iOm51bGwvNmJlMThkYmEtZDdjZC00N2I3LWJhYjUt
ZGJiNjI5OGY3YTZmLgorCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IE5vdCBhbGxvd2VkIHRv
IHJlcXVlc3QgcmVzb3VyY2UKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogQ2Fubm90IGxvYWQg
YmxvYjpudWxsLzZiZTE4ZGJhLWQ3Y2QtNDdiNy1iYWI1LWRiYjYyOThmN2E2ZiBkdWUgdG8gYWNj
ZXNzIGNvbnRyb2wgY2hlY2tzLgorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKKworUEFTUyBQcmVwYXJlIGEgc2VydmljZSB3b3JrZXIuIAorRkFJTCBQcmVwYXJlIGFu
IGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGggYWxsb3ctc2NyaXB0cy4g
YXNzZXJ0X2ZhbHNlOiBTZXJ2aWNlIHdvcmtlciBzaG91bGQgTk9UIGNvbnRyb2wgdGhlIHNhbmRi
b3hlZCBwYWdlIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIFByZXBhcmUgYW4gaWZyYW1l
IHNhbmRib3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCBhbGxv
dy1zYW1lLW9yaWdpbi4gCitUSU1FT1VUIEZldGNoIHJlcXVlc3QgZnJvbSBhIHdvcmtlciBpbiBp
ZnJhbWUgc2FuZGJveGVkIGJ5IENTUCBIVFRQIGhlYWRlciBhbGxvdy1zY3JpcHRzIGZsYWcgVGVz
dCB0aW1lZCBvdXQKK05PVFJVTiBGZXRjaCByZXF1ZXN0IGZyb20gYSB3b3JrZXIgaW4gaWZyYW1l
IHNhbmRib3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCBhbGxv
dy1zYW1lLW9yaWdpbiBmbGFnIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3Jr
ZXItaW4tc2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbi1zYW5kYm94ZWQtaWZyYW1lLWJ5LWNzcC1mZXRjaC1l
dmVudC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NDgwYmYxYmUwMDM5MDMzODM0MDRmYTkwZmYy
OGFmNjY4ZjY1MzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXIt
aW4tc2FuZGJveGVkLWlmcmFtZS1ieS1jc3AtZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbApAQCAtMCww
ICsxLDEzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+U2VydmljZVdvcmtlciBGZXRjaEV2
ZW50IGlzc3VlZCBmcm9tIHdvcmtlcnMgaW4gYW4gaWZyYW1lIHNhbmRib3hlZCB2aWEgQ1NQIEhU
VFAgcmVzcG9uc2UgaGVhZGVyLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Rlc3QtaGVscGVy
cy5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorbGV0IGxhc3RDYWxsYmFja0lk
ID0gMDsKK2xldCBjYWxsYmFja3MgPSB7fTsKK2Z1bmN0aW9uIGRvVGVzdChmcmFtZSwgdHlwZSkg
eworICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgIHZhciBpZCA9
ICsrbGFzdENhbGxiYWNrSWQ7CisgICAgY2FsbGJhY2tzW2lkXSA9IHJlc29sdmU7CisgICAgZnJh
bWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7aWQ6IGlkLCB0eXBlOiB0eXBlfSwgJyonKTsK
KyAgfSk7Cit9CisKKy8vIEFza3MgdGhlIHNlcnZpY2Ugd29ya2VyIGZvciBkYXRhIGFib3V0IHJl
cXVlc3RzIGFuZCBjbGllbnRzIHNlZW4uIFRoZQorLy8gd29ya2VyIHBvc3RzIGEgbWVzc2FnZSBi
YWNrIHdpdGggfGRhdGF8IHdoZXJlOgorLy8gfGRhdGEucmVxdWVzdHN8OiB0aGUgcmVxdWVzdHMg
dGhlIHdvcmtlciByZWNlaXZlZCBGZXRjaEV2ZW50cyBmb3IKKy8vIHxkYXRhLmNsaWVudHN8OiB0
aGUgVVJMcyBvZiBhbGwgdGhlIHdvcmtlcidzIGNsaWVudHMKKy8vIFRoZSB3b3JrZXIgY2xlYXJz
IGl0cyBkYXRhIGFmdGVyIHJlc3BvbmRpbmcuCitmdW5jdGlvbiBnZXRSZXN1bHRzRnJvbVdvcmtl
cih3b3JrZXIpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGxldCBj
aGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3Nh
Z2UgPSBtc2cgPT4geworICAgICAgcmVzb2x2ZShtc2cuZGF0YSk7CisgICAgfTsKKyAgICB3b3Jr
ZXIucG9zdE1lc3NhZ2Uoe3BvcnQ6IGNoYW5uZWwucG9ydDJ9LCBbY2hhbm5lbC5wb3J0Ml0pOwor
ICB9KTsKK30KKword2luZG93Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7CisgIG1lc3NhZ2Ug
PSBlLmRhdGE7CisgIGxldCBpZCA9IG1lc3NhZ2VbJ2lkJ107CisgIGxldCBjYWxsYmFjayA9IGNh
bGxiYWNrc1tpZF07CisgIGRlbGV0ZSBjYWxsYmFja3NbaWRdOworICBjYWxsYmFjayhtZXNzYWdl
WydyZXN1bHQnXSk7Cit9OworCitjb25zdCBTQ09QRSA9ICdyZXNvdXJjZXMvc2FuZGJveGVkLWlm
cmFtZS1mZXRjaC1ldmVudC1pZnJhbWUucHknOworY29uc3QgU0NSSVBUID0gJ3Jlc291cmNlcy9z
YW5kYm94ZWQtaWZyYW1lLWZldGNoLWV2ZW50LXdvcmtlci5qcyc7Citjb25zdCBleHBlY3RlZF9i
YXNlX3VybCA9IG5ldyBVUkwoU0NPUEUsIGxvY2F0aW9uLmhyZWYpOworLy8gQSBzZXJ2aWNlIHdv
cmtlciBjb250cm9sbGluZyB8U0NPUEV8LgorbGV0IHdvcmtlcjsKKy8vIEFuIGlmcmFtZSB3aG9z
ZSByZXNwb25zZSBoZWFkZXIgaGFzCisvLyAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGFsbG93
LXNjcmlwdHMnLgorLy8gVGhpcyBzaG91bGQgTk9UIGJlIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNl
IHdvcmtlci4KK2xldCBzYW5kYm94ZWRfZnJhbWVfYnlfaGVhZGVyOworLy8gQW4gaWZyYW1lIHdo
b3NlIHJlc3BvbnNlIGhlYWRlciBoYXMKKy8vICdDb250ZW50LVNlY3VyaXR5LVBvbGljeTogYWxs
b3ctc2NyaXB0cyBhbGxvdy1zYW1lLW9yaWdpbicuCisvLyBUaGlzIHNob3VsZCBiZSBjb250cm9s
bGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCitsZXQgc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1l
X2J5X2hlYWRlcjsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gc2VydmljZV93b3Jr
ZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIodCwgU0NSSVBULCBTQ09QRSkKKyAgICAudGhlbihm
dW5jdGlvbihyZWdpc3RyYXRpb24pIHsKKyAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgp
ID0+IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICAgICAgd29ya2VyID0gcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmc7CisgICAgICByZXR1cm4gd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKyAgICB9KTsKK30sICdQcmVwYXJlIGEgc2Vy
dmljZSB3b3JrZXIuJyk7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgaWZyYW1lX2Z1
bGxfdXJsID0gZXhwZWN0ZWRfYmFzZV91cmwgKyAnP3NhbmRib3g9YWxsb3ctc2NyaXB0cyYnICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NhbmRib3hlZC1mcmFtZS1ieS1oZWFkZXInOwor
ICByZXR1cm4gd2l0aF9pZnJhbWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVuKGYgPT4gewor
ICAgICAgc2FuZGJveGVkX2ZyYW1lX2J5X2hlYWRlciA9IGY7CisgICAgICBhZGRfY29tcGxldGlv
bl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJv
bVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBsZXQg
cmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5s
ZW5ndGgsIDEsCisgICAgICAgICAgICAgICAgICAgICdTZXJ2aWNlIHdvcmtlciBzaG91bGQgcHJv
dmlkZSB0aGUgcmVzcG9uc2UnKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocmVxdWVzdHNbMF0sIGlm
cmFtZV9mdWxsX3VybCk7CisgICAgICBhc3NlcnRfZmFsc2UoZGF0YS5jbGllbnRzLmluY2x1ZGVz
KGlmcmFtZV9mdWxsX3VybCksCisgICAgICAgICAgICAgICAgICAgJ1NlcnZpY2Ugd29ya2VyIHNo
b3VsZCBOT1QgY29udHJvbCB0aGUgc2FuZGJveGVkIHBhZ2UnKTsKKyAgICB9KTsKK30sICdQcmVw
YXJlIGFuIGlmcmFtZSBzYW5kYm94ZWQgYnkgQ1NQIEhUVFAgaGVhZGVyIHdpdGggYWxsb3ctc2Ny
aXB0cy4nKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCBpZnJhbWVfZnVsbF91cmwg
PQorICAgIGV4cGVjdGVkX2Jhc2VfdXJsICsgJz9zYW5kYm94PWFsbG93LXNjcmlwdHMlMjBhbGxv
dy1zYW1lLW9yaWdpbiYnICsKKyAgICAnc2FuZGJveGVkLWlmcmFtZS1zYW1lLW9yaWdpbi1ieS1o
ZWFkZXInOworICByZXR1cm4gd2l0aF9pZnJhbWUoaWZyYW1lX2Z1bGxfdXJsKQorICAgIC50aGVu
KGYgPT4geworICAgICAgc2FuZGJveGVkX3NhbWVfb3JpZ2luX2ZyYW1lX2J5X2hlYWRlciA9IGY7
CisgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBmLnJlbW92ZSgpKTsKKyAgICAg
IHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4o
ZGF0YSA9PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAgYXNz
ZXJ0X2VxdWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEpOworICAgICAgYXNzZXJ0X2VxdWFscyhyZXF1
ZXN0c1swXSwgaWZyYW1lX2Z1bGxfdXJsKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY2xpZW50
cy5pbmNsdWRlcyhpZnJhbWVfZnVsbF91cmwpKTsKKyAgICB9KQorfSwgJ1ByZXBhcmUgYW4gaWZy
YW1lIHNhbmRib3hlZCBieSBDU1AgSFRUUCBoZWFkZXIgd2l0aCBhbGxvdy1zY3JpcHRzIGFuZCAn
ICsKKyAgICdhbGxvdy1zYW1lLW9yaWdpbi4nKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBs
ZXQgZnJhbWUgPSBzYW5kYm94ZWRfZnJhbWVfYnlfaGVhZGVyOworICByZXR1cm4gZG9UZXN0KGZy
YW1lLCAnZmV0Y2gtZnJvbS13b3JrZXInKQorICAgIC50aGVuKHJlc3VsdCA9PiB7CisgICAgICBh
c3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAgICAgIHJldHVybiBnZXRSZXN1bHRzRnJv
bVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRoZW4oZGF0YSA9PiB7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGRhdGEucmVxdWVzdHMubGVuZ3RoLCAwLAorICAgICAgICAgICAgICAgICAgICAn
VGhlIHJlcXVlc3Qgc2hvdWxkIE5PVCBiZSBoYW5kbGVkIGJ5IFNXLicpOworICAgIH0pOworfSwg
J0ZldGNoIHJlcXVlc3QgZnJvbSBhIHdvcmtlciBpbiBpZnJhbWUgc2FuZGJveGVkIGJ5IENTUCBI
VFRQIGhlYWRlciAnICsKKyAgICdhbGxvdy1zY3JpcHRzIGZsYWcnKTsKKworcHJvbWlzZV90ZXN0
KHQgPT4geworICBsZXQgZnJhbWUgPSBzYW5kYm94ZWRfc2FtZV9vcmlnaW5fZnJhbWVfYnlfaGVh
ZGVyOworICByZXR1cm4gZG9UZXN0KGZyYW1lLCAnZmV0Y2gtZnJvbS13b3JrZXInKQorICAgIC50
aGVuKHJlc3VsdCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ2RvbmUnKTsKKyAg
ICAgIHJldHVybiBnZXRSZXN1bHRzRnJvbVdvcmtlcih3b3JrZXIpOworICAgIH0pCisgICAgLnRo
ZW4oZGF0YSA9PiB7CisgICAgICBsZXQgcmVxdWVzdHMgPSBkYXRhLnJlcXVlc3RzOworICAgICAg
YXNzZXJ0X2VxdWFscyhyZXF1ZXN0cy5sZW5ndGgsIDEsCisgICAgICAgICAgICAgICAgICAgICdU
aGUgcmVxdWVzdCBzaG91bGQgYmUgaGFuZGxlZCBieSBTVy4nKTsKKyAgICAgIGFzc2VydF9lcXVh
bHMocmVxdWVzdHNbMF0sIGZyYW1lLnNyYyArICcmdGVzdD1mZXRjaC1mcm9tLXdvcmtlcicpOwor
ICAgIH0pOworfSwgJ0ZldGNoIHJlcXVlc3QgZnJvbSBhIHdvcmtlciBpbiBpZnJhbWUgc2FuZGJv
eGVkIGJ5IENTUCBIVFRQIGhlYWRlciAnICsKKyAgICd3aXRoIGFsbG93LXNjcmlwdHMgYW5kIGFs
bG93LXNhbWUtb3JpZ2luIGZsYWcnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTUxNjhhZGFkNmU5YTczZDE2N2QyZjZm
YTU2MTJlNmY1YmM5ODUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4
IEBACisKK1BBU1MgaW5pdGlhbGl6ZSBnbG9iYWwgc3RhdGUgCitGQUlMIHJlcXVlc3QgdG8gc3cx
IHNjb3BlIGdldHMgbmV0d29yayByZWRpcmVjdCB0byBzdzIgc2NvcGUgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmlu
ZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBmcmFtZS5jb250ZW50V2lu
ZG93LlNoYXJlZFdvcmtlcih3b3JrZXJfcmVxdWVzdF91cmwpJykiCitGQUlMIHJlcXVlc3QgdG8g
c3cxIHNjb3BlIGdldHMgbmV0d29yayByZWRpcmVjdCB0byBvdXQtb2Ytc2NvcGUgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBmcmFtZS5jb250
ZW50V2luZG93LlNoYXJlZFdvcmtlcih3b3JrZXJfcmVxdWVzdF91cmwpJykiCitGQUlMIHJlcXVl
c3QgdG8gc3cxIHNjb3BlIGdldHMgc2VydmljZS13b3JrZXIgcmVkaXJlY3QgdG8gc3cyIHNjb3Bl
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcg
ZnJhbWUuY29udGVudFdpbmRvdy5TaGFyZWRXb3JrZXIod29ya2VyX3JlcXVlc3RfdXJsKScpIgor
RkFJTCByZXF1ZXN0IHRvIHN3MSBzY29wZSBnZXRzIHNlcnZpY2Utd29ya2VyIHJlZGlyZWN0IHRv
IG91dC1vZi1zY29wZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZh
bHVhdGluZyAnbmV3IGZyYW1lLmNvbnRlbnRXaW5kb3cuU2hhcmVkV29ya2VyKHdvcmtlcl9yZXF1
ZXN0X3VybCknKSIKK1BBU1MgY2xlYW51cCBnbG9iYWwgc3RhdGUgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iYTg4MjczYjQ1MmU1ZjQyZTE4NThmZTFlMTBkMzJmODNjYWNhMDM1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1y
ZWRpcmVjdC5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTgzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0
aXRsZT5TZXJ2aWNlIFdvcmtlcjogY29udHJvbGxpbmcgYSBTaGFyZWRXb3JrZXI8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzxib2R5Pgor
PHNjcmlwdD4KKy8vIFRoaXMgdGVzdHMgc2VydmljZSB3b3JrZXIgaW50ZXJjZXB0aW9uIGZvciB3
b3JrZXIgY2xpZW50cywgd2hlbiB0aGUgcmVxdWVzdAorLy8gZm9yIHRoZSB3b3JrZXIgc2NyaXB0
IGdvZXMgdGhyb3VnaCByZWRpcmVjdHMuIEZvciBleGFtcGxlLCBhIHJlcXVlc3QgY2FuIGdvCisv
LyB0aHJvdWdoIGEgY2hhaW4gb2YgVVJMcyBsaWtlIEEgLT4gQiAtPiBDIC0+IEQgYW5kIGVhY2gg
VVJMIG1pZ2h0IGZhbGwgaW4gdGhlCisvLyBzY29wZSBvZiBhIGRpZmZlcmVudCBzZXJ2aWNlIHdv
cmtlciwgaWYgYW55LgorLy8gVGhlIHR3byBrZXkgcXVlc3Rpb25zIGFyZToKKy8vIDEuIFVwb24g
YSByZWRpcmVjdCBmcm9tIEEgLT4gQiwgc2hvdWxkIGEgc2VydmljZSB3b3JrZXIgZm9yIHNjb3Bl
IEIKKy8vICAgIGludGVyY2VwdCB0aGUgcmVxdWVzdD8KKy8vIDIuIEFmdGVyIHRoZSBmaW5hbCBy
ZXNwb25zZSwgd2hpY2ggc2VydmljZSB3b3JrZXIgY29udHJvbHMgdGhlIHJlc3VsdGluZworLy8g
ICAgY2xpZW50PworLy8KKy8vIFRoZSBzdGFuZGFyZCBwcmVzY3JpYmVzIHRoZSBmb2xsb3dpbmc6
CisvLyAxLiBUaGUgc2VydmljZSB3b3JrZXIgZm9yIHNjb3BlIEIgaW50ZXJjZXB0cyB0aGUgcmVk
aXJlY3QuICpIb3dldmVyKiwgb25jZSBhCisvLyAgICByZXF1ZXN0IGZhbGxzIGJhY2sgdG8gbmV0
d29yayAoaS5lLiwgYSBzZXJ2aWNlIHdvcmtlciBkaWQgbm90IGNhbGwKKy8vICAgIHJlc3BvbmRX
aXRoKCkpIGFuZCBhIHJlZGlyZWN0IGlzIHRoZW4gcmVjZWl2ZWQgZnJvbSBuZXR3b3JrLCBubyBz
ZXJ2aWNlCisvLyAgICB3b3JrZXIgc2hvdWxkIGludGVyY2VwdCB0aGF0IHJlZGlyZWN0IG9yIGFu
eSBzdWJzZXF1ZW50IHJlZGlyZWN0cy4KKy8vIDIuIFRoZSBmaW5hbCBzZXJ2aWNlIHdvcmtlciB0
aGF0IGdvdCBhIGZldGNoIGV2ZW50IChvciB3b3VsZCBoYXZlLCBpbiB0aGUKKy8vICAgIGNhc2Ug
b2YgYSBub24tZmV0Y2gtZXZlbnQgd29ya2VyKSBiZWNvbWVzIHRoZSBjb250cm9sbGVyIG9mIHRo
ZSBjbGllbnQuCisvLworLy8gVGhlIHN0YW5kYXJkIG1heSBjaGFuZ2UgbGF0ZXIsIHNlZToKKy8v
IGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvU2VydmljZVdvcmtlci9pc3N1ZXMvMTI4OQorLy8KKy8v
IFRoZSBiYXNpYyB0ZXN0IHNldHVwIGlzOgorLy8gMS4gUGFnZSByZWdpc3RlcnMgc2VydmljZSB3
b3JrZXJzIGZvciBzY29wZTEgYW5kIHNjb3BlMi4KKy8vIDIuIFBhZ2UgcmVxdWVzdHMgYSB3b3Jr
ZXIgZnJvbSBzY29wZTEuCisvLyAzLiBUaGUgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIHNjb3Bl
MiBvciBvdXQtb2Ytc2NvcGUuCisvLyA0LiBUaGUgd29ya2VyIHBvc3RzIG1lc3NhZ2UgdG8gdGhl
IHBhZ2UgZGVzY3JpYmluZyB3aGVyZSB0aGUgZmluYWwgcmVzcG9uc2UKKy8vICAgd2FzIHNlcnZl
ZCBmcm9tIChzZXJ2aWNlIHdvcmtlciBvciBuZXR3b3JrKS4KKy8vIDUuIFRoZSB3b3JrZXIgZG9l
cyBhbiBpbXBvcnRTY3JpcHRzKCkgYW5kIGZldGNoKCksIGFuZCBwb3N0cyBiYWNrIHRoZQorLy8g
ICByZXNwb25zZXMsIHdoaWNoIGRlc2NyaWJlIHdoZXJlIHRoZSByZXNwb25zZXMgd2hlcmUgc2Vy
dmVkIGZyb20uCisvLworLy8gQ3VycmVudGx5IHRoaXMgb25seSB0ZXN0cyBzaGFyZWQgd29ya2Vy
IGJ1dCBkZWRpY2F0ZWQgd29ya2VyIHRlc3RzIHNob3VsZCBiZQorLy8gYWRkZWQgaW4gYSBmdXR1
cmUgcGF0Y2guCisKKy8vIEdsb2JhbHMgZm9yIGVhc2llciBjbGVhbnVwLgorY29uc3Qgc2NvcGUx
ID0gJ3Jlc291cmNlcy9zY29wZTEnOworY29uc3Qgc2NvcGUyID0gJ3Jlc291cmNlcy9zY29wZTIn
OworbGV0IGZyYW1lOworCitmdW5jdGlvbiBnZXRfbWVzc2FnZV9mcm9tX3dvcmtlcih3b3JrZXIp
IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgd29ya2VyLnBvcnQu
b25tZXNzYWdlID0gZXZ0ID0+IHsKKyAgICAgICAgcmVzb2x2ZShldnQuZGF0YSk7CisgICAgICB9
CisgICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIGNsZWFudXAoKSB7CisgIGlmIChmcmFtZSkK
KyAgICBmcmFtZS5yZW1vdmUoKTsKKworICBjb25zdCByZWcxID0gYXdhaXQgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKHNjb3BlMSk7CisgIGlmIChyZWcxKQorICAgIGF3
YWl0IHJlZzEudW5yZWdpc3RlcigpOworICBjb25zdCByZWcyID0gYXdhaXQgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIuZ2V0UmVnaXN0cmF0aW9uKHNjb3BlMik7CisgIGlmIChyZWcyKQorICAgIGF3
YWl0IHJlZzIudW5yZWdpc3RlcigpOworfQorCisvLyBCdWlsZHMgdGhlIHdvcmtlciBzY3JpcHQg
VVJMLCB3aGljaCBlbmNvZGVzIGluZm9ybWF0aW9uIGFib3V0IHdoZXJlCisvLyB0byByZWRpcmVj
dCB0by4gVGhlIFVSTCBmYWxscyBpbiBzdzEncyBzY29wZS4KKy8vCisvLyAtIHxyZWRpcmVjdG9y
fCBpcyAibmV0d29yayIgb3IgInNlcnZpY2V3b3JrZXIiLiBJZiAic2VydmljZXdvcmtlciIsIHN3
MSB3aWxsCisvLyByZXNwb25kV2l0aCgpIGEgcmVkaXJlY3QuIE90aGVyd2lzZSwgaXQgZmFsbHMg
YmFjayB0byBuZXR3b3JrIGFuZCB0aGUgc2VydmVyCisvLyByZXNwb25kcyB3aXRoIGEgcmVkaXJl
Y3QuCisvLyAtIHxyZWRpcmVjdF9sb2NhdGlvbnwgaXMgInNjb3BlMiIgb3IgIm91dC1vZi1zY29w
ZSIuIElmICJzY29wZTIiLCB0aGUKKy8vIHJlZGlyZWN0IGVuZHMgdXAgaW4gc3cyJ3Mgc2NvcGUy
LiBPdGhlcndpc2UgaXQncyBvdXQgb2Ygc2NvcGUuCitmdW5jdGlvbiBidWlsZF93b3JrZXJfdXJs
KHJlZGlyZWN0b3IsIHJlZGlyZWN0X2xvY2F0aW9uKSB7CisgIGxldCByZWRpcmVjdF9wYXRoOwor
ICAvLyBTZXQgcGF0aCB0byByZWRpcmVjdC5weSwgYSBmaWxlIG9uIHRoZSBzZXJ2ZXIgdGhhdCBz
ZXJ2ZXMKKyAgLy8gYSByZWRpcmVjdC4gV2hlbiBzdzEgc2VlcyB0aGlzIFVSTCwgaXQgZmFsbHMg
YmFjayB0byBuZXR3b3JrLgorICBpZiAocmVkaXJlY3RvciA9PSAnbmV0d29yaycpCisgICAgcmVk
aXJlY3Rvcl9wYXRoID0gJ3JlZGlyZWN0LnB5JzsKKyAgLy8gU2V0IHBhdGggdG8gJ3N3LXJlZGly
ZWN0JywgdG8gdGVsbCB0aGUgc2VydmljZSB3b3JrZXIKKyAgLy8gdG8gcmVzcG9uZCB3aXRoIHJl
ZGlyZWN0LgorICBlbHNlIGlmIChyZWRpcmVjdG9yID09ICdzZXJ2aWNld29ya2VyJykKKyAgICBy
ZWRpcmVjdG9yX3BhdGggPSAnc3ctcmVkaXJlY3QnOworCisgIGxldCByZWRpcmVjdF90byA9IGJh
c2VfcGF0aCgpICsgJ3Jlc291cmNlcy8nOworICAvLyBBcHBlbmQgInNjb3BlMi8iIHRvIHJlZGly
ZWN0X3RvLCBzbyB0aGUgcmVkaXJlY3QgZmFsbHMgaW4gc2NvcGUyLgorICAvLyBPdGhlcndpc2Ug
bm8gY2hhbmdlIGlzIG5lZWRlZCwgYXMgdGhlIHBhcmVudCAicmVzb3VyY2VzLyIgZGlyZWN0b3J5
IGlzCisgIC8vIHVzZWQsIGFuZCBpcyBvdXQtb2Ytc2NvcGUuCisgIGlmIChyZWRpcmVjdF9sb2Nh
dGlvbiA9PSAnc2NvcGUyJykKKyAgICByZWRpcmVjdF90byArPSAnc2NvcGUyLyc7CisgIC8vIEFw
cGVuZCB0aGUgbmFtZSBvZiB0aGUgZmlsZSB3aGljaCBzZXJ2ZXMgdGhlIHdvcmtlciBzY3JpcHQu
CisgIHJlZGlyZWN0X3RvICs9ICd3b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtl
ci5weSc7CisKKyAgcmV0dXJuIGBzY29wZTEvJHtyZWRpcmVjdG9yX3BhdGh9P1JlZGlyZWN0PSR7
cmVkaXJlY3RfdG99YAorfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGF3YWl0IGNs
ZWFudXAoKTsKKyAgY29uc3Qgc2VydmljZV93b3JrZXIgPSAncmVzb3VyY2VzL3dvcmtlci1pbnRl
cmNlcHRpb24tcmVkaXJlY3Qtc2VydmljZXdvcmtlci5qcyc7CisgIGNvbnN0IHJlZ2lzdHJhdGlv
bjEgPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzZXJ2aWNlX3dvcmtl
ciwge3Njb3BlOiBzY29wZTF9KTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0
aW9uMS5pbnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisgIGNvbnN0IHJlZ2lzdHJhdGlvbjIgPSBh
d2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihzZXJ2aWNlX3dvcmtlciwge3Nj
b3BlOiBzY29wZTJ9KTsKKyAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodCwgcmVnaXN0cmF0aW9uMi5p
bnN0YWxsaW5nLCAnYWN0aXZhdGVkJyk7CisKKyAgcHJvbWlzZV90ZXN0KHQgPT4geworICAgIHJl
dHVybiBjbGVhbnVwKCk7CisgIH0sICdjbGVhbnVwIGdsb2JhbCBzdGF0ZScpOworfSwgJ2luaXRp
YWxpemUgZ2xvYmFsIHN0YXRlJyk7CisKK2Z1bmN0aW9uIHdvcmtlcl9yZWRpcmVjdF90ZXN0KHdv
cmtlcl9yZXF1ZXN0X3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcl9l
eHBlY3RlZF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9tYWlu
X3Jlc291cmNlX21lc3NhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3Rl
ZF9pbXBvcnRfc2NyaXB0c19tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXhwZWN0ZWRfZmV0Y2hfbWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl
c2NyaXB0aW9uKSB7CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAvLyBDcmVhdGUg
YSBmcmFtZSB0byBsb2FkIHRoZSB3b3JrZXIgZnJvbS4gVGhpcyB3YXkgd2UgY2FuIHJlbW92ZSB0
aGUgZnJhbWUKKyAgICAvLyB0byBkZXN0cm95IHRoZSB3b3JrZXIgY2xpZW50IHdoZW4gdGhlIHRl
c3QgaXMgZG9uZS4KKyAgICBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1lKCdyZXNvdXJjZXMvYmxh
bmsuaHRtbCcpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4geyBmcmFtZS5yZW1vdmUoKTsgfSk7
CisKKyAgICAvLyBTdGFydCB0aGUgd29ya2VyLgorICAgIGNvbnN0IHcgPSBuZXcgZnJhbWUuY29u
dGVudFdpbmRvdy5TaGFyZWRXb3JrZXIod29ya2VyX3JlcXVlc3RfdXJsKTsKKyAgICB3LnBvcnQu
c3RhcnQoKTsKKworICAgIC8vIEV4cGVjdCBhIG1lc3NhZ2UgZnJvbSB0aGUgd29ya2VyIGluZGlj
YXRpbmcgd2hpY2ggc2VydmljZSB3b3JrZXIKKyAgICAvLyBwcm92aWRlZCB0aGUgcmVzcG9uc2Ug
Zm9yIHRoZSB3b3JrZXIgc2NyaXB0IHJlcXVlc3QsIGlmIGFueS4KKyAgICBjb25zdCBkYXRhID0g
YXdhaXQgZ2V0X21lc3NhZ2VfZnJvbV93b3JrZXIodyk7CisgICAgYXNzZXJ0X2VxdWFscyhkYXRh
LCBleHBlY3RlZF9tYWluX3Jlc291cmNlX21lc3NhZ2UpOworCisgICAgLy8gVGhlIHdvcmtlciBk
b2VzIGFuIGltcG9ydFNjcmlwdHMoKS4gRXhwZWN0IGEgbWVzc2FnZSBmcm9tIHRoZSB3b3JrZXIK
KyAgICAvLyBpbmRpY2F0aW5nIHdoaWNoIHNlcnZpY2Ugd29ya2VyIHByb3ZpZGVkIHRoZSByZXNw
b25zZSBmb3IgdGhlCisgICAgLy8gaW1wb3J0U2NyaXB0cygpLCBpZiBhbnkuCisgICAgY29uc3Qg
aW1wb3J0X3NjcmlwdHNfbWVzc2FnZSA9IGF3YWl0IGdldF9tZXNzYWdlX2Zyb21fd29ya2VyKHcp
OworICAgIGFzc2VydF9lcXVhbHMoaW1wb3J0X3NjcmlwdHNfbWVzc2FnZSwgZXhwZWN0ZWRfaW1w
b3J0X3NjcmlwdHNfbWVzc2FnZSk7CisKKyAgICAvLyBUaGUgd29ya2VyIGRvZXMgYSBmZXRjaCgp
LiBFeHBlY3QgYSBtZXNzYWdlIGZyb20gdGhlIHdvcmtlciBpbmRpY2F0aW5nCisgICAgLy8gd2hp
Y2ggc2VydmljZSB3b3JrZXIgcHJvdmlkZWQgdGhlIHJlc3BvbnNlIGZvciB0aGUgZmV0Y2goKSwg
aWYgYW55LgorICAgIGNvbnN0IGZldGNoX21lc3NhZ2UgPSBhd2FpdCBnZXRfbWVzc2FnZV9mcm9t
X3dvcmtlcih3KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZldGNoX21lc3NhZ2UsIGV4cGVjdGVkX2Zl
dGNoX21lc3NhZ2UpOworCisgICAgLy8gRXhwZWN0IGEgbWVzc2FnZSBmcm9tIHRoZSB3b3JrZXIg
aW5kaWNhdGluZyB8c2VsZi5sb2NhdGlvbnwuCisgICAgY29uc3Qgd29ya2VyX2FjdHVhbF91cmwg
PSBhd2FpdCBnZXRfbWVzc2FnZV9mcm9tX3dvcmtlcih3KTsKKyAgICBhc3NlcnRfZXF1YWxzKAor
ICAgICAgd29ya2VyX2FjdHVhbF91cmwsCisgICAgICAobmV3IFVSTCh3b3JrZXJfZXhwZWN0ZWRf
dXJsLCBsb2NhdGlvbi5ocmVmKSkudG9TdHJpbmcoKSwKKyAgICAgICdsb2NhdGlvbi5ocmVmJyk7
CisgIH0sIGRlc2NyaXB0aW9uKTsKK30KKword29ya2VyX3JlZGlyZWN0X3Rlc3QoCisgICAgYnVp
bGRfd29ya2VyX3VybCgnbmV0d29yaycsICdzY29wZTInKSwKKyAgICAncmVzb3VyY2VzL3Njb3Bl
Mi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weScsCisgICAgJ3RoZSBz
aGFyZWQgd29ya2VyIHNjcmlwdCB3YXMgc2VydmVkIGZyb20gbmV0d29yaycsCisgICAgJ3N3MSBz
YXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXInLAorICAgICdmZXRjaCgpOiBzdzEgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXInLAorICAgICdyZXF1ZXN0IHRvIHN3MSBzY29wZSBn
ZXRzIG5ldHdvcmsgcmVkaXJlY3QgdG8gc3cyIHNjb3BlJyk7CisKK3dvcmtlcl9yZWRpcmVjdF90
ZXN0KAorICAgIGJ1aWxkX3dvcmtlcl91cmwoJ25ldHdvcmsnLCAnb3V0LXNjb3BlJyksCisgICAg
J3Jlc291cmNlcy93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weScsCisg
ICAgJ3RoZSBzaGFyZWQgd29ya2VyIHNjcmlwdCB3YXMgc2VydmVkIGZyb20gbmV0d29yaycsCisg
ICAgJ3N3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXInLAorICAgICdmZXRjaCgp
OiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXInLAorICAgICdyZXF1ZXN0IHRvIHN3
MSBzY29wZSBnZXRzIG5ldHdvcmsgcmVkaXJlY3QgdG8gb3V0LW9mLXNjb3BlJyk7CisKK3dvcmtl
cl9yZWRpcmVjdF90ZXN0KAorICAgIGJ1aWxkX3dvcmtlcl91cmwoJ3NlcnZpY2V3b3JrZXInLCAn
c2NvcGUyJyksCisgICAgJ3Jlc291cmNlcy93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dl
Yndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhl
JTIwd29ya2VyJTIwc2NyaXB0JywKKyAgICAnc3cyIHNhdyB0aGUgcmVxdWVzdCBmb3IgdGhlIHdv
cmtlciBzY3JpcHQnLAorICAgICdzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2Vy
JywKKyAgICAnZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyJywKKyAg
ICAncmVxdWVzdCB0byBzdzEgc2NvcGUgZ2V0cyBzZXJ2aWNlLXdvcmtlciByZWRpcmVjdCB0byBz
dzIgc2NvcGUnKTsKKword29ya2VyX3JlZGlyZWN0X3Rlc3QoCisgICAgYnVpbGRfd29ya2VyX3Vy
bCgnc2VydmljZXdvcmtlcicsICdvdXQtc2NvcGUnKSwKKyAgICAncmVzb3VyY2VzL3dvcmtlcl9p
bnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5JywKKyAgICAndGhlIHNoYXJlZCB3b3Jr
ZXIgc2NyaXB0IHdhcyBzZXJ2ZWQgZnJvbSBuZXR3b3JrJywKKyAgICAnc3cxIHNhdyBpbXBvcnRT
Y3JpcHRzIGZyb20gdGhlIHdvcmtlcicsCisgICAgJ2ZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNo
IGZyb20gdGhlIHdvcmtlcicsCisgICAgJ3JlcXVlc3QgdG8gc3cxIHNjb3BlIGdldHMgc2Vydmlj
ZS13b3JrZXIgcmVkaXJlY3QgdG8gb3V0LW9mLXNjb3BlJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggZDFkNGY4OTQ3OTNmY2ZlYmNjMjYwMDg0OGEzYjJhYzM0ZDI3
NTIwMC4uNDVlMjI5ZTcyODFjZTBlMTBhZDM3NmU4ZDVjZTJlNDgyMDc1OTIwOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTIsNyArMiw3IEBACiAKIEZBSUwgVmVyaWZ5IHdvcmtlciBzY3JpcHQgZnJv
bSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgU2VydmljZSBXb3JrZXIg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAog
RkFJTCBWZXJpZnkgd29ya2VyIHNjcmlwdCBpbnRlcmNlcHRlZCBieSBzYW1lLW9yaWdpbiByZXNw
b25zZSBzdWNjZWVkcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogdW5kZWZpbmVkCi1GQUlMIFZlcmlmeSB3b3JrZXIgc2NyaXB0IGludGVyY2VwdGVkIGJ5IGNv
cnMgcmVzcG9uc2Ugc3VjY2VlZHMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgd29ya2VyIHNjcmlwdCBpbnRlcmNlcHRl
ZCBieSBjb3JzIHJlc3BvbnNlIGZhaWxzIAogUEFTUyBWZXJpZnkgd29ya2VyIHNjcmlwdCBpbnRl
cmNlcHRlZCBieSBuby1jb3JzIGNyb3NzLW9yaWdpbiByZXNwb25zZSBmYWlscyAKIFBBU1MgVmVy
aWZ5IHdvcmtlciBsb2FkcyBmcm9tIGNvbnRyb2xsZWQgZG9jdW1lbnQgYXJlIGludGVyY2VwdGVk
IGJ5IFNlcnZpY2UgV29ya2VyIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3Jr
ZXItaW50ZXJjZXB0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLmh0dHBzLmh0bWwKaW5kZXggM2VjNjZhNTRiNmUxZTUzNmQ3ODFlYWYwMGM5Zjhh
NDdmMDAyOWM0MS4uYmY5NzZhMjljNDhhMzgxMGVmNGZmMjBiNWM3ZThiNzBkZWMyYjIxOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMuaHRtbApA
QCAtNjksMjIgKzY5LDE0IEBAIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAg
cmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIuaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAg
ICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgcmV0dXJuIG5ldyBQ
cm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgICB2YXIgdyA9
IG5ldyBXb3JrZXIod29ya2VyX3VybCk7Ci0gICAgICAgICAgICAgIHcub25tZXNzYWdlID0gZnVu
Y3Rpb24oZSkgewotICAgICAgICAgICAgICAgIHJlc29sdmUoZS5kYXRhKTsKLSAgICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAgIHcub25lcnJvciA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAg
ICAgICAgICByZWplY3QoZS5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fSk7CisgICAgICAgICAgdmFyIHcgPSBuZXcgV29ya2VyKHdvcmtlcl91cmwpOworICAgICAgICAg
IHZhciB3YXRjaGVyID0gbmV3IEV2ZW50V2F0Y2hlcih0LCB3LCBbJ21lc3NhZ2UnLCAnZXJyb3In
XSk7CisgICAgICAgICAgcmV0dXJuIHdhdGNoZXIud2FpdF9mb3IoJ2Vycm9yJyk7CiAgICAgICAg
IH0pCi0gICAgICAudGhlbihmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhkYXRhLCAnZHVtbXktd29ya2VyLXNjcmlwdCBsb2FkZWQnKTsKKyAgICAgIC50aGVuKGZ1bmN0
aW9uKCkgewogICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX2RvbmUodCwg
c2NvcGUpOwotICAgICAgICB9KTsKLSAgfSwgJ1ZlcmlmeSB3b3JrZXIgc2NyaXB0IGludGVyY2Vw
dGVkIGJ5IGNvcnMgcmVzcG9uc2Ugc3VjY2VlZHMnKTsKKyAgICAgICB9KTsKKyAgfSwgJ1Zlcmlm
eSB3b3JrZXIgc2NyaXB0IGludGVyY2VwdGVkIGJ5IGNvcnMgcmVzcG9uc2UgZmFpbHMnKTsKIAog
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKICAgICB2YXIgd29ya2VyX3VybCA9ICdyZXNvdXJj
ZXMvZHVtbXktbm8tY29ycy13b3JrZXIuanMnOwpAQCAtOTYsMjQgKzg4LDExIEBAIHByb21pc2Vf
dGVzdChmdW5jdGlvbih0KSB7CiAgICAgICAgICAgcmV0dXJuIHdhaXRfZm9yX3N0YXRlKHQsIHIu
aW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwogICAgICAgICB9KQogICAgICAgLnRoZW4oZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJl
amVjdCkgewotICAgICAgICAgICAgICB2YXIgdyA9IG5ldyBXb3JrZXIod29ya2VyX3VybCk7Ci0g
ICAgICAgICAgICAgIHcub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgICAg
IHJlc29sdmUoZS5kYXRhKTsKLSAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgIHcub25l
cnJvciA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgICAgICByZWplY3QoZSk7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOwor
ICAgICAgICAgIHZhciB3ID0gbmV3IFdvcmtlcih3b3JrZXJfdXJsKTsKKyAgICAgICAgICB2YXIg
d2F0Y2hlciA9IG5ldyBFdmVudFdhdGNoZXIodCwgdywgWydtZXNzYWdlJywgJ2Vycm9yJ10pOwor
ICAgICAgICAgIHJldHVybiB3YXRjaGVyLndhaXRfZm9yKCdlcnJvcicpOwogICAgICAgICB9KQot
ICAgICAgLnRoZW4oZnVuY3Rpb24oZGF0YSkgewotICAgICAgICAgIGFzc2VydF91bnJlYWNoZWQo
J2ludGVyY2VwdGVkIG5vLWNvcnMgd29ya2VyIGxvYWQgc2hvdWxkIGZhaWwnKTsKLSAgICAgICAg
ICBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9kb25lKHQsIHNjb3BlKTsKLSAgICAgICAg
fSkKLSAgICAgIC5jYXRjaChmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgYXNzZXJ0X3RydWUodHJ1
ZSwgJ2ludGVyY2VwdGVkIG5vLWNvcnMgd29ya2VyIGxvYWQgc2hvdWxkIGZhaWwnKTsKKyAgICAg
IC50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgICAgIHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJf
YW5kX2RvbmUodCwgc2NvcGUpOwogICAgICAgIH0pOwogICB9LCAnVmVyaWZ5IHdvcmtlciBzY3Jp
cHQgaW50ZXJjZXB0ZWQgYnkgbm8tY29ycyBjcm9zcy1vcmlnaW4gcmVzcG9uc2UgZmFpbHMnKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3Rvb2xzL2JsaW5rLWltcG9ydC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Rvb2xzL2JsaW5rLWlt
cG9ydC5weQppbmRleCAzNTVkZjA3OTYwYzQyNjYzZDk5NjQ4ZjE5ZDllMzFjMzg0ZDEyYzk0Li41
NTJmZGMwNTRjYzc2NmYxM2ZmZTY2MGIxZjEwNWIyYzliOGMxMDZjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy90
b29scy9ibGluay1pbXBvcnQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvYmxpbmstaW1wb3J0LnB5CkBAIC0x
LDMgKzEsNSBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorCiBpbXBv
cnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHNodXRpbApAQCAtMTg0LDcgKzE4Niw3IEBAIGRlZiBt
YWluKCk6CiAKICAgICBmb3IgaywgdiBpbiBwYXRoX2NoYW5nZXMuaXRlcml0ZW1zKCk6CiAgICAg
ICAgIGlmIG9zLnBhdGguYmFzZW5hbWUoaykgaW4gZmlsZW5hbWVfY2hhbmdlczoKLSAgICAgICAg
ICAgIHByaW50ICJHb3QgZHVwbGljYXRlIG5hbWU6IiArIG9zLnBhdGguYmFzZW5hbWUoaykKKyAg
ICAgICAgICAgIHByaW50KCJHb3QgZHVwbGljYXRlIG5hbWU6IiArIG9zLnBhdGguYmFzZW5hbWUo
aykpCiAgICAgICAgIGZpbGVuYW1lX2NoYW5nZXNbb3MucGF0aC5iYXNlbmFtZShrKV0gPSBvcy5w
YXRoLmJhc2VuYW1lKHYpCiAKICAgICBmb3IgcGF0aCBpbiBzb3VyY2VfcGF0aHMod29ya19wYXRo
KToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3Rvb2xzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvdzNjLWlt
cG9ydC5sb2cKaW5kZXggOGNmMGFiNjcxNmQ1Y2EzZTEyZjYxNTIxYzIxODRiMTBkYTU2NzBiMC4u
ZTM4M2JhODEwZGViYzliNjUzODgxODc1NjY1MDQwZWRmNmIxMTJhNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
dG9vbHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvdG9vbHMvdzNjLWltcG9ydC5sb2cKQEAgLTEs
NyArMSw3IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy93M2MtaW1wb3J0LmxvZwppbmRleCA3NTc1MWZi
M2Q1NWVhMTQ1ODU2NDM5ZDNlOTNmYmRjZDFkMjg3MzI0Li40YzA2YmIzMWQwNGU5MDQxYzY2ZmU3
OTc3YjNhMTFkM2I3YTc5OTQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy93M2MtaW1wb3J0LmxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dw
dAogCiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktp
dCB0byByZWltcG9ydAogCkBAIC0xNCw3ICsxNCw3IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVz
OgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL09XTkVSUworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3BlY2dlbi5qc29uCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc3R1Yi0z
LjEtc2VydmljZS13b3JrZXItb2JqLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zdHViLTMuMS4xLXNlcnZpY2Utd29ya2Vy
LXNjb3BlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0
b3IvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Iv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA0NTYyOTk3OGIzODNkNDE0MDJlMDU4MGFkNDIyOGU2MmYy
NmFkZTRmLi43ZTQ4YmUwY2QzMTRlMTY3ZTEwYWJhYjQ1ZDc4OTVkMGZjMTc2NWYxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9UZXN0RXhwZWN0YXRpb25z
CkBAIC05Miw3ICs5Miw2IEBAIHdlYmtpdC5vcmcvYi8xODMyNTggaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRleHQvd2hpdGUtc3BhY2UvdGV4CiB3ZWJraXQub3JnL2Iv
MTgzMjU4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3dvcmQt
YnJlYWsvd29yZC1icmVhay1ub3JtYWwta28tMDAwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS9vdXRsaW5lLTAyMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9zZWxlY3RvcnMvc2VsZWN0b3JzLWVtcHR5LTAwMS54bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWludGluZy1jYWNoZS5odHRwcy5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIAogIyBCYXNlbGluZSBBbGlnbm1lbnQgdGVzdHMgYWZmZWN0ZWQgYnkgMXB4IGRp
ZmYgZmFpbHVyZXMgb25seSBvbiBNYWMgYW5kIGlPUyBwbGF0Zm9ybXMKIHdlYmtpdC5vcmcvYi8x
NzAyOTMgZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1hbGlnbi1iYXNlbGluZS12ZXJ0aWNhbC5o
dG1sIFsgRmFpbHVyZSBdCkBAIC0xMDksNCArMTA4LDQgQEAgd2Via2l0Lm9yZy9iLzE3MDI5MyBm
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXNlbGYtYmFzZWxpbmUtMDcuaHRtbCBbIEltYWdlT25s
eUYKIHdlYmtpdC5vcmcvYi8xODk2ODYgd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlbmRlcmJ1
ZmZlcnMvbXVsdGlzYW1wbGVkLXJlbmRlcmJ1ZmZlci1pbml0aWFsaXphdGlvbi5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTg5Njg2IHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlL3JlYWRpbmcv
cmVhZC1waXhlbHMtdGVzdC5odG1sIFsgU2xvdyBdCiAjIENyYXNoZXMKLXdlYmtpdC5vcmcvYi8x
ODk2ODYgd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL2J1ZmZlcnMvb25lLWxhcmdlLXVuaWZvcm0t
YnVmZmVyLmh0bWwgWyBTa2lwIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJraXQu
b3JnL2IvMTg5Njg2IHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9idWZmZXJzL29uZS1sYXJnZS11
bmlmb3JtLWJ1ZmZlci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDc0NTMwODY3ZjYyZjFmZDQ0ZmZiNzA0ZmRiMzA0MDc3OGY1ZTc1
MTYuLmE0MjVjMDk4MGI0NzUxMzY4MTI3YjEzOTA3MzI3ZWU1NTAyZmJhMjIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC05NTgsOCArOTU4LDYgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtdHJh
Y2tkZWZhdWx0bGlzdC5odG1sIFsKIAogIyMgLS0tIEVuZCBXM0MgSW1wb3J0ZWQgTWVkaWEgU291
cmNlIFRlc3RzCiAKLXdlYmtpdC5vcmcvYi8xODc0ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLWFmdGVyLW5hdmln
YXRpb24tZmV0Y2gtZXZlbnQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi0KICMgVGhpcyB0
ZXN0IHRpbWVzIG91dC4KIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utc2Vlay1jb21w
bGV0ZS5odG1sIFsgVGltZW91dCBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9w
dGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCBlMDM4MjMx
MTU1NTUwZDY5ZGI1MGQ0YjlhZjJhMzE0OTQ0M2NmYTJkLi5jYjcyNjkwMmQ5NGQyZmFjZjc4N2Rl
ZmI3N2UyNWViNzdiYTM4ODkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xNjI4LDkgKzE2
MjgsMTUgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvYWJvdXQtYmxhbmstcmVwbGFjZW1lbnQuaHR0cHMuaHRtbCI6
IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1v
cmRlci5odHRwcy5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9m
ZXRjaC1ldmVudC1yZWRpcmVjdC5odHRwcy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBd
LAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy5odG1sIjogWworICAgICAgICAic2xvdyIK
KyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1mcmFtZS1yZXNvdXJjZS5odHRwcy5odG1sIjogWwog
ICAgICAgICAic2xvdyIKICAgICBdLApAQCAtMTY1Miw5ICsxNjU4LDE4IEBACiAgICAgImltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2xvY2FsLXVybC1pbmhlcml0LWNvbnRyb2xsZXIuaHR0cHMuaHRtbCI6IFsKICAgICAgICAgInNs
b3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1yZWRpcmVjdC5odHRwcy5odG1sIjog
WworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Rlci1jbG9zZWQtd2lu
ZG93Lmh0dHBzLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
Z2lzdHJhdGlvbi11cGRhdGV2aWFjYWNoZS5odHRwcy5odG1sIjogWworICAgICAgICAic2xvdyIK
KyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUtYWZ0ZXItbmF2aWdhdGlvbi1mZXRjaC1ldmVudC5o
dHRwcy5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENEVE1GU2VuZGVyLW9udG9uZWNoYW5nZS1sb25n
Lmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>