<?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>180464</bug_id>
          
          <creation_ts>2017-12-05 18:54:48 -0800</creation_ts>
          <short_desc>Import WPT workers test suite</short_desc>
          <delta_ts>2017-12-06 16:19:39 -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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1378513</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-05 18:54:48 -0800</bug_when>
    <thetext>Import WPT workers test suite</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378661</commentid>
    <comment_count>1</comment_count>
      <attachid>328584</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-06 10:29:21 -0800</bug_when>
    <thetext>Created attachment 328584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378753</commentid>
    <comment_count>2</comment_count>
      <attachid>328584</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-06 12:51:57 -0800</bug_when>
    <thetext>Comment on attachment 328584
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378770</commentid>
    <comment_count>3</comment_count>
      <attachid>328584</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-06 13:34:31 -0800</bug_when>
    <thetext>Comment on attachment 328584
Patch

Clearing flags on attachment: 328584

Committed r225593: &lt;https://trac.webkit.org/changeset/225593&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378771</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-06 13:34:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378872</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-06 16:19:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/35895782&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328584</attachid>
            <date>2017-12-06 10:29:21 -0800</date>
            <delta_ts>2017-12-06 13:34:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180464-20171206102920.patch</filename>
            <type>text/plain</type>
            <size>553058</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NTczCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIyM2QwM2RkOTA1NDk2YzNmMzIx
OTNhYzhlOWFiMmNhYTRmMDI5MS4uNDcwMzBlMDQ5YjI5NzI4MDUzZTI4MDQyYWI5NTFiNGUwMmVj
MGU1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTEyLTA2ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBvcnQgV1BUIHdvcmtlcnMgdGVzdCBzdWl0
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNDY0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
RXhwZWN0YXRpb25zOiBza2lwIHNvbWUgdGltaW5nIG91dCB0ZXN0cyBvciB0ZXN0aW5nIHNoYXJl
ZCB3b3JrZXJzLgorCiAyMDE3LTEyLTA1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgogCiAgICAgICAgIFtHVEtdIExheW91dCB0ZXN0IG1lZGlhL3RyYWNrL3RyYWNr
LWluLWJhbmQtZHVwbGljYXRlLXRyYWNrcy13aGVuLXNvdXJjZS1jaGFuZ2VzLmh0bWwgY3Jhc2hl
cyBhbmQgdGltZXMgb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwMmJkNjY4
YjI1YWFmMzhjNjI2YWM0ODU4MDk2YzNkODBjMGQyZDQwLi5hNDE0YTE4ZGIzZDQ1ZTY4MzNlMWE5
OTcyZTA1NzI1MmM4ZGExMzRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxNy0xMi0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wb3J0IFdQVCB3b3JrZXJzIHRlc3Qgc3VpdGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDQ2NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiByZXNvdXJjZXMvcmVzb3VyY2UtZmlsZXMuanNvbjoK
KyAgICAgICAgKiB3b3JrZXJzOiBBZGRlZC4KKwogMjAxNy0xMi0wNSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBwcm90
b3R5cGUgY2hhaW4gc2hvdWxkIGJlIGltbXV0YWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjRk
YTUxYjRkN2JiMGM3ZDYzNTE2ZjY4OTA0ZjZjNmNiNzVkNzg1Mi4uYTkzYzk2NjEwMTk0Mjk5MDA4
NTBlOTEzMGE3MmNjMjJmOGY3ODljOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTIsNiArMTky
LDIyIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLWNhbnZhcy10YWluCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1jb3JzLXhoci5odHRw
cy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91
cGRhdGUuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBUaW1lb3V0IF0KIAorIyBTa2lwIHdvcmtl
cnMgdGVzdHMgdGhhdCBhcmUgdGltaW5nIG91dCBvciBhcmUgU2hhcmVkV29ya2VyIHJlbGF0ZWQg
b25seQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9y
cy9Xb3JrZXIvc2FtZS1vcmlnaW4uaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC5odG1sIFsgU2tpcCBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9p
bXBvcnRTY3JpcHRzLzAwNi5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbmVzdGVkX3dvcmtlci53b3JrZXIuaHRtbCBbIFNraXAgXQoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL29wYXF1ZS1vcmlnaW4uaHRtbCBbIFNr
aXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9p
bnRlcmZhY2Utb2JqZWN0cy8wMDMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL3NoYXJlZC5odG1s
IFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50
aWNzL3N0cnVjdHVyZWQtY2xvbmUvZGVkaWNhdGVkLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8w
MDMuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNS5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX2Nyb3NzX29yaWdpbl9zZWN1cml0
eV9lcnIuaHRtIFsgU2tpcCBdCisKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyX2Jsb2JVcmwuaHRtbCBbIFNraXAg
XQorCiAjIHRleHRhcmVhLmFuaW1hdGUgaXMgbm90IHN1cHBvcnRlZAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpLTMvY2FyZXQtY29sb3ItMDE4Lmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS0zL2NhcmV0LWNv
bG9yLTAxOS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGU3Yjk2MjM0
ODkyYjVlNDk1OThhZDQ1ZDJmZjY2M2FhNzU0MDAzZWUuLmZiODQzY2U2MDZiYTk0OTUzZWJlNTky
Y2JlY2FmOWQ3MTFlYTE4MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9y
ZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0zMjgsNyArMzI4
LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dlYnVzYiI6ICJza2lwIiwgCiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ2ciI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJ2dHQiOiAic2tpcCIsIAotICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2VycyI6ICJz
a2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzIjogImltcG9ydCIsIAogICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2xldHMiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMveC1mcmFtZS1vcHRpb25zIjogInNraXAiCi19Cit9ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9yZXNvdXJjZS1maWxlcy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9yZXNvdXJjZS1maWxlcy5qc29uCmluZGV4IDhkNGU1YjkzOGY0MDgxYzBmZjk3NzlkOGVhODFk
ZGUyM2VmOWQwZWIuLjJlMmQ0OTJlNjVjMDM3YTg0MzMxYjExNmUzMDQwYjBmZDY5NmZiZGYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvcmVzb3VyY2UtZmls
ZXMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL3Jlc291cmNl
LWZpbGVzLmpzb24KQEAgLTYxOCw2ICs2MTgsMjAgQEAKICAgICAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGktZ2xvYmFscy9pbmN1bWJl
bnQvaW5jdW1iZW50Lmh0dHBzLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aS1nbG9iYWxzL3JlbGV2YW50L3JlbGV2
YW50Lmh0dHBzLmh0bWwiLAogICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Rlc3Rfa2V5c193
ZHNwZWMuaHRtbCIsCi0gICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvdXBncmFkZS1pbnNlY3Vy
ZS1yZXF1ZXN0cy9zdXBwb3J0L3Bvc3Qtb3JpZ2luLXRvLXBhcmVudC5odG1sIgorICAgICAgICAi
d2ViLXBsYXRmb3JtLXRlc3RzL3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvc3VwcG9ydC9wb3N0
LW9yaWdpbi10by1wYXJlbnQuaHRtbCIsCisgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9kYXRhLXVybC1zaGFyZWQtd2luZG93Lmh0bWwiLAorICAgICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9hcHBsaWNhdGlvbi1jYWNoZS1kZWRpY2F0ZWQu
aHRtbCIsCisgICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVk
L2luZmluaXRlLW5lc3RlZC5odG1sIiwKKyAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5pdGUtc2libGluZy1hbmQtbmVzdGVkLmh0bWwiLAorICAg
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9pbmZpbml0ZS1z
aWJsaW5nLmh0bWwiLAorICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1
dG9tYXRlZC9uYXZpZ2F0b3Itb25MaW5lLmh0bWwiLAorICAgICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA0LTEuaHRtbCIsCisgICAg
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vy
cy8wMDgtMS5odG1sIiwKKyAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9uYXZpZ2F0aW9uLzAwMS0xLmh0bWwiLAorICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDA0LTEuaHRtbCIsCisgICAgICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMS0xLnhtbCIsCisg
ICAgICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyL3N1cHBvcnQv
MDAxLTEueG1sIiwKKyAgICAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQv
V29ya2VyTG9jYXRpb24tb3JpZ2luLmh0bWwiLAorICAgICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc3VwcG9ydC9zYW5kYm94ZWQtdGVzdHMuaHRtbCIKICAgICBdCi19Cit9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL09XTkVSUyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9PV05FUlMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2
YmJjNTAwZmJhYTQ2ZWUwNzMwZjU2ZmNhOTIwYjZiOGVlMjkxNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9PV05F
UlMKQEAgLTAsMCArMSw1IEBACitAenF6aGFuZworQGNodW55d2FuZworQGNhaXRwCitAamRtCitA
YW5uZXZrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvUkVBRE1FLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OGNjNzQzNzFiOTgx
ZGU1M2JlNjcwNzk1YTBlZGJjNzA4Yzc4YjU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1JFQURNRS5tZApAQCAt
MCwwICsxLDIgQEAKK1RoZXNlIGFyZSB0aGUgd29ya2VycyAoYFdvcmtlcmAsIGBTaGFyZWRXb3Jr
ZXJgKSB0ZXN0cyBmb3IgdGhlCitbV2ViIHdvcmtlcnMgY2hhcHRlciBvZiB0aGUgSFRNTCBTdGFu
ZGFyZF0oaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvd29ya2Vycy5odG1s
KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9TaGFyZWRXb3JrZXJfYmxvYlVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyX2Js
b2JVcmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MDMyM2FiOTk1OWExNWU0ZTA3NjQ2YzMw
ZDUxOWY3Mzk5NDU0OGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyX2Jsb2JVcmwtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIEJsb2IgVVJMIHNoYXJlZCBieSBkb2N1bWVu
dCBvbiBTaGFyZWRXb3JrZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlciIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlcl9ibG9iVXJsLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvU2hhcmVkV29ya2VyX2Js
b2JVcmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNWIxYzY3M2MwNjAzM2NiZDU2NjA0NDUxYWVjNTQ0MjI1
Nzc4Nzc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1NoYXJlZFdvcmtlcl9ibG9iVXJsLmh0bWwKQEAgLTAsMCAr
MSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+U2hhcmVkIFdvcmtlcjogQmxvYiBVUkwg
cGFzc2VkIG92ZXIgbWVzc2FnZSBwb3J0PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPC9ib2R5PgorPHNjcmlwdD4KKwor
cHJvbWlzZV90ZXN0KHQgPT4geworICBsZXQgd29ya2VyOworICBsZXQgYmxvYjsKKyAgbGV0IGJs
b2JVcmw7CisgIGxldCBibG9iVGV4dCA9ICdCbG9iIFVSTCB0ZXN0JzsKKworICByZXR1cm4gbmV3
IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSkgeworICAgICAgd29ya2VyID0gbmV3IFNoYXJlZFdv
cmtlcignc3VwcG9ydC9Xb3JrZXJGZXRjaFVSTC5qcycpOworICAgICAgYmxvYiA9IG5ldyBCbG9i
KFtibG9iVGV4dF0pOworICAgICAgYmxvYlVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7
CisgICAgICB3b3JrZXIucG9ydC5wb3N0TWVzc2FnZShibG9iVXJsKTsKKyAgICAgIHdvcmtlci5w
b3J0Lm9ubWVzc2FnZSA9IHJlc29sdmU7CisgICAgfSkKKyAgLnRoZW4oZSA9PiB7CisgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEsICdXb3JrZXIgcmVwbHk6JyArIGJsb2JUZXh0KTsKKyAgICBVUkwu
cmV2b2tlT2JqZWN0VVJMKGJsb2JVcmwpOworICB9KTsKK30sICdCbG9iIFVSTCBzaGFyZWQgYnkg
ZG9jdW1lbnQgb24gU2hhcmVkV29ya2VyJyk7CisKKzwvc2NyaXB0PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JFdmVudF9jb2xuby1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xv
YmFsU2NvcGVfRXJyb3JFdmVudF9jb2xuby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThmZTQz
MTk4ZGZjYzk2MDkzM2Y2MmI2M2NjMGVmZTc1NGRjNzJmMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZV9FcnJvckV2ZW50X2NvbG5vLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAzOiBFcnJvcjogRXJyb3IgTWVzc2FnZQorCitQQVNTICBX
b3JrZXJHbG9iYWxTY29wZSBvbmVycm9yIGV2ZW50IGhhbmRsZXIgYXJndW1lbnQ6IGNvbCAgCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9FcnJvckV2ZW50X2NvbG5vLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZV9FcnJvckV2ZW50X2NvbG5vLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTNkNmMxODA3YjI5NjZmYjI4
ZGE5Y2M0OTFkZjU1NDlkMTM4MmVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vy
cm9yRXZlbnRfY29sbm8uaHRtCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPiBXb3JrZXJHbG9iYWxTY29wZSBvbmVycm9yIGV2ZW50IGhhbmRsZXIgYXJndW1lbnQ6IGNv
bCA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorLy8gVGhlIHdvcmtlciBldmVudHMg
cmFjZXMgd2l0aCB0aGUgd2luZG93J3MgbG9hZCBldmVudDsgaWYgdGhlIHdvcmtlciBldmVudHMK
Ky8vIGFycml2ZSBmaXJzdCwgdGhlIGhhcm5lc3Mgd2lsbCBkZXRlY3QgdGhlIGVycm9yIGV2ZW50
IGFuZCBmYWlsIHRoZSB0ZXN0Lgorc2V0dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRy
dWUgfSk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdv
cmtlcignLi9zdXBwb3J0L0Vycm9yRXZlbnQuanMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHQu
c3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGUu
ZGF0YS5jb2xubywgIm51bWJlciIpOworICB9KTsKKyAgd29ya2VyLnBvc3RNZXNzYWdlKCJFcnJv
ciBNZXNzYWdlIik7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vy
cm9yRXZlbnRfZmlsZW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZlbnRf
ZmlsZW5hbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNTkxZjFkNWRmYjlmOWUzOWM3YjQ2
NWU3MjhhZmNkNDM3NDFiOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JF
dmVudF9maWxlbmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzogRXJyb3I6IEVycm9yIE1lc3NhZ2UKKworUEFTUyAgV29ya2VyR2xvYmFsU2Nv
cGUgb25lcnJvciBldmVudCBoYW5kbGVyIGFyZ3VtZW50OiBsb2NhdGlvbiAgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZV9FcnJvckV2ZW50X2ZpbGVuYW1lLmh0bSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9F
cnJvckV2ZW50X2ZpbGVuYW1lLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTY1YTIzZjQxOGVhNjFkYzI2Zjc4
MmU5YzQ0ZGU3MDhkNTRkNDliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9y
RXZlbnRfZmlsZW5hbWUuaHRtCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPiBXb3JrZXJHbG9iYWxTY29wZSBvbmVycm9yIGV2ZW50IGhhbmRsZXIgYXJndW1lbnQ6IGxv
Y2F0aW9uIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+CisvLyBUaGUgd29ya2VyIGV2
ZW50cyByYWNlcyB3aXRoIHRoZSB3aW5kb3cncyBsb2FkIGV2ZW50OyBpZiB0aGUgd29ya2VyIGV2
ZW50cworLy8gYXJyaXZlIGZpcnN0LCB0aGUgaGFybmVzcyB3aWxsIGRldGVjdCB0aGUgZXJyb3Ig
ZXZlbnQgYW5kIGZhaWwgdGhlIHRlc3QuCitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlv
bjogdHJ1ZSB9KTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKCcuL3N1cHBvcnQvRXJyb3JFdmVudC5qcycpOworICB3b3JrZXIub25tZXNzYWdl
ID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgdmFyIGhyZWYgPSBsb2NhdGlv
bi5ocmVmOworICAgIHZhciBleHBlY3RlZCA9IGhyZWYuc3Vic3RyaW5nKDAsIGhyZWYubGFzdElu
ZGV4T2YoJy8nKSkgKyAnL3N1cHBvcnQvRXJyb3JFdmVudC5qcyc7CisgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEuZmlsZW5hbWUsIGV4cGVjdGVkKTsKKyAgfSk7CisgIHdvcmtlci5wb3N0TWVzc2Fn
ZSgiRXJyb3IgTWVzc2FnZSIpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZV9FcnJvckV2ZW50X2xpbmVuby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JF
dmVudF9saW5lbm8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3NDQyMjAxZjVjMDQ0NTE3ZmU1
ODIwNjRhMzZhNWZmZDA1NmRjYTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJy
b3JFdmVudF9saW5lbm8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDM6IEVycm9yOiBFcnJvciBNZXNzYWdlCisKK1BBU1MgIFdvcmtlckdsb2JhbFNj
b3BlIG9uZXJyb3IgZXZlbnQgaGFuZGxlciBhcmd1bWVudDogbGluZSAgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZV9FcnJvckV2ZW50X2xpbmVuby5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JF
dmVudF9saW5lbm8uaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmYmM1MTQ2N2RhNWNmZWJhMzRiMzU3MjhjYmVl
NDk3YzUzOWZkYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JFdmVudF9s
aW5lbm8uaHRtCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBXb3Jr
ZXJHbG9iYWxTY29wZSBvbmVycm9yIGV2ZW50IGhhbmRsZXIgYXJndW1lbnQ6IGxpbmUgPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KKy8vIFRoZSB3b3JrZXIgZXZlbnRzIHJhY2VzIHdp
dGggdGhlIHdpbmRvdydzIGxvYWQgZXZlbnQ7IGlmIHRoZSB3b3JrZXIgZXZlbnRzCisvLyBhcnJp
dmUgZmlyc3QsIHRoZSBoYXJuZXNzIHdpbGwgZGV0ZWN0IHRoZSBlcnJvciBldmVudCBhbmQgZmFp
bCB0aGUgdGVzdC4KK3NldHVwKHsgYWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwor
Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJy4v
c3VwcG9ydC9FcnJvckV2ZW50LmpzJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVu
Y19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5saW5lbm8sIDMp
OworICB9KTsKKyAgd29ya2VyLnBvc3RNZXNzYWdlKCJFcnJvciBNZXNzYWdlIik7Cit9KTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZlbnRfbWVzc2FnZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JFdmVudF9tZXNzYWdlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iMjg5MzYwNDNlNjhjZTRlYjA4YTQ4OWRiODFiYmI1OTVlYjZjN2UyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZlbnRfbWVzc2FnZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogRXJyb3I6IEVycm9y
IE1lc3NhZ2UKKworUEFTUyAgV29ya2VyR2xvYmFsU2NvcGUgb25lcnJvciBldmVudCBoYW5kbGVy
IGFyZ3VtZW50OiBtZXNzYWdlICAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZl
bnRfbWVzc2FnZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfRXJyb3JFdmVudF9tZXNzYWdlLmh0bQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYzFkMmM0NWI0MmNiMGUzY2I5NmEyNDNkMDBmMmI3MzUxZThiMWQzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZlbnRfbWVzc2FnZS5odG0KQEAgLTAsMCAr
MSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IFdvcmtlckdsb2JhbFNjb3BlIG9uZXJy
b3IgZXZlbnQgaGFuZGxlciBhcmd1bWVudDogbWVzc2FnZSA8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+
Cis8c2NyaXB0PgorLy8gVGhlIHdvcmtlciBldmVudHMgcmFjZXMgd2l0aCB0aGUgd2luZG93J3Mg
bG9hZCBldmVudDsgaWYgdGhlIHdvcmtlciBldmVudHMKKy8vIGFycml2ZSBmaXJzdCwgdGhlIGhh
cm5lc3Mgd2lsbCBkZXRlY3QgdGhlIGVycm9yIGV2ZW50IGFuZCBmYWlsIHRoZSB0ZXN0Lgorc2V0
dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7CisKK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgbWVzc2FnZSA9ICdFcnJvciBNZXNzYWdlJzsKKyAgdmFyIHdvcmtl
ciA9IG5ldyBXb3JrZXIoJy4vc3VwcG9ydC9FcnJvckV2ZW50LmpzJyk7CisgIHdvcmtlci5vbm1l
c3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZ3JlYXRl
cl90aGFuKGUuZGF0YS5tZXNzYWdlLmluZGV4T2YobWVzc2FnZSksIC0xKTsKKyAgfSk7CisgIHdv
cmtlci5wb3N0TWVzc2FnZShtZXNzYWdlKTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGVfY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX2Nsb3NlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMTBkZjQ1YTc3OWFlNzI1MzYyODM5ZTZmOTFjNmM5MzQwZWE5
NzVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX2Nsb3NlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyR2xvYmFsU2NvcGUgY2xvc2UoKTogY2xlYXIg
ZXZlbnRzIHF1ZXVlICAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX2Nsb3NlLmh0bSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJH
bG9iYWxTY29wZV9jbG9zZS5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmFkNTIwNWQxYjkwZmYxMmIxYjNkOGU4
ZDZiYmJiMjBiMzNmYmZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9jbG9zZS5o
dG0KQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IFdvcmtlckdsb2Jh
bFNjb3BlIGNsb3NlKCk6IGNsZWFyIGV2ZW50cyBxdWV1ZSA8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+
Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcg
V29ya2VyKCcuL3N1cHBvcnQvV29ya2VyQ2xvc2UuanMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9
IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgInBp
bmciKTsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygiVW5leHBlY3Rl
ZCBtZXNzYWdlIGV2ZW50Iik7CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKCJwb25nIik7CisgICAg
c2V0VGltZW91dCh0LnN0ZXBfZnVuY19kb25lKCksIDEwMCk7CisgIH0pOworICB3b3JrZXIucG9z
dE1lc3NhZ2UoInBpbmciKTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVfaW1wb3J0U2NyaXB0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfaW1wb3J0U2NyaXB0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE0OGNkMmQwODdhMmRmOGIzM2Y2NGY1ZDE1YWJj
OGIzNGE2NmQxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9pbXBvcnRTY3JpcHRz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyR2xvYmFsU2NvcGUg
QVBJOiBpbXBvcnRTY3JpcHRzKCkgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfaW1wb3J0
U2NyaXB0cy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfaW1wb3J0U2NyaXB0cy5odG0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWEzNjE2ZGY5OGJjNGY5ZmVlNTY2OTkwMjEwMjAzODkwYThkOWFmMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZV9pbXBvcnRTY3JpcHRzLmh0bQpAQCAtMCwwICsxLDE0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyR2xvYmFsU2NvcGUgQVBJOiBpbXBvcnRTY3JpcHRz
KCkgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcigiLi9zdXBwb3J0L0ltcG9ydFNjcmlwdHMu
anMiKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkg
eworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAiUGFzcyIpOworICB9KTsKKyAgd29ya2VyLnBv
c3RNZXNzYWdlKCJwaW5nIik7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlX2ltcG9ydFNjcmlwdHNfTmV0d29ya0Vyci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVf
aW1wb3J0U2NyaXB0c19OZXR3b3JrRXJyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODMyYzRh
ODZmZTk1NjJjY2RhNDNlNDU3YjQ2ZWNjOGY0MTIzYWFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlX2ltcG9ydFNjcmlwdHNfTmV0d29ya0Vyci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgIGltcG9ydFNjcmlwdHMoKSB3aXRoIG5vbi1leGlzdGVudCBzY3JpcHQg
ZmlsZSAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9pbXBvcnRTY3JpcHRzX05ldHdvcmtF
cnIuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlX2ltcG9ydFNjcmlwdHNfTmV0d29ya0Vyci5odG0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzZmZTZlMGIyZDNhNWI1YzkzZjlmZDJlOTNhNmQ0ZjI2MDFkZTVmZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9pbXBvcnRTY3JpcHRzX05ldHdvcmtFcnIuaHRtCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBpbXBvcnRTY3JpcHRzKCkgd2l0
aCBub24tZXhpc3RlbnQgc2NyaXB0IGZpbGUgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlw
dD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcigi
Li9zdXBwb3J0L0ltcG9ydFNjcmlwdHNOZXR3b3JrRXJyLmpzIik7CisgIHdvcmtlci5vbm1lc3Nh
Z2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUu
ZGF0YSwgIlBhc3MiKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlX2ltcG9ydFNjcmlwdHNfTm9zbmlmZkVyci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVfaW1wb3J0U2NyaXB0c19Ob3NuaWZmRXJyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOGUw
ZDhmZWU1NTg4MWM1MTMxZmM1ZTk3ZGI4NDA2MTk4YjViYTcwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlX2ltcG9ydFNjcmlwdHNfTm9zbmlmZkVyci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgaW1wb3J0U2NyaXB0cyB0aHJvd3Mgb24gJ25vc25pZmYnIHZpb2xh
dGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX2ltcG9ydFNjcmlwdHNfTm9zbmlmZkVy
ci5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVfaW1wb3J0U2NyaXB0c19Ob3NuaWZmRXJyLmh0bQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kOTljZWNkYzZhNTEwOWE3ZTY2NDAzNTcyNjk4NTIzNWJhMTI0OGMzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlX2ltcG9ydFNjcmlwdHNfTm9zbmlmZkVyci5odG0KQEAgLTAs
MCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gaW1wb3J0U2NyaXB0cygpIHdpdGgg
bm9zbmlmZiBYLUNvbnRlbnQtVHlwZS1PcHRpb25zIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxz
Y3JpcHQ+CitmZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKCcuL3N1cHBvcnQvSW1w
b3J0U2NyaXB0c05vc25pZmZFcnIuanMnKSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZV9zZXRJbnRlcnZhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfc2V0SW50ZXJ2
YWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5OGUzMTBmMzlhMzhjYzlkZDk0MzJkODE5MDM1
ODUyYmQwMDE0OTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfc2V0SW50ZXJ2YWwt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTICBXb3JrZXJHbG9iYWxTY29wZSBB
UEk6IHNldEludGVydmFsKCkgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfc2V0SW50ZXJ2
YWwuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlX3NldEludGVydmFsLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTE0N2Zi
ZjYwZjExYzQzZGYyOWRmNDI4OTBhYjRiYTQxNzgyNDI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlX3NldEludGVydmFsLmh0bQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzx0aXRsZT4gV29ya2VyR2xvYmFsU2NvcGUgQVBJOiBzZXRJbnRlcnZhbCgpIDwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IHJlc3VsdCA9IFtdOworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignLi9zdXBwb3J0L1RpbWVy
LmpzJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Cisg
ICAgcmVzdWx0LnB1c2goZS5kYXRhKTsKKyAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PSAzKSB7Cisg
ICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc3VsdCwgWyJoZWxsbyIsICJ3b3JrZXIiLCAid29y
a2VyIl0pOworICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IHQudW5yZWFjaGVkX2Z1bmMoJ1VuZXhw
ZWN0ZWQgbWVzc2FnZSBldmVudCcpOworICAgICAgc2V0VGltZW91dCh0LnN0ZXBfZnVuY19kb25l
KCksIDEwMCk7CisgICAgfQorICB9KTsKKyAgd29ya2VyLnBvc3RNZXNzYWdlKCJJbnRlcnZhbEhh
bmRsZXIiKTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfc2V0VGlt
ZW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfc2V0VGltZW91dC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzEyZjBmZjc1YmM3NDkyNzYzNWExZDhiYTY2MTY0NjY1OGQ1OTVkNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9zZXRUaW1lb3V0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyR2xvYmFsU2NvcGUgQVBJOiBzZXRUaW1lb3V0KCkg
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVfc2V0VGltZW91dC5odG0gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVfc2V0VGltZW91dC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODlmZGYzZDc0MGE4OTFlZDIzNTRhODc0ZWE0
Nzg1Mzg2ZTdhMDNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9zZXRUaW1lb3V0
Lmh0bQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyR2xv
YmFsU2NvcGUgQVBJOiBzZXRUaW1lb3V0KCkgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlw
dD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgcmVzdWx0ID0gW107CisgIHZhciB3
b3JrZXIgPSBuZXcgV29ya2VyKCcuL3N1cHBvcnQvVGltZXIuanMnKTsKKyAgd29ya2VyLm9ubWVz
c2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICByZXN1bHQucHVzaChlLmRhdGEp
OworICAgIGlmIChyZXN1bHQubGVuZ3RoID09IDMpIHsKKyAgICAgIGFzc2VydF9hcnJheV9lcXVh
bHMocmVzdWx0LCBbImhlbGxvIiwgIndvcmtlciIsICJ3b3JrZXIiXSk7CisgICAgICB3b3JrZXIu
b25tZXNzYWdlID0gdC51bnJlYWNoZWRfZnVuYygnVW5leHBlY3RlZCBtZXNzYWdlIGV2ZW50Jyk7
CisgICAgICBzZXRUaW1lb3V0KHQuc3RlcF9mdW5jX2RvbmUoKSwgMTAwKTsKKyAgICB9CisgIH0p
OworICB3b3JrZXIucG9zdE1lc3NhZ2UoIlRpbWVvdXRIYW5kbGVyIik7Cit9KTsKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODg0NDM0NDA0ZTkxMzYzYTVkZTM2ZjVjNjRhZDdmMTk4NDQxZDhi
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgIFdvcmtlckxvY2F0aW9uIG9iamVjdCAgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2Nh
dGlvbi1vcmlnaW4uc3ViLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi1vcmlnaW4uc3ViLndpbmRvdy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZTgwODEwNWRkNzk0ZWEyYjQ2Nzc2MmJmNGNhYTk4ZDU5YjY3ZmI3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uLW9yaWdpbi5zdWIud2luZG93LmpzCkBAIC0wLDAg
KzEsMTEgQEAKK2FzeW5jX3Rlc3QodCA9PiB7CisgIGNvbnN0IGZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaWZyYW1lIiksCisgICAgICAgIGFzY2lpT3JpZ2luID0gbG9jYXRpb24ucHJv
dG9jb2wgKyAiLy97e2RvbWFpbnNb5aSp5rCX44Gu6Imv44GE5pelXX19OiIgKyBsb2NhdGlvbi5w
b3J0LAorICAgICAgICBwYXRoID0gbmV3IFVSTCgic3VwcG9ydC9Xb3JrZXJMb2NhdGlvbi1vcmln
aW4uaHRtbCIsIGxvY2F0aW9uKS5wYXRobmFtZTsKKyAgZnJhbWUuc3JjID0gYXNjaWlPcmlnaW4g
KyBwYXRoOworICBzZWxmLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZSA9PiB7CisgICAg
YXNzZXJ0X2VxdWFscyhlLmRhdGEub3JpZ2luLCBhc2NpaU9yaWdpbik7CisgIH0pOworICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgdC5hZGRfY2xlYW51cCgoKSA9PiBmcmFt
ZS5yZW1vdmUoKSk7Cit9LCAid29ya2VyTG9jYXRpb24ub3JpZ2luIG11c3QgdXNlIEFTQ0lJIGNv
ZGUgcG9pbnRzIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb24uaHRtIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uLmh0bQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNzRmMTNhOGI0OGJhZmNjYmRkOWIxMTg1NjcyY2Q4MzU2MTJmNjg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uLmh0bQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzx0aXRsZT4gV29ya2VyTG9jYXRpb24gb2JqZWN0IDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rp
dj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHdvcmtlciA9IG5l
dyBXb3JrZXIoJy4vc3VwcG9ydC9Xb3JrZXJMb2NhdGlvbi5qcycpOworICB3b3JrZXIub25tZXNz
YWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgdmFyIGhyZWYgPSB3aW5k
b3cubG9jYXRpb24uaHJlZjsKKyAgICB2YXIgRXhwZWN0ZWRSZXN1bHQgPSBocmVmLnN1YnN0cmlu
ZygwLCBocmVmLmxhc3RJbmRleE9mKCcvJykpICsgJy9zdXBwb3J0L1dvcmtlckxvY2F0aW9uLmpz
JzsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5sb2NhdGlvbiwgRXhwZWN0ZWRSZXN1bHQpOwor
ICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faGFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvV29ya2VyTG9jYXRpb25faGFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTg3NTlkOGYz
ODVhMjk4NGM3ZTA2YzEyY2ZkNDAxNmUzNzI1Zjc0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2Nh
dGlvbl9oYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyTG9j
YXRpb24gVVJMIGRlY29tcG9zaXRpb24gSURMIGF0dHJpYnV0ZTogaGFzaCAgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJMb2NhdGlvbl9oYXNoLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9oYXNoLmh0bQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NGE0MjRlZmMzYzQzYmZjOTJhZTE2N2RhZDhlOGIyYTNmZGY5MjJjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dv
cmtlckxvY2F0aW9uX2hhc2guaHRtCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHRpdGxlPiBXb3JrZXJMb2NhdGlvbiBVUkwgZGVjb21wb3NpdGlvbiBJREwgYXR0cmlidXRlOiBo
YXNoIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoIi4vc3VwcG9ydC9Xb3JrZXJMb2NhdGlv
bi5qcyNIYXNoU3RyaW5nIik7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5oYXNoLCAiI0hhc2hTdHJp
bmciKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hhc2hf
ZW5jb2RpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hhc2hfZW5jb2RpbmctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEwNzJjNzcwYTgyOTc4YzNjYWUyZjE0Y2JhY2JjNmQ0ZjFhM2I0OTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faGFzaF9lbmNvZGluZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgIFdvcmtlckxvY2F0aW9uLmhhc2ggd2l0aCB1cmwgZW5j
b2Rpbmcgc3RyaW5nICAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hhc2hfZW5jb2RpbmcuaHRt
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dv
cmtlckxvY2F0aW9uX2hhc2hfZW5jb2RpbmcuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyYTE3MWEwOTJhNmJh
ZjNkZWEyODJhNDJjNjU2MGE4NzRjYmYzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25f
aGFzaF9lbmNvZGluZy5odG0KQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0
bGU+IFdvcmtlckxvY2F0aW9uLmhhc2ggd2l0aCB1cmwgZW5jb2Rpbmcgc3RyaW5nIDwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IHdvcmtlciA9IG5ldyBXb3JrZXIoIi4vc3VwcG9ydC9Xb3JrZXJMb2NhdGlvbi5qcyNxdWVzdGlv
biUzZiIpOworICB3b3JrZXIub25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihl
KSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEuaGFzaCwgIiNxdWVzdGlvbiUzZiIpOworICB9
KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faGFzaF9ub25leGlzdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvV29ya2VyTG9jYXRpb25faGFzaF9ub25leGlzdC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDJhOTQ0Mzk5MzE0MDM5ZWMwN2EyZGZmYjM5NTI5MGE5ZmVjMmQ4NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9Xb3JrZXJMb2NhdGlvbl9oYXNoX25vbmV4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyAgV29ya2VyTG9jYXRpb24uaGFzaCB3aXRoIG5vIDxmcmFnbWVudD4gY29t
cG9uZW50ICAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hhc2hfbm9uZXhpc3QuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxv
Y2F0aW9uX2hhc2hfbm9uZXhpc3QuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkODk4YzA3NWMzODFmNDI3ZDgw
ZmUyNjc5ZmZlZDczYzFkNDk5YTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faGFzaF9u
b25leGlzdC5odG0KQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IFdv
cmtlckxvY2F0aW9uLmhhc2ggd2l0aCBubyAmbHQ7ZnJhZ21lbnQmZ3Q7IGNvbXBvbmVudCA8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Cisg
IHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcuL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanMnKTsK
KyAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAg
IGFzc2VydF9lcXVhbHMoZS5kYXRhLmhhc2gsICIiKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hvc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hvc3Qt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5ZTAxMjhmYjI1ZDA5NTViMzY5NmYxMGM1MjFiODUw
ODI0NWIxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faG9zdC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgIFdvcmtlckxvY2F0aW9uIFVSTCBkZWNvbXBvc2l0aW9u
IElETCBhdHRyaWJ1dGU6IGhvc3QgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faG9zdC5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyTG9jYXRpb25faG9zdC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTMyODZkZGZjNTM5NjQ3NTUzZTllMDgz
YmU4M2ZmMzczNzQ0YjE5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9ob3N0Lmh0bQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyTG9jYXRpb24g
VVJMIGRlY29tcG9zaXRpb24gSURMIGF0dHJpYnV0ZTogaG9zdCA8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9k
aXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKCcuL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanMnKTsKKyAgd29ya2VyLm9ubWVz
c2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMo
ZS5kYXRhLmhvc3QsIGxvY2F0aW9uLmhvc3QpOworICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvV29ya2VyTG9jYXRpb25faG9zdG5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hvc3Ru
YW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kN2RhMDgyMzM1OGRiMWFkNTZmZDQyZDRhNWVl
MjNhMTQzMjFjOTdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hvc3RuYW1lLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyTG9jYXRpb24gVVJMIGRlY29t
cG9zaXRpb24gSURMIGF0dHJpYnV0ZTogaG9zdG5hbWUgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRp
b25faG9zdG5hbWUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX2hvc3RuYW1lLmh0bQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzI1
MDgwNWM5ZjhiNmJiNzM0MzFiZDE4ZmFmYTkyODkxNmI5ZTg5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtl
ckxvY2F0aW9uX2hvc3RuYW1lLmh0bQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4K
Kzx0aXRsZT4gV29ya2VyTG9jYXRpb24gVVJMIGRlY29tcG9zaXRpb24gSURMIGF0dHJpYnV0ZTog
aG9zdG5hbWUgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignLi9zdXBwb3J0L1dvcmtlckxv
Y2F0aW9uLmpzJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0
aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5ob3N0bmFtZSwgbG9jYXRpb24uaG9z
dG5hbWUpOworICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faHJl
Zi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25faHJlZi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWY0NzdmYmNmMmM1NDJiN2JhMDU5YjFjYzU1ZmYxOWM3ZGI0OWJjNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJMb2NhdGlvbl9ocmVmLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAg
V29ya2VyTG9jYXRpb24gaHJlZiBhdHRyaWJ1dGUgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25f
aHJlZi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvV29ya2VyTG9jYXRpb25faHJlZi5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2VkMWRiZDRmNTE5NzI1
ZjI5M2VjYmEwMjYyYTNjZWJjY2Q4MmE0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9o
cmVmLmh0bQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2Vy
TG9jYXRpb24gaHJlZiBhdHRyaWJ1dGUgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4K
K2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcigiLi9z
dXBwb3J0L1dvcmtlckxvY2F0aW9uLmpzP3NyY2glMjAjaGFzaCIpOworICB3b3JrZXIub25tZXNz
YWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgdmFyIGhyZWYgPSBsb2Nh
dGlvbi5ocmVmOworICAgIHZhciBleHBlY3RlZCA9IGhyZWYuc3Vic3RyaW5nKDAsIGhyZWYubGFz
dEluZGV4T2YoJy8nKSkgKyAiL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanM/c3JjaCUyMCNoYXNo
IjsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5ocmVmLCBleHBlY3RlZCk7CisgIH0pOworfSk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9wYXRobmFtZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyTG9jYXRpb25fcGF0aG5hbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllZmVjMjhkYWNi
MDQwZjczYTQxN2RmMWNiOTAyYjk0MzQ3Mzg0YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRp
b25fcGF0aG5hbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTICBXb3JrZXJM
b2NhdGlvbiBVUkwgZGVjb21wb3NpdGlvbiBJREwgYXR0cmlidXRlOiBwYXRobmFtZSAgCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9Xb3JrZXJMb2NhdGlvbl9wYXRobmFtZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fcGF0aG5hbWUuaHRt
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM0Njk4NDUxMTU1M2RkNWY3MWFiYjc0YmQxMDIxOTk3ZjgzYTUxOWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fcGF0aG5hbWUuaHRtCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBXb3JrZXJMb2NhdGlvbiBVUkwgZGVjb21wb3NpdGlv
biBJREwgYXR0cmlidXRlOiBwYXRobmFtZSA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0
PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcu
L3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIHZhciBwYXRobmFtZSA9IGxvY2F0aW9uLnBh
dGhuYW1lOworICAgIHZhciBleHBlY3RlZCA9IHBhdGhuYW1lLnN1YnN0cmluZygwLCBwYXRobmFt
ZS5sYXN0SW5kZXhPZignLycpKSArICcvc3VwcG9ydC9Xb3JrZXJMb2NhdGlvbi5qcyc7CisgICAg
YXNzZXJ0X2VxdWFscyhlLmRhdGEucGF0aG5hbWUsIGV4cGVjdGVkKTsKKyAgfSk7Cit9KTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3BvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0
aW9uX3BvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwOGFhODNhMTFiNTdjMjRkNTExYmM4
MjQyOTcyODNjZDNkZmQ4Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fcG9ydC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgIFdvcmtlckxvY2F0aW9uIFVSTCBkZWNv
bXBvc2l0aW9uIElETCBhdHRyaWJ1dGU6IHBvcnQgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25f
cG9ydC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvV29ya2VyTG9jYXRpb25fcG9ydC5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY4NmNmYWNiNjE1MjUz
ZWE3M2FhNzRiNjI2NmM0MzNkOWE4ZDEwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9w
b3J0Lmh0bQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2Vy
TG9jYXRpb24gVVJMIGRlY29tcG9zaXRpb24gSURMIGF0dHJpYnV0ZTogcG9ydCA8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3
b3JrZXIgPSBuZXcgV29ya2VyKCcuL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanMnKTsKKyAgd29y
a2VyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2Vy
dF9lcXVhbHMoZS5kYXRhLnBvcnQsIGxvY2F0aW9uLnBvcnQpOworICB9KTsKK30pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fcHJvdG9jb2wtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0
aW9uX3Byb3RvY29sLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDIyNTgwYjM4ODA4NWQ4ZWFl
NWMxMGJkNmZmMTU0NTM5ZjI1YTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3Byb3Rv
Y29sLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyTG9jYXRpb24g
VVJMIGRlY29tcG9zaXRpb24gSURMIGF0dHJpYnV0ZTogcHJvdG9jb2wgIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyTG9jYXRpb25fcHJvdG9jb2wuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3Byb3RvY29sLmh0bQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mNzkyZGVlNTE1Njg3YzkwYzExYWEwZTgxMTZiZGQ3NDU5NDExY2U0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlckxvY2F0aW9uX3Byb3RvY29sLmh0bQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyTG9jYXRpb24gVVJMIGRlY29tcG9zaXRpb24gSURMIGF0
dHJpYnV0ZTogcHJvdG9jb2wgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5j
X3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignLi9zdXBwb3J0
L1dvcmtlckxvY2F0aW9uLmpzJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19k
b25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5wcm90b2NvbCwgbG9j
YXRpb24ucHJvdG9jb2wpOworICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9j
YXRpb25fc2VhcmNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9zZWFyY2gtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc5ZjRhMzdlYjczNzUwYTZmZjNjNGRmNTQxOTcxNzkxMzBkZGMwZWEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fc2VhcmNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyAgV29ya2VyTG9jYXRpb24gVVJMIGRlY29tcG9zaXRpb24gSURMIGF0dHJp
YnV0ZTogc2VhcmNoICAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3NlYXJjaC5odG0gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9j
YXRpb25fc2VhcmNoLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzZhZGQ4NzY4YWVlZDA0OGM5MTM0MjViYWQ3
MzU3ODQyYTY2ZjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3NlYXJjaC5odG0KQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IFdvcmtlckxvY2F0aW9uIFVS
TCBkZWNvbXBvc2l0aW9uIElETCBhdHRyaWJ1dGU6IHNlYXJjaCA8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9k
aXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKCcuL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanM/U2VhcmNoU3RyaW5nJyk7Cisg
IHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICAg
IGFzc2VydF9lcXVhbHMoZS5kYXRhLnNlYXJjaCwgJz9TZWFyY2hTdHJpbmcnKTsKKyAgfSk7Cit9
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3NlYXJjaF9lbXB0eS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX2VtcHR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MDFlZGVkZjJiNDk0ODUwMDI2ZDEwZWY1OTM3ODYwYjEzMDk2ODMwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dv
cmtlckxvY2F0aW9uX3NlYXJjaF9lbXB0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgIFdvcmtlckxvY2F0aW9uLnNlYXJjaCB3aXRoIGVtcHR5IDxxdWVyeT4gIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX2VtcHR5Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9zZWFyY2hfZW1w
dHkuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEzMmQ0MzA5MTI4ZDIzMTFmYzgxMzJjZjRmOTI3ZGQ2YWY2MjZm
NmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX2VtcHR5Lmh0bQpAQCAtMCww
ICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyTG9jYXRpb24uc2VhcmNo
IHdpdGggZW1wdHkgJmx0O3F1ZXJ5Jmd0OyA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0
PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCIu
L3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanM/Iik7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0
ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YS5zZWFy
Y2gsICIiKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3Nl
YXJjaF9mcmFnbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX2ZyYWdtZW50LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjUxY2VlOWI2YjUxNWM2MmY3NWZjYjg0MWRkMGYxZmEx
MDFjZjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3NlYXJjaF9mcmFnbWVudC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgIFdvcmtlckxvY2F0aW9uLnNlYXJjaCB3
aXRoIDxmcmFnbWVudD4gaW4gPHF1ZXJ5PiAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9zZWFy
Y2hfZnJhZ21lbnQuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3NlYXJjaF9mcmFnbWVudC5odG0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2VjNGNmZmE2YjVkOTViOTFkMGM0MjgwYmRhMzRkY2I3MGM1NGJhZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9Xb3JrZXJMb2NhdGlvbl9zZWFyY2hfZnJhZ21lbnQuaHRtCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPHRpdGxlPiBXb3JrZXJMb2NhdGlvbi5zZWFyY2ggd2l0aCAmbHQ7ZnJh
Z21lbnQmZ3Q7IGluICZsdDtxdWVyeSZndDsgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlw
dD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcign
Li9zdXBwb3J0L1dvcmtlckxvY2F0aW9uLmpzP3Rlc3QjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2Ug
PSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0
YS5zZWFyY2gsICI/dGVzdCIpOworICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2Vy
TG9jYXRpb25fc2VhcmNoX25vbmV4aXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9zZWFyY2hf
bm9uZXhpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjMzlkZmE0NjdiNGEwZjE1NTViODJk
YWE4ZWVlMjQyZWQ2OGI4MWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX25v
bmV4aXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyTG9jYXRp
b24uc2VhcmNoICB3aXRoIG5vIDxxdWVyeT4gY29tcG9uZW50ICAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxv
Y2F0aW9uX3NlYXJjaF9ub25leGlzdC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX25vbmV4aXN0Lmh0
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45OTA3ZTY0NzNjMmRjZjYwZjhmMTczMzVlM2Q2YWI0MWY4MDA0MThhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3NlYXJjaF9ub25leGlzdC5odG0KQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IFdvcmtlckxvY2F0aW9uLnNlYXJjaCAg
d2l0aCBubyAmbHQ7cXVlcnkmZ3Q7IGNvbXBvbmVudCA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8
c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29y
a2VyKCcuL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9
IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRh
LnNlYXJjaCwgIiIpOworICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2aWdh
dG9yX2FwcE5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9hcHBOYW1lLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNjgzOTI5OWMyMDQ5Nzc1N2U1MTQ0Y2Y4ZTAyMTdmMzdiYzViNjNhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9hcHBOYW1lLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworUEFTUyAgV29ya2VyTmF2aWdhdG9yIGFwcE5hbWUgIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyTmF2aWdhdG9yX2FwcE5hbWUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9hcHBOYW1lLmh0bQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MzJjNDZmZjVlMjFhNzZiMDQ2NGY4MTljZmM1YmNkZDE2N2E0MGI0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlck5hdmlnYXRvcl9hcHBOYW1lLmh0bQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyTmF2aWdhdG9yIGFwcE5hbWUgPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9n
PjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2Vy
ID0gbmV3IFdvcmtlcigiLi9zdXBwb3J0L1dvcmtlck5hdmlnYXRvci5qcyIpOworICB3b3JrZXIu
b25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2Vx
dWFscyhlLmRhdGEuYXBwTmFtZSwgbmF2aWdhdG9yLmFwcE5hbWUpOworICB9KTsKK30pOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2aWdhdG9yX2FwcFZlcnNpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtl
ck5hdmlnYXRvcl9hcHBWZXJzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzAwMzlhY2E3
NWJjYTMyNTAyZDhhMWE1MTIzYTU0ZjNkNzEzY2EzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5hdmln
YXRvcl9hcHBWZXJzaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29y
a2VyTmF2aWdhdG9yIGFwcFZlcnNpb24gIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2aWdhdG9yX2FwcFZl
cnNpb24uaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9hcHBWZXJzaW9uLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZGVhYTQy
NTZhZjJjZjVlOWRmZDBmN2ZkNTE2MjBlY2E0NGE0NTNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5h
dmlnYXRvcl9hcHBWZXJzaW9uLmh0bQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4K
Kzx0aXRsZT4gV29ya2VyTmF2aWdhdG9yIGFwcFZlcnNpb24gPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2
PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3
IFdvcmtlcigiLi9zdXBwb3J0L1dvcmtlck5hdmlnYXRvci5qcyIpOworICB3b3JrZXIub25tZXNz
YWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGEuYXBwVmVyc2lvbiwgbmF2aWdhdG9yLmFwcFZlcnNpb24pOworICB9KTsKK30pOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2aWdhdG9yX29uTGluZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2
aWdhdG9yX29uTGluZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY1YzVlZDE3YTU0ZDRjZjE0
NTg1ODMxODAwZDZkYjlkNjEwZDE1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3Jfb25M
aW5lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyTmF2aWdhdG9y
Lm9uTGluZSAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3Jfb25MaW5lLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0
b3Jfb25MaW5lLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOWU4MTliOGFhYmFjOGVkNGRkZjIwYzFiZjk4NDE5
OTQwYzA2YjBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9vbkxpbmUuaHRtCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBXb3JrZXJOYXZpZ2F0b3Iub25M
aW5lIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoIi4vc3VwcG9ydC9Xb3JrZXJOYXZpZ2F0
b3IuanMiKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24o
ZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLm9uTGluZSwgbmF2aWdhdG9yLm9uTGluZSk7
CisgIH0pOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3JfcGxhdGZvcm0t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9wbGF0Zm9ybS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODkzMDc1MGM0MzdhMGEzMWE4MTYwODdjYzEzOGY2M2UyMDYwYWM0YQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9Xb3JrZXJOYXZpZ2F0b3JfcGxhdGZvcm0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
CitQQVNTICBXb3JrZXJOYXZpZ2F0b3IucGxhdGZvcm0gIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2aWdh
dG9yX3BsYXRmb3JtLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3JfcGxhdGZvcm0uaHRtCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNh
NmRlODBlYjk2ZGExN2U3MWIyOGU4OWY1YTY2Nzk0ZmNhZWYzNGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyTmF2aWdhdG9yX3BsYXRmb3JtLmh0bQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzx0aXRsZT4gV29ya2VyTmF2aWdhdG9yLnBsYXRmb3JtIDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rp
dj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHdvcmtlciA9IG5l
dyBXb3JrZXIoIi4vc3VwcG9ydC9Xb3JrZXJOYXZpZ2F0b3IuanMiKTsKKyAgd29ya2VyLm9ubWVz
c2FnZSA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMo
ZS5kYXRhLnBsYXRmb3JtLCBuYXZpZ2F0b3IucGxhdGZvcm0pOworICB9KTsKK30pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyTmF2aWdhdG9yX3VzZXJBZ2VudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2
aWdhdG9yX3VzZXJBZ2VudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYwMTUyNGU1OTkxMzM2
ODFjOWUyMDI5MjkxZTFjZWRiMzhjZDAxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3Jf
dXNlckFnZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgV29ya2VyTmF2
aWdhdG9yLnVzZXJBZ2VudCAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3JfdXNlckFnZW50Lmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJOYXZpZ2F0b3JfdXNlckFnZW50Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTM0ZmI0ODBhYzVmNmM2
NTMzYjE0ZjEyMWIwZjY4ODUyNGZiZjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl91
c2VyQWdlbnQuaHRtCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBX
b3JrZXJOYXZpZ2F0b3IudXNlckFnZW50IDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+
Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoIi4v
c3VwcG9ydC9Xb3JrZXJOYXZpZ2F0b3IuanMiKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3Rl
cF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLnVzZXJB
Z2VudCwgbmF2aWdhdG9yLnVzZXJBZ2VudCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9Xb3JrZXJfRXJyb3JFdmVudF9idWJibGVzX2NhbmNlbGFibGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9F
cnJvckV2ZW50X2J1YmJsZXNfY2FuY2VsYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTNi
ZmRkZjk0ZWYyMmNhNzI4OTM5MmE2NjQ0NzM0OTkwN2M2NTJjMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3Jr
ZXJfRXJyb3JFdmVudF9idWJibGVzX2NhbmNlbGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM6IEVycm9yOiBFcnJvciBNZXNzYWdlCisKK1BB
U1MgRXJyb3JFdmVudCBvbiB3b3JrZXIgZG9lc24ndCBidWJibGUgYW5kIGlzIGNhbmNlbGFibGUg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9idWJibGVzX2NhbmNlbGFibGUuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9F
cnJvckV2ZW50X2J1YmJsZXNfY2FuY2VsYWJsZS5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYxOWVlN2I1MzEy
NTEwNmEwZWVjOWNkMzI5ZGM3ZWM4YzdkNzcyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JF
dmVudF9idWJibGVzX2NhbmNlbGFibGUuaHRtCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYiBXb3JrZXJzOiBXb3JrZXIg
RXJyb3JFdmVudCAtIGJ1YmJsZXMsIGNhbmNlbGFibGU8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKzxzY3JpcHQ+CisvLyBUaGUgd29ya2VyIGV2ZW50cyByYWNlcyB3aXRoIHRoZSB3aW5k
b3cncyBsb2FkIGV2ZW50OyBpZiB0aGUgd29ya2VyIGV2ZW50cworLy8gYXJyaXZlIGZpcnN0LCB0
aGUgaGFybmVzcyB3aWxsIGRldGVjdCB0aGUgZXJyb3IgZXZlbnQgYW5kIGZhaWwgdGhlIHRlc3Qu
CitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKKworYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcuL3N1cHBvcnQvRXJy
b3JFdmVudC5qcycpOworICB3b3JrZXIub25lcnJvciA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rp
b24oZSkgeworICAgIGFzc2VydF9mYWxzZShlLmJ1YmJsZXMsICJvbmVycm9yIG9uIHdvcmtlciBk
b2Vzbid0IGJ1YmJsZSIpOworICAgIGFzc2VydF90cnVlKGUuY2FuY2VsYWJsZSwgIm9uZXJyb3Ig
b24gd29ya2VyIGlzIGNhbmNlbGFibGUiKTsKKyAgfSk7CisgIHdvcmtlci5wb3N0TWVzc2FnZSgi
RXJyb3IgTWVzc2FnZSIpOworfSwgIkVycm9yRXZlbnQgb24gd29ya2VyIGRvZXNuJ3QgYnViYmxl
IGFuZCBpcyBjYW5jZWxhYmxlIik7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9FcnJvckV2
ZW50X2Vycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9lcnJvci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWMxYTIxOTM4NDdkMjQzYzFjZWM5Y2I1NjdjZjNlY2VlMTA0MGIxNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9lcnJvci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogaGVsbG8KKworUEFTUyBFcnJvciBoYW5k
bGVyIG91dHNpZGUgdGhlIHdvcmtlciBzaG91bGQgbm90IHNlZSB0aGUgZXJyb3IgdmFsdWUgCitQ
QVNTIEVycm9yIGhhbmRsZXJzIGluc2lkZSBhIHdvcmtlciBzaG91bGQgc2VlIHRoZSBlcnJvciB2
YWx1ZSAKK1BBU1MgVW50aXRsZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9lcnJvci5o
dG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
V29ya2VyX0Vycm9yRXZlbnRfZXJyb3IuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiN2NlYTEyZTA0MDgyZjEz
MGZmOWU4NDA0ZDBlNTJiMTQ5ZjRlYTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRf
ZXJyb3IuaHRtCkBAIC0wLDAgKzEsMzIgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNl
dD11dGYtOD4KKzx0aXRsZT48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8gVGhlIHdvcmtlciBldmVudHMgcmFjZXMgd2l0
aCB0aGUgd2luZG93J3MgbG9hZCBldmVudDsgaWYgdGhlIHdvcmtlciBldmVudHMKKy8vIGFycml2
ZSBmaXJzdCwgdGhlIGhhcm5lc3Mgd2lsbCBkZXRlY3QgdGhlIGVycm9yIGV2ZW50IGFuZCBmYWls
IHRoZSB0ZXN0Lgorc2V0dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUgfSk7CisK
K3ZhciB0MSA9IGFzeW5jX3Rlc3QoIkVycm9yIGhhbmRsZXIgb3V0c2lkZSB0aGUgd29ya2VyIHNo
b3VsZCBub3Qgc2VlIHRoZSBlcnJvciB2YWx1ZSIpOwordmFyIHQyID0gYXN5bmNfdGVzdCgiRXJy
b3IgaGFuZGxlcnMgaW5zaWRlIGEgd29ya2VyIHNob3VsZCBzZWUgdGhlIGVycm9yIHZhbHVlIik7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCJzdXBwb3J0
L0Vycm9yRXZlbnQtZXJyb3IuanMiKTsKKyAgd29ya2VyLm9uZXJyb3IgPSB0MS5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X3RydWUoL2hlbGxvLy50ZXN0KGUubWVzc2Fn
ZSkpOworICAgIGFzc2VydF9lcXVhbHMoZS5lcnJvciwgbnVsbCk7CisgIH0pOworCisgIHZhciBt
ZXNzYWdlcyA9IDA7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0Mi5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgeworICAgICsrbWVzc2FnZXM7CisgICAgdmFyIGRhdGEgPSBlLmRhdGE7CisgICAgYXNzZXJ0
X2luX2FycmF5KGRhdGEuc291cmNlLCBbIm9uZXJyb3IiLCAiZXZlbnQgbGlzdGVuZXIiXSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhkYXRhLnZhbHVlLCAiaGVsbG8iKTsKKyAgICBpZiAobWVzc2FnZXMg
PT0gMikgeworICAgICAgdDIuZG9uZSgpOworICAgIH0KKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X2ZpbGVuYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JF
dmVudF9maWxlbmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ0YjNkMGMxYmQwNzA3N2Ji
ODczZjQ1YTM3OWQ4MTRmYjNhMzdjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9m
aWxlbmFtZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMzogRXJyb3I6IEVycm9yIE1lc3NhZ2UKKworUEFTUyAgQWJzdHJhY3RXb3JrZXIgRXJyb3JF
dmVudC5maWxlbmFtZSAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9maWxlbmFtZS5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyX0Vycm9yRXZlbnRfZmlsZW5hbWUuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmYWVmNmZlYTJhOGU4MmU3
MTgwZDRmMWI2MzljNTY0ZjE5NTQ2NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRf
ZmlsZW5hbWUuaHRtCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBB
YnN0cmFjdFdvcmtlciBFcnJvckV2ZW50LmZpbGVuYW1lIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4K
KzxzY3JpcHQ+CisvLyBUaGUgd29ya2VyIGV2ZW50cyByYWNlcyB3aXRoIHRoZSB3aW5kb3cncyBs
b2FkIGV2ZW50OyBpZiB0aGUgd29ya2VyIGV2ZW50cworLy8gYXJyaXZlIGZpcnN0LCB0aGUgaGFy
bmVzcyB3aWxsIGRldGVjdCB0aGUgZXJyb3IgZXZlbnQgYW5kIGZhaWwgdGhlIHRlc3QuCitzZXR1
cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKKworYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcuL3N1cHBvcnQvRXJyb3JFdmVu
dC5qcycpOworICB3b3JrZXIub25lcnJvciA9IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkg
eworICAgIHZhciBocmVmID0gbG9jYXRpb24uaHJlZjsKKyAgICB2YXIgZXhwZWN0ZWQgPSBocmVm
LnN1YnN0cmluZygwLCBocmVmLmxhc3RJbmRleE9mKCcvJykpICsgJy9zdXBwb3J0L0Vycm9yRXZl
bnQuanMnOworICAgIGFzc2VydF9lcXVhbHMoZS5maWxlbmFtZSwgZXhwZWN0ZWQpOworICB9KTsK
KyAgd29ya2VyLnBvc3RNZXNzYWdlKCJFcnJvciBNZXNzYWdlIik7Cit9KTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X2xpbmVuby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZl
bnRfbGluZW5vLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTRjZjFhOTE3MmNjN2JiZDhkMmY5
YmM2ZjI0ZDhkNWM4MmNjZmNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X2xpbmVu
by1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzog
RXJyb3I6IEVycm9yIE1lc3NhZ2UKKworUEFTUyAgQWJzdHJhY3RXb3JrZXIgRXJyb3JFdmVudC5s
aW5lbm8gIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfbGluZW5vLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JF
dmVudF9saW5lbm8uaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkOTgxNzI5NjBmNjdmNTE5ODNmNTkzNGMzZDU0
ZmVlNjUyZjk5NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfbGluZW5vLmh0bQpA
QCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gQWJzdHJhY3RXb3JrZXIg
RXJyb3JFdmVudC5saW5lbm8gPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KKy8vIFRo
ZSB3b3JrZXIgZXZlbnRzIHJhY2VzIHdpdGggdGhlIHdpbmRvdydzIGxvYWQgZXZlbnQ7IGlmIHRo
ZSB3b3JrZXIgZXZlbnRzCisvLyBhcnJpdmUgZmlyc3QsIHRoZSBoYXJuZXNzIHdpbGwgZGV0ZWN0
IHRoZSBlcnJvciBldmVudCBhbmQgZmFpbCB0aGUgdGVzdC4KK3NldHVwKHsgYWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uOiB0cnVlIH0pOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFy
IHdvcmtlciA9IG5ldyBXb3JrZXIoJy4vc3VwcG9ydC9FcnJvckV2ZW50LmpzJyk7CisgIHdvcmtl
ci5vbmVycm9yID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2Vx
dWFscyhlLmxpbmVubywgMyk7CisgIH0pOworICB3b3JrZXIucG9zdE1lc3NhZ2UoIkVycm9yIE1l
c3NhZ2UiKTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfbWVzc2Fn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfbWVzc2FnZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjZhODBlMjAwODc2ODIxMjViMDlkNWU2ODdlMTM4M2Y4MWFjMjhkMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9Xb3JrZXJfRXJyb3JFdmVudF9tZXNzYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzOiBFcnJvcjogRXJyb3IgTWVzc2FnZQorCitQQVNT
ICBBYnN0cmFjdFdvcmtlciBFcnJvckV2ZW50Lm1lc3NhZ2UgIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vy
cm9yRXZlbnRfbWVzc2FnZS5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfbWVzc2FnZS5odG0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTYwMmQ5YmMwMmQ5NTRkOWNlZGZlMGRhZDUzMWE1NmQ1YWU1MmEwOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9Xb3JrZXJfRXJyb3JFdmVudF9tZXNzYWdlLmh0bQpAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzx0aXRsZT4gQWJzdHJhY3RXb3JrZXIgRXJyb3JFdmVudC5tZXNzYWdlIDwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+CisvLyBUaGUgd29ya2VyIGV2ZW50cyByYWNlcyB3
aXRoIHRoZSB3aW5kb3cncyBsb2FkIGV2ZW50OyBpZiB0aGUgd29ya2VyIGV2ZW50cworLy8gYXJy
aXZlIGZpcnN0LCB0aGUgaGFybmVzcyB3aWxsIGRldGVjdCB0aGUgZXJyb3IgZXZlbnQgYW5kIGZh
aWwgdGhlIHRlc3QuCitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsK
KworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciBtZXNzYWdlID0gJ0Vycm9yIE1lc3Nh
Z2UnOworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignLi9zdXBwb3J0L0Vycm9yRXZlbnQuanMn
KTsKKyAgd29ya2VyLm9uZXJyb3IgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAg
ICBhc3NlcnRfZ3JlYXRlcl90aGFuKGUubWVzc2FnZS5pbmRleE9mKG1lc3NhZ2UpLCAtMSk7Cisg
IH0pOworICB3b3JrZXIucG9zdE1lc3NhZ2UobWVzc2FnZSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlcl9FcnJvckV2ZW50X3R5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X3R5
cGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYTE4NzM2NzEzYTZmOGQzZDRlNTlkNTE1ZTk1
OTI4MThiMzU2YWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfdHlwZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogRXJyb3I6IEVy
cm9yIE1lc3NhZ2UKKworUEFTUyAgQWJzdHJhY3RXb3JrZXIgRXJyb3JFdmVudC50eXBlICAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X3R5cGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X3R5cGUuaHRt
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNhMGY4NWFkOWI2YjQ1ZGE3YjhiMTBkYjA3NzUyZTI1OGFiMjkyNDIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfdHlwZS5odG0KQEAgLTAsMCArMSwxOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IEFic3RyYWN0V29ya2VyIEVycm9yRXZlbnQudHlwZSA8
L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorLy8gVGhlIHdvcmtlciBldmVudHMgcmFj
ZXMgd2l0aCB0aGUgd2luZG93J3MgbG9hZCBldmVudDsgaWYgdGhlIHdvcmtlciBldmVudHMKKy8v
IGFycml2ZSBmaXJzdCwgdGhlIGhhcm5lc3Mgd2lsbCBkZXRlY3QgdGhlIGVycm9yIGV2ZW50IGFu
ZCBmYWlsIHRoZSB0ZXN0Lgorc2V0dXAoeyBhbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWUg
fSk7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtl
cignLi9zdXBwb3J0L0Vycm9yRXZlbnQuanMnKTsKKyAgd29ya2VyLm9uZXJyb3IgPSB0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfY2xhc3Nfc3RyaW5nKGUsICdFcnJv
ckV2ZW50Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhlLnR5cGUsICdlcnJvcicpOworICB9KTsKKyAg
d29ya2VyLnBvc3RNZXNzYWdlKCJFcnJvciBNZXNzYWdlIik7Cit9KTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlcl9Ob3NuaWZmRXJyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfTm9zbmlmZkVyci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDk4M2E3YzJiODVmNDMzZDc5ZGVlMmZjNGUwOGU4ZmIzMjQyNDc4
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfTm9zbmlmZkVyci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgIFdvcmtlciB3aXRoIG5vc25pZmYgWC1Db250ZW50LVR5cGUtT3B0aW9u
cyBoZWFkZXIgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX05vc25pZmZFcnIuaHRtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9Ob3NuaWZmRXJy
Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMWQ0YjdjMjkwYWRhODQ4NWFlNTk2MDUyODFmNmE4M2NiNDNkMzUy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1dvcmtlcl9Ob3NuaWZmRXJyLmh0bQpAQCAtMCwwICsxLDEzIEBACis8
IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gV29ya2VyIHdpdGggbm9zbmlmZiBYLUNvbnRlbnQtVHlw
ZS1PcHRpb25zIGhlYWRlciA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNf
dGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3N1cHBvcnQv
bm9zaW5pZmYtZXJyb3Itd29ya2VyLnB5Iik7CisgIHdvcmtlci5vbmVycm9yID0gdC5zdGVwX2Z1
bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLnR5cGUsICdlcnJvcicp
OworICB9KTsKK30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX2Jhc2ljLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJfYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMDc4OTdjNjgzYTk4NGEzMjQw
MjQ3MzE5ZWEzMTgxN2ZhNmY2NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX2Jhc2ljLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBXb3JrZXIgY29uc3RydWN0b3IgCitQQVNTIE1l
c3NhZ2VFdmVudC5kYXRhIAorUEFTUyBNZXNzYWdlRXZlbnQudHlwZSAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtl
cl9iYXNpYy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvV29ya2VyX2Jhc2ljLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMmI1N2I0OTE4YjA2YzFkOGZh
OWUzMWM4M2JjMmYzNmE1ZDM0NDk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9iYXNpYy5odG0KQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IFdlYiBXb3JrZXJzIEJhc2lj
IFRlc3RzIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlvbiBjcmVhdGVf
d29ya2VyKCkgeworICByZXR1cm4gbmV3IFdvcmtlcignLi9zdXBwb3J0L1dvcmtlckJhc2ljLmpz
Jyk7Cit9CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBjcmVhdGVfd29ya2Vy
KCk7CisgIGFzc2VydF9jbGFzc19zdHJpbmcod29ya2VyLCAiV29ya2VyIik7Cit9LCAiV29ya2Vy
IGNvbnN0cnVjdG9yIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgd29ya2Vy
ID0gY3JlYXRlX3dvcmtlcigpOworICB3b3JrZXIub25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9u
ZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICJQYXNzIik7CisgIH0p
OworICB3b3JrZXIucG9zdE1lc3NhZ2UoInN0YXJ0Iik7Cit9LCAiTWVzc2FnZUV2ZW50LmRhdGEi
KTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBjcmVhdGVfd29y
a2VyKCk7CisgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgdC5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLnR5cGUsICJtZXNzYWdlIik7
CisgIH0pLCB0cnVlKTsKKyAgd29ya2VyLnBvc3RNZXNzYWdlKCJzdGFydCIpOworfSwgIk1lc3Nh
Z2VFdmVudC50eXBlIik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfY3Jvc3Nfb3JpZ2luX3Nl
Y3VyaXR5X2Vyci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX2Nyb3NzX29yaWdpbl9zZWN1cml0eV9lcnItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3MWVkOWJhMjM5NDMyYWQxNDg4ZmM0ZWJiNTczYzA5MDRm
MjFlNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX2Nyb3NzX29yaWdpbl9zZWN1cml0eV9lcnItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworVElNRU9VVCAgV29ya2VyIGNyb3NzLW9yaWdpbiBVUkwgIFRlc3QgdGlt
ZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfY3Jvc3Nfb3JpZ2luX3NlY3VyaXR5X2Vyci5odG0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2Vy
X2Nyb3NzX29yaWdpbl9zZWN1cml0eV9lcnIuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1N2RjMjlkNTU3YWJj
ZjE3MGQ3YmMzZjMwOGMzNjZlNzFlZTI3MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX2Nyb3NzX29y
aWdpbl9zZWN1cml0eV9lcnIuaHRtCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHRpdGxlPiBXb3JrZXIgY3Jvc3Mtb3JpZ2luIFVSTCA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8
c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHRyeSB7CisgICAgdmFyIHcgPSBu
ZXcgV29ya2VyKCJmdHA6Ly9leGFtcGxlLm9yZy9zdXBwb3J0L1dvcmtlckJhc2ljLmpzIik7Cisg
ICAgdy5vbmVycm9yID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgICBhc3Nl
cnRfdHJ1ZShlIGluc3RhbmNlb2YgRXZlbnQpOworICAgIH0pOworICB9IGNhdGNoIChlKSB7Cisg
ICAgdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7IGFzc2VydF90cnVlKHRydWUpOyB9KTsK
KyAgfQorfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfZGlzcGF0Y2hFdmVudF9FcnJvckV2
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9Xb3JrZXJfZGlzcGF0Y2hFdmVudF9FcnJvckV2ZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41OTlkMmY5ZWNmMTljNGZjMzc5NTc2NGM0ZDZmMzE1ZTFiOWYzOWM3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL1dvcmtlcl9kaXNwYXRjaEV2ZW50X0Vycm9yRXZlbnQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTICBFcnJvckV2ZW50IGFuZCBXb3JrZXIuZGlzcGF0Y2hF
dmVudCgpICAKK1BBU1MgaW5pdEVycm9yRXZlbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfZGlzcGF0Y2hF
dmVudF9FcnJvckV2ZW50Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfZGlzcGF0Y2hFdmVudF9FcnJvckV2ZW50Lmh0bQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMWFkZTYwNTA1NzRmYzEwODQwYTZjYTZkODViMzQwZmE3NzhiOWVhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL1dvcmtlcl9kaXNwYXRjaEV2ZW50X0Vycm9yRXZlbnQuaHRtCkBAIC0wLDAgKzEsMzEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPiBFcnJvckV2ZW50IGFuZCBXb3JrZXIuZGlzcGF0
Y2hFdmVudCgpIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgdmFyIGV2ZW50ID0gImVycm9yIjsKKyAgdmFyIGZpbGVuYW1lID0gJy4v
c3VwcG9ydC9FcnJvckV2ZW50LmpzJzsKKyAgdmFyIG1lc3NhZ2UgPSAnSGVsbG8gV29ya2VyJzsK
KyAgdmFyIGxpbmVubyA9IDU7CisgIHZhciBjb2xubyA9IDY7CisgIHZhciBlcnJvciA9IG5ldyBF
cnJvcigidGVzdCIpOworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcihmaWxlbmFtZSk7CisgIHdv
cmtlci5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUp
IHsKKyAgICBhc3NlcnRfZXF1YWxzKGUudHlwZSwgZXZlbnQsICd0eXBlJyk7CisgICAgYXNzZXJ0
X2VxdWFscyhlLm1lc3NhZ2UsIG1lc3NhZ2UsICdtZXNzYWdlJyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhlLmZpbGVuYW1lLCBmaWxlbmFtZSwgJ2ZpbGVuYW1lJyk7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmxpbmVubywgbGluZW5vLCAnbGluZW5vJyk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmNvbG5vLCBj
b2xubywgJ2NvbG5vJyk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmVycm9yLCBlcnJvciwgJ2Vycm9y
Jyk7CisgIH0pLCB0cnVlKTsKKyAgdmFyIGUgPSBuZXcgRXJyb3JFdmVudChldmVudCwge2J1YmJs
ZXM6dHJ1ZSwgY2FuY2VsYWJsZTp0cnVlLCBtZXNzYWdlOm1lc3NhZ2UsIGZpbGVuYW1lOmZpbGVu
YW1lLCBsaW5lbm86bGluZW5vLCBjb2xubzpjb2xubywgZXJyb3I6ZXJyb3J9KTsKKyAgd29ya2Vy
LmRpc3BhdGNoRXZlbnQoZSk7Cit9KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIGUgPSBu
ZXcgRXJyb3JFdmVudCgiZXJyb3IiKTsKKyAgYXNzZXJ0X2ZhbHNlKCJpbml0RXJyb3JFdmVudCIg
aW4gZSwgInNob3VsZCBub3QgYmUgc3VwcG9ydGVkIik7Cit9LCAiaW5pdEVycm9yRXZlbnQiKTsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9zY3JpcHRfbWltZXR5cGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtl
cl9zY3JpcHRfbWltZXR5cGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyOTAxZTE1YTJlMzIz
ODM1NGI4MTVlYzZlYmE5YmZlNTljMjkzMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX3NjcmlwdF9t
aW1ldHlwZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgIFdvcmtlciBjb25z
dHJ1Y3RvciB3aXRoIHNjcmlwdCBpbnNpZGUgdGV4dCBmaWxlICAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9z
Y3JpcHRfbWltZXR5cGUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1dvcmtlcl9zY3JpcHRfbWltZXR5cGUuaHRtCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0
ZmU2OGU2NjI4Njc1ZjhjOWEwYjFmMzAwZGFiNDAwMWYzODE2MTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyX3NjcmlwdF9taW1ldHlwZS5odG0KQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8dGl0bGU+IFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHNjcmlwdCBpbnNpZGUgdGV4dCBmaWxl
IDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJy4vc3VwcG9ydC9Xb3JrZXJUZXh0LnR4dCcp
OworICB3b3JrZXIub25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICJQYXNzIik7CisgIH0pOworICB3b3JrZXIucG9zdE1l
c3NhZ2UoInN0YXJ0Iik7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl90ZXJtaW5hdGVf
ZXZlbnRfcXVldWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl90ZXJtaW5hdGVfZXZlbnRfcXVldWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFlZjE4ZTI1NWQwYzM4Mzc5ZTQxZTMwMWE4MzUyNWE4MjAwMDM0
NDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX3Rlcm1pbmF0ZV9ldmVudF9xdWV1ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgIEFic3RyYWN0V29ya2VyIHRlcm1pbmF0ZSgpOiBj
bGVhciBldmVudCBxdWV1ZSAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfdGVybWluYXRlX2V2ZW50X3F1ZXVl
Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9Xb3JrZXJfdGVybWluYXRlX2V2ZW50X3F1ZXVlLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDk0NzJhMWM0
NmY0NjBlMDYwNmU5OWUzMzAyYjMwMzljZDM5MGM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl90ZXJt
aW5hdGVfZXZlbnRfcXVldWUuaHRtCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHRpdGxlPiBBYnN0cmFjdFdvcmtlciB0ZXJtaW5hdGUoKTogY2xlYXIgZXZlbnQgcXVldWUgPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7Cisg
IHZhciB0ZXN0UmVzdWx0OworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignLi9zdXBwb3J0L1dv
cmtlclRlcm1pbmF0ZS5qcycpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMo
ZnVuY3Rpb24oZSkgeworICAgIHRlc3RSZXN1bHQgPSBlLmRhdGE7CisgICAgaWYgKHRlc3RSZXN1
bHQgPj0gMTAwMDApIHsKKyAgICAgIHdvcmtlci50ZXJtaW5hdGUoKTsKKyAgICAgIHdvcmtlci5v
bm1lc3NhZ2UgPSB0aGlzLnVucmVhY2hlZF9mdW5jKCdVbmV4cGVjdGVkIG1lc3NhZ2UgZXZlbnQn
KTsKKyAgICAgIHNldFRpbWVvdXQodGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbigpIHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyh0ZXN0UmVzdWx0LCAxMDAwMCk7CisgICAgICB9KSwgMTAwKTsK
KyAgICB9CisgIH0pOworICB3b3JrZXIucG9zdE1lc3NhZ2UoInBpbmciKTsKK30pOworPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJs
L2FscGhhL2ltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxMTE4ZjUzYWQ1
OTlkYWZhZTVkZWUxOTgyN2EyOTRjYjZmYzczNTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS9pbXBvcnRTY3JpcHRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBCYXNl
IFVSTCBpbiB3b3JrZXJzOiBpbXBvcnRTY3JpcHRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJn
YW1tYSIgYnV0IGdvdCAiYmV0YSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYWxwaGEvaW1wb3J0U2NyaXB0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmYmQzNWI0
NDk3NTlmMTJjMjc0MTRiYjVmOWYyZWI1OWZjNjg3MjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS9pbXBvcnRTY3JpcHRzLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkJhc2UgVVJMIGluIHdvcmtlcnM6IGltcG9y
dFNjcmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCIuLi9iZXRhL2ltcG9ydFNjcmlwdHMucHkiKTsKKyAgd29ya2VyLm9u
bWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9l
cXVhbHMoZS5kYXRhLCAiZ2FtbWEiKTsKKyAgfSk7CisgIHdvcmtlci5vbmVycm9yID0gdGhpcy51
bnJlYWNoZWRfZnVuYygiR290IGVycm9yIGV2ZW50Iik7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2Jhc2V1cmwvYWxwaGEvc2hhcmVkd29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3NoYXJl
ZHdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTczMTU4MzNmOTRhM2E1MjhjYzVkOTE4
MTRjZGJkN2MzNjUzYzVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3NoYXJlZHdvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCitGQUlM
IEJhc2UgVVJMIGluIHdvcmtlcnM6IG5ldyBTaGFyZWRXb3JrZXIoKSBhc3NlcnRfdW5yZWFjaGVk
OiBHb3QgZXJyb3IgZXZlbnQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2FscGhhL3NoYXJlZHdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxwaGEvc2hhcmVkd29ya2VyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjVkMjU4MjM2NmViMWI3MzllZGMyZmI1NDBmNDFhOGIwYzEyNTQ4NgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3NoYXJlZHdvcmtlci5odG1sCkBAIC0wLDAgKzEsMTQg
QEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5CYXNlIFVS
TCBpbiB3b3JrZXJzOiBuZXcgU2hhcmVkV29ya2VyKCk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCIuLi9iZXRhL3NoYXJlZHdv
cmtlci5weSIpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICJnYW1tYSIpOworICB9KTsKKyAg
d29ya2VyLm9uZXJyb3IgPSB0aGlzLnVucmVhY2hlZF9mdW5jKCJHb3QgZXJyb3IgZXZlbnQiKTsK
K30pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJs
L2FscGhhL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNjAzNDZkZWUzMTdjYjQxNDhlYTdk
ODkyNTRjYjBmNDBmZWUwZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS93M2MtaW1wb3J0
LmxvZwpAQCAtMCwwICsxLDIwIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBp
bXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVz
dHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9u
IHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBoYS9pbXBvcnRTY3JpcHRzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS9zaGFyZWR3b3JrZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3dvcmtlci5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1
cmwvYWxwaGEveGhyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3dvcmtlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9hbHBoYS93b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODIzZGJhYmRi
ZmEzODAwOTMwNjVmYjcyZjg3NThmMzA0NzAwZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9hbHBo
YS93b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDE6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIKKworRkFJ
TCBCYXNlIFVSTCBpbiB3b3JrZXJzOiBuZXcgV29ya2VyKCkgYXNzZXJ0X3VucmVhY2hlZDogR290
IGVycm9yIGV2ZW50IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9h
bHBoYS93b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3dvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NDQy
NWVkMzQwNzczNWM4MDcyNzUzZDEyOTlmZjJjMzhkYTFhNDcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9hbHBoYS93b3JrZXIuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+QmFzZSBVUkwgaW4gd29ya2VyczogbmV3IFdvcmtl
cigpPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0g
bmV3IFdvcmtlcigiLi4vYmV0YS93b3JrZXIucHkiKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRo
aXMuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRh
LCAiZ2FtbWEiKTsKKyAgfSk7CisgIHdvcmtlci5vbmVycm9yID0gdGhpcy51bnJlYWNoZWRfZnVu
YygiR290IGVycm9yIGV2ZW50Iik7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYWxw
aGEveGhyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmZkNzc5ODY4Yjk1ZDc5N2MyMjlhYTZhNzNiZjYwYjE4YTBhODYyYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2FscGhhL3hoci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwg
QmFzZSBVUkwgaW4gd29ya2VyczogWEhSIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJnYW1tYVxu
IiBidXQgZ290ICJiZXRhXG4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YWxwaGEveGhyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWExMjE5YjQ1NDk1ZmU1ZjU3ODhhM2RmMmEyNzI1
M2E5YWY0MjBjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2FscGhhL3hoci5odG1sCkBAIC0wLDAg
KzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5C
YXNlIFVSTCBpbiB3b3JrZXJzOiBYSFI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCIuLi9iZXRhL3hoci5weSIpOworICB3b3Jr
ZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEsICJnYW1tYVxuIik7CisgIH0pOworICB3b3JrZXIub25lcnJvciA9
IHRoaXMudW5yZWFjaGVkX2Z1bmMoIkdvdCBlcnJvciBldmVudCIpOworfSk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9iYXNldXJsL2JldGEvaW1wb3J0U2NyaXB0cy5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvaW1wb3J0U2Ny
aXB0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NWRhYzE5NGY3NmRmYTZhZWZiOTkzMDlkNTliNzA5NDEzYzM5
Mjg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYmV0YS9pbXBvcnRTY3JpcHRzLnB5CkBAIC0wLDAg
KzEsMyBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJldHVybiAoMzAyLCAi
TW92ZWQiKSwgWygiTG9jYXRpb24iLCAiLi4vZ2FtbWEvaW1wb3J0U2NyaXB0cy5qcyIpXSwgInBv
c3RNZXNzYWdlKCdleGVjdXRlZCByZWRpcmVjdGluZyBzY3JpcHQnKTsiCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNl
dXJsL2JldGEvc2NyaXB0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYmV0YS9zY3JpcHQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZlM2Rm
YzEzYjE2OWQ0ZDUwMTIzZTA4MWI4ZmYzOGNlMWI0YjNhMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJs
L2JldGEvc2NyaXB0LmpzCkBAIC0wLDAgKzEgQEAKK3Bvc3RNZXNzYWdlKCdiZXRhJyk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvYmFzZXVybC9iZXRhL3NoYXJlZHdvcmtlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvc2hhcmVkd29ya2VyLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg3NWNjOWEwNDdjZWY4NjdmNTg0YTZjZWQ1MGZkZjU3MzMxN2RiNmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3NoYXJlZHdvcmtlci5weQpAQCAtMCwwICsxLDMgQEAK
K2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICByZXR1cm4gKDMwMiwgIk1vdmVkIiks
IFsoIkxvY2F0aW9uIiwgIi4uL2dhbW1hL3NoYXJlZHdvcmtlci5qcyIpXSwgInBvc3RNZXNzYWdl
KCdleGVjdXRlZCByZWRpcmVjdGluZyBzY3JpcHQnKTsiCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEv
c3Vic2hhcmVkd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYmV0YS9zdWJzaGFyZWR3b3JrZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGU2YThjYWNhZjgwZjYwZTQwZDlkZjNjNzJkMjM3NmE3YmFiYzM2MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9iYXNldXJsL2JldGEvc3Vic2hhcmVkd29ya2VyLmpzCkBAIC0wLDAgKzEsMyBAQAorb25jb25u
ZWN0ID0gZnVuY3Rpb24oZSkgeworICBlLnNvdXJjZS5wb3N0TWVzc2FnZSgnYmV0YScpOworfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2Jhc2V1cmwvYmV0YS9zdWJ3b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3N1Yndvcmtlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45OTdjZWNkNmNlZDIyMmJiZDFkZjhmZDRhZWY1YjAzNTM2NzUxZWI1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvYmV0YS9zdWJ3b3JrZXIuanMKQEAgLTAsMCArMSBAQAorcG9zdE1l
c3NhZ2UoImJldGEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvdGVzdC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3Rl
c3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY1YjJkZjg3ZjdkZjNhZWVkZWYwNGJlOTY3MDNlNTVhYzE5YzJj
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3Rlc3QudHh0CkBAIC0wLDAgKzEgQEAKK2Jl
dGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2JldGEvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM1ZTA5ZDNhOWIyOGJjNzhkZTQyNmI4OGMzYTZlZWIwNjYxZDNk
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MjQgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2JldGEvaW1wb3J0U2NyaXB0cy5weQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvc2NyaXB0
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2Jhc2V1cmwvYmV0YS9zaGFyZWR3b3JrZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9iZXRhL3N1YnNoYXJlZHdvcmtlci5q
cworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2JldGEvc3Vid29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYmV0YS90ZXN0LnR4dAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvd29y
a2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvYmV0YS94aHIucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvd29ya2VyLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1
cmwvYmV0YS93b3JrZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRiYWY1MjAzZTg1NmU3ZGVlNGExYjdlYTYw
NGQ3NDNhN2VmYjc3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2JldGEvd29ya2VyLnB5CkBAIC0w
LDAgKzEsMyBAQAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJldHVybiAoMzAy
LCAiTW92ZWQiKSwgWygiTG9jYXRpb24iLCAiLi4vZ2FtbWEvd29ya2VyLmpzIildLCAicG9zdE1l
c3NhZ2UoJ2V4ZWN1dGVkIHJlZGlyZWN0aW5nIHNjcmlwdCcpOyIKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwv
YmV0YS94aHIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvYmFzZXVybC9iZXRhL3hoci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTNmMDRlZDBlMjFhNjJj
NjBkODY1ODlmY2JlNzUzZjYyNzlkMGRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvYmV0YS94aHIu
cHkKQEAgLTAsMCArMSwzIEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgcmV0
dXJuICgzMDIsICJNb3ZlZCIpLCBbKCJMb2NhdGlvbiIsICIuLi9nYW1tYS94aHIuanMiKV0sICJw
b3N0TWVzc2FnZSgnZXhlY3V0ZWQgcmVkaXJlY3Rpbmcgc2NyaXB0Jyk7IgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFz
ZXVybC9nYW1tYS9pbXBvcnRTY3JpcHRzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvaW1wb3J0U2NyaXB0cy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zZjc2ODU2NDVjYmI5N2UzNjEwOTRlNjFiNWQ4YmI3YjEwMjFiYzVhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvaW1wb3J0U2NyaXB0cy5qcwpAQCAtMCwwICsxIEBACitp
bXBvcnRTY3JpcHRzKCJzY3JpcHQuanMiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2dhbW1hL3NjcmlwdC5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9i
YXNldXJsL2dhbW1hL3NjcmlwdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGRmMjI0MGNjM2FhMTk3NGM4OTZm
MTY5NzE0ZmY2NzU4M2M5N2E4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvc2NyaXB0Lmpz
CkBAIC0wLDAgKzEgQEAKK3Bvc3RNZXNzYWdlKCdnYW1tYScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2Ft
bWEvc2hhcmVkd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvc2hhcmVkd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQwNzE4Y2ZkZWZjMGZiY2YwNjgxMWUyNGRjODgxMzVmMGY1N2E5OTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
YmFzZXVybC9nYW1tYS9zaGFyZWR3b3JrZXIuanMKQEAgLTAsMCArMSw0IEBACit2YXIgd29ya2Vy
ID0gbmV3IFNoYXJlZFdvcmtlcigic3Vic2hhcmVkd29ya2VyLmpzIik7Cit3b3JrZXIucG9ydC5v
bm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgIHBvc3RNZXNzYWdlKGUuZGF0YSk7Cit9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvYmFzZXVybC9nYW1tYS9zdWJzaGFyZWR3b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9nYW1tYS9zdWJzaGFyZWR3
b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTIzNjAyZmY5YzU2NTRiNzI2ZmM4OGU2YWEwMTY5NDE2ZWUz
MWQxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2dhbW1hL3N1YnNoYXJlZHdvcmtlci5qcwpAQCAt
MCwwICsxLDMgQEAKK29uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgZS5zb3VyY2UucG9zdE1l
c3NhZ2UoJ2dhbW1hJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9nYW1tYS9zdWJ3b3JrZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVy
bC9nYW1tYS9zdWJ3b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ0MDczNThlNjEyNTZlNGM1ZTc2MWM5
ZmEzMzQ1MjhjZWQyZjJiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2dhbW1hL3N1Yndvcmtlci5q
cwpAQCAtMCwwICsxIEBACitwb3N0TWVzc2FnZSgiZ2FtbWEiKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2dh
bW1hL3Rlc3QudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvdGVzdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYxN2Y2Y2M4N2U0
ZDVlNGFkZWMwMDE4Y2JiNzNkM2UyYmQwMDhjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2dhbW1h
L3Rlc3QudHh0CkBAIC0wLDAgKzEgQEAKK2dhbW1hCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9nYW1tYS93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9iYXNldXJsL2dhbW1hL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlYzg1YjIz
ZmMwNjM1MzIwMWU3NjA4NGYyNDE4MmQ0OWQ2NTMxMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9n
YW1tYS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI0IEBACitUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9nYW1tYS9p
bXBvcnRTY3JpcHRzLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvc2NyaXB0LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvc2hhcmVkd29y
a2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2Jhc2V1cmwvZ2FtbWEvc3Vic2hhcmVkd29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvc3Vid29ya2Vy
LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2Jhc2V1cmwvZ2FtbWEvdGVzdC50eHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9nYW1tYS93b3JrZXIuanMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvYmFzZXVybC9nYW1tYS94
aHIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9iYXNldXJsL2dhbW1hL3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJsL2dhbW1hL3dvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44Y2ZiY2FlZjMxMjlhYWFhYTg1NmU5NzY3ZjY1YWNiMTc5OWI1YWExCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEvd29ya2VyLmpzCkBAIC0wLDAgKzEsNCBAQAordmFy
IHdvcmtlciA9IG5ldyBXb3JrZXIoInN1Yndvcmtlci5qcyIpOword29ya2VyLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKGUpIHsKKyAgcG9zdE1lc3NhZ2UoZS5kYXRhKTsKK30KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9iYXNldXJs
L2dhbW1hL3hoci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9iYXNldXJsL2dhbW1hL3hoci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGYzMzE1NjVhYTZi
OTViOGI4OWUyNzBkZWY5YmE5YWY0YWUxZGQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Jhc2V1cmwvZ2FtbWEv
eGhyLmpzCkBAIC0wLDAgKzEsNCBAQAordmFyIHggPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK3gu
b3BlbigiR0VUIiwgInRlc3QudHh0IiwgZmFsc2UpOworeC5zZW5kKCk7Citwb3N0TWVzc2FnZSh4
LnJlc3BvbnNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyLzEgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3Jz
L1NoYXJlZFdvcmtlci8xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzZjY3YmVlYTkwYjA2MWE4MjhjNDMxM2RiOTcx
MGZhNDEyNjMxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci8xCkBA
IC0wLDAgKzEsMyBAQAorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICBlLnBvcnRzWzBdLnBv
c3RNZXNzYWdlKFsnMScsIHNlbGYubmFtZV0pOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL1VSTE1pc21hdGNoRXJyb3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvVVJMTWlzbWF0Y2hFcnJvci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWUzM2RlMzJiMDBmZTJlZjlhNmRkZTBhYTMyOTVlMDFmMDJhNmE0
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL1VSTE1pc21hdGNoRXJy
b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKK0ZB
SUwgV2ViIFdvcmtlcnM6IFNoYXJlZFdvcmtlciAtIHNhbWUgbmFtZSwgZGlmZmVyZW50IFVSTCBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL1VSTE1pc21hdGNoRXJyb3IuaHRtIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9y
cy9TaGFyZWRXb3JrZXIvVVJMTWlzbWF0Y2hFcnJvci5odG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU4ZWVkMDVi
ZjhjY2JiMjFiYTlmNzZjZTkxYzk5OGNlYzBmNmIyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvU2hhcmVkV29ya2VyL1VSTE1pc21hdGNoRXJyb3IuaHRtCkBAIC0wLDAgKzEsMzAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYiBXb3JrZXJz
OiBTaGFyZWRXb3JrZXIgLSBzYW1lIG5hbWUsIGRpZmZlcmVudCBVUkw8L3RpdGxlPgorPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20iPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgY291bnRlciA9IDAKK2Z1bmN0aW9uIG1heWJl
RG9uZSgpIHsKKyAgaWYoY291bnRlcikgeworICAgIGRvbmUoKQorICB9CisgIGNvdW50ZXIrKwor
fQorCit2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcignc2hhcmVkLXdvcmtlci5qcycsICdu
YW1lJyk7Cit3b3JrZXIucG9ydC5wb3N0TWVzc2FnZSgidHJpZ2dlciBhIHJlc3BvbnNlIikKK3dv
cmtlci5wb3J0Lm9ubWVzc2FnZSA9IChlKSA9PiB7CisgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAi
cGluZyIpCisgIG1heWJlRG9uZSgpCit9CisKKy8vIFRoaXMgdXNlZCB0byB0aHJvdyAiVVJMTWlz
bWF0Y2hFcnJvciIsIGJ1dCB0aGUgc3RhbmRhcmQgY2hhbmdlZAordmFyIHdvcmtlcjIgPSBuZXcg
U2hhcmVkV29ya2VyKCcxJywgJ25hbWUnKTsKK3dvcmtlcjIucG9ydC5vbm1lc3NhZ2UgPSAoZSkg
PT4geworICBhc3NlcnRfYXJyYXlfZXF1YWxzKGUuZGF0YSwgWyIxIiwgIm5hbWUiXSkKKyAgbWF5
YmVEb25lKCkKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIv
Y29ubmVjdC1ldmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9jb25uZWN0
LWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTNmOTY1ZjUzYzZmNmIwMzdkODM4YjY5
NjNmMzQ1ZDMxNDhmNGQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIv
Y29ubmVjdC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgY29ubmVj
dCBldmVudCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0
cnVjdG9ycy9TaGFyZWRXb3JrZXIvY29ubmVjdC1ldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvY29ubmVjdC1ldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5NzE5ZDlkZWE2NTFmNzU4NThl
NjUyMzg5YWU5MDVhNGQxYjJhMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdv
cmtlci9jb25uZWN0LWV2ZW50Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPCEtLQorb25jb25uZWN0
ID0gZnVuY3Rpb24oZSkgeworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKFtlLmRhdGEgPT09ICcn
LCBlIGluc3RhbmNlb2YgTWVzc2FnZUV2ZW50LCBlLnBvcnRzLmxlbmd0aCA9PSAxXSk7Cit9Owor
LyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+Y29ubmVjdCBldmVudDwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyhhc3luY190ZXN0KCkpLnN0ZXAoZnVuY3Rpb24oKSB7
CisgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCcjJyk7CisgIHdvcmtlci5wb3J0LmFk
ZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Cisg
ICAgYXNzZXJ0X3RydWUoZS5kYXRhWzBdLCAiZS5kYXRhID09PSAnJyIpOworICAgIGFzc2VydF90
cnVlKGUuZGF0YVsxXSwgImUgaW5zdGFuY2VvZiBNZXNzYWdlRXZlbnQiKTsKKyAgICBhc3NlcnRf
dHJ1ZShlLmRhdGFbMl0sICJlLnBvcnRzLmxlbmd0aCA9PSAxIik7CisgICAgdGhpcy5kb25lKCk7
CisgIH0pLCBmYWxzZSk7CisgIHdvcmtlci5wb3J0LnN0YXJ0KCk7Cit9KTsKKzwvc2NyaXB0Pgor
PCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1u
YW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2R1bW15LW5hbWUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI0ZGJiMjVlYzE3MTQ2NGFiMWJhOTg3YWI4NmI0YmUyMzZjZWI1
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1uYW1lLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBjcmVhdGluZyBhIGR1bW15IHNoYXJl
ZCB3b3JrZXIgd2l0aCBuYW1lICJmb28iIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1uYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3Ry
dWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1uYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUyNzMyOTIz
ZWMwNDdkMjQwZmY0ZTcwMzUyNGI0ZjQxY2Y0MzQzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvU2hhcmVkV29ya2VyL2R1bW15LW5hbWUuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IS0tCisv
KgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5jcmVhdGluZyBhIGR1bW15IHNoYXJlZCB3
b3JrZXIgd2l0aCBuYW1lICJmb28iPC90aXRsZT4KKzxsaW5rIHJlbD1oZWxwIGhyZWY9Imh0dHA6
Ly93d3cud2hhdHdnLm9yZy9odG1sLyNkb20tc2hhcmVkd29ya2VyIj4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRX
b3JrZXIoJyMnLCAnZm9vJyk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1zaGFyZWQtd29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2R1bW15LXNoYXJlZC13b3JrZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc5ZTZkZWEzYjg5YjEyYzIyODcyNWQ4MTdhMDFmNmNiYzc1NGMwNzkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1zaGFyZWQtd29y
a2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBjcmVhdGluZyBhIGR1bW15
IHNoYXJlZCB3b3JrZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2R1bW15LXNoYXJlZC13b3JrZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvU2hhcmVkV29ya2VyL2R1bW15LXNoYXJlZC13b3JrZXIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
OWFmZjljNWI0Yzg4NzM2YzczZTRhOWE0NDRhYWZjM2UwODg3NzQyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Nv
bnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvZHVtbXktc2hhcmVkLXdvcmtlci5odG1sCkBAIC0wLDAg
KzEsMTcgQEAKKzwhLS0KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmNyZWF0aW5n
IGEgZHVtbXkgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRw
Oi8vd3d3LndoYXR3Zy5vcmcvaHRtbC8jZG9tLXNoYXJlZHdvcmtlciI+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVk
V29ya2VyKCcjJyk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29u
c3RydWN0b3JzL1NoYXJlZFdvcmtlci9lbXB0eS1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
U2hhcmVkV29ya2VyL2VtcHR5LW5hbWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5YWEyNzll
MmNmMDlmOGI0NDMxYjFhOGFhYmRmMTk0ODYxNTZhOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1NoYXJlZFdvcmtlci9lbXB0eS1uYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworRkFJTCBjcmVhdGluZyBhIGR1bW15IHNoYXJlZCB3b3JrZXIgd2l0aCBleHBsaWNpdCBuYW1l
ICIiIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1NoYXJlZFdvcmtlci9lbXB0eS1uYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9l
bXB0eS1uYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVmZjZkMWFkMjlkMjM2ZmI2ZmZkZWUzMzA0Njkx
NjYyZjJlOGVhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2VtcHR5
LW5hbWUuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IS0tCisvKgorLS0+Cis8IWRvY3R5cGUgaHRt
bD4KKzx0aXRsZT5jcmVhdGluZyBhIGR1bW15IHNoYXJlZCB3b3JrZXIgd2l0aCBleHBsaWNpdCBu
YW1lICIiPC90aXRsZT4KKzxsaW5rIHJlbD1oZWxwIGhyZWY9Imh0dHA6Ly93d3cud2hhdHdnLm9y
Zy9odG1sLyNkb20tc2hhcmVkd29ya2VyIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgordGVz
dChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJyMnLCAnJyk7
Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1No
YXJlZFdvcmtlci9nbG9iYWwtbWVtYmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdv
cmtlci9nbG9iYWwtbWVtYmVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmM2MmRjODYxNDA0
ZTE3ZDczMTE5NGRiNzcxNWRkZDQ1ZTUxMTc2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
U2hhcmVkV29ya2VyL2dsb2JhbC1tZW1iZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworRkFJTCBtZW1iZXJzIG9mIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlIENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9n
bG9iYWwtbWVtYmVycy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvZ2xvYmFsLW1lbWJlcnMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMzk2ZGM3YjBiYTFjNWU1MGVkYzE0ZmFlZDE5ODkyMDZhYTE5NGM4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvZ2xvYmFsLW1lbWJlcnMu
aHRtbApAQCAtMCwwICsxLDM0IEBACis8IS0tCit2YXIgZXhwZWN0ZWQgPSAnc2VsZiBsb2NhdGlv
biBjbG9zZSBvbmVycm9yIGltcG9ydFNjcmlwdHMgbmF2aWdhdG9yIGFkZEV2ZW50TGlzdGVuZXIg
cmVtb3ZlRXZlbnRMaXN0ZW5lciBkaXNwYXRjaEV2ZW50IG5hbWUgb25jb25uZWN0IHNldFRpbWVv
dXQgY2xlYXJUaW1lb3V0IHNldEludGVydmFsIGNsZWFySW50ZXJ2YWwnLnNwbGl0KCcgJyk7Cit2
YXIgbG9nID0gJyc7Citmb3IgKHZhciBpID0gMDsgaSA8IGV4cGVjdGVkLmxlbmd0aDsgKytpKSB7
CisgIGlmICghKGV4cGVjdGVkW2ldIGluIHNlbGYpKQorICAgIGxvZyArPSBleHBlY3RlZFtpXSAr
ICcgZGlkIG5vdCBleGlzdFxuJzsKK30KK29uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgZS5w
b3J0c1swXS5wb3N0TWVzc2FnZShsb2cpOworfTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPm1lbWJlcnMgb2YgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CisoYXN5bmNfdGVzdCgpKS5zdGVwKGZ1bmN0aW9uKCkgeworICB2
YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcignIycpOworICB3b3JrZXIucG9ydC5hZGRFdmVu
dExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFz
c2VydF9lcXVhbHMoZS5kYXRhLCAnJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pLCBmYWxzZSk7
CisgIHdvcmtlci5wb3J0LnN0YXJ0KCk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+
CisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2ludGVyZmFjZS1vYmpl
Y3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2ludGVyZmFjZS1vYmplY3Rz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGNhYTM4MzhlNzI5MzVmN2FlNjg5YWU1NGE1ODdm
MjRmZDA5OWU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvaW50ZXJm
YWNlLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIGV4cGVjdGVk
IGludGVyZmFjZSBvYmplY3RzL2NvbnN0cnVjdG9ycyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvaW50ZXJmYWNlLW9i
amVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2ludGVyZmFjZS1vYmplY3RzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTkxYjJkYzZhOGM2MWYwZjA1MGVjYWZkY2E3YzI0MTExMTZhYjg5ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL2ludGVyZmFjZS1vYmplY3RzLmh0
bWwKQEAgLTAsMCArMSw0MSBAQAorPCEtLQordmFyIHBydDsKK2Z1bmN0aW9uIGhhbmRsZUNhbGwo
ZSkgeworICB2YXIgbG9nID0gW107CisgIGZvciAodmFyIGkgPSAwOyBpIDwgZS5kYXRhLmxlbmd0
aDsgKytpKSB7CisgICAgaWYgKCEoZS5kYXRhW2ldIGluIHNlbGYpKQorICAgICAgbG9nLnB1c2go
ZS5kYXRhW2ldKTsKKyAgfQorICBwcnQucG9zdE1lc3NhZ2UoJ1RoZXNlIHdlcmUgbWlzc2luZzog
Jytsb2cuam9pbignLCAnKSk7Cit9CitvbmNvbm5lY3QgPSBmdW5jdGlvbihlKSB7CisgIHBydCA9
IGUucG9ydHNbMF07CisgIHBydC5vbm1lc3NhZ2UgPSBoYW5kbGVDYWxsOworfTsKKy8qCistLT4K
KzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmV4cGVjdGVkIGludGVyZmFjZSBvYmplY3RzL2NvbnN0
cnVjdG9yczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyhhc3luY190ZXN0KCkp
LnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZhciBleHBlY3RlZCA9ICdYTUxIdHRwUmVxdWVzdCBXZWJT
b2NrZXQgRXZlbnRTb3VyY2UgTWVzc2FnZUNoYW5uZWwgV29ya2VyIFNoYXJlZFdvcmtlciBBcHBs
aWNhdGlvbkNhY2hlJy5zcGxpdCgnICcpOworICB2YXIgc3VwcG9ydGVkID0gW107CisgIGZvciAo
dmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWQubGVuZ3RoOyArK2kpIHsKKyAgaWYgKGV4cGVjdGVkW2ld
IGluIHdpbmRvdykKKyAgICAgc3VwcG9ydGVkLnB1c2goZXhwZWN0ZWRbaV0pOworICB9CisgIHZh
ciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCcjJyk7CisgIHdvcmtlci5wb3J0LnN0YXJ0KCk7
CisgIHdvcmtlci5wb3J0LnBvc3RNZXNzYWdlKHN1cHBvcnRlZCk7CisgIHdvcmtlci5wb3J0LmFk
ZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICcnKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSksIGZh
bHNlKTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvU2hhcmVkV29ya2VyL25hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIv
bmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY4OTlmM2NkOTRjMDhlYWEzOTUxYzMzZjM2
NThmY2FiY2YyZWE5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL25h
bWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIHNlbGYubmFtZSBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvbmFtZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyM2UxNmM3YzFmOGFlNjJlZDU0ZGYwOGZkOTg4ZGQ1NTQ4NjY5MDIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9uYW1lLmh0bWwKQEAgLTAsMCArMSwyNCBAQAor
PCEtLQorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdl
KHNlbGYubmFtZSk7Cit9CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zZWxmLm5h
bWU8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisoYXN5bmNfdGVzdCgpKS5zdGVw
KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcignIycsICdoZWxs
bycpOworICB3b3JrZXIucG9ydC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5zdGVw
X2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnaGVsbG8nKTsK
KyAgICB0aGlzLmRvbmUoKTsKKyAgfSksIGZhbHNlKTsKKyAgd29ya2VyLnBvcnQuc3RhcnQoKTsK
K30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9uby1hcmd1bWVudHMtY3Rvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9uby1hcmd1bWVudHMtY3Rvci1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdhYWRkZTBhN2JmMzQ1YzlkODg5MWU5MTk3ZDJlMDk5NTlm
YjcwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL25vLWFyZ3VtZW50
cy1jdG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworRkFJTCBubyBhcmd1bWVudHMg
YXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAgICB2YXIgd29ya2VyID0g
bmV3IFNoYXJlZFdvcmtlcigpOworICB9IiB0aHJldyBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIiICgiUmVmZXJlbmNlRXJyb3IiKSBleHBl
Y3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1NoYXJlZFdvcmtlci9uby1hcmd1bWVudHMtY3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvbm8tYXJndW1lbnRzLWN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWVlODcwZGIwZTE0YzBj
Njg1MzNmOThlZTYzYjdjM2E1ODBlZWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFy
ZWRXb3JrZXIvbm8tYXJndW1lbnRzLWN0b3IuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IS0tCisv
KgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5ubyBhcmd1bWVudHM8L3RpdGxlPgorPGxp
bmsgcmVsPWhlbHAgaHJlZj0iaHR0cDovL3d3dy53aGF0d2cub3JnL2h0bWwvI3NoYXJlZHdvcmtl
ciI+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRwOi8vZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9X
ZWJJREwvI2VzLWludGVyZmFjZS1jYWxsIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgordGVz
dChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVycm9yKCksIGZ1bmN0aW9u
KCkgeworICAgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCk7CisgIH0pOworfSk7Cis8
L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3Jr
ZXIvbnVsbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL251bGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWMzODUwNWI2
Yzg2NTk0YWQ4MmZhODdjNzAxYmE4ZTYxOTI5OTM0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvU2hhcmVkV29ya2VyL251bGwKQEAgLTAsMCArMSwzIEBACitvbmNvbm5lY3QgPSBmdW5jdGlv
bihlKSB7CisgIGUucG9ydHNbMF0ucG9zdE1lc3NhZ2UoWydudWxsJywgc2VsZi5uYW1lXSk7Cit9
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvbnVsbC1hcmd1bWVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIv
bnVsbC1hcmd1bWVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3NDkzNjYxOGJkZTVkODkz
MzUyYjEyN2RhODQ4NjY5MDE2M2ZkNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJl
ZFdvcmtlci9udWxsLWFyZ3VtZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZB
SUwgbnVsbCBhcyBhcmd1bWVudHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL251bGwtYXJndW1lbnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3Ry
dWN0b3JzL1NoYXJlZFdvcmtlci9udWxsLWFyZ3VtZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1MTZl
ZWQyMTU0NmMyN2JjMzY1MzNhNWRjYWE4YmJiNWFmODkzZWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3Ry
dWN0b3JzL1NoYXJlZFdvcmtlci9udWxsLWFyZ3VtZW50cy5odG1sCkBAIC0wLDAgKzEsMjUgQEAK
KzwhLS0KK29uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgZS5wb3J0c1swXS5wb3N0TWVzc2Fn
ZShbJ0ZBSUwnLCBzZWxmLm5hbWVdKTsKK30KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRp
dGxlPm51bGwgYXMgYXJndW1lbnRzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0Pgor
KGFzeW5jX3Rlc3QoKSkuc3RlcChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBTaGFy
ZWRXb3JrZXIobnVsbCwgbnVsbCk7CisgIHdvcmtlci5wb3J0LmFkZEV2ZW50TGlzdGVuZXIoJ21l
c3NhZ2UnLCB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGFbMF0sICdudWxsJywgJ2ZpcnN0IGFyZycpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRh
WzFdLCAnJywgJ3NlY29uZCBhcmcnKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSksIGZhbHNlKTsK
KyAgd29ya2VyLnBvcnQuc3RhcnQoKTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL251bWJlci1hcmd1bWVudHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvbnVtYmVyLWFyZ3VtZW50cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDk4YzhmNGQ4MDM5NTkyY2U1NzdjNjliMmE1NjA3ODkwYTMwMDAxOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL251bWJlci1hcmd1bWVudHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIDEgYXMgYXJndW1lbnRzIENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJl
ZFdvcmtlci9udW1iZXItYXJndW1lbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9udW1i
ZXItYXJndW1lbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE0Y2ZiMmVhY2JhZGE4ZDAyZDc3MjliNWI5
MGIxNDlhMmY5NGZhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL251
bWJlci1hcmd1bWVudHMuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IS0tCitvbmNvbm5lY3QgPSBm
dW5jdGlvbihlKSB7CisgIGUucG9ydHNbMF0ucG9zdE1lc3NhZ2UoWydGQUlMJywgc2VsZi5uYW1l
XSk7Cit9CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT4xIGFzIGFyZ3VtZW50czwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyhhc3luY190ZXN0KCkpLnN0ZXAoZnVu
Y3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKDEsIDEpOworICB3b3Jr
ZXIucG9ydC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5zdGVwX2Z1bmMoZnVuY3Rp
b24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzBdLCAnMScsICdmaXJzdCBhcmcnKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVsxXSwgJzEnLCAnc2Vjb25kIGFyZycpOworICAgIHRo
aXMuZG9uZSgpOworICB9KSwgZmFsc2UpOworICB3b3JrZXIucG9ydC5zdGFydCgpOworfSk7Cis8
L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQtb25tZXNzYWdlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9j
b25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQtb25tZXNzYWdlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZThmZDNkMDY1ZTJlYzU0ZjZjMmI0NTYzOTI4ZGYxNjE4OTRiODA1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvcG9ydC1vbm1lc3NhZ2UtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvcG9ydC1vbm1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQtb25t
ZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJmNGRmMGJmZGRkNmJlMjhhODc3MDgzNGE5MTY2ZTcy
Njk5OTQ1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQtb25t
ZXNzYWdlLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCEtLQorb25jb25uZWN0ID0gZnVuY3Rpb24o
ZSkgeworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKHRydWUpOworfQorLyoKKy0tPgorPCFkb2N0
eXBlIGh0bWw+Cis8dGl0bGU+d29ya2VyLnBvcnQub25tZXNzYWdlPC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+
PC9kaXY+Cis8c2NyaXB0PgorKGFzeW5jX3Rlc3QoKSkuc3RlcChmdW5jdGlvbigpIHsKKyAgdmFy
IHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJyMnLCAnJyk7CisgIHdvcmtlci5wb3J0Lm9ubWVz
c2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShlLmRh
dGEpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLwor
Ly8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQtcHJvcGVydGllcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9wb3J0LXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1ODcxMmZiZmYwOWYxNjk1NGIwNjMxY2U1N2Y0YThiNTg0MWI4
ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9wb3J0LXByb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIHdvcmtlci5wb3J0IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJl
ZFdvcmtlci9wb3J0LXByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQt
cHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4YTY3NmRkMjQ4NzVlMmJiYTk2YTY4NjU3ODJh
ZWE5ZDBlZjZiNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9wb3J0
LXByb3BlcnRpZXMuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IS0tCisvKgorLS0+Cis8IWRvY3R5
cGUgaHRtbD4KKzx0aXRsZT53b3JrZXIucG9ydDwvdGl0bGU+Cis8bGluayByZWw9aGVscCBocmVm
PSJodHRwOi8vd3d3LndoYXR3Zy5vcmcvaHRtbC8jc2hhcmVkd29ya2VyIj4KKzxsaW5rIHJlbD1o
ZWxwIGhyZWY9Imh0dHA6Ly93d3cud2hhdHdnLm9yZy9odG1sLyNtZXNzYWdlcG9ydCI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgU2hhcmVkV29ya2VyKCcjJywgJycpOworICBhc3NlcnRfdHJ1ZSgncG9ydCcgaW4gd29ya2Vy
LCAicG9ydCIpOworICBhc3NlcnRfdHJ1ZSgncG9zdE1lc3NhZ2UnIGluIHdvcmtlci5wb3J0LCAi
cG9zdE1lc3NhZ2UiKTsKKyAgYXNzZXJ0X3RydWUoJ3N0YXJ0JyBpbiB3b3JrZXIucG9ydCwgInN0
YXJ0Iik7CisgIGFzc2VydF90cnVlKCdjbG9zZScgaW4gd29ya2VyLnBvcnQsICJjbG9zZSIpOwor
ICBhc3NlcnRfdHJ1ZSgnb25tZXNzYWdlJyBpbiB3b3JrZXIucG9ydCwgIm9ubWVzc2FnZSIpOwor
ICBhc3NlcnRfdHJ1ZSgnYWRkRXZlbnRMaXN0ZW5lcicgaW4gd29ya2VyLnBvcnQsICJhZGRFdmVu
dExpc3RlbmVyIik7CisgIGFzc2VydF90cnVlKCdyZW1vdmVFdmVudExpc3RlbmVyJyBpbiB3b3Jr
ZXIucG9ydCwgInJlbW92ZUV2ZW50TGlzdGVuZXIiKTsKKyAgYXNzZXJ0X3RydWUoJ2Rpc3BhdGNo
RXZlbnQnIGluIHdvcmtlci5wb3J0LCAiZGlzcGF0Y2hFdmVudCIpOworfSk7Cis8L3NjcmlwdD4K
KzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvcG9ydC1y
ZWFkb25seS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9wb3J0LXJlYWRvbmx5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjhmNWZkOWE3OTIwZDA2OTZhNDUxNGU1MTU3ZDg3
MGE0YjUyYzkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvcG9ydC1y
ZWFkb25seS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgc2V0dGluZyB3b3Jr
ZXIucG9ydCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0
cnVjdG9ycy9TaGFyZWRXb3JrZXIvcG9ydC1yZWFkb25seS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvcG9ydC1yZWFkb25seS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwODdhYjBmNjIzZGU5NzQ4NDc1
NTZjMGEyMjRlZTE1OTMxMjg1NmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdv
cmtlci9wb3J0LXJlYWRvbmx5Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCEtLQorLyoKKy0tPgor
PCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+c2V0dGluZyB3b3JrZXIucG9ydDwvdGl0bGU+Cis8bGlu
ayByZWw9aGVscCBocmVmPSJodHRwOi8vd3d3LndoYXR3Zy5vcmcvaHRtbC8jc2hhcmVkd29ya2Vy
Ij4KKzxsaW5rIHJlbD1oZWxwIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dl
YklETC8jZGZuLWF0dHJpYnV0ZS1zZXR0ZXIiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit0
ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcignIycsICcn
KTsKKyAgdmFyIHggPSB3b3JrZXIucG9ydDsKKyAgd29ya2VyLnBvcnQgPSAxOworICBhc3NlcnRf
ZXF1YWxzKHdvcmtlci5wb3J0LCB4KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9j
b25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3NhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ZjU3ZDRmYmRiOGEzOTVlMDMxZGZjODc4NGE1ZTJkZDY0YmQwMjFiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKK0ZBSUwgdW5zdXBwb3J0ZWRfc2NoZW1lIGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IG5ldyBTaGFyZWRXb3JrZXIoJ3Vuc3VwcG9ydGVkOicsICcnKTsgfSIgdGhyZXcg
b2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
IiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29k
ZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxOAorRkFJTCBkYXRhX3VybCBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK1RJTUVPVVQgamF2YXNjcmlwdF91cmwgVGVz
dCB0aW1lZCBvdXQKK1RJTUVPVVQgYWJvdXRfYmxhbmsgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQg
b3BlcmFfY29tIFRlc3QgdGltZWQgb3V0CitUSU1FT1VUIHBvcnRfODEgVGVzdCB0aW1lZCBvdXQK
K1RJTUVPVVQgaHR0cHNfcG9ydF84MCBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBodHRwc19wb3J0
XzgwMDAgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgaHR0cF9wb3J0XzgwMTIgVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvc2FtZS1vcmlnaW4uaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25z
dHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3NhbWUtb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhkNTMx
NjRlNjQyM2YxMmNkYjY2NTBjNjFmMzkyYmMzMjUyY2JhZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvU2hhcmVkV29ya2VyL3NhbWUtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCEt
LQorLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+c2FtZS1vcmlnaW4gY2hlY2tzPC90
aXRsZT4KKzxsaW5rIHJlbD1oZWxwIGhyZWY9Imh0dHA6Ly93d3cud2hhdHdnLm9yZy9odG1sLyNk
b20tc2hhcmVkd29ya2VyIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorLy8gTmVlZGVkIHRv
IHByZXZlbnQgYSByYWNlIGNvbmRpdGlvbiBpZiBhIHdvcmtlciB0aHJvd3MgYW4gZXhjZXB0aW9u
IHRoYXQgbWF5IG9yIG1heQorLy8gbm90IHByb3BvZ2F0ZSB0byB0aGUgd2luZG93IGJlZm9yZSB0
aGUgdGVzdHMgZmluaXNoCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlfSk7
CisKK2Z1bmN0aW9uIHRlc3RTaGFyZWRXb3JrZXJIZWxwZXIodCwgc2NyaXB0KSB7CisgIHRyeSB7
CisgICAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoc2NyaXB0LCAnJyk7CisgICAgd29y
a2VyLm9uZXJyb3IgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICAgIGFzc2Vy
dF90cnVlKGUgaW5zdGFuY2VvZiBFdmVudCk7CisgICAgfSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAg
ICB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsgYXNzZXJ0X3RydWUodHJ1ZSk7IH0pOwor
ICB9Cit9CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGFzc2VydF90aHJvd3MoIlNlY3VyaXR5RXJy
b3IiLCBmdW5jdGlvbigpIHsgbmV3IFNoYXJlZFdvcmtlcigndW5zdXBwb3J0ZWQ6JywgJycpOyB9
KTsKK30sICJ1bnN1cHBvcnRlZF9zY2hlbWUiKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsK
KyAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ2RhdGE6LG9uY29ubmVjdCA9IGZ1bmN0
aW9uKGUpIHsgZS5wb3J0c1swXS5wb3N0TWVzc2FnZSgxKTsgfScsICcnKTsKKyAgd29ya2VyLnBv
cnQub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEsIDEpOworICB9KTsKK30sICJkYXRhX3VybCIpOworCithc3luY190
ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdGVzdFNoYXJlZFdvcmtlckhlbHBlcih0aGlzLCAnamF2YXNj
cmlwdDoiIicpOworfSwgImphdmFzY3JpcHRfdXJsIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB0ZXN0U2hhcmVkV29ya2VySGVscGVyKHRoaXMsICdhYm91dDpibGFuaycpOworfSwg
ImFib3V0X2JsYW5rIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB0ZXN0U2hhcmVk
V29ya2VySGVscGVyKHRoaXMsICdodHRwOi8vd3d3Lm9wZXJhLmNvbS8nKTsKK30sICJvcGVyYV9j
b20iKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHRlc3RTaGFyZWRXb3JrZXJIZWxw
ZXIodGhpcywgbG9jYXRpb24ucHJvdG9jb2wrJy8vJytsb2NhdGlvbi5ob3N0bmFtZSsnOjgxLycp
OworfSwgInBvcnRfODEiKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHRlc3RTaGFy
ZWRXb3JrZXJIZWxwZXIodGhpcywgJ2h0dHBzOi8vJytsb2NhdGlvbi5ob3N0bmFtZSsnOjgwLycp
OworfSwgImh0dHBzX3BvcnRfODAiKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHRl
c3RTaGFyZWRXb3JrZXJIZWxwZXIodGhpcywgJ2h0dHBzOi8vJytsb2NhdGlvbi5ob3N0bmFtZSsn
OjgwMDAvJyk7Cit9LCAiaHR0cHNfcG9ydF84MDAwIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworICB0ZXN0U2hhcmVkV29ya2VySGVscGVyKHRoaXMsICdodHRwOi8vJytsb2NhdGlvbi5o
b3N0bmFtZSsnOjgwMTIvJyk7Cit9LCAiaHR0cF9wb3J0XzgwMTIiKTsKKzwvc2NyaXB0PgorPCEt
LQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9zZXR0aW5nLXBv
cnQtbWVtYmVycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9zZXR0aW5nLXBv
cnQtbWVtYmVycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmMzM2RhMTAxMDFjOWM5NWNiM2Fm
ZDhmNGVhZTMyMjRkN2ZhZWRjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29y
a2VyL3NldHRpbmctcG9ydC1tZW1iZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisK
K0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCitGQUlMIHBvc3RNZXNzYWdlIENhbid0IGZpbmQg
dmFyaWFibGU6IHdvcmtlcgorRkFJTCBzdGFydCBDYW4ndCBmaW5kIHZhcmlhYmxlOiB3b3JrZXIK
K0ZBSUwgY2xvc2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogd29ya2VyCitGQUlMIG9ubWVzc2FnZSBD
YW4ndCBmaW5kIHZhcmlhYmxlOiB3b3JrZXIKK0ZBSUwgYWRkRXZlbnRMaXN0ZW5lciBDYW4ndCBm
aW5kIHZhcmlhYmxlOiB3b3JrZXIKK0ZBSUwgcmVtb3ZlRXZlbnRMaXN0ZW5lciBDYW4ndCBmaW5k
IHZhcmlhYmxlOiB3b3JrZXIKK0ZBSUwgZGVzcGF0Y2hFdmVudCBDYW4ndCBmaW5kIHZhcmlhYmxl
OiB3b3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvc2V0dGluZy1wb3J0
LW1lbWJlcnMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3NldHRpbmctcG9ydC1tZW1iZXJz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGM3OWZmMjk1ZTUzNmE4YzAxYmQxODY2YmRmZGNjMzUxNWYyZmNk
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3NldHRpbmctcG9ydC1t
ZW1iZXJzLmh0bWwKQEAgLTAsMCArMSw1OSBAQAorPCEtLQorLyoKKy0tPgorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+c2V0dGluZyBtZW1iZXJzIG9mIHdvcmtlci5wb3J0PC90aXRsZT4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Cis8c2NyaXB0Pgorc2V0dXAoZnVuY3Rpb24oKSB7CisgIHdpbmRvdy53b3JrZXIg
PSBuZXcgU2hhcmVkV29ya2VyKCcjJywgJycpOworfSk7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICB3
b3JrZXIucG9ydC5wb3N0TWVzc2FnZSA9IDE7CisgIGFzc2VydF9lcXVhbHMod29ya2VyLnBvcnQu
cG9zdE1lc3NhZ2UsIDEpOworfSwgJ3Bvc3RNZXNzYWdlJyk7Cit0ZXN0KGZ1bmN0aW9uKCkgewor
ICB3b3JrZXIucG9ydC5zdGFydCA9IDE7CisgIGFzc2VydF9lcXVhbHMod29ya2VyLnBvcnQuc3Rh
cnQsIDEpOworfSwgJ3N0YXJ0Jyk7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICB3b3JrZXIucG9ydC5j
bG9zZSA9IDE7CisgIGFzc2VydF9lcXVhbHMod29ya2VyLnBvcnQuY2xvc2UsIDEpOworfSwgJ2Ns
b3NlJyk7Cit0ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgZiA9IGZ1bmN0aW9uKCl7fTsKKyAgd29y
a2VyLnBvcnQub25tZXNzYWdlID0gZjsKKyAgYXNzZXJ0X2VxdWFscyh3b3JrZXIucG9ydC5vbm1l
c3NhZ2UsIGYsICdmdW5jdGlvbigpe30nKTsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gMTsK
KyAgYXNzZXJ0X2VxdWFscyh3b3JrZXIucG9ydC5vbm1lc3NhZ2UsIG51bGwsICcxJyk7CisgIHdv
cmtlci5wb3J0Lm9ubWVzc2FnZSA9IGY7CisgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9ICc7JzsK
KyAgYXNzZXJ0X2VxdWFscyh3b3JrZXIucG9ydC5vbm1lc3NhZ2UsIG51bGwsICciOyInKTsKKyAg
d29ya2VyLnBvcnQub25tZXNzYWdlID0gZjsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0ge2hh
bmRsZUV2ZW50OmZ1bmN0aW9uKCl7fX07CisgIGFzc2VydF9lcXVhbHMod29ya2VyLnBvcnQub25t
ZXNzYWdlLCBudWxsLCAne2hhbmRsZUV2ZW50OmZ1bmN0aW9uKCl7fX0nKTsKKyAgd29ya2VyLnBv
cnQub25tZXNzYWdlID0gZjsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gbnVsbDsKKyAgYXNz
ZXJ0X2VxdWFscyh3b3JrZXIucG9ydC5vbm1lc3NhZ2UsIG51bGwsICdudWxsJyk7CisgIHdvcmtl
ci5wb3J0Lm9ubWVzc2FnZSA9IGY7CisgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IHVuZGVmaW5l
ZDsKKyAgYXNzZXJ0X2VxdWFscyh3b3JrZXIucG9ydC5vbm1lc3NhZ2UsIG51bGwsICd1bmRlZmlu
ZWQnKTsKK30sICdvbm1lc3NhZ2UnKTsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHdvcmtlci5wb3J0
LmFkZEV2ZW50TGlzdGVuZXIgPSAxOworICBhc3NlcnRfZXF1YWxzKHdvcmtlci5wb3J0LmFkZEV2
ZW50TGlzdGVuZXIsIDEpOworfSwgJ2FkZEV2ZW50TGlzdGVuZXInKTsKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIHdvcmtlci5wb3J0LnJlbW92ZUV2ZW50TGlzdGVuZXIgPSAxOworICBhc3NlcnRfZXF1
YWxzKHdvcmtlci5wb3J0LnJlbW92ZUV2ZW50TGlzdGVuZXIsIDEpOworfSwgJ3JlbW92ZUV2ZW50
TGlzdGVuZXInKTsKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHdvcmtlci5wb3J0LmRlc3BhdGNoRXZl
bnQgPSAxOworICBhc3NlcnRfZXF1YWxzKHdvcmtlci5wb3J0LmRlc3BhdGNoRXZlbnQsIDEpOwor
fSwgJ2Rlc3BhdGNoRXZlbnQnKTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9zaGFyZWQtd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFy
ZWRXb3JrZXIvc2hhcmVkLXdvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWJlYmIxY2U4ZWU3Mjc4NzY0
ODM3MDE4NDVlMjBjOGQxZWI1N2I3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvc2hhcmVkLXdvcmtlci5qcwpAQCAtMCwwICsxLDYgQEAKK29uY29ubmVjdCA9IGZ1bmN0
aW9uKGUpIHsKKyAgdmFyIHBvcnQgPSBlLnBvcnRzWzBdOworICBwb3J0Lm9ubWVzc2FnZSA9IGZ1
bmN0aW9uKGUpIHsKKyAgICBwb3J0LnBvc3RNZXNzYWdlKCdwaW5nJyk7CisgIH0KK30KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VuZGVmaW5lZCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29y
a2VyL3VuZGVmaW5lZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmU4NDBkMzA0Mjg1YTg4NzJkNWIwYzZkYmYyODhj
YTRlYzk0NjQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5kZWZp
bmVkCkBAIC0wLDAgKzEsMyBAQAorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICBlLnBvcnRz
WzBdLnBvc3RNZXNzYWdlKFsndW5kZWZpbmVkJywgc2VsZi5uYW1lXSk7Cit9ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5kZWZp
bmVkLWFyZ3VtZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci91bmRlZmlu
ZWQtYXJndW1lbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2UwMTY2NjYxODQ4NjBjZTg0
MGQ4ZjAxZGY0YjE0ODFjMWI0NmRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRX
b3JrZXIvdW5kZWZpbmVkLWFyZ3VtZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K0ZBSUwgdW5kZWZpbmVkIGFzIGFyZ3VtZW50cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRX
b3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5kZWZpbmVkLWFyZ3Vt
ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5kZWZpbmVkLWFyZ3VtZW50cy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI5YTNiMzY5MmMzNDlkNmIxNzE5MWQ5NjFkMzc0NDA4MGQwOGNlYWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci91bmRlZmluZWQtYXJndW1lbnRz
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCEtLQorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgewor
ICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKFsnRkFJTCcsIHNlbGYubmFtZV0pOworfQorLyoKKy0t
PgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+dW5kZWZpbmVkIGFzIGFyZ3VtZW50czwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyhhc3luY190ZXN0KCkpLnN0ZXAoZnVuY3Rpb24o
KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKHVuZGVmaW5lZCwgdW5kZWZpbmVk
KTsKKyAgd29ya2VyLnBvcnQuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHRoaXMuc3RlcF9m
dW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVswXSwgJ3VuZGVmaW5l
ZCcsICdmaXJzdCBhcmcnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVsxXSwgJ3VuZGVmaW5l
ZCcsICdzZWNvbmQgYXJnJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pLCBmYWxzZSk7CisgIHdv
cmtlci5wb3J0LnN0YXJ0KCk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIv
dW5leHBlY3RlZC1nbG9iYWwtcHJvcGVydGllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJl
ZFdvcmtlci91bmV4cGVjdGVkLWdsb2JhbC1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42YzY1NGZlMjc3YTU4MGZmMWMwYWY5NWVmOWExNGRmMWEyYTYxOWU5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5leHBlY3RlZC1nbG9iYWwtcHJvcGVydGll
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgdW5leHBlY3RlZCBtZW1iZXJz
L2ludGVyZmFjZSBvYmplY3RzL2NvbnN0cnVjdG9ycyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5leHBlY3RlZC1n
bG9iYWwtcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5leHBlY3RlZC1n
bG9iYWwtcHJvcGVydGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NzM5MDIyZDdlZjQwMzk2MDhlOGY4
MzQ1N2U1MjA0ZDgyYzg3NzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtl
ci91bmV4cGVjdGVkLWdsb2JhbC1wcm9wZXJ0aWVzLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCEt
LQordmFyIHVuZXhwZWN0ZWQgPSAnb3BlbiBwcmludCBzdG9wIGdldENvbXB1dGVkU3R5bGUgZ2V0
U2VsZWN0aW9uIHJlbGVhc2VFdmVudHMgY2FwdHVyZUV2ZW50cyBhbGVydCBjb25maXJtIHByb21w
dCBhZGRFdmVudFN0cmVhbSByZW1vdmVFdmVudFN0cmVhbSBiYWNrIGZvcndhcmQgYXR0YWNoRXZl
bnQgZGV0YWNoRXZlbnQgbmF2aWdhdGUgRE9NUGFyc2VyIFhNTFNlcmlhbGl6ZXIgWFBhdGhFdmFs
dWF0b3IgWFNMVFByb2Nlc3NvciBvcGVyYSBJbWFnZSBPcHRpb24gZnJhbWVzIEF1ZGlvIFNWR1Vu
aXRUeXBlcyBTVkdab29tQW5kUGFuIGphdmEgbmV0c2NhcGUgc3VuIFBhY2thZ2VzIEJ5dGVBcnJh
eSBjbG9zZWQgZGVmYXVsdFN0YXR1cyBkb2N1bWVudCBldmVudCBmcmFtZUVsZW1lbnQgaGlzdG9y
eSBpbm5lckhlaWdodCBpbm5lcldpZHRoIG9wZW5lciBvdXRlckhlaWdodCBvdXRlcldpZHRoIHBh
Z2VYT2Zmc2V0IHBhZ2VZT2Zmc2V0IHBhcmVudCBzY3JlZW4gc2NyZWVuTGVmdCBzY3JlZW5Ub3Ag
c2NyZWVuWCBzY3JlZW5ZIHN0YXR1cyB0b3Agd2luZG93IGxlbmd0aCcuc3BsaXQoJyAnKTsgLy8g
aXRlcmF0ZWQgd2luZG93IGluIG9wZXJhIGFuZCByZW1vdmVkIGV4cGVjdGVkIG9uZXMKK3ZhciBs
b2cgPSAnJzsKK2ZvciAodmFyIGkgPSAwOyBpIDwgdW5leHBlY3RlZC5sZW5ndGg7ICsraSkgewor
ICBpZiAodW5leHBlY3RlZFtpXSBpbiBzZWxmKQorICAgIGxvZyArPSB1bmV4cGVjdGVkW2ldICsg
JyAnOworfQorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICBlLnBvcnRzWzBdLnBvc3RNZXNz
YWdlKGxvZyk7Cit9OworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+dW5leHBlY3Rl
ZCBtZW1iZXJzL2ludGVyZmFjZSBvYmplY3RzL2NvbnN0cnVjdG9yczwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ci
PjwvZGl2PgorPHNjcmlwdD4KKyhhc3luY190ZXN0KCkpLnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZh
ciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCcjJyk7CisgIHdvcmtlci5wb3J0LmFkZEV2ZW50
TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGEsICcnKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSksIGZhbHNlKTsK
KyAgd29ya2VyLnBvcnQuc3RhcnQoKTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VucmVzb2x2YWJsZS11cmwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5yZXNvbHZhYmxlLXVybC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzc0N2FkOWMyNDliMTFkM2FmN2Q5MWFhNzJjOTQ5MWMyMmVjMWI4Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VucmVzb2x2YWJsZS11cmwt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCitGQUlMIHJlc29sdmluZyBicm9rZW4gdXJs
IGFzc2VydF90aHJvd3M6IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7CisgICAgdmFyIHdvcmtlciA9
IG5ldyBTaGFyZWRXb3JrZXIoJ2h0dHA6Ly9mb28gYmFyJyk7CisgIH0iIHRocmV3IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlciIgdGhhdCBp
cyBub3QgYSBET01FeGNlcHRpb24gU3ludGF4RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVh
bCB0byB1bmRlZmluZWQsIGV4cGVjdGVkIDEyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVk
V29ya2VyL3VucmVzb2x2YWJsZS11cmwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VucmVz
b2x2YWJsZS11cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2EzZDkzZDNlOGZhMmExNmE1NTczNzBmZTg1
YmNhMzk1MmUxNzEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvdW5y
ZXNvbHZhYmxlLXVybC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhLS0KKy8qCistLT4KKzwhZG9j
dHlwZSBodG1sPgorPHRpdGxlPnJlc29sdmluZyBicm9rZW4gdXJsPC90aXRsZT4KKzxsaW5rIHJl
bD1oZWxwIGhyZWY9Imh0dHA6Ly93d3cud2hhdHdnLm9yZy9odG1sLyNkb20tc2hhcmVkd29ya2Vy
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsKKyAgYXNzZXJ0
X3Rocm93cygiU3ludGF4RXJyb3IiLCBmdW5jdGlvbigpIHsKKyAgICB2YXIgd29ya2VyID0gbmV3
IFNoYXJlZFdvcmtlcignaHR0cDovL2ZvbyBiYXInKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgor
PCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkzNThhMjE0YzRhZjYzYTRkM2VlY2JjZDk0N2E4YWQyNDNjZDhlMWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDM5IEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci8xCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIv
VVJMTWlzbWF0Y2hFcnJvci5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9jb25uZWN0LWV2ZW50
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9kdW1teS1uYW1lLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1No
YXJlZFdvcmtlci9kdW1teS1zaGFyZWQtd29ya2VyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtl
ci9lbXB0eS1uYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9nbG9iYWwtbWVtYmVycy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvaW50ZXJmYWNlLW9iamVjdHMuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvU2hhcmVkV29ya2VyL25hbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL25vLWFyZ3Vt
ZW50cy1jdG9yLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9udWxsCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9TaGFy
ZWRXb3JrZXIvbnVsbC1hcmd1bWVudHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL251bWJl
ci1hcmd1bWVudHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3BvcnQtb25tZXNzYWdlLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9wb3J0LXByb3BlcnRpZXMuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
U2hhcmVkV29ya2VyL3BvcnQtcmVhZG9ubHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3Nh
bWUtb3JpZ2luLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1NoYXJlZFdvcmtlci9zZXR0aW5nLXBvcnQtbWVtYmVy
cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9TaGFyZWRXb3JrZXIvc2hhcmVkLXdvcmtlci5qcworL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
U2hhcmVkV29ya2VyL3VuZGVmaW5lZAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VuZGVmaW5lZC1h
cmd1bWVudHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VuZXhwZWN0ZWQtZ2xvYmFsLXBy
b3BlcnRpZXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvU2hhcmVkV29ya2VyL3VucmVzb2x2YWJsZS11cmwuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvMSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyLzEKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWEwYjdjOGY0Y2NiZTkxZjY1ZmRiODU3Zjc2ZGE4MDk4OWVjYmIyOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyLzEKQEAgLTAsMCArMSBAQAorcG9zdE1lc3NhZ2UoJzEn
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Fic3RyYWN0V29ya2VyLm9uZXJyb3ItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvQWJzdHJhY3RXb3JrZXIub25lcnJvci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGZmNTU1NmYxYzI1YjVhNjIyNmZjMDE2Mjc0MDZlYTE2OWFhOTU2
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Fic3RyYWN0V29ya2VyLm9uZXJy
b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI6
IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJworCitQQVNTIEFic3RyYWN0V29ya2Vy
Lm9uZXJyb3IgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Fic3RyYWN0V29ya2VyLm9u
ZXJyb3IuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Fic3RyYWN0V29ya2VyLm9uZXJyb3IuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNDA0MjRkNjU2ZDczMGE4YTdiMTIzNmQ5ZTYxOGI5ZDQzY2QwMzFkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvQWJzdHJhY3RXb3JrZXIub25lcnJvci5odG1s
CkBAIC0wLDAgKzEsNDggQEAKKzwhLS0KK2ZvciAoOykgLy8gc2hvdWxkIGNhdXNlIG9uZXJyb3Ig
dG8gYmUgaW52b2tlZCwgYnV0IG9uZXJyb3IgaXMgbnVsbCwgc28KKyAgICAgICAgLy8gdGhlIGVy
cm9yIGlzICJub3QgaGFuZGxlZCIuIHNob3VsZCBmaXJlIGFuIEVycm9yRXZlbnQgb24gdGhlCisg
ICAgICAgIC8vIHdvcmtlci4KKyAgYnJlYWs7Citwb3N0TWVzc2FnZSgxKTsgLy8gc2hvdWxkbid0
IGRvIGFueXRoaW5nIHNpbmNlIHRoZSBzY3JpcHQgZG9lc24ndCBjb21waWxlCisvKgorLS0+Cis8
IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5BYnN0cmFjdFdvcmtlci5vbmVycm9yPC90aXRsZT4KKzxs
aW5rIHJlbD1oZWxwIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdl
LyNydW50aW1lLXNjcmlwdC1lcnJvcnMtMiI+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jcmVwb3J0LXRoZS1lcnJvciI+Cis8bGlu
ayByZWw9aGVscCBocmVmPSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8j
dGhlLWV2ZW50LWhhbmRsZXItcHJvY2Vzc2luZy1hbGdvcml0aG0iPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+CitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKK2FzeW5j
X3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHZh
ciBlcnJvcjsKKyAgd29ya2VyLm9uZXJyb3IgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihhLCBi
LCBjKSB7CisgICAgZXJyb3IgPSBhOworICAgIGFzc2VydF9lcXVhbHMoJycgKyBhLCAnW29iamVj
dCBFcnJvckV2ZW50XScpOworICAgIGFzc2VydF90cnVlKCJtZXNzYWdlIiBpbiBhLCAnRXJyb3JF
dmVudC5tZXNzYWdlJyk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYS5tZXNzYWdlLCAic3Ry
aW5nIiwgJ0Vycm9yRXZlbnQubWVzc2FnZScpOworICAgIGFzc2VydF9lcXVhbHMoYS5maWxlbmFt
ZSwgZG9jdW1lbnQuVVJMICsgJyMnLCAnRXJyb3JFdmVudC5maWxlbmFtZScpOworICAgIGFzc2Vy
dF90cnVlKCJsaW5lbm8iIGluIGEsICdFcnJvckV2ZW50LmxpbmVubycpOworICAgIGFzc2VydF9l
cXVhbHModHlwZW9mIGEubGluZW5vLCAibnVtYmVyIiwgJ0Vycm9yRXZlbnQubGluZW5vJyk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhiLCB1bmRlZmluZWQsICd1bmV4cGVjdGVkIHNlY29uZCBhcmd1bWVu
dCB0byBvbmVycm9yJyk7CisgICAgYXNzZXJ0X2VxdWFscyhjLCB1bmRlZmluZWQsICd1bmV4cGVj
dGVkIHRoaXJkIGFyZ3VtZW50IHRvIG9uZXJyb3InKTsKKyAgfSk7CisgIHdvcmtlci5vbm1lc3Nh
Z2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgn
b25tZXNzYWdlIHdhcyBpbnZva2VkIGJ1dCB3b3JrZXIgc2NyaXB0IHNob3VsZG5cJ3QgaGF2ZSBj
b21waWxlZCcpOworICB9KTsKKyAgd2luZG93Lm9uZXJyb3IgPSB0aGlzLnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uKGEsIGIsIGMsIGQsIGUsIGYpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGEsIGVycm9y
Lm1lc3NhZ2UsICdtZXNzYWdlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhiLCBlcnJvci5maWxlbmFt
ZSwgJ2ZpbGVuYW1lJyk7CisgICAgYXNzZXJ0X2VxdWFscyhjLCBlcnJvci5saW5lbm8sICdsaW5l
bm8nKTsKKyAgICBhc3NlcnRfZXF1YWxzKGQsIGVycm9yLmNvbG5vLCAnY29sbm8nKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGUsIGVycm9yLmVycm9yLCAnZXJyb3InKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGYsIHVuZGVmaW5lZCwgJ3VuZXhwZWN0ZWQgc2l4dGggYXJndW1lbnQgdG8gb25lcnJvcicpOwor
ICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvV29ya2VyL0Jsb2ItdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Jsb2ItdXJs
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGUwYWQxMTQ3OTQwNjQ0NDZkMGNkOWUzYmI0ZWYz
OTYzOTZjZjkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvQmxvYi11cmwtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFdvcmtlciBzdXBwb3J0cyBCbG9iIHVy
bCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvQmxvYi11cmwuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL0Jsb2ItdXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY4ZmM5MWFlMWQwN2U2MDc5MDRiOGNi
ZDNmOWE2ZGY4Nzg1YzJiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Jsb2It
dXJsLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViIFdvcmtlcnM6IFdvcmtlciAtIEJsb2IgdXJsPC90aXRsZT4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwu
Y29tIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworICAgIHZhciBibG9iID0gbmV3IEJsb2IoWyJvbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVu
dCkgeyBwb3N0TWVzc2FnZShldmVudC5kYXRhKTsgfSJdLCB7dHlwZTogInRleHQvcGxhaW4ifSk7
CisgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIod2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwo
YmxvYikpOworICAgIHZhciBkYXRhID0gIkJsb2IgVVJMIjsKKyAgICB3b3JrZXIucG9zdE1lc3Nh
Z2UoZGF0YSk7CisgICAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKGV2
ZW50KSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsIGRhdGEsICJldmVudC5kYXRh
Iik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9KTsKKyAgfSwgIldvcmtlciBzdXBwb3J0cyBCbG9i
IHVybCIpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLW1lbWJlcnMud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLW1lbWJlcnMud29ya2VyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yM2VhOTkwMTdjYWNhYTRlMTU2ZjQwOTYwMjBmOWJhMGY0MWE5YjNk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUtbWVtYmVycy53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKKworUEFT
UyBleGlzdGVuY2Ugb2YgcG9zdE1lc3NhZ2UgCitQQVNTIGV4aXN0ZW5jZSBvZiBvbm1lc3NhZ2Ug
CitQQVNTIGV4aXN0ZW5jZSBvZiBzZWxmIAorUEFTUyBleGlzdGVuY2Ugb2YgbG9jYXRpb24gCitQ
QVNTIGV4aXN0ZW5jZSBvZiBjbG9zZSAKK1BBU1MgZXhpc3RlbmNlIG9mIG9uZXJyb3IgCitQQVNT
IGV4aXN0ZW5jZSBvZiBvbm9mZmxpbmUgCitQQVNTIGV4aXN0ZW5jZSBvZiBvbm9ubGluZSAKK1BB
U1MgZXhpc3RlbmNlIG9mIGFkZEV2ZW50TGlzdGVuZXIgCitQQVNTIGV4aXN0ZW5jZSBvZiByZW1v
dmVFdmVudExpc3RlbmVyIAorUEFTUyBleGlzdGVuY2Ugb2YgZGlzcGF0Y2hFdmVudCAKK1BBU1Mg
ZXhpc3RlbmNlIG9mIGltcG9ydFNjcmlwdHMgCitQQVNTIGV4aXN0ZW5jZSBvZiBuYXZpZ2F0b3Ig
CitQQVNTIGV4aXN0ZW5jZSBvZiBzZXRUaW1lb3V0IAorUEFTUyBleGlzdGVuY2Ugb2YgY2xlYXJU
aW1lb3V0IAorUEFTUyBleGlzdGVuY2Ugb2Ygc2V0SW50ZXJ2YWwgCitQQVNTIGV4aXN0ZW5jZSBv
ZiBjbGVhckludGVydmFsIAorUEFTUyBleGlzdGVuY2Ugb2YgYnRvYSAKK1BBU1MgZXhpc3RlbmNl
IG9mIGF0b2IgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlLW1lbWJlcnMud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS1tZW1iZXJzLndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0
b3JzL1dvcmtlci9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS1tZW1iZXJzLndvcmtlci5odG1s
CkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVz
dCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLW1lbWJlcnMud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUtbWVtYmVycy53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVmNDY2
Y2NkYzMwNDg0MTIwZmY4MTczMGQ5MGJkMTNjYjBlNTJlYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLW1lbWJlcnMud29ya2VyLmpz
CkBAIC0wLDAgKzEsMTggQEAKK2ltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiKTsKKwordmFyIGV4cGVjdGVkID0gWworICAncG9zdE1lc3NhZ2UnLCAnb25tZXNzYWdlJywg
LyogRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgKi8KKyAgJ3NlbGYnLCAnbG9jYXRpb24nLCAn
Y2xvc2UnLCAnb25lcnJvcicsICdvbm9mZmxpbmUnLCAnb25vbmxpbmUnLCAvKiBXb3JrZXJHbG9i
YWxTY29wZSAqLworICAnYWRkRXZlbnRMaXN0ZW5lcicsICdyZW1vdmVFdmVudExpc3RlbmVyJywg
J2Rpc3BhdGNoRXZlbnQnLCAvKiBFdmVudExpc3RlbmVyICovCisgICdpbXBvcnRTY3JpcHRzJywg
J25hdmlnYXRvcicsIC8qIFdvcmtlclV0aWxzICovCisgICdzZXRUaW1lb3V0JywgJ2NsZWFyVGlt
ZW91dCcsICdzZXRJbnRlcnZhbCcsICdjbGVhckludGVydmFsJywgLyogV2luZG93VGltZXJzICov
CisgICdidG9hJywgJ2F0b2InIC8qIFdpbmRvd0Jhc2U2NCAqLworXTsKK2ZvciAodmFyIGkgPSAw
OyBpIDwgZXhwZWN0ZWQubGVuZ3RoOyArK2kpIHsKKyAgdmFyIHByb3BlcnR5ID0gZXhwZWN0ZWRb
aV07CisgIHRlc3QoZnVuY3Rpb24oKSB7CisgICAgYXNzZXJ0X3RydWUocHJvcGVydHkgaW4gc2Vs
Zik7CisgIH0sICJleGlzdGVuY2Ugb2YgIiArIHByb3BlcnR5KTsKK30KKworZG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvY3Rvci0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL2N0b3ItMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY0ZjcyMTI0NTBiODFmYjg2ZGQz
NGMzMGUzYTMxYzU1Yjk0OTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL2N0
b3ItMS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgMSBhcyBhcmd1bWVudCAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvY3Rvci0xLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtl
ci9jdG9yLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDg2NTI2MWZjNmU1MGJiMjVmMDczZDY4YzdjMTFj
MjBkZGNhYmU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvY3Rvci0xLmh0bWwK
QEAgLTAsMCArMSwyMyBAQAorPCEtLQorcG9zdE1lc3NhZ2UoJ0ZBSUwnKTsKKy8qCistLT4KKzwh
ZG9jdHlwZSBodG1sPgorPHRpdGxlPjEgYXMgYXJndW1lbnQ8L3RpdGxlPgorPGxpbmsgcmVsPWhl
bHAgaHJlZj0iaHR0cDovL3d3dy53aGF0d2cub3JnL2h0bWwvI2RvbS13b3JrZXIiPgorPGxpbmsg
cmVsPWhlbHAgaHJlZj0iaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyNlcy1E
T01TdHJpbmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3Qo
KTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoMSk7Cisg
IHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdC5zdGVwX2Z1bmNfZG9uZShmdW5j
dGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICcxJykKKyAgfSksIGZhbHNlKTsK
K30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL2N0b3ItbnVsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9jdG9yLW51bGwtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0ZjhmMjk1YjkzZDMzMTM3ZjczNjhkNDIzZWJiNWNlYTEy
MTYwMzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9jdG9yLW51bGwtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG51bGwgYXMgYXJndW1lbnQgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvV29ya2VyL2N0b3ItbnVsbC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvY3Rv
ci1udWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTRhYjcxYWVmZjYyNWQ5ZmE1OTZjZGNiNmNlODk1NTMw
MTMzZjI0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL2N0b3ItbnVsbC5odG1s
CkBAIC0wLDAgKzEsMjMgQEAKKzwhLS0KK3Bvc3RNZXNzYWdlKCdGQUlMJyk7CisvKgorLS0+Cis8
IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5udWxsIGFzIGFyZ3VtZW50PC90aXRsZT4KKzxsaW5rIHJl
bD1oZWxwIGhyZWY9Imh0dHA6Ly93d3cud2hhdHdnLm9yZy9odG1sLyNkb20td29ya2VyIj4KKzxs
aW5rIHJlbD1oZWxwIGhyZWY9Imh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYklETC8j
ZXMtRE9NU3RyaW5nIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHQgPSBhc3luY190
ZXN0KCk7Cit0LnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKG51
bGwpOworICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnbnVsbCcpCisgIH0p
LCBmYWxzZSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3Ry
dWN0b3JzL1dvcmtlci9jdG9yLXVuZGVmaW5lZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtl
ci9jdG9yLXVuZGVmaW5lZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAyNGI3NGZlYTg1ZmM4
OWUzNWI5NTc0OGU0Zjk5NzM1YzQxMDVhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL2N0b3ItdW5kZWZpbmVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyB1
bmRlZmluZWQgYXMgYXJndW1lbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL2N0b3It
dW5kZWZpbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9jdG9yLXVuZGVmaW5lZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJkOWViNmU2NTYzN2U5MmY2NzVhMjc5ZGFmNWZiZWU4YzNhNmYzYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9jdG9yLXVuZGVmaW5lZC5odG1sCkBAIC0wLDAgKzEs
MjMgQEAKKzwhLS0KK3Bvc3RNZXNzYWdlKCdGQUlMJyk7CisvKgorLS0+Cis8IWRvY3R5cGUgaHRt
bD4KKzx0aXRsZT51bmRlZmluZWQgYXMgYXJndW1lbnQ8L3RpdGxlPgorPGxpbmsgcmVsPWhlbHAg
aHJlZj0iaHR0cDovL3d3dy53aGF0d2cub3JnL2h0bWwvI2RvbS13b3JrZXIiPgorPGxpbmsgcmVs
PWhlbHAgaHJlZj0iaHR0cDovL2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViSURMLyNlcy1ET01T
dHJpbmciPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3QoKTsK
K3Quc3RlcChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIodW5kZWZpbmVk
KTsKKyAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuY19kb25l
KGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJ3VuZGVmaW5lZCcpCisg
IH0pLCBmYWxzZSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29u
c3RydWN0b3JzL1dvcmtlci9leHBlY3RlZC1zZWxmLXByb3BlcnRpZXMud29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvV29ya2VyL2V4cGVjdGVkLXNlbGYtcHJvcGVydGllcy53b3JrZXItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiMmZiYjc3YjlhNTk4ODdmN2VhZjI4YWU1YTc3OWY1MmNi
MDRmMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9leHBlY3RlZC1zZWxmLXBy
b3BlcnRpZXMud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworUEFTUyBleGlz
dGVuY2Ugb2YgWE1MSHR0cFJlcXVlc3QgCitQQVNTIGV4aXN0ZW5jZSBvZiBXZWJTb2NrZXQgCitQ
QVNTIGV4aXN0ZW5jZSBvZiBFdmVudFNvdXJjZSAKK1BBU1MgZXhpc3RlbmNlIG9mIE1lc3NhZ2VD
aGFubmVsIAorRkFJTCBleGlzdGVuY2Ugb2YgV29ya2VyIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorRkFJTCBleGlzdGVuY2Ugb2YgU2hhcmVkV29ya2VyIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9l
eHBlY3RlZC1zZWxmLXByb3BlcnRpZXMud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9leHBl
Y3RlZC1zZWxmLXByb3BlcnRpZXMud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2
OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL2V4cGVjdGVkLXNlbGYtcHJvcGVydGllcy53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBA
Cis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1
cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9leHBlY3RlZC1zZWxmLXByb3BlcnRpZXMu
d29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvZXhwZWN0ZWQtc2VsZi1wcm9wZXJ0aWVzLndvcmtl
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wY2U0MWI1OWU3NDk2ZGZkYTI2MDUzY2RmYWM2YmQwOTBiNDBhM2I2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvZXhwZWN0ZWQtc2VsZi1wcm9wZXJ0
aWVzLndvcmtlci5qcwpAQCAtMCwwICsxLDExIEBACitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIik7CisKK3ZhciBleHBlY3RlZCA9IFsnWE1MSHR0cFJlcXVlc3QnLCAn
V2ViU29ja2V0JywgJ0V2ZW50U291cmNlJywgJ01lc3NhZ2VDaGFubmVsJywgJ1dvcmtlcicsICdT
aGFyZWRXb3JrZXInXTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWQubGVuZ3RoOyArK2kp
IHsKKyAgdmFyIHByb3BlcnR5ID0gZXhwZWN0ZWRbaV07CisgIHRlc3QoZnVuY3Rpb24oKSB7Cisg
ICAgYXNzZXJ0X3RydWUocHJvcGVydHkgaW4gc2VsZik7CisgIH0sICJleGlzdGVuY2Ugb2YgIiAr
IHByb3BlcnR5KTsKK30KKworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvbm8t
YXJndW1lbnRzLWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvbm8tYXJndW1lbnRz
LWN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2ZTM2Y2YxNzg4MzEyYTQzMzRmMjE5ZjY4
MDgwZmIxNWZlZjUyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9uby1hcmd1
bWVudHMtY3Rvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mgd2l0aG91dCBh
cmd1bWVudHMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL25vLWFyZ3VtZW50cy1jdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvY29uc3RydWN0b3JzL1dvcmtlci9uby1hcmd1bWVudHMtY3Rvci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc3MGM3Y2M5M2E5MjgyMjllNTIxMTE3ZGJkNTRhYTZhNWEzMjYzZDYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1dvcmtlci9uby1hcmd1bWVudHMtY3Rvci5odG1sCkBAIC0wLDAgKzEsMTMg
QEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT53aXRob3V0
IGFyZ3VtZW50czwvdGl0bGU+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRwOi8vZGV2LnczLm9y
Zy8yMDA2L3dlYmFwaS9XZWJJREwvI2VzLWludGVyZmFjZS1jYWxsIj4KKzxsaW5rIHJlbD1oZWxw
IGhyZWY9Imh0dHA6Ly93d3cud2hhdHdnLm9yZy9odG1sLyNkZWRpY2F0ZWQtd29ya2Vycy1hbmQt
dGhlLXdvcmtlci1pbnRlcmZhY2UiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit0ZXN0KGZ1
bmN0aW9uKCkgeworICBhc3NlcnRfdGhyb3dzKG5ldyBUeXBlRXJyb3IoKSwgZnVuY3Rpb24oKSB7
IG5ldyBXb3JrZXIoKTsgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9X
b3JrZXIvbnVsbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL251bGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQwNzliNTE0Y2Y1
MGE0MmRlYjAzOWEyNTAzYTZmN2NhMWYyZjcwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL251bGwKQEAgLTAsMCArMSBAQAorcG9zdE1lc3NhZ2UoJ251bGwnKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9j
b25zdHJ1Y3RvcnMvV29ya2VyL3Jlc29sdmUtZW1wdHktc3RyaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL3Jlc29sdmUtZW1wdHktc3RyaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNjYyZTMwYTQwNjM0MDYzNGJiYWViN2NkZjM5NDE4NjQxY2EyMzA0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2NvbnN0cnVjdG9ycy9Xb3JrZXIvcmVzb2x2ZS1lbXB0eS1zdHJpbmctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitGQUlMIHJlc29sdmUgdGhlIGVtcHR5IHN0cmluZyBUaGUgc3RyaW5n
IGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvV29ya2VyL3Jlc29sdmUtZW1wdHktc3RyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9yZXNv
bHZlLWVtcHR5LXN0cmluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0MjYyMjNlMGE4MWQ3MjA5MWQ2ZGY1
YTZjZDYwYzdhOWNjYzRlMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9yZXNv
bHZlLWVtcHR5LXN0cmluZy5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhLS0KK3Bvc3RNZXNzYWdl
KCdvaycpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04Pgor
PHRpdGxlPnJlc29sdmUgdGhlIGVtcHR5IHN0cmluZzwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2Pgor
PHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgpOwordC5zdGVwKGZ1bmN0aW9uKCkgeworICB2
YXIgd29ya2VyID0gbmV3IFdvcmtlcignJyk7CisgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdt
ZXNzYWdlJywgdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEsICdvaycpOworICB9KSwgZmFsc2UpOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyov
CisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRjYmVjNjlkZGM1ZjU1YWM5ZTA1MmQwMWUxOGJlY2Q0NmE3ZDBjOGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
Y29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MyBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyB1
bnN1cHBvcnRlZF9zY2hlbWUgCitGQUlMIGRhdGFfdXJsIFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1
cmUuCitUSU1FT1VUIGFib3V0X2JsYW5rIFRlc3QgdGltZWQgb3V0CitUSU1FT1VUIGV4YW1wbGVf
aW52YWxpZCBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBwb3J0XzgxIFRlc3QgdGltZWQgb3V0CitU
SU1FT1VUIGh0dHBzX3BvcnRfODAgVGVzdCB0aW1lZCBvdXQKK1RJTUVPVVQgaHR0cHNfcG9ydF84
MDAwIFRlc3QgdGltZWQgb3V0CitUSU1FT1VUIGh0dHBfcG9zdF84MDEyIFRlc3QgdGltZWQgb3V0
CitUSU1FT1VUIGphdmFzY3JpcHRfdXJsIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL3NhbWUtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdp
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJiYzQzODJkMGJiZjFjNWUyYTYwMDFmODBlM2M0ZjdhOWU5NmFl
MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1lLW9yaWdpbi5odG1sCkBA
IC0wLDAgKzEsNjMgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0
aXRsZT5zYW1lLW9yaWdpbiBjaGVja3M7IHRoZSBzY3JpcHQgaXMgaW4gYSBzY3JpcHQgZWxlbWVu
dDwvdGl0bGU+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRwOi8vd3d3LndoYXR3Zy5vcmcvaHRt
bC8jZG9tLXdvcmtlciI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKy8vIE5lZWRlZCB0byBw
cmV2ZW50IGEgcmFjZSBjb25kaXRpb24gaWYgYSB3b3JrZXIgdGhyb3dzIGFuIGV4Y2VwdGlvbiB0
aGF0IG1heSBvciBtYXkKKy8vIG5vdCBwcm9wb2dhdGUgdG8gdGhlIHdpbmRvdyBiZWZvcmUgdGhl
IHRlc3RzIGZpbmlzaAorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZX0pOwor
CitmdW5jdGlvbiB0ZXN0U2hhcmVkV29ya2VySGVscGVyKHQsIHNjcmlwdCkgeworICB0cnkgewor
ICAgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKHNjcmlwdCwgJycpOworICAgIHdvcmtl
ci5vbmVycm9yID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgICBhc3NlcnRf
dHJ1ZShlIGluc3RhbmNlb2YgRXZlbnQpOworICAgIH0pOworICB9IGNhdGNoIChlKSB7CisgICAg
dC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7IGFzc2VydF90cnVlKHRydWUpOyB9KTsKKyAg
fQorfQorCit0ZXN0KGZ1bmN0aW9uKCkgeworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9y
IiwgZnVuY3Rpb24oKSB7IG5ldyBXb3JrZXIoJ3Vuc3VwcG9ydGVkOicpOyB9KTsKK30sICJ1bnN1
cHBvcnRlZF9zY2hlbWUiKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtl
ciA9IG5ldyBXb3JrZXIoJ2RhdGE6LHBvc3RNZXNzYWdlKDEpOycpOworICB3b3JrZXIub25tZXNz
YWdlID0gdGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhlLmRhdGEsIDEpOworICB9KTsKK30sICJkYXRhX3VybCIpOworCithc3luY190ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgdGVzdFNoYXJlZFdvcmtlckhlbHBlcih0LCAnYWJvdXQ6YmxhbmsnKTsKK30s
ICJhYm91dF9ibGFuayIpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdGVzdFNoYXJl
ZFdvcmtlckhlbHBlcih0LCAnaHR0cDovL3d3dy5leGFtcGxlLmludmFsaWQvJyk7Cit9LCAiZXhh
bXBsZV9pbnZhbGlkIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB0ZXN0U2hhcmVk
V29ya2VySGVscGVyKHQsIGxvY2F0aW9uLnByb3RvY29sKycvLycrbG9jYXRpb24uaG9zdG5hbWUr
Jzo4MS8nKTsKK30sICJwb3J0XzgxIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB0
ZXN0U2hhcmVkV29ya2VySGVscGVyKHQsICdodHRwczovLycrbG9jYXRpb24uaG9zdG5hbWUrJzo4
MC8nKTsKK30sICJodHRwc19wb3J0XzgwIik7CisKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgewor
ICB0ZXN0U2hhcmVkV29ya2VySGVscGVyKHQsICdodHRwczovLycrbG9jYXRpb24uaG9zdG5hbWUr
Jzo4MDAwLycpOworfSwgImh0dHBzX3BvcnRfODAwMCIpOworCithc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgdGVzdFNoYXJlZFdvcmtlckhlbHBlcih0LCAnaHR0cDovLycrbG9jYXRpb24uaG9z
dG5hbWUrJzo4MDEyLycpOworfSwgImh0dHBfcG9zdF84MDEyIik7CisKK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24odCkgeworICB0ZXN0U2hhcmVkV29ya2VySGVscGVyKHQsJ2phdmFzY3JpcHQ6IiInKTsK
K30sICJqYXZhc2NyaXB0X3VybCIpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL3NhbXBsZV93b3JrZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1w
bGVfd29ya2VyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhZTg1MjFjOWIwNGZmYjE0Y2Q4
NjhmMTQzZmNmZmI0ODlmODJmY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9z
YW1wbGVfd29ya2VyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgor
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL3NhbXBsZV93b3JrZXIvd29ya2VyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3Jz
L1dvcmtlci9zYW1wbGVfd29ya2VyL3dvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3NhbXBsZV93
b3JrZXIvd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5YmJlYTU4ZTc2N2FkOTJkNTdkMjM2YTRiZjk3
N2FlYTU5NDJiNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9zYW1wbGVfd29y
a2VyL3dvcmtlci5qcwpAQCAtMCwwICsxIEBACitvbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkg
eyBwb3N0TWVzc2FnZShldmVudC5kYXRhKTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIv
dGVybWluYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3Rlcm1pbmF0ZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjkxMTFkMDI3MzgwZTRjOGM0NTMxYzM1ZjBmYWExMGYwOGFiN2Fk
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3Rlcm1pbmF0ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgdGVybWluYXRlKCkgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL3Rlcm1pbmF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdGVybWluYXRlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTJmOTcwN2RmZWRlNjA2ZTFlY2Y2ZDQ2MTQ2N2Q2MWZhMGViNmZjZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3Rlcm1pbmF0ZS5odG1sCkBAIC0wLDAg
KzEsNDQgQEAKKzwhLS0KKyhmdW5jdGlvbiBmKCkgeworICBwb3N0TWVzc2FnZSgxKTsKKyAgc2V0
VGltZW91dChmLCAwKTsKK30pKCk7CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT50
ZXJtaW5hdGUoKTwvdGl0bGU+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRwOi8vd3d3LndoYXR3
Zy5vcmcvaHRtbC8jZG9tLXdvcmtlci10ZXJtaW5hdGUiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3Jp
cHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3QoKTsKK3Quc3RlcChmdW5jdGlvbigpIHsKKyAgdmFyIHdv
cmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgdmFyIGkgPSAwOworICB2YXIgZXhwZWN0ZWQ7CisK
KyAgd29ya2VyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIGkrKzsK
KyAgfSk7CisKKyAgc2V0VGltZW91dCh0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICBleHBl
Y3RlZCA9IGk7CisgICAgc3RhcnRfdGltZSA9IERhdGUubm93KCk7CisgICAgLy9IYW5nIHRoZSBt
YWluIHRocmVhZCBmb3IgYSBiaXQgdG8gZ2l2ZSB0aGUgd29ya2VyIHRoZSBjaGFuY2UgdG8gcG9z
dCBzb21lIG1vcmUgbWVzc2FnZXMKKyAgICB3aGlsZShEYXRlLm5vdygpIC0gc3RhcnRfdGltZSA8
IDUwMCkgeworICAgICAgLy9wYXNzCisgICAgfQorICAgIHdvcmtlci50ZXJtaW5hdGUoKTsKKwor
ICAgIHNldFRpbWVvdXQodC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgICAgICBhc3NlcnRfZXF1
YWxzKGksIGV4cGVjdGVkKTsKKyAgICAgIHQuZG9uZSgpOworICAgIH0pLCAxMDApOworCisgIH0p
LCAxMDApOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVj
dG9ycy9Xb3JrZXIvdW5kZWZpbmVkIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdW5kZWZpbmVkCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJjN2Y0ODJlOTRhZGVlNTQwM2UzMDgxNDM0YTA5ZjcwMjgwNmMwNDMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvY29uc3RydWN0b3JzL1dvcmtlci91bmRlZmluZWQKQEAgLTAsMCArMSBAQAorcG9zdE1lc3Nh
Z2UoJ3VuZGVmaW5lZCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdW5leHBlY3RlZC1z
ZWxmLXByb3BlcnRpZXMud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3VuZXhw
ZWN0ZWQtc2VsZi1wcm9wZXJ0aWVzLndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRl
ZGFjMWYzZGJkYzU3Nzg3ZDgxMjkxN2UzZTg0YzRmNWNlYmE2NgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25z
dHJ1Y3RvcnMvV29ya2VyL3VuZXhwZWN0ZWQtc2VsZi1wcm9wZXJ0aWVzLndvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1OCBAQAorCitQQVNTIGV4aXN0ZW5jZSBvZiBvcGVuIAorUEFTUyBl
eGlzdGVuY2Ugb2YgcHJpbnQgCitQQVNTIGV4aXN0ZW5jZSBvZiBzdG9wIAorUEFTUyBleGlzdGVu
Y2Ugb2YgZ2V0Q29tcHV0ZWRTdHlsZSAKK1BBU1MgZXhpc3RlbmNlIG9mIGdldFNlbGVjdGlvbiAK
K1BBU1MgZXhpc3RlbmNlIG9mIHJlbGVhc2VFdmVudHMgCitQQVNTIGV4aXN0ZW5jZSBvZiBjYXB0
dXJlRXZlbnRzIAorUEFTUyBleGlzdGVuY2Ugb2YgYWxlcnQgCitQQVNTIGV4aXN0ZW5jZSBvZiBj
b25maXJtIAorUEFTUyBleGlzdGVuY2Ugb2YgcHJvbXB0IAorUEFTUyBleGlzdGVuY2Ugb2YgYWRk
RXZlbnRTdHJlYW0gCitQQVNTIGV4aXN0ZW5jZSBvZiByZW1vdmVFdmVudFN0cmVhbSAKK1BBU1Mg
ZXhpc3RlbmNlIG9mIGJhY2sgCitQQVNTIGV4aXN0ZW5jZSBvZiBmb3J3YXJkIAorUEFTUyBleGlz
dGVuY2Ugb2YgYXR0YWNoRXZlbnQgCitQQVNTIGV4aXN0ZW5jZSBvZiBkZXRhY2hFdmVudCAKK1BB
U1MgZXhpc3RlbmNlIG9mIG5hdmlnYXRlIAorUEFTUyBleGlzdGVuY2Ugb2YgRE9NUGFyc2VyIAor
UEFTUyBleGlzdGVuY2Ugb2YgWE1MU2VyaWFsaXplciAKK1BBU1MgZXhpc3RlbmNlIG9mIFhQYXRo
RXZhbHVhdG9yIAorUEFTUyBleGlzdGVuY2Ugb2YgWFNMVFByb2Nlc3NvciAKK1BBU1MgZXhpc3Rl
bmNlIG9mIG9wZXJhIAorUEFTUyBleGlzdGVuY2Ugb2YgSW1hZ2UgCitQQVNTIGV4aXN0ZW5jZSBv
ZiBPcHRpb24gCitQQVNTIGV4aXN0ZW5jZSBvZiBmcmFtZXMgCitQQVNTIGV4aXN0ZW5jZSBvZiBB
dWRpbyAKK1BBU1MgZXhpc3RlbmNlIG9mIFNWR1VuaXRUeXBlcyAKK1BBU1MgZXhpc3RlbmNlIG9m
IFNWR1pvb21BbmRQYW4gCitQQVNTIGV4aXN0ZW5jZSBvZiBqYXZhIAorUEFTUyBleGlzdGVuY2Ug
b2YgbmV0c2NhcGUgCitQQVNTIGV4aXN0ZW5jZSBvZiBzdW4gCitQQVNTIGV4aXN0ZW5jZSBvZiBQ
YWNrYWdlcyAKK1BBU1MgZXhpc3RlbmNlIG9mIEJ5dGVBcnJheSAKK1BBU1MgZXhpc3RlbmNlIG9m
IGNsb3NlZCAKK1BBU1MgZXhpc3RlbmNlIG9mIGRlZmF1bHRTdGF0dXMgCitQQVNTIGV4aXN0ZW5j
ZSBvZiBkb2N1bWVudCAKK1BBU1MgZXhpc3RlbmNlIG9mIGV2ZW50IAorUEFTUyBleGlzdGVuY2Ug
b2YgZnJhbWVFbGVtZW50IAorUEFTUyBleGlzdGVuY2Ugb2YgaGlzdG9yeSAKK1BBU1MgZXhpc3Rl
bmNlIG9mIGlubmVySGVpZ2h0IAorUEFTUyBleGlzdGVuY2Ugb2YgaW5uZXJXaWR0aCAKK1BBU1Mg
ZXhpc3RlbmNlIG9mIG9wZW5lciAKK1BBU1MgZXhpc3RlbmNlIG9mIG91dGVySGVpZ2h0IAorUEFT
UyBleGlzdGVuY2Ugb2Ygb3V0ZXJXaWR0aCAKK1BBU1MgZXhpc3RlbmNlIG9mIHBhZ2VYT2Zmc2V0
IAorUEFTUyBleGlzdGVuY2Ugb2YgcGFnZVlPZmZzZXQgCitQQVNTIGV4aXN0ZW5jZSBvZiBwYXJl
bnQgCitQQVNTIGV4aXN0ZW5jZSBvZiBzY3JlZW4gCitQQVNTIGV4aXN0ZW5jZSBvZiBzY3JlZW5M
ZWZ0IAorUEFTUyBleGlzdGVuY2Ugb2Ygc2NyZWVuVG9wIAorUEFTUyBleGlzdGVuY2Ugb2Ygc2Ny
ZWVuWCAKK1BBU1MgZXhpc3RlbmNlIG9mIHNjcmVlblkgCitQQVNTIGV4aXN0ZW5jZSBvZiBzdGF0
dXMgCitQQVNTIGV4aXN0ZW5jZSBvZiB0b3AgCitQQVNTIGV4aXN0ZW5jZSBvZiB3aW5kb3cgCitQ
QVNTIGV4aXN0ZW5jZSBvZiBsZW5ndGggCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3Vu
ZXhwZWN0ZWQtc2VsZi1wcm9wZXJ0aWVzLndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdW5l
eHBlY3RlZC1zZWxmLXByb3BlcnRpZXMud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUy
OGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3Rv
cnMvV29ya2VyL3VuZXhwZWN0ZWQtc2VsZi1wcm9wZXJ0aWVzLndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3VuZXhwZWN0ZWQtc2VsZi1wcm9w
ZXJ0aWVzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3VuZXhwZWN0ZWQtc2VsZi1wcm9wZXJ0
aWVzLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWQyOWIyMjk3ODQ3MTI0MjA2YjM5MmZlYTY3OTQ5
MTA2YThhM2ZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdW5leHBlY3RlZC1z
ZWxmLXByb3BlcnRpZXMud29ya2VyLmpzCkBAIC0wLDAgKzEsMTEgQEAKK2ltcG9ydFNjcmlwdHMo
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKKwordmFyIHVuZXhwZWN0ZWQgPSBbJ29wZW4n
LCAncHJpbnQnLCAnc3RvcCcsICdnZXRDb21wdXRlZFN0eWxlJywgJ2dldFNlbGVjdGlvbicsICdy
ZWxlYXNlRXZlbnRzJywgJ2NhcHR1cmVFdmVudHMnLCAnYWxlcnQnLCAnY29uZmlybScsICdwcm9t
cHQnLCAnYWRkRXZlbnRTdHJlYW0nLCAncmVtb3ZlRXZlbnRTdHJlYW0nLCAnYmFjaycsICdmb3J3
YXJkJywgJ2F0dGFjaEV2ZW50JywgJ2RldGFjaEV2ZW50JywgJ25hdmlnYXRlJywgJ0RPTVBhcnNl
cicsICdYTUxTZXJpYWxpemVyJywgJ1hQYXRoRXZhbHVhdG9yJywgJ1hTTFRQcm9jZXNzb3InLCAn
b3BlcmEnLCAnSW1hZ2UnLCAnT3B0aW9uJywgJ2ZyYW1lcycsICdBdWRpbycsICdTVkdVbml0VHlw
ZXMnLCAnU1ZHWm9vbUFuZFBhbicsICdqYXZhJywgJ25ldHNjYXBlJywgJ3N1bicsICdQYWNrYWdl
cycsICdCeXRlQXJyYXknLCAnY2xvc2VkJywgJ2RlZmF1bHRTdGF0dXMnLCAnZG9jdW1lbnQnLCAn
ZXZlbnQnLCAnZnJhbWVFbGVtZW50JywgJ2hpc3RvcnknLCAnaW5uZXJIZWlnaHQnLCAnaW5uZXJX
aWR0aCcsICdvcGVuZXInLCAnb3V0ZXJIZWlnaHQnLCAnb3V0ZXJXaWR0aCcsICdwYWdlWE9mZnNl
dCcsICdwYWdlWU9mZnNldCcsICdwYXJlbnQnLCAnc2NyZWVuJywgJ3NjcmVlbkxlZnQnLCAnc2Ny
ZWVuVG9wJywgJ3NjcmVlblgnLCAnc2NyZWVuWScsICdzdGF0dXMnLCAndG9wJywgJ3dpbmRvdycs
ICdsZW5ndGgnXTsgLy8gaXRlcmF0ZWQgd2luZG93IGluIG9wZXJhIGFuZCByZW1vdmVkIGV4cGVj
dGVkIG9uZXMKK2ZvciAodmFyIGkgPSAwOyBpIDwgdW5leHBlY3RlZC5sZW5ndGg7ICsraSkgewor
ICB2YXIgcHJvcGVydHkgPSB1bmV4cGVjdGVkW2ldOworICB0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IGFzc2VydF9mYWxzZShwcm9wZXJ0eSBpbiBzZWxmKTsKKyAgfSwgImV4aXN0ZW5jZSBvZiAiICsg
cHJvcGVydHkpOworfQorCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci91bnJl
c29sdmFibGUtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3VucmVzb2x2YWJsZS11
cmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2M2QyZjNkNGU0ZDY0Y2M0YTBlOTQ3ZTMzMTdj
MDI2N2JiZDQ0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci91bnJlc29sdmFi
bGUtdXJsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyB1bnJlc29sdmFibGUg
dXJsIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci91bnJlc29sdmFibGUtdXJsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29u
c3RydWN0b3JzL1dvcmtlci91bnJlc29sdmFibGUtdXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMwNGIw
MDg3ODM5ODA4ZTk4ZjY2Yjc5Nzk3ZTM4YTJlNTg5MTJmNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1
Y3RvcnMvV29ya2VyL3VucmVzb2x2YWJsZS11cmwuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+dW5yZXNvbHZhYmxlIHVy
bDwvdGl0bGU+Cis8bGluayByZWw9aGVscCBocmVmPSJodHRwOi8vd3d3LndoYXR3Zy5vcmcvaHRt
bC8jZG9tLXdvcmtlciI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGFzc2VydF90aHJvd3MoIlN5bnRheEVycm9yIiwgZnVuY3Rpb24oKSB7IG5ldyBXb3Jr
ZXIoJ2h0dHA6Ly9pbnZhbGlkIHVybC8nKTsgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2Nv
bnN0cnVjdG9ycy9Xb3JrZXIvdXNlLWJhc2UtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL3VzZS1iYXNlLXVybC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWJjMDJiMWYzOTJmMGIx
MTVmYmNkZTg0MDJhMjQ2ZjQyYjc4Yzc4MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29y
a2VyL3VzZS1iYXNlLXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVXNl
IHRoZSBkb2N1bWVudCBiYXNlIHVybCB3aGVuIHJlc29sdmluZyB3b3JrZXIgVVJMcyAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdXNlLWJhc2UtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtl
ci91c2UtYmFzZS11cmwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGNlMmE3MWYxNDI5NmE2NmJlYzAzMjVm
MmQxZDIyYmExMzU1YjE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdXNlLWJh
c2UtdXJsLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+VXNlIHRoZSBkb2N1bWVudCBiYXNlIHVybCB3aGVuIHJlc29s
dmluZyB3b3JrZXIgVVJMczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxiYXNlIGhyZWY9Ii93b3JrZXJzL2NvbnN0cnVjdG9ycy9X
b3JrZXIvc2FtcGxlX3dvcmtlci8iPgorPHNjcmlwdD4KKyAgICBhc3luY190ZXN0KGZ1bmN0aW9u
KHQpIHsKKyAgICAgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3dvcmtlci5qcycpOworICAg
ICAgICB2YXIgZGF0YSA9ICJmb28iOworICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoZGF0YSk7
CisgICAgICAgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGV2
ZW50KSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsIGRhdGEsICJldmVu
dC5kYXRhIGRvZXMgbm90IG1hdGNoIGV4cGVjdGVkIGRhdGEiKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIHdvcmtlci5vbmVycm9yID0gdC51bnJlYWNoZWRfZnVuYygicmVjZWl2ZWQgZXJyb3IgZXZl
bnQiKTsKKyAgICB9LCAiVXNlIHRoZSBkb2N1bWVudCBiYXNlIHVybCB3aGVuIHJlc29sdmluZyB3
b3JrZXIgVVJMcyIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3
ZmRiMzNkYTdmYmI2YWZiMWFlNDYyZGQ2YTlmMDk3OTBmYTVjZjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29u
c3RydWN0b3JzL1dvcmtlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDMzIEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29u
c3RydWN0b3JzL1dvcmtlci8xCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvQWJzdHJhY3RXb3JrZXIub25lcnJv
ci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvQmxvYi11cmwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMvV29ya2VyL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLW1lbWJlcnMud29ya2VyLmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3Jr
ZXIvY3Rvci0xLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9jdG9yLW51bGwuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL2N0b3ItdW5kZWZpbmVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9leHBlY3RlZC1zZWxm
LXByb3BlcnRpZXMud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvbm8tYXJndW1lbnRzLWN0b3Iu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9jb25zdHJ1Y3RvcnMvV29ya2VyL251bGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvY29uc3RydWN0b3JzL1dvcmtlci9yZXNvbHZlLWVtcHR5
LXN0cmluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvc2FtZS1vcmlnaW4uaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9jb25zdHJ1Y3RvcnMv
V29ya2VyL3Rlcm1pbmF0ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdW5kZWZpbmVkCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9y
cy9Xb3JrZXIvdW5leHBlY3RlZC1zZWxmLXByb3BlcnRpZXMud29ya2VyLmpzCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9X
b3JrZXIvdW5yZXNvbHZhYmxlLXVybC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2NvbnN0cnVjdG9ycy9Xb3JrZXIvdXNlLWJhc2UtdXJs
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9kYXRhLXVybC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11cmwtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjMmFhOTMzZDczMjU0MjVhM2U4ZmRiNjJlZTkwNzczZjhjNzQ4OWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworRkFJTCBh
cHBsaWNhdGlvbi9qYXZhc2NyaXB0IE1JTUUgYWxsb3dlZCBUaGUgb3BlcmF0aW9uIGlzIGluc2Vj
dXJlLgorRkFJTCB0ZXh0L3BsYWluIE1JTUUgYWxsb3dlZCBUaGUgb3BlcmF0aW9uIGlzIGluc2Vj
dXJlLgorRkFJTCBlbXB0eSBNSU1FIGFsbG93ZWQgVGhlIG9wZXJhdGlvbiBpcyBpbnNlY3VyZS4K
K0ZBSUwgY29tbXVuaWNhdGlvbiBnb2VzIGJvdGggd2F5cyBUaGUgb3BlcmF0aW9uIGlzIGluc2Vj
dXJlLgorRkFJTCBpbmRleGVkREIgaW5hY2Nlc3NpYmxlIFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1
cmUuCitGQUlMIFdlYiBTUUwgRGF0YWJhc2UgaW5hY2Nlc3NpYmxlIFRoZSBvcGVyYXRpb24gaXMg
aW5zZWN1cmUuCitGQUlMIGNyb3NzLW9yaWdpbiB3b3JrZXIgVGhlIG9wZXJhdGlvbiBpcyBpbnNl
Y3VyZS4KK0ZBSUwgd29ya2VyIGhhcyBvcGFxdWUgb3JpZ2luIFRoZSBvcGVyYXRpb24gaXMgaW5z
ZWN1cmUuCitGQUlMIGludmFsaWQgamF2YXNjcmlwdCBwcm9kdWNlcyBlcnJvciBUaGUgb3BlcmF0
aW9uIGlzIGluc2VjdXJlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11cmwtc2hhcmVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRh
LXVybC1zaGFyZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4YTgyMzc3YjM2MWNkMTkwY2Iz
YmQ0ZmMxMDU1ZmZlMmYwMGJmYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11cmwtc2hhcmVkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTg6IFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKworSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK0ZBSUwgYXBwbGljYXRpb24vamF2YXNj
cmlwdCBNSU1FIGFsbG93ZWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlM
IHRleHQvcGxhaW4gTUlNRSBhbGxvd2VkIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgorRkFJTCBlbXB0eSBNSU1FIGFsbG93ZWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCitGQUlMIGNvbW11bmljYXRpb24gZ29lcyBib3RoIHdheXMgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogU2hhcmVkV29ya2VyCitGQUlMIGluZGV4ZWREQiBpbmFjY2Vzc2libGUgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIFdlYiBTUUwgRGF0YWJhc2UgaW5hY2Nlc3NpYmxl
IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBjcm9zcy1vcmlnaW4gd29y
a2VyIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCB3b3JrZXIgaGFzIG9w
YXF1ZSBvcmlnaW4gQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitUSU1FT1VUIEEg
ZGF0YTogVVJMIHNoYXJlZCB3b3JrZXIgc2hvdWxkIG5vdCBiZSBzaGFyZWQgYW1vbmcgb3JpZ2lu
cy4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC13aW5kb3cuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRh
LXVybC1zaGFyZWQtd2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ1OWY1OTI4NjFiZWU5NGVhNTVj
NjZiMDgwZGU0NmFmYzBhNmI3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRhLXVybC1zaGFyZWQtd2luZG93
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5k
YXRhIFVSTCBzaGFyZWQgd29ya2VyPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K29ubWVzc2FnZSA9IGV2ZW50ID0+IHsKKyAgY29uc3QgcG9ydCA9IGV2ZW50LnBvcnRzWzBdOwor
ICAvLyBUaGlzIHNoYXJlZCB3b3JrZXIgY291bnRzIHRoZSB0b3RhbCBudW1iZXIgb2YgY29ubmVj
dGVkIGRvY3VtZW50cyBhbmQKKyAgLy8gbm90aWZpZXMgdGhlIGNvbm5lY3RvciBvZiBpdC4KKyAg
Y29uc3Qga1NjcmlwdCA9CisgICAgICAib25jb25uZWN0ID0gZSA9PiB7IiArCisgICAgICAiICBp
ZiAoc2VsZi5jb3VudCA9PT0gdW5kZWZpbmVkKSIgKworICAgICAgIiAgICBzZWxmLmNvdW50ID0g
MDsiICsKKyAgICAgICIgIHNlbGYuY291bnQrKzsiICsKKyAgICAgICIgIGUucG9ydHNbMF0ucG9z
dE1lc3NhZ2Uoc2VsZi5jb3VudCk7IiArCisgICAgICAifTsiOworICBjb25zdCB3b3JrZXIgPSBu
ZXcgU2hhcmVkV29ya2VyKCdkYXRhOmFwcGxpY2F0aW9uL2phdmFzY3JpcHQsJyArIGtTY3JpcHQp
OworICB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSBlID0+IHBvcnQucG9zdE1lc3NhZ2UoZS5kYXRh
KTsKK307CisKK3dpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoJ0xPQURFRCcsICcqJyk7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRhLXVybC1zaGFyZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9kYXRhLXVy
bC1zaGFyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGFlZDk5MTUyYWMxODQxM2IyM2ZmYTVlYTg4MTFm
M2RiZjgzZTdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC5odG1sCkBAIC0wLDAgKzEs
NzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRpdGxlPmRhdGEgVVJMIHNoYXJlZCB3b3JrZXI8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKworZnVuY3Rpb24gYXNzZXJ0X3dvcmtlcl9zZW5kc19wYXNzKHRlc3RfZGVzYywgbWlt
ZV90eXBlLCB3b3JrZXJfY29kZSkgeworICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2
YXIgdyA9IG5ldyBTaGFyZWRXb3JrZXIoYGRhdGE6JHttaW1lX3R5cGV9LG9uY29ubmVjdCA9IGZ1
bmN0aW9uKGUpIHsgcG9ydCA9IGUucG9ydHNbMF07ICR7d29ya2VyX2NvZGV9fWApOworICAgIHcu
cG9ydC5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZS5kYXRhLCAnUEFTUycpOworICAgIH0pOworICAgIHcucG9ydC5wb3N0TWVz
c2FnZSgnU0VORF9QQVNTJyk7CisgIH0sIHRlc3RfZGVzYyk7Cit9CisKK2Z1bmN0aW9uIGFzc2Vy
dF93b3JrZXJfdGhyb3dzKHRlc3RfZGVzYywgd29ya2VyX2NvZGUsIGJlZm9yZV9jb25uZWN0X3dv
cmtlcl9jb2RlKSB7CisgIGFzc2VydF93b3JrZXJfc2VuZHNfcGFzcyh0ZXN0X2Rlc2MsICcnLCBg
dHJ5IHsgJHt3b3JrZXJfY29kZX07IHBvcnQucG9zdE1lc3NhZ2UoIkZBSUwiKTsgfSBjYXRjaCAo
ZSkgeyBwb3J0LnBvc3RNZXNzYWdlKCJQQVNTIik7IH1gLCBiZWZvcmVfY29ubmVjdF93b3JrZXJf
Y29kZSk7Cit9CisKKy8vIEFueSBNSU1FIHR5cGUgYWxsb3dlZAorYXNzZXJ0X3dvcmtlcl9zZW5k
c19wYXNzKCdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IE1JTUUgYWxsb3dlZCcsICdhcHBsaWNhdGlv
bi9qYXZhc2NyaXB0JywgJ3BvcnQucG9zdE1lc3NhZ2UoIlBBU1MiKScpOworYXNzZXJ0X3dvcmtl
cl9zZW5kc19wYXNzKCd0ZXh0L3BsYWluIE1JTUUgYWxsb3dlZCcsICd0ZXh0L3BsYWluJywgJ3Bv
cnQucG9zdE1lc3NhZ2UoIlBBU1MiKScpOworYXNzZXJ0X3dvcmtlcl9zZW5kc19wYXNzKCdlbXB0
eSBNSU1FIGFsbG93ZWQnLCAnJywgJ3BvcnQucG9zdE1lc3NhZ2UoIlBBU1MiKScpOworCisvLyBD
b21tdW5pY2F0aW9ucyBnb2VzIGJvdGggd2F5cworYXNzZXJ0X3dvcmtlcl9zZW5kc19wYXNzKCdj
b21tdW5pY2F0aW9uIGdvZXMgYm90aCB3YXlzJywgJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnLCAn
cG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7IHBvcnQucG9zdE1lc3NhZ2UoIlBBU1MiKTsg
fScpOworCisvLyB0ZXN0IGFjY2VzcyB0byBzdG9yYWdlIEFQSXMKKy8vIG9uY2UgaHR0cHM6Ly9n
aXRodWIuY29tL3czYy9JbmRleGVkREIvcHVsbC8xNTAgbGFuZHMsIHRoaXMgaXMgc3BlYyBjb25m
b3JtaW5nCithc3NlcnRfd29ya2VyX3Rocm93cygnaW5kZXhlZERCIGluYWNjZXNzaWJsZScsICdz
ZWxmLmluZGV4ZWREQi5vcGVuKCJzb21lREJOYW1lIiknKTsKK2Fzc2VydF93b3JrZXJfdGhyb3dz
KCdXZWIgU1FMIERhdGFiYXNlIGluYWNjZXNzaWJsZScsICdzZWxmLm9wZW5EYXRhYmFzZSgic29t
ZURCTmFtZSIsICIxLjAiLCAic29tZURCTmFtZSIsIDEpOycpOworCisvLyAnZGF0YTonIHdvcmtl
cnMgYXJlIGNyb3NzLW9yaWdpbgorYXNzZXJ0X3dvcmtlcl9zZW5kc19wYXNzKCdjcm9zcy1vcmln
aW4gd29ya2VyJywgJycsICdmZXRjaCgiLyIpLnRoZW4oKCkgPT4gcG9ydC5wb3N0TWVzc2FnZSgi
RkFJTCIpLCAoKSA9PiBwb3J0LnBvc3RNZXNzYWdlKCJQQVNTIikpJyk7CisvLyAnZGF0YTonIHdv
cmtlcnMgaGF2ZSBvcGFxdWUgb3JpZ2luCithc3NlcnRfd29ya2VyX3NlbmRzX3Bhc3MoJ3dvcmtl
ciBoYXMgb3BhcXVlIG9yaWdpbicsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JywgJ2lmIChzZWxm
LmxvY2F0aW9uLm9yaWdpbiA9PSAibnVsbCIpIHBvcnQucG9zdE1lc3NhZ2UoIlBBU1MiKTsgZWxz
ZSB7IHBvcnQucG9zdE1lc3NhZ2UoIkZBSUwiKTsgfScpOworCitmdW5jdGlvbiBvcGVuV2luZG93
KHVybCkgeworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3Qgd2lu
ID0gd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7CisgICAgYWRkX2NvbXBsZXRpb25fY2FsbGJh
Y2soKCkgPT4gd2luLmNsb3NlKCkpOworICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSBlID0+IHsKKyAg
ICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnTE9BREVEJyk7CisgICAgICByZXNvbHZlKHdpbik7
CisgICAgfTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIGNvbnN0IGtXaW5k
b3dVUkwgPSAnZGF0YS11cmwtc2hhcmVkLXdpbmRvdy5odG1sJzsKKyAgY29uc3Qga1JlbW90ZVdp
bmRvd1VSTCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy93b3JrZXJzL2RhdGEtdXJsLXNoYXJlZC13aW5kb3cuaHRtbCc7
CisgIHJldHVybiBvcGVuV2luZG93KGtXaW5kb3dVUkwpCisgICAgLnRoZW4od2luID0+IHsKKyAg
ICAgICAgY29uc3QgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbDsKKyAgICAgICAgd2luLnBv
c3RNZXNzYWdlKGNoYW5uZWwucG9ydDEsICcqJywgW2NoYW5uZWwucG9ydDFdKTsKKyAgICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gY2hhbm5lbC5wb3J0Mi5vbm1lc3NhZ2UgPSBy
ZXNvbHZlKTsKKyAgICAgIH0pCisgICAgLnRoZW4obXNnX2V2ZW50ID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtc2dfZXZlbnQuZGF0YSwgMSk7CisgICAgICAgIHJldHVybiBvcGVuV2luZG93
KGtSZW1vdGVXaW5kb3dVUkwpOworICAgICAgfSkKKyAgICAudGhlbih3aW4gPT4geworICAgICAg
ICBjb25zdCBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsOworICAgICAgICB3aW4ucG9zdE1l
c3NhZ2UoY2hhbm5lbC5wb3J0MSwgJyonLCBbY2hhbm5lbC5wb3J0MV0pOworICAgICAgICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBjaGFubmVsLnBvcnQyLm9ubWVzc2FnZSA9IHJlc29s
dmUpOworICAgICAgfSkKKyAgICAudGhlbihtc2dfZXZlbnQgPT4gYXNzZXJ0X2VxdWFscyhtc2df
ZXZlbnQuZGF0YSwgMSkpOworfSwgJ0EgZGF0YTogVVJMIHNoYXJlZCB3b3JrZXIgc2hvdWxkIG5v
dCBiZSBzaGFyZWQgYW1vbmcgb3JpZ2lucy4nKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11
cmwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9kYXRhLXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzMDhlYmE4ZjYyMzlhMjg5ZDZlNmIyMDBl
NGU4ZGQ5ZDkzMDU1OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11cmwuaHRtbApAQCAtMCwwICsxLDYz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5UZXN0IHdvcmtlcnMgY2FuIGJlIHN0YXJ0ZWQg
d2l0aCBhIGRhdGEgVVJMPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorLy8gSGVs
cGVyIGFzc2VydCBmdW5jdGlvbnMgLVNUQVJULQorZnVuY3Rpb24gYXNzZXJ0X3dvcmtlcl9zZW5k
c19wYXNzKHRlc3RfZGVzYywgbWltZV90eXBlLCB3b3JrZXJfY29kZSkgeworICBhc3luY190ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgdyA9IG5ldyBXb3JrZXIoYGRhdGE6JHttaW1lX3R5cGV9
LCR7d29ya2VyX2NvZGV9YCk7CisgICAgdy5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGZ1
bmN0aW9uKGUpIHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnUEFTUycpOworICAgIH0p
OworICAgIHcucG9zdE1lc3NhZ2UoJ1NFTkRfUEFTUycpOworICB9LCB0ZXN0X2Rlc2MpOworfQor
CitmdW5jdGlvbiBhc3NlcnRfd29ya2VyX3Rocm93cyh0ZXN0X2Rlc2MsIHdvcmtlcl9jb2RlKSB7
CisgIGFzc2VydF93b3JrZXJfc2VuZHNfcGFzcyh0ZXN0X2Rlc2MsICcnLCBgdHJ5IHsgJHt3b3Jr
ZXJfY29kZX07IHNlbGYucG9zdE1lc3NhZ2UoIkZBSUwiKTsgfSBjYXRjaCAoZSkgeyBzZWxmLnBv
c3RNZXNzYWdlKCJQQVNTIik7IH1gKTsKK30KKworZnVuY3Rpb24gYXNzZXJ0X3dvcmtlcl9jb25z
dHJ1Y3Rpb25fZmFpbHModGVzdF9kZXNjLCBtaW1lX3R5cGUsIHdvcmtlcl9jb2RlKSB7CisgIGFz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciB3ID0gbmV3IFdvcmtlcihgZGF0YToke21p
bWVfdHlwZX0sJHt3b3JrZXJfY29kZX07cG9zdE1lc3NhZ2UoIlBBU1MiKWApOworICAgIHcub25t
ZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgICBhc3NlcnRfdW5y
ZWFjaGVkKCdTaG91bGQgbm90IHJlY2VpdmUgYW55IG1lc3NhZ2UgYmFjay4nKTsKKyAgICB9KTsK
KyAgICB3Lm9uZXJyb3IgPSB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICAgIGFz
c2VydF90cnVlKHRydWUsICdTaG91bGQgdGhyb3cgJyArIGUubWVzc2FnZSk7CisgICAgICAvLyBT
dG9wIHRoZSBlcnJvciBmcm9tIGJlaW5nIHByb3BhZ2F0ZWQgdG8gdGhlIFdQVCB0ZXN0IGhhcm5l
c3MKKyAgICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICB9KTsKKyAgfSwgdGVzdF9kZXNjKTsK
K30KKy8vIEhlbHBlciBhc3NlcnQgZnVuY3Rpb25zIC1FTkQtCisKKy8vIEFjdHVhbCB0ZXN0cyAt
U1RBUlQtCisKKy8vIEFueSBNSU1FIHR5cGUKK2Fzc2VydF93b3JrZXJfc2VuZHNfcGFzcygnYXBw
bGljYXRpb24vamF2YXNjcmlwdCBNSU1FIGFsbG93ZWQnLCAnYXBwbGljYXRpb24vamF2YXNjcmlw
dCcsICdzZWxmLnBvc3RNZXNzYWdlKCJQQVNTIiknKTsKK2Fzc2VydF93b3JrZXJfc2VuZHNfcGFz
cygndGV4dC9wbGFpbiBNSU1FIGFsbG93ZWQnLCAndGV4dC9wbGFpbicsICdzZWxmLnBvc3RNZXNz
YWdlKCJQQVNTIiknKTsKK2Fzc2VydF93b3JrZXJfc2VuZHNfcGFzcygnZW1wdHkgTUlNRSBhbGxv
d2VkJywgJycsICdzZWxmLnBvc3RNZXNzYWdlKCJQQVNTIiknKTsKKworLy8gQ29tbXVuaWNhdGlv
bnMgZ29lcyBib3RoIHdheXMKK2Fzc2VydF93b3JrZXJfc2VuZHNfcGFzcygnY29tbXVuaWNhdGlv
biBnb2VzIGJvdGggd2F5cycsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JywgJ29ubWVzc2FnZSA9
IGZ1bmN0aW9uKGUpIHsgc2VsZi5wb3N0TWVzc2FnZSgiUEFTUyIpOyB9Jyk7CisKKy8vIHRlc3Qg
YWNjZXNzIHRvIHN0b3JhZ2UgQVBJcworLy8gb25jZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL0lu
ZGV4ZWREQi9wdWxsLzE1MCBsYW5kcywgdGhpcyBpcyBzcGVjIGNvbmZvcm1pbmcKK2Fzc2VydF93
b3JrZXJfdGhyb3dzKCdpbmRleGVkREIgaW5hY2Nlc3NpYmxlJywgJ3NlbGYuaW5kZXhlZERCLm9w
ZW4oInNvbWVEQk5hbWUiKScpOworYXNzZXJ0X3dvcmtlcl90aHJvd3MoJ1dlYiBTUUwgRGF0YWJh
c2UgaW5hY2Nlc3NpYmxlJywgJ3NlbGYub3BlbkRhdGFiYXNlKCJzb21lREJOYW1lIiwgIjEuMCIs
ICJzb21lREJOYW1lIiwgMSk7Jyk7CisKKy8vICdkYXRhOicgd29ya2VycyBhcmUgY3Jvc3Mtb3Jp
Z2luCithc3NlcnRfd29ya2VyX3NlbmRzX3Bhc3MoJ2Nyb3NzLW9yaWdpbiB3b3JrZXInLCAnJywg
J2ZldGNoKCIvIikudGhlbigoKSA9PiBzZWxmLnBvc3RNZXNzYWdlKCJGQUlMIiksICgpID0+IHNl
bGYucG9zdE1lc3NhZ2UoIlBBU1MiKSknKTsKKworLy8gJ2RhdGE6JyB3b3JrZXJzIGhhdmUgb3Bh
cXVlIG9yaWdpbgorYXNzZXJ0X3dvcmtlcl9zZW5kc19wYXNzKCd3b3JrZXIgaGFzIG9wYXF1ZSBv
cmlnaW4nLCAnYXBwbGljYXRpb24vamF2YXNjcmlwdCcsICdpZiAoc2VsZi5sb2NhdGlvbi5vcmln
aW4gPT0gIm51bGwiKSB7cG9zdE1lc3NhZ2UoIlBBU1MiKTt9IGVsc2Uge3Bvc3RNZXNzYWdlKCJG
QUlMIik7fScpOworCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKKy8v
IGludmFsaWQgamF2YXNjcmlwdCB3aWxsIHRyaWdnZXIgYW4gRXJyb3JFdmVudAorYXNzZXJ0X3dv
cmtlcl9jb25zdHJ1Y3Rpb25fZmFpbHMoJ2ludmFsaWQgamF2YXNjcmlwdCBwcm9kdWNlcyBlcnJv
cicsICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0JywgJ314PTMnKTsKKworLy8gQWN0dWFsIHRlc3Rz
IC1FTkQtCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzLndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5NWU2ODBhYzNkNDczZTlh
OTA1N2Q2Nzk2YTA2YjljNDE4MjQ5NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy53b3JrZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTU4IEBACisKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1Mg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEV2ZW50VGFyZ2V0IGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIEV2
ZW50VGFyZ2V0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgRXZlbnRU
YXJnZXQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2
ZW50TGlzdGVuZXIsIFtvYmplY3QgT2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIAorUEFTUyBFdmVu
dFRhcmdldCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmlu
ZywgRXZlbnRMaXN0ZW5lciwgW29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgCitQQVNT
IEV2ZW50VGFyZ2V0IGludGVyZmFjZTogb3BlcmF0aW9uIGRpc3BhdGNoRXZlbnQoRXZlbnQpIAor
UEFTUyBFdmVudExpc3RlbmVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFdvcmtlckds
b2JhbFNjb3BlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBXb3JrZXJHbG9iYWxTY29w
ZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAorUEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIHNlbGYgCitQ
QVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIGxvY2F0aW9uIAorUEFT
UyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYXZpZ2F0b3IgCitQQVNT
IFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogb3BlcmF0aW9uIGltcG9ydFNjcmlwdHMoVVNW
U3RyaW5nKSAKK1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25l
cnJvciAKK0ZBSUwgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25sYW5n
dWFnZWNoYW5nZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEg
cHJvcGVydHkgIm9ubGFuZ3VhZ2VjaGFuZ2UiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIG9ub2ZmbGluZSAKK1BBU1Mg
V29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25vbmxpbmUgCitGQUlMIFdv
cmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIG9ucmVqZWN0aW9uaGFuZGxlZCBh
c3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgIm9u
cmVqZWN0aW9uaGFuZGxlZCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV29ya2VyR2xv
YmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb251bmhhbmRsZWRyZWplY3Rpb24gYXNzZXJ0
X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbnVuaGFu
ZGxlZHJlamVjdGlvbiIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV29ya2VyR2xvYmFs
U2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3JpZ2luIAorUEFTUyBXb3JrZXJHbG9iYWxTY29w
ZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBidG9hKERPTVN0cmluZykgCitQQVNTIFdvcmtlckdsb2Jh
bFNjb3BlIGludGVyZmFjZTogb3BlcmF0aW9uIGF0b2IoRE9NU3RyaW5nKSAKK1BBU1MgV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0VGltZW91dChUaW1lckhhbmRsZXIs
IGxvbmcsIGFueSkgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogb3BlcmF0aW9u
IGNsZWFyVGltZW91dChsb25nKSAKK1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBv
cGVyYXRpb24gc2V0SW50ZXJ2YWwoVGltZXJIYW5kbGVyLCBsb25nLCBhbnkpIAorUEFTUyBXb3Jr
ZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbGVhckludGVydmFsKGxvbmcpIAor
UEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVJbWFnZUJp
dG1hcChJbWFnZUJpdG1hcFNvdXJjZSwgSW1hZ2VCaXRtYXBPcHRpb25zKSAKK1BBU1MgV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlSW1hZ2VCaXRtYXAoSW1hZ2VC
aXRtYXBTb3VyY2UsIGxvbmcsIGxvbmcsIGxvbmcsIGxvbmcsIEltYWdlQml0bWFwT3B0aW9ucykg
CitQQVNTIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSBpbnRl
cmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBPYmplY3Quc2V0UHJv
dG90eXBlT2Ygc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIAorUEFTUyBEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZSBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZp
YSBfX3Byb3RvX18gc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIAorUEFTUyBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRo
b2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVl
IHZpYSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gZmFsc2UgCitQQVNTIERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5
cGVPZl1dIG1ldGhvZCBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAtIHNldHRpbmcgdG8g
aXRzIG9yaWdpbmFsIHZhbHVlIHZpYSBPYmplY3Quc2V0UHJvdG90eXBlT2Ygc2hvdWxkIG5vdCB0
aHJvdyAKK1BBU1MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBpbnRlcm5h
bCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUgdmlhIF9fcHJvdG9fXyBzaG91bGQgbm90
IHRocm93IAorUEFTUyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGludGVy
bmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgUmVmbGVjdC5zZXRQcm90b3R5
cGVPZiBzaG91bGQgcmV0dXJuIHRydWUgCitQQVNTIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK0ZBSUwgRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBUaGUgZ2xvYmFsIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAibmFtZSIgZXhwZWN0ZWQg
cHJvcGVydHkgIm5hbWUiIG1pc3NpbmcKK1BBU1MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcG9zdE1lc3NhZ2UoYW55LCBbb2JqZWN0IE9iamVjdF0pIAor
RkFJTCBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9z
ZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IGdsb2JhbCBvYmplY3QgbWlzc2luZyBub24tc3RhdGlj
IG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAiY2xvc2UiIG1pc3NpbmcKK0ZBSUwgRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNzYWdlIFRoZSBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5vbm1lc3NhZ2UgZ2V0dGVyIGNhbiBvbmx5IGJlIHVz
ZWQgb24gaW5zdGFuY2VzIG9mIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlCitGQUlMIERlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogYXR0cmlidXRlIG9ubWVzc2FnZWVycm9y
IGFzc2VydF9vd25fcHJvcGVydHk6IFRoZSBnbG9iYWwgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJvbm1lc3NhZ2VlcnJvciIgZXhwZWN0ZWQgcHJvcGVydHkgIm9ubWVzc2FnZWVycm9yIiBt
aXNzaW5nCitQQVNTIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogaW50ZXJu
YWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBvZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0g
c2V0dGluZyB0byBhIG5ldyB2YWx1ZSB2aWEgT2JqZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCB0
aHJvdyBhIFR5cGVFcnJvciAKK1BBU1MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJm
YWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBwbGF0Zm9y
bSBvYmplY3QgLSBzZXR0aW5nIHRvIGEgbmV3IHZhbHVlIHZpYSBfX3Byb3RvX18gc2hvdWxkIHRo
cm93IGEgVHlwZUVycm9yIAorUEFTUyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZh
Y2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2YgZ2xvYmFsIHBsYXRmb3Jt
IG9iamVjdCAtIHNldHRpbmcgdG8gYSBuZXcgdmFsdWUgdmlhIFJlZmxlY3Quc2V0UHJvdG90eXBl
T2Ygc2hvdWxkIHJldHVybiBmYWxzZSAKK1BBU1MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUg
aW50ZXJmYWNlOiBpbnRlcm5hbCBbW1NldFByb3RvdHlwZU9mXV0gbWV0aG9kIG9mIGdsb2JhbCBw
bGF0Zm9ybSBvYmplY3QgLSBzZXR0aW5nIHRvIGl0cyBvcmlnaW5hbCB2YWx1ZSB2aWEgT2JqZWN0
LnNldFByb3RvdHlwZU9mIHNob3VsZCBub3QgdGhyb3cgCitQQVNTIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlIGludGVyZmFjZTogaW50ZXJuYWwgW1tTZXRQcm90b3R5cGVPZl1dIG1ldGhvZCBv
ZiBnbG9iYWwgcGxhdGZvcm0gb2JqZWN0IC0gc2V0dGluZyB0byBpdHMgb3JpZ2luYWwgdmFsdWUg
dmlhIF9fcHJvdG9fXyBzaG91bGQgbm90IHRocm93IAorUEFTUyBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSBpbnRlcmZhY2U6IGludGVybmFsIFtbU2V0UHJvdG90eXBlT2ZdXSBtZXRob2Qgb2Yg
Z2xvYmFsIHBsYXRmb3JtIG9iamVjdCAtIHNldHRpbmcgdG8gaXRzIG9yaWdpbmFsIHZhbHVlIHZp
YSBSZWZsZWN0LnNldFByb3RvdHlwZU9mIHNob3VsZCByZXR1cm4gdHJ1ZSAKK1BBU1MgRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBzZWxmIAor
UEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc2VsZiAKK0ZBSUwgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUgaW50ZXJmYWNlOiBzZWxmIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm5h
bWUiIG1pc3NpbmcKK1BBU1MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBz
ZWxmIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicG9zdE1lc3NhZ2UoYW55LCBbb2JqZWN0IE9iamVj
dF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUgaW50ZXJmYWNlOiBjYWxsaW5nIHBvc3RNZXNzYWdlKGFueSwgW29iamVjdCBPYmplY3RdKSBv
biBzZWxmIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitGQUlM
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImNsb3NlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9vd25fcHJvcGVy
dHk6IGV4cGVjdGVkIHByb3BlcnR5ICJjbG9zZSIgbWlzc2luZworUEFTUyBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1l
c3NhZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAorRkFJTCBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1lc3NhZ2VlcnJv
ciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJv
cGVydHkgIm9ubWVzc2FnZWVycm9yIiBtaXNzaW5nCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGlu
dGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNlbGYiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJsb2NhdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtl
ckdsb2JhbFNjb3BlIGludGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hdmln
YXRvciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVy
ZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImltcG9ydFNjcmlwdHMoVVNWU3RyaW5n
KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFj
ZTogY2FsbGluZyBpbXBvcnRTY3JpcHRzKFVTVlN0cmluZykgb24gc2VsZiB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBXb3JrZXJHbG9iYWxTY29wZSBp
bnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmVycm9yIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK0ZBSUwgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBzZWxmIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib25sYW5ndWFnZWNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAib25sYW5ndWFnZWNoYW5nZSIgbm90IGZvdW5kIGlu
IHByb3RvdHlwZSBjaGFpbgorUEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm9mZmxpbmUiIHdpdGggdGhlIHByb3BlciB0eXBlIAor
UEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbm9ubGluZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlMIFdvcmtlckdsb2JhbFNj
b3BlIGludGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucmVqZWN0aW9uaGFu
ZGxlZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAib25y
ZWplY3Rpb25oYW5kbGVkIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIFdvcmtl
ckdsb2JhbFNjb3BlIGludGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udW5o
YW5kbGVkcmVqZWN0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJvbnVuaGFuZGxlZHJlamVjdGlvbiIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFp
bgorUEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvcmlnaW4iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXb3JrZXJHbG9iYWxT
Y29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJidG9hKERPTVN0cmlu
ZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZh
Y2U6IGNhbGxpbmcgYnRvYShET01TdHJpbmcpIG9uIHNlbGYgd2l0aCB0b28gZmV3IGFyZ3VtZW50
cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNl
OiBzZWxmIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXRvYihET01TdHJpbmcpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBjYWxsaW5nIGF0
b2IoRE9NU3RyaW5nKSBvbiBzZWxmIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogc2VsZiBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgInNldFRpbWVvdXQoVGltZXJIYW5kbGVyLCBsb25nLCBhbnkpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBjYWxs
aW5nIHNldFRpbWVvdXQoVGltZXJIYW5kbGVyLCBsb25nLCBhbnkpIG9uIHNlbGYgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKK1BBU1MgV29ya2VyR2xvYmFsU2Nv
cGUgaW50ZXJmYWNlOiBzZWxmIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY2xlYXJUaW1lb3V0KGxv
bmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJm
YWNlOiBjYWxsaW5nIGNsZWFyVGltZW91dChsb25nKSBvbiBzZWxmIHdpdGggdG9vIGZldyBhcmd1
bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVy
ZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInNldEludGVydmFsKFRpbWVySGFuZGxl
ciwgbG9uZywgYW55KSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlckdsb2JhbFNj
b3BlIGludGVyZmFjZTogY2FsbGluZyBzZXRJbnRlcnZhbChUaW1lckhhbmRsZXIsIGxvbmcsIGFu
eSkgb24gc2VsZiB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAor
UEFTUyBXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJjbGVhckludGVydmFsKGxvbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29y
a2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNsZWFySW50ZXJ2YWwobG9uZykgb24g
c2VsZiB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBX
b3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IHNlbGYgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJj
cmVhdGVJbWFnZUJpdG1hcChJbWFnZUJpdG1hcFNvdXJjZSwgSW1hZ2VCaXRtYXBPcHRpb25zKSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTog
Y2FsbGluZyBjcmVhdGVJbWFnZUJpdG1hcChJbWFnZUJpdG1hcFNvdXJjZSwgSW1hZ2VCaXRtYXBP
cHRpb25zKSBvbiBzZWxmIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCitQQVNTIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImNyZWF0ZUltYWdlQml0bWFwKEltYWdlQml0bWFwU291cmNlLCBsb25nLCBsb25n
LCBsb25nLCBsb25nLCBJbWFnZUJpdG1hcE9wdGlvbnMpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBjYWxsaW5nIGNyZWF0ZUltYWdlQml0
bWFwKEltYWdlQml0bWFwU291cmNlLCBsb25nLCBsb25nLCBsb25nLCBsb25nLCBJbWFnZUJpdG1h
cE9wdGlvbnMpIG9uIHNlbGYgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKK1BBU1MgRXZlbnRUYXJnZXQgaW50ZXJmYWNlOiBzZWxmIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiYWRkRXZlbnRMaXN0ZW5lcihET01TdHJpbmcsIEV2ZW50TGlzdGVuZXIsIFtvYmplY3Qg
T2JqZWN0XSxbb2JqZWN0IE9iamVjdF0pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRXZl
bnRUYXJnZXQgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZEV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nLCBF
dmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBPYmplY3RdKSBvbiBzZWxmIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIEV2ZW50VGFy
Z2V0IGludGVyZmFjZTogc2VsZiBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlbW92ZUV2ZW50TGlz
dGVuZXIoRE9NU3RyaW5nLCBFdmVudExpc3RlbmVyLCBbb2JqZWN0IE9iamVjdF0sW29iamVjdCBP
YmplY3RdKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZTogY2FsbGluZyByZW1vdmVFdmVudExpc3RlbmVyKERPTVN0cmluZywgRXZlbnRMaXN0ZW5lciwg
W29iamVjdCBPYmplY3RdLFtvYmplY3QgT2JqZWN0XSkgb24gc2VsZiB3aXRoIHRvbyBmZXcgYXJn
dW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBFdmVudFRhcmdldCBpbnRlcmZhY2U6
IHNlbGYgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkaXNwYXRjaEV2ZW50KEV2ZW50KSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIEV2ZW50VGFyZ2V0IGludGVyZmFjZTogY2FsbGluZyBkaXNw
YXRjaEV2ZW50KEV2ZW50KSBvbiBzZWxmIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBXb3JrZXJOYXZpZ2F0b3Ig
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgV29ya2Vy
TmF2aWdhdG9yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgV29ya2Vy
TmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGFwcENvZGVOYW1lIAorUEFTUyBXb3JrZXJO
YXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYXBwTmFtZSAKK1BBU1MgV29ya2VyTmF2aWdh
dG9yIGludGVyZmFjZTogYXR0cmlidXRlIGFwcFZlcnNpb24gCitQQVNTIFdvcmtlck5hdmlnYXRv
ciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwbGF0Zm9ybSAKK1BBU1MgV29ya2VyTmF2aWdhdG9yIGlu
dGVyZmFjZTogYXR0cmlidXRlIHByb2R1Y3QgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZh
Y2U6IG1lbWJlciBwcm9kdWN0U3ViIAorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgdXNlckFnZW50IAorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBtZW1i
ZXIgdmVuZG9yIAorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBtZW1iZXIgdmVuZG9y
U3ViIAorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFuZ3VhZ2Ug
CitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYW5ndWFnZXMgCitQ
QVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbkxpbmUgCitGQUlMIFdv
cmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBoYXJkd2FyZUNvbmN1cnJlbmN5IGFz
c2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiaGFy
ZHdhcmVDb25jdXJyZW5jeSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgV29ya2VyTmF2
aWdhdG9yIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Ygc2VsZi5uYXZpZ2F0b3IgCitQQVNT
IFN0cmluZ2lmaWNhdGlvbiBvZiBzZWxmLm5hdmlnYXRvciAKK1BBU1MgV29ya2VyTmF2aWdhdG9y
IGludGVyZmFjZTogc2VsZi5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBDb2Rl
TmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZh
Y2U6IHNlbGYubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwTmFtZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IHNlbGYubmF2
aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwVmVyc2lvbiIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IHNlbGYubmF2aWdhdG9yIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGxhdGZvcm0iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBzZWxmLm5hdmlnYXRvciBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInByb2R1Y3QiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXb3JrZXJOYXZp
Z2F0b3JpbnRlcmZhY2U6IHNlbGYubmF2aWdhdG9ybXVzdCBub3QgaGF2ZSBwcm9wZXJ0eSAicHJv
ZHVjdFN1YiIgCitQQVNTIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IHNlbGYubmF2aWdhdG9y
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidXNlckFnZW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgV29ya2VyTmF2aWdhdG9yaW50ZXJmYWNlOiBzZWxmLm5hdmlnYXRvcm11c3Qgbm90IGhh
dmUgcHJvcGVydHkgInZlbmRvciIgCitQQVNTIFdvcmtlck5hdmlnYXRvcmludGVyZmFjZTogc2Vs
Zi5uYXZpZ2F0b3JtdXN0IG5vdCBoYXZlIHByb3BlcnR5ICJ2ZW5kb3JTdWIiIAorUEFTUyBXb3Jr
ZXJOYXZpZ2F0b3IgaW50ZXJmYWNlOiBzZWxmLm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImxhbmd1YWdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyTmF2aWdhdG9y
IGludGVyZmFjZTogc2VsZi5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsYW5ndWFn
ZXMiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXb3JrZXJOYXZpZ2F0b3IgaW50ZXJmYWNl
OiBzZWxmLm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uTGluZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitGQUlMIFdvcmtlck5hdmlnYXRvciBpbnRlcmZhY2U6IHNlbGYubmF2aWdh
dG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaGFyZHdhcmVDb25jdXJyZW5jeSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiaGFyZHdhcmVDb25jdXJyZW5j
eSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBXb3JrZXJMb2NhdGlvbiBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFT
UyBXb3JrZXJMb2NhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgV29ya2VyTG9j
YXRpb24gaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBXb3JrZXJMb2NhdGlvbiBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCAKK1BBU1MgV29ya2VyTG9jYXRpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAorUEFTUyBXb3JrZXJMb2NhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBocmVmIAorUEFTUyBX
b3JrZXJMb2NhdGlvbiBpbnRlcmZhY2U6IHN0cmluZ2lmaWVyIAorUEFTUyBXb3JrZXJMb2NhdGlv
biBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvcmlnaW4gCitQQVNTIFdvcmtlckxvY2F0aW9uIGludGVy
ZmFjZTogYXR0cmlidXRlIHByb3RvY29sIAorUEFTUyBXb3JrZXJMb2NhdGlvbiBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBob3N0IAorUEFTUyBXb3JrZXJMb2NhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBob3N0bmFtZSAKK1BBU1MgV29ya2VyTG9jYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcG9y
dCAKK1BBU1MgV29ya2VyTG9jYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGF0aG5hbWUgCitQ
QVNTIFdvcmtlckxvY2F0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIHNlYXJjaCAKK1BBU1MgV29y
a2VyTG9jYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaGFzaCAKK1BBU1MgV29ya2VyTG9jYXRp
b24gbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBzZWxmLmxvY2F0aW9uIAorUEFTUyBTdHJp
bmdpZmljYXRpb24gb2Ygc2VsZi5sb2NhdGlvbiAKK1BBU1MgV29ya2VyTG9jYXRpb24gaW50ZXJm
YWNlOiBzZWxmLmxvY2F0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaHJlZiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlckxvY2F0aW9uIGludGVyZmFjZTogc2VsZi5sb2NhdGlv
biBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9yaWdpbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQ
QVNTIFdvcmtlckxvY2F0aW9uIGludGVyZmFjZTogc2VsZi5sb2NhdGlvbiBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInByb3RvY29sIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyTG9j
YXRpb24gaW50ZXJmYWNlOiBzZWxmLmxvY2F0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaG9z
dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdvcmtlckxvY2F0aW9uIGludGVyZmFjZTog
c2VsZi5sb2NhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVydHkgImhvc3RuYW1lIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyTG9jYXRpb24gaW50ZXJmYWNlOiBzZWxmLmxvY2F0aW9u
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicG9ydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNT
IFdvcmtlckxvY2F0aW9uIGludGVyZmFjZTogc2VsZi5sb2NhdGlvbiBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInBhdGhuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyTG9jYXRp
b24gaW50ZXJmYWNlOiBzZWxmLmxvY2F0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic2VhcmNo
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV29ya2VyTG9jYXRpb24gaW50ZXJmYWNlOiBz
ZWxmLmxvY2F0aW9uIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiaGFzaCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzLndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMud29ya2VyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzLndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0g
VGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBy
dW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzLndvcmtlci5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
YzlmMzYwNmZhZWU1YWE2NWNlZWFlMDAyZTJjODM5OGE0MDkyMTA5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMud29ya2VyLmpzCkBAIC0wLDAgKzEsMjAgQEAKKyJ1c2Ugc3RyaWN0IjsKKworaW1w
b3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworaW1wb3J0U2NyaXB0cygi
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMiLCAiL3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzIik7
CisKK3ZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CityZXF1ZXN0Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICB2YXIgaWRsQXJyYXkgPSBuZXcgSWRsQXJyYXkoKTsKKyAgdmFyIGlk
bHMgPSByZXF1ZXN0LnJlc3BvbnNlVGV4dDsKKyAgaWRsQXJyYXkuYWRkX2lkbHMoaWRscyk7Cisg
IGlkbEFycmF5LmFkZF9vYmplY3RzKHsKKyAgICBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTog
WydzZWxmJ10sCisgICAgV29ya2VyTmF2aWdhdG9yOiBbJ3NlbGYubmF2aWdhdG9yJ10sCisgICAg
V29ya2VyTG9jYXRpb246IFsnc2VsZi5sb2NhdGlvbiddLAorICB9KTsKKyAgaWRsQXJyYXkudGVz
dCgpOworICBkb25lKCk7Cit9OworcmVxdWVzdC5vcGVuKCJHRVQiLCAiL2ludGVyZmFjZXMvZGVk
aWNhdGVkLXdvcmtlcnMuaWRsIik7CityZXF1ZXN0LnNlbmQoKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL0V2ZW50VGFyZ2V0Lndvcmtlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9FdmVudFRhcmdldC53b3JrZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0YTllNzdlMTQwYmU4ZGY5ODI0ODhiNDI3MDI0ZTVk
YmUzOTcwOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS9FdmVudFRhcmdldC53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQ
QVNTIHJlbW92ZUV2ZW50TGlzdGVuZXIgCitQQVNTIHRhcmdldCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvRXZlbnRUYXJnZXQud29ya2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9FdmVudFRhcmdldC53b3JrZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvRXZlbnRUYXJn
ZXQud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUvRXZlbnRUYXJnZXQud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUvRXZlbnRUYXJnZXQud29ya2VyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1
NGM0NmMwN2VjYWJjNDdjM2M3OWRhZGMxMDUyZTEzMzgyZjY2ZTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9FdmVudFRhcmdldC53b3JrZXIuanMK
QEAgLTAsMCArMSwyMyBAQAoraW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyIpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgaSA9IDA7CisgICAgYWRkRXZlbnRM
aXN0ZW5lcigibWVzc2FnZSIsIGZ1bmN0aW9uIGxpc3RlbmVyKGV2dCkgeworICAgICAgICB0LnN0
ZXAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICArK2k7CisgICAgICAgICAgICByZW1vdmVFdmVu
dExpc3RlbmVyKCJtZXNzYWdlIiwgbGlzdGVuZXIsIHRydWUpOworICAgICAgICB9KTsKKyAgICB9
LCB0cnVlKTsKKyAgICBzZWxmLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJtZXNzYWdlIikpOwor
ICAgIHNlbGYuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoIm1lc3NhZ2UiKSk7CisgICAgYXNzZXJ0
X2VxdWFscyhpLCAxKTsKK30sICJyZW1vdmVFdmVudExpc3RlbmVyIik7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgICAgYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHRoaXMuc3RlcF9mdW5jKGZ1
bmN0aW9uKGV2dCkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2dC50YXJnZXQsIHNlbGYpOwor
ICAgIH0pLCB0cnVlKTsKKyAgICBzZWxmLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJtZXNzYWdl
IikpOworfSwgInRhcmdldCIpOworCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS9vbm1lc3NhZ2Uud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL29ubWVzc2FnZS53b3JrZXItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZlYzI4YmQwZWNhZTg3NDk4MDI2NTRmYTQ5NzYxYWI4NTk0ZDNkNDQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9vbm1lc3Nh
Z2Uud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworUEFTUyBTZXR0aW5nIG9u
bWVzc2FnZSB0byAxIAorRkFJTCBTZXR0aW5nIG9ubWVzc2FnZSB0byBhbiBvYmplY3QgYXNzZXJ0
X3VucmVhY2hlZDogUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFNldHRpbmcgb25tZXNz
YWdlIHRvIGEgZnVuY3Rpb24gCitQQVNTIFNldHRpbmcgb25tZXNzYWdlIHRvIDEgKGFnYWluKSAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvb25tZXNzYWdl
Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvb25tZXNzYWdl
Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5
ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS9vbm1lc3NhZ2Uud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvb25tZXNzYWdlLndvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL29ubWVzc2FnZS53b3JrZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmYyODVjYWFjMzg1NzRjYTk1Y2Q2MzRlMDE0Y2E0NDRmMjQ2YmY3MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL29ubWVzc2FnZS53b3Jr
ZXIuanMKQEAgLTAsMCArMSw0MCBAQAoraW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBzZWxmLm9ubWVzc2FnZSA9IDE7Cisg
IGFzc2VydF9lcXVhbHMoc2VsZi5vbm1lc3NhZ2UsIG51bGwsCisgICAgICAgICAgICAgICAgImF0
dHJpYnV0ZSBzaG91bGQgcmV0dXJuIG51bGwgYWZ0ZXIgYmVpbmcgc2V0IHRvIGEgcHJpbWl0aXZl
Iik7Cit9LCAiU2V0dGluZyBvbm1lc3NhZ2UgdG8gMSIpOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICB2YXIgb2JqZWN0ID0geworICAgIGhhbmRsZUV2ZW50OiB0aGlzLnVucmVhY2hlZF9mdW5jKCkK
KyAgfTsKKyAgc2VsZi5vbm1lc3NhZ2UgPSBvYmplY3Q7CisgIGFzc2VydF9lcXVhbHMoc2VsZi5v
bm1lc3NhZ2UsIG9iamVjdCwKKyAgICAgICAgICAgICAgICAiYXR0cmlidXRlIHNob3VsZCByZXR1
cm4gdGhlIG9iamVjdCBpdCB3YXMgc2V0IHRvLiIpOworCisgIHNlbGYuZGlzcGF0Y2hFdmVudChu
ZXcgRXZlbnQoIm1lc3NhZ2UiKSk7Cit9LCAiU2V0dGluZyBvbm1lc3NhZ2UgdG8gYW4gb2JqZWN0
Iik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB0cmlnZ2VyZWQgPSBmYWxzZTsKKyAgdmFy
IGYgPSBmdW5jdGlvbihlKSB7IHRyaWdnZXJlZCA9IHRydWU7IH07CisgIHNlbGYub25tZXNzYWdl
ID0gZjsKKyAgYXNzZXJ0X2VxdWFscyhzZWxmLm9ubWVzc2FnZSwgZiwKKyAgICAgICAgICAgICAg
ICAiYXR0cmlidXRlIHNob3VsZCByZXR1cm4gdGhlIGZ1bmN0aW9uIGl0IHdhcyBzZXQgdG8uIik7
CisKKyAgc2VsZi5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgibWVzc2FnZSIpKTsKKyAgYXNzZXJ0
X3RydWUodHJpZ2dlcmVkLCAiZXZlbnQgaGFuZGxlciBzaG91bGQgaGF2ZSBiZWVuIHRyaWdnZXJl
ZCIpOworfSwgIlNldHRpbmcgb25tZXNzYWdlIHRvIGEgZnVuY3Rpb24iKTsKKworCit0ZXN0KGZ1
bmN0aW9uKCkgeworICBhc3NlcnRfbm90X2VxdWFscyhzZWxmLm9ubWVzc2FnZSwgbnVsbCwKKyAg
ICAgICAgICAgICAgICAgICAgImF0dHJpYnV0ZSBzaG91bGQgbm90IHJldHVybiBudWxsIGFmdGVy
IGJlaW5nIHNldCB0byBhIGZ1bmN0aW9uIik7CisgIHNlbGYub25tZXNzYWdlID0gMTsKKyAgYXNz
ZXJ0X2VxdWFscyhzZWxmLm9ubWVzc2FnZSwgbnVsbCwKKyAgICAgICAgICAgICAgICAiYXR0cmli
dXRlIHNob3VsZCByZXR1cm4gbnVsbCBhZnRlciBiZWluZyBzZXQgdG8gYSBwcmltaXRpdmUiKTsK
K30sICJTZXR0aW5nIG9ubWVzc2FnZSB0byAxIChhZ2FpbikiKTsKKworZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvZXZlbnQt
cG9ydHMtZGVkaWNhdGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlL3Bvc3RNZXNzYWdlL2V2ZW50LXBvcnRzLWRlZGljYXRlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWI3ODc2OTgwNjdiNDRlMWZmNTM1NDUzMDlhNzdlY2ZjZTRlMWRkOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdl
L2V2ZW50LXBvcnRzLWRlZGljYXRlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgZS5wb3J0cyBpbiBkZWRpY2F0ZWQgd29ya2VyIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9ldmVudC1wb3J0cy1kZWRpY2F0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL2V2ZW50
LXBvcnRzLWRlZGljYXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhZTRiMDcwNDc0NDJhMzM4ZjQ2NDkx
YTdiOWQwMzE5OTQ4NDIxMzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9ldmVudC1wb3J0cy1kZWRpY2F0ZWQuaHRtbApAQCAt
MCwwICsxLDI1IEBACis8IS0tCitvbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgIHBvc3RNZXNz
YWdlKGUucG9ydHMgaW5zdGFuY2VvZiBBcnJheSAmJiBlLnBvcnRzLmxlbmd0aCA9PT0gMCk7Cit9
CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5lLnBvcnRzIGluIGRlZGljYXRlZCB3
b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisoYXN5bmNfdGVzdCgpKS5z
dGVwKGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOworICB3b3Jr
ZXIucG9zdE1lc3NhZ2UoMSk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhm
dW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X3RydWUoZS5kYXRhKTsKKyAgICB0aGlzLmRvbmUoKTsK
KyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL2ltYWdlZGF0YS1jbG9u
ZWQtY2FudmFzLWluLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlL3Bvc3RNZXNzYWdlL2ltYWdlZGF0YS1jbG9uZWQtY2FudmFzLWluLWFycmF5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODE5NWM4NDQwODY0NGI2ZGFhNTQ0OWQ1Yjk1MzJmZTgw
ZjdkMmRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUvcG9zdE1lc3NhZ2UvaW1hZ2VkYXRhLWNsb25lZC1jYW52YXMtaW4tYXJyYXktZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHBvc3RpbmcgYW4gaW1hZ2VkYXRhIChmcm9tIGEg
Y2xvbmVkIGNhbnZhcykgaW4gYW4gYXJyYXkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL2ltYWdlZGF0YS1jbG9uZWQtY2FudmFzLWlu
LWFycmF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2Fn
ZS9pbWFnZWRhdGEtY2xvbmVkLWNhbnZhcy1pbi1hcnJheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNDEz
MDE1NDE4M2UzOTZlMWRlZWVlZWY0ZDhlYTE4ZmYwODkyZDcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9pbWFnZWRhdGEtY2xv
bmVkLWNhbnZhcy1pbi1hcnJheS5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhLS0KK29ubWVzc2Fn
ZSA9IGZ1bmN0aW9uKGUpIHsKKyAgZnVuY3Rpb24gcHJvY2Vzc1BpeGVscyhpbWFnZWRhdGEpIHsK
KyAgICB2YXIgcGl4ZWxkYXRhID0gaW1hZ2VkYXRhLmRhdGE7CisgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBwaXhlbGRhdGEubGVuZ3RoOyBpID0gaSs0KSB7CisgICAgICBwaXhlbGRhdGFbaV0gPSAx
Mjg7CisgICAgfQorICAgIHBvc3RNZXNzYWdlKGltYWdlZGF0YSk7CisgIH0KKyAgcHJvY2Vzc1Bp
eGVscyhlLmRhdGFbMF0pOworfQorCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5w
b3N0aW5nIGFuIGltYWdlZGF0YSAoZnJvbSBhIGNsb25lZCBjYW52YXMpIGluIGFuIGFycmF5PC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorKGFzeW5jX3Rlc3QoKSkuc3RlcChmdW5j
dGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgdmFyIGNhbnZhcyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICB2YXIgY2xvbmUgPSBjYW52YXMu
Y2xvbmVOb2RlKHRydWUpOworICB2YXIgY3R4ID0gY2xvbmUuZ2V0Q29udGV4dCgnMmQnKTsKKyAg
dmFyIGltYWdlZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMzAwLCAxNTApOworICB3b3Jr
ZXIucG9zdE1lc3NhZ2UoW2ltYWdlZGF0YV0pOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5z
dGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIHZhciBwaXhlbGRhdGEgPSBlLmRhdGEuZGF0YTsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBpeGVsZGF0YS5sZW5ndGg7IGkrKykgeworICAgICAg
YXNzZXJ0X2VxdWFscyhwaXhlbGRhdGFbaV0sIChpICUgNCA9PSAwKSA/IDEyOCA6IDApOworICAg
IH0KKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8v
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvbWVzc2FnZS1ldmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9tZXNzYWdl
LWV2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjkxN2UyYmZjYzE5NDk0NTFiNGJhYTU4
ZTkwNjVjZjAwYzAxYTRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvbWVzc2FnZS1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgUHJvcGVydGllcyBvZiB0aGUgJ21lc3NhZ2UnIGV2ZW50IAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9t
ZXNzYWdlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0
TWVzc2FnZS9tZXNzYWdlLWV2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFlYzYzMjY4NWYzMDRkMzc5
ZjJiYjU4NGI0N2FkN2VhNWFmMjIxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL21lc3NhZ2UtZXZlbnQuaHRtbApAQCAtMCww
ICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
J21lc3NhZ2UnIGV2ZW50IHByb3BlcnRpZXM8L3RpdGxlPgorPGxpbmsgcmVsPWhlbHAgaHJlZj0i
aHR0cDovL3d3dy53aGF0d2cub3JnL2h0bWwvI2RvbS1kZWRpY2F0ZWR3b3JrZXJnbG9iYWxzY29w
ZS1wb3N0bWVzc2FnZSI+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoIlByb3BlcnRp
ZXMgb2YgdGhlICdtZXNzYWdlJyBldmVudCIpLnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZhciB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCJtZXNzYWdlLWV2ZW50LmpzIik7CisgIHdvcmtlci5vbm1lc3NhZ2Ug
PSB0aGlzLnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uIChldnQpIHsKKyAgICBhc3NlcnRfY2xhc3Nf
c3RyaW5nKGV2dCwgIk1lc3NhZ2VFdmVudCIpOworICAgIGFzc2VydF9lcXVhbHMoZXZ0LnR5cGUs
ICJtZXNzYWdlIik7CisgICAgYXNzZXJ0X2ZhbHNlKGV2dC5idWJibGVzLCAiYnViYmxlcyBzaG91
bGQgYmUgZmFsc2UiKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZ0LmNhbmNlbGFibGUsICJjYW5jZWxh
YmxlIHNob3VsZCBiZSBmYWxzZSIpOworICAgIGFzc2VydF9lcXVhbHMoZXZ0LmRhdGEsICJ0ZXN0
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhldnQub3JpZ2luLCAiIiwgIm9yaWdpbiIpOworICAgIGFz
c2VydF9lcXVhbHMoZXZ0Lmxhc3RFdmVudElkLCAiIiwgImxhc3RFdmVudElkIik7CisgICAgYXNz
ZXJ0X2VxdWFscyhldnQuc291cmNlLCBudWxsLCAic291cmNlIik7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhldnQucG9ydHMsIFtdLCAicG9ydHMiKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uv
bWVzc2FnZS1ldmVudC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RN
ZXNzYWdlL21lc3NhZ2UtZXZlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRhMjUwMDA1ZThkZTg1OTMxZjRm
MDUxYjlkNDI0ZDFlMWRkM2NkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL21lc3NhZ2UtZXZlbnQuanMKQEAgLTAsMCArMSBA
QAorcG9zdE1lc3NhZ2UoInRlc3QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3JldHVybi12YWx1ZS53b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvcmV0dXJuLXZh
bHVlLndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY3NTcxYzllYmRkNTA4NjFjMmNl
OGFkMDNmZWMzMjMwNDBlNmVkMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3JldHVybi12YWx1ZS53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHJldHVybiB2YWx1ZSBvZiBwb3N0TWVzc2FnZSAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3Nh
Z2UvcmV0dXJuLXZhbHVlLndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUvcG9zdE1lc3NhZ2UvcmV0dXJuLXZhbHVlLndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIz
ODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9yZXR1cm4tdmFs
dWUud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvcmV0dXJuLXZhbHVlLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3JldHVybi12YWx1
ZS53b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIxMjUxNjk5YTA4M2RlOTczMTUxYzVhMDUyZTIwMTJl
MWQxNzIyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlL3Bvc3RNZXNzYWdlL3JldHVybi12YWx1ZS53b3JrZXIuanMKQEAgLTAsMCArMSw4IEBACitp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgIHZhciBydiA9IHBvc3RNZXNzYWdlKDEpOworICBhc3NlcnRfZXF1YWxzKHJ2LCB1
bmRlZmluZWQpOworfSwgInJldHVybiB2YWx1ZSBvZiBwb3N0TWVzc2FnZSIpOworCitkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2Fn
ZS9zZWNvbmQtYXJndW1lbnQtbnVsbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9zZWNvbmQtYXJndW1lbnQtbnVsbC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGY2NzJmNjAwMDY4NzAwNjVmZTAzNDliYzMzNjA2NGMxN2Y2ZmFjYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RN
ZXNzYWdlL3NlY29uZC1hcmd1bWVudC1udWxsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBVc2luZyBudWxsIGluIHBvc3RNZXNzYWdlJ3Mgc2Vjb25kIGFyZ3VtZW50IAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9z
ZWNvbmQtYXJndW1lbnQtbnVsbC1pbi1hcnJheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9zZWNvbmQtYXJndW1lbnQtbnVsbC1pbi1h
cnJheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVhNDY0ZWFkMmE5Y2FjZWI5Zjg5ZWNiOTM4
OTVhODM2Yzg2MmY3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NlY29uZC1hcmd1bWVudC1udWxsLWluLWFycmF5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBVc2luZyBbbnVsbF0gaW4gcG9zdE1lc3Nh
Z2UncyBzZWNvbmQgYXJndW1lbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NlY29uZC1hcmd1bWVudC1udWxsLWluLWFycmF5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9zZWNvbmQt
YXJndW1lbnQtbnVsbC1pbi1hcnJheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmNGM5ZjgzZTZmNGI2MzNl
MzJjOWQwMWMyZjAyZDBkZThkYThmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9zZWNvbmQtYXJndW1lbnQtbnVsbC1pbi1h
cnJheS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhLS0KK3RyeSB7CisgIHBvc3RNZXNzYWdlKGZh
bHNlLCBbbnVsbF0pOworfSBjYXRjaChlKSB7CisgIHBvc3RNZXNzYWdlKGUgaW5zdGFuY2VvZiBU
eXBlRXJyb3IpOworfQorLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+VXNpbmcgW251
bGxdIGluIHBvc3RNZXNzYWdlJ3Mgc2Vjb25kIGFyZ3VtZW50PC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorKGFzeW5jX3Rlc3QoKSkuc3RlcChmdW5jdGlvbigpIHsKKyAgdmFyIHdv
cmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9m
dW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShlLmRhdGEpOworICAgIHRoaXMuZG9u
ZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc2Vjb25kLWFy
Z3VtZW50LW51bGwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RN
ZXNzYWdlL3NlY29uZC1hcmd1bWVudC1udWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgxYTU2YmFkM2Qz
ZDExMTkzMTk0Nzc3ZjczNDJjOGZjMTkwZTUxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NlY29uZC1hcmd1bWVudC1udWxs
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCEtLQordHJ5IHsKKyAgcG9zdE1lc3NhZ2UoMSwgbnVs
bCk7Cit9IGNhdGNoKGUpIHsKKyAgcG9zdE1lc3NhZ2UoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7
Cit9CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5Vc2luZyBudWxsIGluIHBvc3RN
ZXNzYWdlJ3Mgc2Vjb25kIGFyZ3VtZW50PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0
PgorKGFzeW5jX3Rlc3QoKSkuc3RlcChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBX
b3JrZXIoJyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9u
KGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShlLmRhdGEpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsK
K30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NlY29uZC1hcmd1bWVudC11bmRlZmlu
ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1l
c3NhZ2Uvc2Vjb25kLWFyZ3VtZW50LXVuZGVmaW5lZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTU1MTI5MDc4NDBlNjEzYmU5MWY0YzJkM2FmYjRjNWNmNjY3YmE1ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NlY29uZC1h
cmd1bWVudC11bmRlZmluZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFVz
aW5nIHVuZGVmaW5lZCBpbiBwb3N0TWVzc2FnZSdzIHNlY29uZCBhcmd1bWVudCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc2Vjb25k
LWFyZ3VtZW50LXVuZGVmaW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUvcG9zdE1lc3NhZ2Uvc2Vjb25kLWFyZ3VtZW50LXVuZGVmaW5lZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdkMDFlYmE3YWZmODUyMTZjYjVlMzZjZGI4N2UyMzBlYzg0NzE0ZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0TWVzc2FnZS9zZWNvbmQt
YXJndW1lbnQtdW5kZWZpbmVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCEtLQordHJ5IHsKKyAg
cG9zdE1lc3NhZ2UoMSwgdW5kZWZpbmVkKTsKK30gY2F0Y2goZSkgeworICBwb3N0TWVzc2FnZSgn
JytlKTsKK30KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlVzaW5nIHVuZGVmaW5l
ZCBpbiBwb3N0TWVzc2FnZSdzIHNlY29uZCBhcmd1bWVudDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPHNjcmlwdD4KKyhhc3luY190ZXN0KCkpLnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZhciB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVu
YyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsIDEpOworICAgIHRoaXMu
ZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NldHRpbmct
cG9zdE1lc3NhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUvcG9zdE1lc3NhZ2Uvc2V0dGluZy1wb3N0TWVzc2FnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWU3NTc4MDcxN2VkN2JhNTBhOGI2OGE3Yzc0NDk1OThiNjAzODc4NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NldHRp
bmctcG9zdE1lc3NhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHNldHRp
bmcgcG9zdE1lc3NhZ2UgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlL3Bvc3RNZXNzYWdlL3NldHRpbmctcG9zdE1lc3NhZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NldHRpbmctcG9zdE1lc3NhZ2UuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMWEzZjBmNWM3MGE2Zjg1YTNhMDE2Zjg4YjU1MWZiYzRkNWY2NGJkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1l
c3NhZ2Uvc2V0dGluZy1wb3N0TWVzc2FnZS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhLS0KK3Zh
ciB4ID0gcG9zdE1lc3NhZ2U7Citwb3N0TWVzc2FnZSA9IDE7Cit4KHBvc3RNZXNzYWdlID09IDEp
OworCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zZXR0aW5nIHBvc3RNZXNzYWdl
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorKGFzeW5jX3Rlc3QoKSkuc3RlcChm
dW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9u
bWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShl
LmRhdGEpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisq
LworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bv
c3RNZXNzYWdlL3N0cnVjdHVyZWQtY2xvbmUtaW1hZ2VkYXRhLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3N0cnVjdHVyZWQtY2xvbmUt
aW1hZ2VkYXRhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGUyM2IxNGM2NDgxNmRjMDZiNmM0
ODA5M2YwYzQ3OTQxN2NhMmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1jbG9uZS1pbWFnZWRhdGEtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHN0cnVjdHVyZWQgY2xvbmUgb2YgSW1h
Z2VEYXRhIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9w
b3N0TWVzc2FnZS9zdHJ1Y3R1cmVkLWNsb25lLWltYWdlZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1jbG9uZS1pbWFnZWRh
dGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jMGRlZDZhMjgwNTEwYzZkYjZiNjBmZjUxM2FhNzMxOGFiNzdk
NWJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUv
cG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1jbG9uZS1pbWFnZWRhdGEuaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IS0tCitvbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgIHZhciBpbWFnZWRhdGEgPSBl
LmRhdGE7CisgIGltYWdlZGF0YS5kYXRhWzBdID0gMTI4OworICBwb3N0TWVzc2FnZShpbWFnZWRh
dGEpOworfQorCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zdHJ1Y3R1cmVkIGNs
b25lIG9mIEltYWdlRGF0YTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKyhhc3lu
Y190ZXN0KCkpLnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcj
Jyk7CisgIHZhciBjdHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250
ZXh0KCcyZCcpOworICB2YXIgaW1hZ2VkYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAzMDAs
IDE1MCk7CisgIHdvcmtlci5wb3N0TWVzc2FnZShpbWFnZWRhdGEpOworICB3b3JrZXIub25tZXNz
YWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoJycr
ZS5kYXRhLCAnW29iamVjdCBJbWFnZURhdGFdJyk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEu
ZGF0YVswXSwgMTI4KTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgor
PCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS9wb3N0TWVzc2FnZS9zdHJ1Y3R1cmVkLWNsb25lLW1lc3NhZ2UtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1j
bG9uZS1tZXNzYWdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDIzNTdmY2UwZDRhM2E3ZTAw
MWYxMzgzMGI1YWZkZmVhNWVlZWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1jbG9uZS1tZXNzYWdlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3IEBACisKK1BBU1Mgc3RydWN0dXJlZCBjbG9uZSBvZiBt
ZXNzYWdlIAorUEFTUyB1bmRlZmluZWQgCitQQVNTIG51bGwgCitQQVNTIGZhbHNlIAorUEFTUyB0
cnVlIAorUEFTUyAxIAorUEFTUyBOYU4gCitQQVNTIEluZmluaXR5IAorUEFTUyBzdHJpbmcgCitQ
QVNTIGRhdGUgCitQQVNTIHJlZ2V4cCAKK1BBU1Mgc2VsZiAKK1BBU1MgYXJyYXkgCitQQVNTIG9i
amVjdCAKK1BBU1MgZXJyb3IgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3N0cnVjdHVyZWQtY2xvbmUtbWVzc2FnZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc3RydWN0dXJlZC1jbG9u
ZS1tZXNzYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEzNTc0MjFmOTllMzc2OGU4OTc3ZTE0YWRkNjlk
ZDJkZTg3ZTEyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlL3Bvc3RNZXNzYWdlL3N0cnVjdHVyZWQtY2xvbmUtbWVzc2FnZS5odG1sCkBAIC0wLDAg
KzEsNTggQEAKKzwhLS0KK3ZhciBlcnIgPSBuZXcgRXJyb3IoJ2ZvbycpOwordmFyIGRhdGUgPSBu
ZXcgRGF0ZSgpOworLy8gY29tbWVudGVkIG91dCBiaXRzIGFyZSBlaXRoZXIgdGVzdGVkIGVsc2V3
aGVyZSBvciBub3Qgc3VwcG9ydGVkIHlldC4gb3IgdW5jbG9uZWFibGUuCit2YXIgdGVzdHMgPSBb
dW5kZWZpbmVkLCBudWxsLCBmYWxzZSwgdHJ1ZSwgMSwgTmFOLCBJbmZpbml0eSwgJ2ZvbycsIGRh
dGUsIC9mb28vLCAvKiBJbWFnZURhdGEsIEZpbGUsIEZpbGVEYXRhLCBGaWxlTGlzdCwqLyBudWxs
LypzZWxmKi8sCisgICAgICAgICAgICAgIFt1bmRlZmluZWQsIG51bGwsIGZhbHNlLCB0cnVlLCAx
LCBOYU4sIEluZmluaXR5LCAnZm9vJywgLypkYXRlLCAvZm9vLywqLyBudWxsLypzZWxmKi8sIC8q
W10sIHt9LCovIG51bGwvKmVyciovXSwKKyAgICAgICAgICAgICAge2E6dW5kZWZpbmVkLCBiOm51
bGwsIGM6ZmFsc2UsIGQ6dHJ1ZSwgZToxLCBmOk5hTiwgZzpJbmZpbml0eSwgaDonZm9vJywgLypp
OmRhdGUsIGo6L2Zvby8sKi8gazpudWxsLypzZWxmKi8sIC8qbDpbXSwgbTp7fSwqLyBuOm51bGwv
KmVyciovfSwKKyAgICAgICAgICAgIG51bGwvKmVyciovXTsKK2ZvciAodmFyIGkgPSAwOyBpIDwg
dGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgdHJ5IHsKKyAgICBwb3N0TWVzc2FnZSh0ZXN0c1tpXSk7
CisgIH0gY2F0Y2goZSkgeworICAgIHBvc3RNZXNzYWdlKCcnK2UpOworICB9Cit9CisvKgorLS0+
Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zdHJ1Y3R1cmVkIGNsb25lIG9mIG1lc3NhZ2U8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgd3JhcHBlcl90ZXN0ID0gYXN5bmNf
dGVzdCgpOwordmFyIHRlc3RzID0gWworICAgICAge3Rlc3Q6YXN5bmNfdGVzdCgndW5kZWZpbmVk
JyksIGNoZWNrOmZ1bmN0aW9uKGUpIHsgYXNzZXJ0X2VxdWFscyhlLmRhdGEsIHVuZGVmaW5lZCk7
IH19LAorICAgICAge3Rlc3Q6YXN5bmNfdGVzdCgnbnVsbCcpLCBjaGVjazpmdW5jdGlvbihlKSB7
IGFzc2VydF9lcXVhbHMoZS5kYXRhLCBudWxsKTsgfX0sCisgICAgICB7dGVzdDphc3luY190ZXN0
KCdmYWxzZScpLCBjaGVjazpmdW5jdGlvbihlKSB7IGFzc2VydF9mYWxzZShlLmRhdGEpOyB9fSwK
KyAgICAgIHt0ZXN0OmFzeW5jX3Rlc3QoJ3RydWUnKSwgY2hlY2s6ZnVuY3Rpb24oZSkgeyBhc3Nl
cnRfdHJ1ZShlLmRhdGEpOyB9fSwKKyAgICAgIHt0ZXN0OmFzeW5jX3Rlc3QoJzEnKSwgY2hlY2s6
ZnVuY3Rpb24oZSkgeyBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgMSk7IH19LAorICAgICAge3Rlc3Q6
YXN5bmNfdGVzdCgnTmFOJyksIGNoZWNrOmZ1bmN0aW9uKGUpIHsgYXNzZXJ0X2VxdWFscyhlLmRh
dGEsIE5hTik7IH19LAorICAgICAge3Rlc3Q6YXN5bmNfdGVzdCgnSW5maW5pdHknKSwgY2hlY2s6
ZnVuY3Rpb24oZSkgeyBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgSW5maW5pdHkpOyB9fSwKKyAgICAg
IHt0ZXN0OmFzeW5jX3Rlc3QoJ3N0cmluZycpLCBjaGVjazpmdW5jdGlvbihlKSB7IGFzc2VydF9l
cXVhbHMoZS5kYXRhLCAnZm9vJyk7IH19LAorICAgICAge3Rlc3Q6YXN5bmNfdGVzdCgnZGF0ZScp
LCBjaGVjazpmdW5jdGlvbihlKSB7IGFzc2VydF9lcXVhbHMoZS5kYXRhIGluc3RhbmNlb2YgRGF0
ZSwgdHJ1ZSk7IH19LAorICAgICAge3Rlc3Q6YXN5bmNfdGVzdCgncmVnZXhwJyksIGNoZWNrOmZ1
bmN0aW9uKGUpIHsgYXNzZXJ0X2VxdWFscygnJyArIGUuZGF0YSwgJy9mb28vJyk7IGFzc2VydF9l
cXVhbHMoZS5kYXRhIGluc3RhbmNlb2YgUmVnRXhwLCB0cnVlLCAnZS5kYXRhIGluc3RhbmNlb2Yg
UmVnRXhwJyk7IH19LAorICAgICAge3Rlc3Q6YXN5bmNfdGVzdCgnc2VsZicpLCBjaGVjazpmdW5j
dGlvbihlKSB7IGFzc2VydF9lcXVhbHMoZS5kYXRhLCBudWxsKTsgfX0sCisgICAgICB7dGVzdDph
c3luY190ZXN0KCdhcnJheScpLCBjaGVjazpmdW5jdGlvbihlKSB7IGFzc2VydF9hcnJheV9lcXVh
bHMoZS5kYXRhLCBbdW5kZWZpbmVkLCBudWxsLCBmYWxzZSwgdHJ1ZSwgMSwgTmFOLCBJbmZpbml0
eSwgJ2ZvbycsIG51bGwsIG51bGxdKTsgfX0sCisgICAgICB7dGVzdDphc3luY190ZXN0KCdvYmpl
Y3QnKSwgY2hlY2s6ZnVuY3Rpb24oZSkgeyBhc3NlcnRfb2JqZWN0X2VxdWFscyhlLmRhdGEsIHth
OnVuZGVmaW5lZCwgYjpudWxsLCBjOmZhbHNlLCBkOnRydWUsIGU6MSwgZjpOYU4sIGc6SW5maW5p
dHksIGg6J2ZvbycsIGs6bnVsbCwgbjpudWxsfSk7IH19LAorICAgICAge3Rlc3Q6YXN5bmNfdGVz
dCgnZXJyb3InKSwgY2hlY2s6ZnVuY3Rpb24oZSkgeyBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgbnVs
bCwgJ25ldyBFcnJvcigpJyk7IH19LAorICAgICAge3Rlc3Q6d3JhcHBlcl90ZXN0LCBjaGVjazpm
dW5jdGlvbihlKSB7IGFzc2VydF91bnJlYWNoZWQoKTsgfX0KK107CisvLyBtYWtlIHdyYXBwZXJf
dGVzdCBwYXNzIGFmdGVyIDUwMG1zCitzZXRUaW1lb3V0KHRlc3RzW3Rlc3RzLmxlbmd0aC0xXS50
ZXN0LnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgdGhpcy5kb25lKCk7Cit9KSwgNTAwKTsKKwor
d3JhcHBlcl90ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2Vy
KCcjJyk7CisgIHZhciBpID0gMDsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsK
KyAgICB0ZXN0c1tpXS50ZXN0LnN0ZXAoZnVuY3Rpb24oKSB7IHRlc3RzW2ldLmNoZWNrKGUpOyB0
aGlzLmRvbmUoKTsgfSk7CisgICAgaSsrOworICB9OworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyov
CisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9z
dE1lc3NhZ2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS9wb3N0TWVzc2FnZS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWZjZDZiZjgwMmM2Yjlh
ZDk4NDhkNzMwZWQxMTliNzlkZTA5MDFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwyNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1l
c3NhZ2UvZXZlbnQtcG9ydHMtZGVkaWNhdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS9wb3N0TWVzc2FnZS9pbWFnZWRhdGEtY2xvbmVkLWNhbnZhcy1pbi1hcnJheS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2UvbWVzc2Fn
ZS1ldmVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3Nh
Z2UvbWVzc2FnZS1ldmVudC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bv
c3RNZXNzYWdlL3JldHVybi12YWx1ZS53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS9wb3N0TWVzc2FnZS9zZWNvbmQtYXJndW1lbnQtbnVsbC1pbi1hcnJheS5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvcG9zdE1lc3NhZ2Uvc2Vjb25kLWFy
Z3VtZW50LW51bGwuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RN
ZXNzYWdlL3NlY29uZC1hcmd1bWVudC11bmRlZmluZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3NldHRpbmctcG9zdE1lc3NhZ2UuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlL3Bvc3RNZXNzYWdlL3N0cnVjdHVyZWQtY2xv
bmUtaW1hZ2VkYXRhLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS9wb3N0
TWVzc2FnZS9zdHJ1Y3R1cmVkLWNsb25lLW1lc3NhZ2UuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODdkNjEyZTc3
NmEyN2Q4YjFjODNmN2Y5OGNmMzA4MGM2NTg2NjM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBA
QAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzND
IHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktp
dC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlo
dHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUg
VG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitE
byBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJv
cGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qg
b2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvRXZlbnRUYXJnZXQu
d29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUvb25tZXNzYWdlLndv
cmtlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvbmFtZS9n
ZXR0aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUv
Z2V0dGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGRhZTNjODRiODNiMWYwMjFjMTdlN2Zj
NzRlNWJkN2I5MzBkYzQ4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlL25hbWUvZ2V0dGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK0ZB
SUwgZ2V0dGluZyBuYW1lIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBn
ZXR0aW5nIG5hbWUgMSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgZ2V0
dGluZyBuYW1lIDIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUvZ2V0dGluZy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvbmFtZS9nZXR0aW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmZlODFhOGE5YzA5NGQzOGViYzQxODA3ZGZlNTlhYzhhMDQ4YTYxOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUvZ2V0dGluZy5odG1sCkBAIC0w
LDAgKzEsMzQgQEAKKzwhLS0KK2FkZEV2ZW50TGlzdGVuZXIoJ2Nvbm5lY3QnLCBmdW5jdGlvbihl
KSB7CisgIHZhciBwYXNzZWQ7CisgIHN3aXRjaCAobG9jYXRpb24uaGFzaCkgeworICAgIGNhc2Ug
JyMxJzogcGFzc2VkID0gbmFtZSA9PSAnJzsgYnJlYWs7CisgICAgY2FzZSAnIzInOiBwYXNzZWQg
PSBuYW1lID09ICdhJzsgYnJlYWs7CisgICAgY2FzZSAnIzMnOiBwYXNzZWQgPSBuYW1lID09ICcw
JzsgYnJlYWs7CisgIH0KKyAgZS5wb3J0c1swXS5wb3N0TWVzc2FnZShwYXNzZWQpOworfSwgZmFs
c2UpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+Z2V0dGluZyBuYW1lPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxk
aXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHRlc3RzID0gW1snIzEnLCAnJ10sIFsn
IzInLCAnYSddLCBbJyMzJywgLTBdXTsKK3Rlc3RzLmZvckVhY2goZnVuY3Rpb24odCkgeworICBh
c3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAgIHZhciB3ID0gbmV3IFNoYXJlZFdvcmtlcih0WzBd
LCB0WzFdKTsKKyAgICB3LnBvcnQub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgeworICAgICAgYXNzZXJ0X3RydWUoZS5kYXRhKTsKKyAgICAgIHRoaXMuZG9uZSgpOworICAg
IH0pOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS9uYW1lL3NldHRpbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvbmFtZS9zZXR0aW5nLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42ZjgzNmVlMTRkY2RhZjRlNGIzMGFkMTI5NDlhZTFjY2FhOWYwMTMy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvbmFtZS9z
ZXR0aW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBzZXR0aW5nIG5hbWUg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1No
YXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUvc2V0dGluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGUvbmFtZS9zZXR0aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzljZGY3YjY3NGJm
MDk0MjdiYmQzYWM4YzJmOGJhMzA4YWQyMmMwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1No
YXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUvc2V0dGluZy5odG1sCkBAIC0wLDAgKzEsMjUgQEAK
KzwhLS0KK2FkZEV2ZW50TGlzdGVuZXIoJ2Nvbm5lY3QnLCBmdW5jdGlvbihlKSB7CisgIG5hbWUg
PSAxOworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKG5hbWUpOworfSwgZmFsc2UpOworLyoKKy0t
PgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+c2V0dGluZyBuYW1lPC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+
PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHcxID0gbmV3
IFNoYXJlZFdvcmtlcignIzEnLCAneCcpOworICB3MS5wb3J0LmFkZEV2ZW50TGlzdGVuZXIoJ21l
c3NhZ2UnLCB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGEsICd4Jyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pLCBmYWxzZSk7CisgIHcxLnBvcnQu
c3RhcnQoKTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9T
aGFyZWRXb3JrZXJHbG9iYWxTY29wZS9uYW1lL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2
MWM5NjEyNzA4NTgxMTk3YTg5M2ZmN2ViYThjZGQ4MmJiOGQ5ZmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS9uYW1lL3czYy1pbXBvcnQubG9nCkBAIC0w
LDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL25hbWUv
Z2V0dGluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvbmFtZS9zZXR0aW5n
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL29uY29ubmVj
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS9vbmNvbm5lY3Qt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZmQwZWUzZjA4NWRkY2JmNDBjMjQ1NDJjZmRlODRk
MGRlNmIzZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9TaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS9vbmNvbm5lY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIG9uY29ubmVj
dCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvb25jb25uZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9TaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZS9vbmNvbm5lY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYWQxNTViZjdhOTMzYzE0
MjQxYmRjNGMxMTJlYmNhZTQyODk4ZWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGUvb25jb25uZWN0Lmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCEtLQor
dmFyIHJlc3VsdHMgPSBbXTsKK3RyeSB7CisgIHNlbGYub25jb25uZWN0ID0gMTsKKyAgcmVzdWx0
cy5wdXNoKFN0cmluZyhvbmNvbm5lY3QpKTsKK30gY2F0Y2goZSkgeworICByZXN1bHRzLnB1c2go
JycrZSk7Cit9Cit0cnkgeworICBzZWxmLm9uY29ubmVjdCA9IHtoYW5kbGVFdmVudDpmdW5jdGlv
bigpe319OworICByZXN1bHRzLnB1c2goU3RyaW5nKG9uY29ubmVjdCkpOworfSBjYXRjaChlKSB7
CisgIHJlc3VsdHMucHVzaCgnJytlKTsKK30KK3ZhciBmID0gZnVuY3Rpb24oZSkgeworICByZXN1
bHRzLnB1c2goZS5kYXRhKTsKKyAgZS5wb3J0c1swXS5wb3N0TWVzc2FnZShyZXN1bHRzKTsKK307
CitvbmNvbm5lY3QgPSBmOworcmVzdWx0cy5wdXNoKHR5cGVvZiBvbmNvbm5lY3QpOworLyoKKy0t
PgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+b25jb25uZWN0PC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHcxID0gbmV3IFNo
YXJlZFdvcmtlcignIycsICcnKTsKKyAgdzEucG9ydC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdl
JywgdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZS5kYXRhLCBbJ251bGwnLCAnbnVsbCcsICdmdW5jdGlvbicsICcnXSk7CisgIH0pLCBmYWxzZSk7
CisgIHcxLnBvcnQuc3RhcnQoKTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzVhN2U4NTNjOWI4NDE2M2ZjYjZjNDhhY2EzNWFiMjIyZTFlZTdhMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL3czYy1pbXBvcnQubG9nCkBAIC0wLDAg
KzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlL29uY29ubmVj
dC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9jbG9zZS9pbmNvbWlu
Zy1tZXNzYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2Nsb3NlL2lu
Y29taW5nLW1lc3NhZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwNWY3N2YwYWUwNzYyZWQ2
ZjIyMzdjMjU1MjlhZjFjZjQ2NTIzN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJH
bG9iYWxTY29wZS9jbG9zZS9pbmNvbWluZy1tZXNzYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBjbG9zZSgpIGFuZCBpbmNvbWluZyBtZXNzYWdlIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9jbG9zZS9pbmNvbWluZy1tZXNzYWdlLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9jbG9zZS9pbmNvbWluZy1tZXNzYWdlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDY1Njk1NjMyYmMxMjdlMzY1Y2I4NDEwZDgyYTQ3N2U1NmY1NWIxOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2Nsb3NlL2luY29taW5nLW1lc3NhZ2Uu
aHRtbApAQCAtMCwwICsxLDI5IEBACis8IS0tCitvbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7Cisg
IHBvc3RNZXNzYWdlKDEpOworICB0aHJvdyBuZXcgRXJyb3IoKTsKK30KK2Nsb3NlKCk7CisvKgor
LS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5jbG9zZSgpIGFuZCBpbmNvbWluZyBtZXNzYWdl
PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHdvcmtlciA9IG5ldyBXb3Jr
ZXIoJyMnKTsKK3dvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgIGFzc2VydF91bnJl
YWNoZWQoIkdvdCBtZXNzYWdlIik7Cit9Oword29ya2VyLm9uZXJyb3IgPSBmdW5jdGlvbihlKSB7
CisgIGFzc2VydF91bnJlYWNoZWQoIkdvdCBlcnJvciIpOworfTsKK3dvcmtlci5wb3N0TWVzc2Fn
ZSgxKTsKK3NldFRpbWVvdXQoZG9uZSwgMjAwMCk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0t
PgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2Nsb3NlL3NlbmRpbmct
bWVzc2FnZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvY2xvc2Uvc2Vu
ZGluZy1tZXNzYWdlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY3ZDQwNTgxZDljYWM0MmU1
YjRlZjhiMDgzNmIyOTQ0NzJkYzA4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2Nsb3NlL3NlbmRpbmctbWVzc2FnZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIGNsb3NlKCkgYW5kIHNlbmRpbmcgbWVzc2FnZXMgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2Nsb3NlL3NlbmRpbmctbWVzc2FnZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlckdsb2JhbFNjb3BlL2Nsb3NlL3NlbmRpbmctbWVzc2FnZXMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ODNjNDIyY2M1NTliMGJlYzlmMzRjNjg5NDJjZDU5ODY0NTc5MTA4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvY2xvc2Uvc2VuZGluZy1tZXNzYWdlcy5o
dG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhLS0KK3Bvc3RNZXNzYWdlKDEpOworY2xvc2UoKTsKK3Bv
c3RNZXNzYWdlKDIpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+Y2xvc2UoKSBh
bmQgc2VuZGluZyBtZXNzYWdlczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2Fz
eW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7Cisg
IHZhciBpID0gMDsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9u
KGUpIHsKKyAgICBpKys7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsIGkpOworICAgIGlmIChp
ID09IDIpIHsKKyAgICAgIHRoaXMuZG9uZSgpOworICAgIH0KKyAgfSk7Cit9KTsKKzwvc2NyaXB0
PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9j
bG9zZS9zZXRJbnRlcnZhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9j
bG9zZS9zZXRJbnRlcnZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzNiMDVhZmNjZTBiMjZl
OTliYWU4NjUxZTg5MDEwMmU1NmYzY2UzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
ckdsb2JhbFNjb3BlL2Nsb3NlL3NldEludGVydmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBjbG9zZSgpIGFuZCBzZXRJbnRlcnZhbCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyR2xvYmFsU2NvcGUvY2xvc2Uvc2V0SW50ZXJ2YWwuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2Nsb3NlL3NldEludGVydmFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQ3ZDE3OGQyMmVj
NjJmZjkzZGVmNWI5Nzk5N2E1MWNjZWYwZDAyZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dv
cmtlckdsb2JhbFNjb3BlL2Nsb3NlL3NldEludGVydmFsLmh0bWwKQEAgLTAsMCArMSwzNCBAQAor
PCEtLQordmFyIGludGVydmFsMSA9IHNldEludGVydmFsKGZ1bmN0aW9uKCkgeworICBjbGVhcklu
dGVydmFsKGludGVydmFsMSk7CisgIHBvc3RNZXNzYWdlKDEpOworICB0aHJvdyBuZXcgRXJyb3Io
KTsKK30sIDEwKTsKK2Nsb3NlKCk7Cit2YXIgaW50ZXJ2YWwyID0gc2V0SW50ZXJ2YWwoZnVuY3Rp
b24oKSB7CisgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwyKTsKKyAgcG9zdE1lc3NhZ2UoMSk7Cisg
IHRocm93IG5ldyBFcnJvcigpOworfSwgMTApOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8
dGl0bGU+Y2xvc2UoKSBhbmQgc2V0SW50ZXJ2YWw8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxz
Y3JpcHQ+Cit2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOword29ya2VyLm9ubWVzc2FnZSA9
IGZ1bmN0aW9uKGUpIHsKKyAgYXNzZXJ0X3VucmVhY2hlZCgiR290IG1lc3NhZ2UiKTsKK307Cit3
b3JrZXIub25lcnJvciA9IGZ1bmN0aW9uKGUpIHsKKyAgYXNzZXJ0X3VucmVhY2hlZCgiR290IGVy
cm9yIik7Cit9Oworc2V0VGltZW91dChkb25lLCAyMDAwKTsKKzwvc2NyaXB0PgorPCEtLQorKi8K
Ky8vLS0+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvY2xvc2Uvc2V0
VGltZW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9jbG9zZS9zZXRU
aW1lb3V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGY2NDkyNWQ0NmU2YjA0MWFlODc4MDkw
OGU1ZGFhYjFjNmNmYjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvY2xvc2Uvc2V0VGltZW91dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
Y2xvc2UoKSBhbmQgc2V0VGltZW91dCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvY2xvc2Uvc2V0VGltZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvY2xv
c2Uvc2V0VGltZW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyZmExMGRmYzk3ODAyOGMxMDdjMzNkMzU2
ODNlZWQ2NjMxMWQ4N2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29w
ZS9jbG9zZS9zZXRUaW1lb3V0Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCEtLQorZnVuY3Rpb24g
eCgpIHsKKyAgcG9zdE1lc3NhZ2UoMSk7CisgIHRocm93IG5ldyBFcnJvcigpOworfQorc2V0VGlt
ZW91dCh4LCAwKTsKK2Nsb3NlKCk7CitzZXRUaW1lb3V0KHgsIDApOworLyoKKy0tPgorPCFkb2N0
eXBlIGh0bWw+Cis8dGl0bGU+Y2xvc2UoKSBhbmQgc2V0VGltZW91dDwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ci
PjwvZGl2PgorPHNjcmlwdD4KK3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7Cit3b3JrZXIu
b25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeworICBhc3NlcnRfdW5yZWFjaGVkKCJHb3QgbWVzc2Fn
ZSIpOworfTsKK3dvcmtlci5vbmVycm9yID0gZnVuY3Rpb24oZSkgeworICBhc3NlcnRfdW5yZWFj
aGVkKCJHb3QgZXJyb3IiKTsKK307CitzZXRUaW1lb3V0KGRvbmUsIDIwMDApOworPC9zY3JpcHQ+
Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2Ns
b3NlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvY2xvc2UvdzNjLWlt
cG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZjNGRlZWI0NjNhMDQ0MDMyM2MzMTZjN2M5MjhhYjhjMDgw
ODg4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2Nsb3NlL3cz
Yy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBm
aWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL2Nsb3NlL2luY29taW5nLW1lc3NhZ2UuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNj
b3BlL2Nsb3NlL3NlbmRpbmctbWVzc2FnZXMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L2Nsb3NlL3NldEludGVydmFsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9jbG9zZS9z
ZXRUaW1lb3V0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0
aW9uL2hlbHBlci1yZWRpcmVjdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9u
L2hlbHBlci1yZWRpcmVjdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjE1OTlhNTc3ZmI2ZjhjNjlhZTE5NTUy
OTRmYzJiYzQ5M2RkNGUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5CkBAIC0wLDAgKzEsMyBAQAorZGVmIG1haW4o
cmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJlc3BvbnNlLnN0YXR1cyA9IDMwMgorICAgIHJlc3Bv
bnNlLmhlYWRlcnMuYXBwZW5kKCJMb2NhdGlvbiIsICJwb3N0LWxvY2F0aW9uLW1lbWJlcnMuanM/
YSIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9tZW1iZXJz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL21lbWJlcnMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwMWViMzY1NWQwNGNkMTAyMjQwNWQ3MTNiY2RmMWUz
NDU2NWVmMDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2Nh
dGlvbi9tZW1iZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBtZW1iZXJz
IG9mIFdvcmtlckxvY2F0aW9uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29w
ZS9sb2NhdGlvbi9tZW1iZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlv
bi9tZW1iZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzFkZGYzN2ExYjBmMzQyY2Y3ZjIzOGRiYjBjODAx
NDAwODE5NDRkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xv
Y2F0aW9uL21lbWJlcnMuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IS0tCitwb3N0TWVzc2FnZShb
bnVsbCwgbG9jYXRpb24uaHJlZiwgbG9jYXRpb24ucHJvdG9jb2wsIGxvY2F0aW9uLmhvc3QsCisg
ICAgICAgICAgICAgbG9jYXRpb24uaG9zdG5hbWUsIGxvY2F0aW9uLnBvcnQsIGxvY2F0aW9uLnBh
dGhuYW1lLAorICAgICAgICAgICAgIGxvY2F0aW9uLnNlYXJjaCwgbG9jYXRpb24uaGFzaF0pOwor
LyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+bWVtYmVycyBvZiBXb3JrZXJMb2NhdGlv
bjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2Ug
PSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGFb
MF0sIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzFdLCBsb2NhdGlvbi5ocmVmICsg
JyMnLCAnaHJlZicpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzJdLCBsb2NhdGlvbi5wcm90
b2NvbCwgJ3Byb3RvY29sJyk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGFbM10sIGxvY2F0aW9u
Lmhvc3QsICdob3N0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGFbNF0sIGxvY2F0aW9uLmhv
c3RuYW1lLCAnaG9zdG5hbWUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVs1XSwgbG9jYXRp
b24ucG9ydCwgJ3BvcnQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVs2XSwgbG9jYXRpb24u
cGF0aG5hbWUsICdwYXRobmFtZScpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzddLCBsb2Nh
dGlvbi5zZWFyY2gsICdzZWFyY2gnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVs4XSwgJycs
ICdoYXNoJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0K
KyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24v
cG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRp
b24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NTBiNzZiNmU1ZjUyMzg5
YWYzZDIxMzc1NmZmN2ZjMGU3YTFjMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJH
bG9iYWxTY29wZS9sb2NhdGlvbi9wb3N0LWxvY2F0aW9uLW1lbWJlcnMuanMKQEAgLTAsMCArMSw4
IEBACitwb3N0TWVzc2FnZShbbG9jYXRpb24uaHJlZiwKKyAgICAgICAgICAgICBsb2NhdGlvbi5w
cm90b2NvbCwKKyAgICAgICAgICAgICBsb2NhdGlvbi5ob3N0LAorICAgICAgICAgICAgIGxvY2F0
aW9uLmhvc3RuYW1lLAorICAgICAgICAgICAgIGxvY2F0aW9uLnBvcnQsCisgICAgICAgICAgICAg
bG9jYXRpb24ucGF0aG5hbWUsCisgICAgICAgICAgICAgbG9jYXRpb24uc2VhcmNoLAorICAgICAg
ICAgICAgIGxvY2F0aW9uLmhhc2hdKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGU2NWUzMGM4YzZlYWJlZjQ5ZTljNGYyMTZmNWFhOTI3MTMwMjcy
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Jl
ZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBsb2NhdGlvbiB3aXRo
IGEgd29ya2VyIGluIHNlcGFyYXRlIGZpbGUgdGhhdCByZWRpcmVjdHMgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
R2xvYmFsU2NvcGUvbG9jYXRpb24vcG9zdC1sb2NhdGlvbi1tZW1iZXJzLmpzP2EiIGJ1dCBnb3Qg
Imh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vaGVscGVyLXJlZGlyZWN0LnB5P2ZhaWwiCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3JlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJH
bG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmZDE2YTRjMTYz
ZWIwY2MzZTVjZTJkZTA2ZmM2MThiYzhjMTczMWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsMjggQEAK
KzwhLS0KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmxvY2F0aW9uIHdpdGggYSB3
b3JrZXIgaW4gc2VwYXJhdGUgZmlsZSB0aGF0IHJlZGlyZWN0czwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwv
ZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKCdoZWxwZXItcmVkaXJlY3QucHk/ZmFpbCcpOworICB3b3JrZXIub25tZXNzYWdl
ID0gdGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGFbMF0sIGxvY2F0aW9uLmhyZWYucmVwbGFjZSgvXC9bXlwvXSskLywgJy9wb3N0LWxvY2F0
aW9uLW1lbWJlcnMuanM/YScpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVsxXSwgbG9jYXRp
b24ucHJvdG9jb2wpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzJdLCBsb2NhdGlvbi5ob3N0
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVszXSwgbG9jYXRpb24uaG9zdG5hbWUpOworICAg
IGFzc2VydF9lcXVhbHMoZS5kYXRhWzRdLCBsb2NhdGlvbi5wb3J0KTsKKyAgICBhc3NlcnRfZXF1
YWxzKGUuZGF0YVs1XSwgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXC9bXlwvXSskLywgJy9w
b3N0LWxvY2F0aW9uLW1lbWJlcnMuanMnKSk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGFbNl0s
ICc/YScpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzddLCAnJyk7CisgIH0pOworfSk7Cis8
L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckds
b2JhbFNjb3BlL2xvY2F0aW9uL3JldHVybnMtc2FtZS1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmV0dXJucy1zYW1lLW9iamVjdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWNkYzQxNmYyYzgwYzI0MjgwYzI5NTVjOWQzOTNhN2U0M2Y2MjA0
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3Jl
dHVybnMtc2FtZS1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGxv
Y2F0aW9uID09PSBsb2NhdGlvbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvbG9jYXRpb24vcmV0dXJucy1zYW1lLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvbG9jYXRpb24vcmV0dXJucy1zYW1lLW9iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwNTU5
YzE2NjBjNDk1OGM1YTUxMmI2NjIwMDI3ODhiZDcyMjdlNWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZXR1cm5zLXNhbWUtb2JqZWN0Lmh0bWwK
QEAgLTAsMCArMSwyMSBAQAorPCEtLQorcG9zdE1lc3NhZ2UobG9jYXRpb24gPT09IGxvY2F0aW9u
KTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmxvY2F0aW9uID09PSBsb2NhdGlv
bjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2Ug
PSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X3RydWUoZS5kYXRhKTsK
KyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9zZXR0aW5nLW1l
bWJlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vc2V0
dGluZy1tZW1iZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjVhZjMyZGQ2OWQxYTRiZmQy
MmI0MDc3OGIzMmMzMjQ3ZDE1MjVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xv
YmFsU2NvcGUvbG9jYXRpb24vc2V0dGluZy1tZW1iZXJzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBzZXR0aW5nIG1lbWJlcnMgb2YgV29ya2VyTG9jYXRpb24gCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3NldHRpbmctbWVtYmVycy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vc2V0dGluZy1tZW1iZXJzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDJmNDcwZmZjYjQ5NGYzYWZhZDY5ZjFhODJlZWUwOTc5YWFjYjk3OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3NldHRp
bmctbWVtYmVycy5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhLS0KK3ZhciBleGNlcHRpb25zID0g
W107Cit0cnkgeyBsb2NhdGlvbi5ocmVmID0gMTsgfSBjYXRjaChlKSB7IGV4Y2VwdGlvbnMucHVz
aCgnaHJlZicpOyB9Cit0cnkgeyBsb2NhdGlvbi5wcm90b2NvbCA9IDE7IH0gY2F0Y2goZSkgeyBl
eGNlcHRpb25zLnB1c2goJ3Byb3RvY29sJyk7IH0KK3RyeSB7IGxvY2F0aW9uLmhvc3QgPSAxOyB9
IGNhdGNoKGUpIHsgZXhjZXB0aW9ucy5wdXNoKCdob3N0Jyk7IH0KK3RyeSB7IGxvY2F0aW9uLmhv
c3RuYW1lID0gMTsgfSBjYXRjaChlKSB7IGV4Y2VwdGlvbnMucHVzaCgnaG9zdG5hbWUnKTt9Cit0
cnkgeyBsb2NhdGlvbi5wb3J0ID0gMTsgfSBjYXRjaChlKSB7IGV4Y2VwdGlvbnMucHVzaCgncG9y
dCcpOyB9Cit0cnkgeyBsb2NhdGlvbi5wYXRobmFtZSA9IDE7IH0gY2F0Y2goZSkgeyBleGNlcHRp
b25zLnB1c2goJ3BhdGhuYW1lJyk7IH0KK3RyeSB7IGxvY2F0aW9uLnNlYXJjaCA9IDE7IH0gY2F0
Y2goZSkgeyBleGNlcHRpb25zLnB1c2goJ3NlYXJjaCcpOyB9Cit0cnkgeyBsb2NhdGlvbi5oYXNo
ID0gMTsgfSBjYXRjaChlKSB7IGV4Y2VwdGlvbnMucHVzaCgnaGFzaCcpOyB9CisKK3Bvc3RNZXNz
YWdlKFtudWxsLCBsb2NhdGlvbi5ocmVmLCBsb2NhdGlvbi5wcm90b2NvbCwgbG9jYXRpb24uaG9z
dCwKKyAgICAgICAgICAgICBsb2NhdGlvbi5ob3N0bmFtZSwgbG9jYXRpb24ucG9ydCwgbG9jYXRp
b24ucGF0aG5hbWUsCisgICAgICAgICAgICAgbG9jYXRpb24uc2VhcmNoLCBsb2NhdGlvbi5oYXNo
LCBleGNlcHRpb25zXSk7CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zZXR0aW5n
IG1lbWJlcnMgb2YgV29ya2VyTG9jYXRpb248L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3Jp
cHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcign
IycpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewor
ICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzBdLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUu
ZGF0YVsxXSwgbG9jYXRpb24uaHJlZiArICcjJywgJ2hyZWYnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGUuZGF0YVsyXSwgbG9jYXRpb24ucHJvdG9jb2wsICdwcm90b2NvbCcpOworICAgIGFzc2VydF9l
cXVhbHMoZS5kYXRhWzNdLCBsb2NhdGlvbi5ob3N0LCAnaG9zdCcpOworICAgIGFzc2VydF9lcXVh
bHMoZS5kYXRhWzRdLCBsb2NhdGlvbi5ob3N0bmFtZSwgJ2hvc3RuYW1lJyk7CisgICAgYXNzZXJ0
X2VxdWFscyhlLmRhdGFbNV0sIGxvY2F0aW9uLnBvcnQsICdwb3J0Jyk7CisgICAgYXNzZXJ0X2Vx
dWFscyhlLmRhdGFbNl0sIGxvY2F0aW9uLnBhdGhuYW1lLCAncGF0aG5hbWUnKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGUuZGF0YVs3XSwgbG9jYXRpb24uc2VhcmNoLCAnc2VhcmNoJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhlLmRhdGFbOF0sICcnLCAnaGFzaCcpOworICAgIGFzc2VydF9hcnJheV9lcXVh
bHMoZS5kYXRhWzldLCBbXSwgJ251bWJlciBvZiBleGNlcHRpb25zJyk7CisgICAgdGhpcy5kb25l
KCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNj
ZjIzYWI1MjkyMjA4NjFlMzdlZDE3ZDA2ODY3MzYxNzAwY2M3ZTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi93M2MtaW1wb3J0LmxvZwpAQCAtMCww
ICsxLDIzIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9oZWxw
ZXItcmVkaXJlY3QucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9tZW1iZXJz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9wb3N0LWxvY2F0aW9uLW1l
bWJlcnMuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi9yZWRpcmVjdC5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vcmV0dXJucy1zYW1lLW9iamVjdC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvbG9jYXRpb24vc2V0dGluZy1tZW1iZXJzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi93b3JrZXItc2VwYXJhdGUtZmls
ZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi93b3Jr
ZXItc2VwYXJhdGUtZmlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9s
b2NhdGlvbi93b3JrZXItc2VwYXJhdGUtZmlsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQ4
YWJiMWE1Mjk4NmZkMzcxMThmMWM4MGE2M2NmMzNhN2NmMGM0ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL2xvY2F0aW9uL3dvcmtlci1zZXBhcmF0ZS1maWxlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBsb2NhdGlvbiB3aXRoIGEgd29ya2Vy
IGluIHNlcGFyYXRlIGZpbGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L2xvY2F0aW9uL3dvcmtlci1zZXBhcmF0ZS1maWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxT
Y29wZS9sb2NhdGlvbi93b3JrZXItc2VwYXJhdGUtZmlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFjOGU2
NGRjYzg4NjBmNmU2ZmIzOTA4NzVlYTQxYTc4YWFlNTk5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9sb2NhdGlvbi93b3JrZXItc2VwYXJhdGUtZmlsZS5odG1s
CkBAIC0wLDAgKzEsMjggQEAKKzwhLS0KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxl
PmxvY2F0aW9uIHdpdGggYSB3b3JrZXIgaW4gc2VwYXJhdGUgZmlsZTwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ci
PjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIg
PSBuZXcgV29ya2VyKCdwb3N0LWxvY2F0aW9uLW1lbWJlcnMuanM/YSNiP2MnKTsKKyAgd29ya2Vy
Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1
YWxzKGUuZGF0YVswXSwgbG9jYXRpb24uaHJlZi5yZXBsYWNlKC9cL1teXC9dKyQvLCAnL3Bvc3Qt
bG9jYXRpb24tbWVtYmVycy5qcz9hI2I/YycpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVsx
XSwgbG9jYXRpb24ucHJvdG9jb2wpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzJdLCBsb2Nh
dGlvbi5ob3N0KTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YVszXSwgbG9jYXRpb24uaG9zdG5h
bWUpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzRdLCBsb2NhdGlvbi5wb3J0KTsKKyAgICBh
c3NlcnRfZXF1YWxzKGUuZGF0YVs1XSwgbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXC9bXlwv
XSskLywgJy9wb3N0LWxvY2F0aW9uLW1lbWJlcnMuanMnKSk7CisgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGFbNl0sICc/YScpOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhWzddLCAnI2I/YycpOwor
ICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25lcnJvci9leGNlcHRpb24t
aW4tb25lcnJvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9vbmVycm9y
L2V4Y2VwdGlvbi1pbi1vbmVycm9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTlhNDc1NzY3
NDk4OGZkZmJmOGJiYTE2YzMwM2NjZjlmMDdiMmM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyR2xvYmFsU2NvcGUvb25lcnJvci9leGNlcHRpb24taW4tb25lcnJvci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHkKKworUEFTUyBvbmVycm9yLCAibm90IGhhbmRsZWQi
IHdpdGggYW4gZXJyb3IgaW4gdGhlIG9uZXJyb3IgZnVuY3Rpb24gCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3IvZXhjZXB0aW9uLWluLW9uZXJyb3IuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3IvZXhjZXB0aW9uLWluLW9uZXJyb3IuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40YjVhZjcxZDUxNmIwZjZlMGZkYTNmOGUyMjUzY2I2NzIwNzAxYTc5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25lcnJvci9leGNlcHRp
b24taW4tb25lcnJvci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhLS0KK29uZXJyb3IgPSBmdW5j
dGlvbihhLCBiLCBjLCBkKSB7CisgIHkoKTsgLy8gdGhlIGVycm9yIGlzICJub3QgaGFuZGxlZCIK
K30KK2Z1bmN0aW9uIHgoKSB7CisgIHkoKTsKK30KK3goKTsKKy8qCistLT4KKzwhZG9jdHlwZSBo
dG1sPgorPHRpdGxlPm9uZXJyb3IsICJub3QgaGFuZGxlZCIgd2l0aCBhbiBlcnJvciBpbiB0aGUg
b25lcnJvciBmdW5jdGlvbjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5j
X3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdv
cmtlci5vbmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF90
cnVlKGUgaW5zdGFuY2VvZiBFcnJvckV2ZW50LCAnZSBpbnN0YW5jZW9mIEVycm9yRXZlbnQnKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBlLm1lc3NhZ2UsICdzdHJpbmcnLCAndHlwZW9mIGUu
bWVzc2FnZScpOworICAgIGFzc2VydF9lcXVhbHMoZS5maWxlbmFtZSwgZG9jdW1lbnQuVVJMKycj
JywgJ2UuZmlsZW5hbWUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBlLmxpbmVubywgJ251
bWJlcicsICd0eXBlb2YgZS5saW5lbm8nKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBlLmNv
bG5vLCAnbnVtYmVyJywgJ3R5cGVvZiBlLmNvbHVtbicpOworICAgIGUucHJldmVudERlZmF1bHQo
KTsgLy8gImhhbmRsZWQiCisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4K
KzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25l
cnJvci9oYW5kbGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJy
b3IvaGFuZGxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWMyYjUyMzRmYzJhYjE4ZDUyZmNk
MDM5NWJkMzQzZGI1YTEzYTIzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2Jh
bFNjb3BlL29uZXJyb3IvaGFuZGxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BB
U1Mgb25lcnJvciwgImhhbmRsZWQiIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxT
Y29wZS9vbmVycm9yL2hhbmRsZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJy
b3IvaGFuZGxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZmVlOGUwNjM1MjkxYzNlMjdiYjFmYjNmYzll
NjNkOTVjYmMwMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9v
bmVycm9yL2hhbmRsZWQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IS0tCitvbmVycm9yID0gZnVu
Y3Rpb24oYSwgYiwgYywgZCkgeworICBwb3N0TWVzc2FnZShbYSwgYiwgYywgZF0pOworICByZXR1
cm4gdHJ1ZTsgLy8gdGhlIGVycm9yIGlzICJoYW5kbGVkIgorfQorZnVuY3Rpb24geCgpIHsKKyAg
eSgpOworfQoreCgpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+b25lcnJvciwg
ImhhbmRsZWQiPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChm
dW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9u
bWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZiBlLmRhdGFbMF0sICdzdHJpbmcnLCAnZmlyc3QgYXJndW1lbnQnKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGUuZGF0YVsxXSwgZG9jdW1lbnQuVVJMKycjJywgJ3NlY29uZCBhcmd1bWVudCcp
OworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGUuZGF0YVsyXSwgJ251bWJlcicsICd0aGlyZCBh
cmd1bWVudCcpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGUuZGF0YVszXSwgJ251bWJlcics
ICdmb3VydGggYXJndW1lbnQnKTsKKyAgICBzZXRUaW1lb3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0
aW9uKCkgeworICAgICAgdGhpcy5kb25lKCk7CisgICAgfSksIDEwMCk7CisgIH0pOworICB3b3Jr
ZXIub25lcnJvciA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdW5y
ZWFjaGVkKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L29uZXJyb3Ivbm90LWhhbmRsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2Nv
cGUvb25lcnJvci9ub3QtaGFuZGxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDc0ZjdmOTcy
NDU3YzI5MDMyMDhjY2VhMTliOTdkZTQ0NjVlNDNiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3Ivbm90LWhhbmRsZWQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorCitQQVNTIG9uZXJyb3IsICJub3QgaGFuZGxlZCIgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3Ivbm90LWhhbmRsZWQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3Ivbm90LWhhbmRsZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NjEwN2FkYTQzM2ZlMmM5MTJjODczMjc4ZDc4MzgwYzlkM2QxM2ZmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25lcnJvci9ub3QtaGFuZGxlZC5odG1sCkBAIC0w
LDAgKzEsMzIgQEAKKzwhLS0KK29uZXJyb3IgPSBmdW5jdGlvbihhLCBiLCBjLCBkKSB7CisgIHJl
dHVybiBmYWxzZTsgLy8gdGhlIGVycm9yIGlzICJub3QgaGFuZGxlZCIKK30KK2Z1bmN0aW9uIHgo
KSB7CisgIHkoKTsKK30KK3goKTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPm9u
ZXJyb3IsICJub3QgaGFuZGxlZCI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cith
c3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOwor
ICB3b3JrZXIub25lcnJvciA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3Nl
cnRfdHJ1ZShlIGluc3RhbmNlb2YgRXJyb3JFdmVudCwgJ2UgaW5zdGFuY2VvZiBFcnJvckV2ZW50
Jyk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZS5tZXNzYWdlLCAnc3RyaW5nJywgJ3R5cGVv
ZiBlLm1lc3NhZ2UnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZmlsZW5hbWUsIGRvY3VtZW50LlVS
TCsnIycsICdlLmZpbGVuYW1lJyk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZS5saW5lbm8s
ICdudW1iZXInLCAndHlwZW9mIGUubGluZW5vJyk7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yg
ZS5jb2xubywgJ251bWJlcicsICd0eXBlb2YgZS5jb2x1bW4nKTsKKyAgICBlLnByZXZlbnREZWZh
dWx0KCk7IC8vICJoYW5kbGVkIgorICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3Jp
cHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3Bl
L29uZXJyb3IvcHJvcGFnYXRlLXRvLXdpbmRvdy1vbmVycm9yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3IvcHJvcGFnYXRlLXRvLXdpbmRvdy1vbmVycm9yLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWQyOWU2YTAwMWZjMGUxYjA5ZDdhZDQyODk5ODYzYmVh
MTU1NGFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25lcnJv
ci9wcm9wYWdhdGUtdG8td2luZG93LW9uZXJyb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIG9uZXJyb3IsICJub3QgaGFuZGxlZCIgd2l0aCBvbmx5IHdpbmRvdy5vbmVycm9y
IGRlZmluZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3Iv
cHJvcGFnYXRlLXRvLXdpbmRvdy1vbmVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29w
ZS9vbmVycm9yL3Byb3BhZ2F0ZS10by13aW5kb3ctb25lcnJvci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2
YTYxZTIzNTVjMGE2MzdkNTYwYjg1NjIxZGRkODE3MmY2OGQ4MjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9vbmVycm9yL3Byb3BhZ2F0ZS10by13aW5kb3ctb25l
cnJvci5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhLS0KK2Z1bmN0aW9uIHgoKSB7CisgIHkoKTsK
K30KK3goKTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPm9uZXJyb3IsICJub3Qg
aGFuZGxlZCIgd2l0aCBvbmx5IHdpbmRvdy5vbmVycm9yIGRlZmluZWQ8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CitzZXR1cCh7CisgIGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjog
dHJ1ZSwKK30pOworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBX
b3JrZXIoJyMnKTsKKyAgd2luZG93Lm9uZXJyb3IgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihh
LCBiLCBjLCBkKSB7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgYSwgJ3N0cmluZycsICdmaXJz
dCBhcmd1bWVudCcpOworICAgIGFzc2VydF9lcXVhbHMoYiwgZG9jdW1lbnQuVVJMKycjJywgJ3Nl
Y29uZCBhcmd1bWVudCcpOworICAgIGFzc2VydF9lcXVhbHModHlwZW9mIGMsICdudW1iZXInLCAn
dGhpcmQgYXJndW1lbnQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkLCAnbnVtYmVyJywg
J2ZvdXJ0aCBhcmd1bWVudCcpOworICAgIHRoaXMuZG9uZSgpOworICAgIHJldHVybiB0cnVlOyAv
LyAiaGFuZGxlZCIKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9vbmVycm9yL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25lcnJvci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kNDJlYWI4OGNmZTRiOGMyYzc5MmI4MGUyMzFmNDIzOGIxMTMxOTBlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvb25lcnJvci93M2MtaW1wb3J0LmxvZwpAQCAt
MCwwICsxLDIwIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1Ro
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9w
ZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9vbmVycm9yL2V4
Y2VwdGlvbi1pbi1vbmVycm9yLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS9vbmVycm9y
L2hhbmRsZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3Ivbm90LWhhbmRs
ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL29uZXJyb3IvcHJvcGFnYXRlLXRvLXdp
bmRvdy1vbmVycm9yLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL3Nl
bGYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvc2VsZi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDY3ZjBiYjMyMDAwMjAwYTlmNDdhNzk1OWZjOWI1ODc5YjYwYjA5ZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL3NlbGYtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHNlbGYgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dv
cmtlckdsb2JhbFNjb3BlL3NlbGYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlckdsb2JhbFNjb3BlL3NlbGYu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zOWMyYzM2YzAwZDEzMjY2NjBiY2M1ZjZjNTYwOTk4ZjM0OTI4MmNi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvc2VsZi5odG1sCkBA
IC0wLDAgKzEsMzkgQEAKKzwhLS0KK3ZhciByZXN1bHRzID0gW107CitmdW5jdGlvbiBjaGVjayhm
dW5jLCBtc2cpIHsKKyAgdHJ5IHsKKyAgICByZXN1bHRzLnB1c2goW2Z1bmMoKSwgbXNnXSk7Cisg
IH0gY2F0Y2goZXgpIHsKKyAgICByZXN1bHRzLnB1c2goW1N0cmluZyhleCksIG1zZ10pOworICB9
Cit9CitjaGVjayhmdW5jdGlvbigpIHsgcmV0dXJuIHNlbGYgPT09IHNlbGY7IH0sICdzZWxmID09
PSBzZWxmJyk7CitjaGVjayhmdW5jdGlvbigpIHsgcmV0dXJuIHNlbGYgaW5zdGFuY2VvZiBXb3Jr
ZXJHbG9iYWxTY29wZTsgfSwgJ3NlbGYgaW5zdGFuY2VvZiBXb3JrZXJHbG9iYWxTY29wZScpOwor
Y2hlY2soZnVuY3Rpb24oKSB7IHJldHVybiAnc2VsZicgaW4gc2VsZjsgfSwgJ1wnc2VsZlwnIGlu
IHNlbGYnKTsKK2NoZWNrKGZ1bmN0aW9uKCkgeworICB2YXIgeCA9IHNlbGY7CisgIHNlbGYgPSAx
OworICByZXR1cm4geCA9PT0gc2VsZjsKK30sICdzZWxmID0gMScpOworcG9zdE1lc3NhZ2UocmVz
dWx0cyk7CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zZWxmPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9
ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdv
cmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9m
dW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGUuZGF0YS5sZW5ndGg7
ICsraSkgeworICAgICAgYXNzZXJ0X3RydWUoZS5kYXRhW2ldWzBdLCBlLmRhdGFbaV1bMV0pOwor
ICAgIH0KKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8K
Ky8vLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyR2xvYmFsU2NvcGUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJHbG9iYWxTY29wZS93
M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmQxOWM1ODZmY2Q5ZjIyYmY0MmZhN2M0ZTYzODRk
MTEzYmM5MTI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFsU2NvcGUvdzNj
LWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyR2xvYmFs
U2NvcGUvc2VsZi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1l
cnMvMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5NWEyMmI2MjIwMzA0ZmU3NWE2YTdkMWFlNWVhZjdk
OTRkZDA4ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1l
cnMvMDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBzZXRUaW1lb3V0IAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1lcnMvMDAxLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1lcnMvMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgwODk3
NTE4YTE0NzBhYzJiZjc1N2E0NzI2ZjczOTgwN2Y3NzBkOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDEuaHRtbApAQCAtMCwwICsxLDIzIEBACis8
IS0tCitzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBwb3N0TWVzc2FnZSgxKSB9LCAxMCk7CisvKgor
LS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zZXRUaW1lb3V0PC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwv
ZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5j
dGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsIDEpOworICAgIHRoaXMuZG9uZSgp
OworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1lcnMvMDAyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFi
MjNmZGVkNDc0NjkwZGM4NTA2ZGNlMzY1ZDIyOTEyNzE1YmQ1YWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1lcnMvMDAyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBjbGVhclRpbWVvdXQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
clV0aWxzL1dpbmRvd1RpbWVycy8wMDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1Rp
bWVycy8wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjY4NWE5MDU2YTA3NDg3ODJkOTdiMjRjYzJkODk3
ZGJlNjRkNjFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvV2luZG93VGlt
ZXJzLzAwMi5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhLS0KK3ZhciB0ID0gc2V0VGltZW91dChm
dW5jdGlvbigpIHsgcG9zdE1lc3NhZ2UoMSk7IH0sIDEwKTsKK2NsZWFyVGltZW91dCh0KTsKKy8q
CistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmNsZWFyVGltZW91dDwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxv
Zz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2Vy
ID0gbmV3IFdvcmtlcignIycpOworICB2YXIgZ290TWVzc2FnZSA9IGZhbHNlOworICB3b3JrZXIu
b25tZXNzYWdlID0gZnVuY3Rpb24oKSB7IGdvdE1lc3NhZ2UgPSB0cnVlOyB9OworICBzZXRUaW1l
b3V0KHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeyBhc3NlcnRfZmFsc2UoZ290TWVzc2FnZSk7
IHRoaXMuZG9uZSgpOyB9KSwgMTAwKTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyVXRpbHMvV2luZG93VGltZXJzLzAwMy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjk0YjkwMWFiNjcyMDhjNjNmNmZlZWM2YzM0MWZhOGZmNTVlNGRiOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHNldEludGVydmFsIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJm
YWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1lcnMvMDAzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGls
cy9XaW5kb3dUaW1lcnMvMDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQyZjEzOWZhNTIxZTkwNmZlNzcz
MTY2MzhiM2FiYmFlZmY3MGVmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxz
L1dpbmRvd1RpbWVycy8wMDMuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IS0tCitzZXRJbnRlcnZh
bChmdW5jdGlvbigpIHsgcG9zdE1lc3NhZ2UoMSk7IH0sIDEwKTsKKy8qCistLT4KKzwhZG9jdHlw
ZSBodG1sPgorPHRpdGxlPnNldEludGVydmFsPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlw
dD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcj
Jyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsIDEpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30p
OworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
VXRpbHMvV2luZG93VGltZXJzLzAwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9X
aW5kb3dUaW1lcnMvMDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTk4NDBiOWIyMmJlY2Rk
Yjc0MzA0NDNmOGQ4ZTU5NjQ3N2Y4YmFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
VXRpbHMvV2luZG93VGltZXJzLzAwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgY2xlYXJJbnRlcnZhbCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvV2luZG93
VGltZXJzLzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvV2luZG93VGltZXJzLzAwNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU1NDhlZWM0YWI0NzVjZjUyYjBiNDg4YWI4ZjgyMWMzYjBmMTlkZjIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9XaW5kb3dUaW1lcnMvMDA0Lmh0bWwK
QEAgLTAsMCArMSwyMyBAQAorPCEtLQordmFyIHQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsK
KyAgcG9zdE1lc3NhZ2UoMSk7Cit9LCAxMCk7CitjbGVhckludGVydmFsKHQpOworLyoKKy0tPgor
PCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+Y2xlYXJJbnRlcnZhbDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rp
dj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3
IFdvcmtlcignIycpOworICB2YXIgaSA9IDA7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlv
bigpIHsgaSsrOyB9CisgIHNldFRpbWVvdXQodGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7IGFz
c2VydF9lcXVhbHMoaSwgMCk7IHRoaXMuZG9uZSgpOyB9KSwgMTAwKTsKK30pOworPC9zY3JpcHQ+
Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1Rp
bWVycy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy93M2Mt
aW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTM1M2Y2ZGZhYmRlZWJkYTEwOWM2NjdiMzgyNjM3YmJj
YjA2ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvV2luZG93VGltZXJz
L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjAgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVj
dG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlm
eSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxs
IHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10
ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhp
cyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0
aWxzL1dpbmRvd1RpbWVycy8wMDEuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVy
cy8wMDIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDMuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL1dpbmRvd1RpbWVycy8wMDQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDEud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAxLndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzJjMTVlMGI4YTBlNTRhNjIzYmNiNGZkY2ExZjRjZWY3MmVlYjI0MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAxLndvcmtlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVW50aXRsZWQgCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAxLndvcmtlci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDEud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4
MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAxLndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAx
Lndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAxLndvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hYTg2YzhlZjE3NzkxYWUzOWJlOTM2MWQ4ZTZiYWI1N2U1NjdhNzk1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDEud29y
a2VyLmpzCkBAIC0wLDAgKzEsNyBAQAoraW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBpbXBvcnRTY3JpcHRzKCk7Cit9KTsK
KworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8w
MDIud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMv
MDAyLndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzJjMTVlMGI4YTBlNTRhNjIzYmNi
NGZkY2ExZjRjZWY3MmVlYjI0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxz
L2ltcG9ydFNjcmlwdHMvMDAyLndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgVW50aXRsZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNj
cmlwdHMvMDAyLndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8w
MDIud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2
MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNj
cmlwdHMvMDAyLndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJl
cXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRl
ZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0
aWxzL2ltcG9ydFNjcmlwdHMvMDAyLndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2VjYmNiNTM1MjU2
OTFjZWZhNjg3ZDhlN2NiMzMwMmVlZWIxZDZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDIud29ya2VyLmpzCkBAIC0wLDAgKzEsMTEgQEAKK2lt
cG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgdmFyIHJhbiA9IGZhbHNlOworICBhc3NlcnRfdGhyb3dzKCJTeW50YXhFcnJvciIs
IGZ1bmN0aW9uKCkgeworICAgIGltcG9ydFNjcmlwdHMoJ2RhdGE6dGV4dC9qYXZhc2NyaXB0LHJh
bj10cnVlJywnaHR0cDovL2ZvbyBiYXInKTsKKyAgfSk7CisgIGFzc2VydF9mYWxzZShyYW4sICdm
aXJzdCBhcmd1bWVudCB0byBpbXBvcnRTY3JpcHRzIHJhbicpOworfSk7CisKK2RvbmUoKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZTY2YmExM2VjMGMwOTRjNjFkN2M0NjgyNTQ4NmY1OTJkMWY1NTBjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGltcG9ydFNjcmlwdHMgcnVubmluZyBzY3JpcHRz
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwMy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZmYzMGFlMmE2MThiNTUzY2E2YmRhNTFjYTc1NDBhYzcyYjFiNDRkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDMuaHRtbApAQCAtMCwwICsxLDI4
IEBACis8IS0tCit2YXIgeCA9ICdhJzsKK3RyeSB7CisgIGltcG9ydFNjcmlwdHMoJ2RhdGE6dGV4
dC9qYXZhc2NyaXB0LHgrPSJiIicsCisgICAgICAgICAgICAgICAgJ2RhdGE6dGV4dC9qYXZhc2Ny
aXB0LHgrPSJjIicpOworfSBjYXRjaChlKSB7CisgIHggKz0gImQiCit9Citwb3N0TWVzc2FnZSh4
KTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmltcG9ydFNjcmlwdHMgcnVubmlu
ZyBzY3JpcHRzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChm
dW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9u
bWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxz
KGUuZGF0YSwgImFiYyIpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+
Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNj
cmlwdHMvMDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMv
MDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODgzMjhlOWRhMDE0M2E2YjNkNjc1YzBlYTI5
MDVlNjJkMWY3ODRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0
U2NyaXB0cy8wMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIGltcG9ydFNj
cmlwdHMgYnJva2VuIHNjcmlwdCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgU3ludGF4RXJyb3IgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgIkVycm9yOiBTY3JpcHQgZXJyb3IuIgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMv
aW1wb3J0U2NyaXB0cy8wMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDM5ZDNjZTcyZWIyZWQ1NWE4MmZl
OTNjMWViOTU4MmQzNzJjZDMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMv
aW1wb3J0U2NyaXB0cy8wMDQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IS0tCit2YXIgeCA9ICcn
OwordmFyIGV4Y2VwdGlvbjsKK3RyeSB7CisgIGltcG9ydFNjcmlwdHMoJ2RhdGE6dGV4dC9qYXZh
c2NyaXB0LHgrPSJmaXJzdCBzY3JpcHQgc3VjY2Vzc2Z1bC4gIicsCisgICAgICAgICAgICAgICAg
J2RhdGE6dGV4dC9qYXZhc2NyaXB0LHgrPSJGQUlMIChzZWNvbmQgc2NyaXB0KS4gIjsgZm9yKDsp
IGJyZWFrOycsIC8vIGRvZXNuJ3QgY29tcGlsZQorICAgICAgICAgICAgICAgICdkYXRhOnRleHQv
amF2YXNjcmlwdCx4Kz0iRkFJTCAodGhpcmQgc2NyaXB0KSInKTsKK30gY2F0Y2goZXgpIHsKKyAg
aWYgKGV4IGluc3RhbmNlb2YgU3ludGF4RXJyb3IpCisgICAgZXhjZXB0aW9uID0gdHJ1ZTsKKyAg
ZWxzZQorICAgIGV4Y2VwdGlvbiA9IFN0cmluZyhleCk7Cit9Citwb3N0TWVzc2FnZShbeCwgZXhj
ZXB0aW9uXSk7CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5pbXBvcnRTY3JpcHRz
IGJyb2tlbiBzY3JpcHQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190
ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOworICB3b3Jr
ZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9l
cXVhbHMoZS5kYXRhWzBdLCAiZmlyc3Qgc2NyaXB0IHN1Y2Nlc3NmdWwuICIpOworICAgIGFzc2Vy
dF90cnVlKGUuZGF0YVsxXSwgJ2V4cGVjdGVkIFN5bnRheEVycm9yJyk7CisgICAgdGhpcy5kb25l
KCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRk
YzgxZjA1ZmE5ZTcyZGE1YzcxZDAzMTc3NGY0ZTM0OTgzMzUwMGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgaW1wb3J0U2NyaXB0cyBzZXBhcmF0ZSBzY3JpcHRzIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGFiZTE0YzIz
ZTAzM2QwNDE3MTQ4YjM4Zjg1ZmQ4M2UzY2Y4YjJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDUuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IS0t
Cit2YXIgeDsKK3ZhciB5OwordHJ5IHsKKyAgaW1wb3J0U2NyaXB0cygnZGF0YTp0ZXh0L2phdmFz
Y3JpcHQseD17JywKKyAgICAgICAgICAgICAgICAnZGF0YTp0ZXh0L2phdmFzY3JpcHQsfScpOwor
fSBjYXRjaChlKSB7CisgIHkgPSB0cnVlOworfQorcG9zdE1lc3NhZ2UoW3gsIHldKTsKKy8qCist
LT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmltcG9ydFNjcmlwdHMgc2VwYXJhdGUgc2NyaXB0
czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24o
KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2Ug
PSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGFb
MF0sIHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0X3RydWUoZS5kYXRhWzFdKTsKKyAgICB0aGlzLmRv
bmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OWUwMDA2MzQwZWExMGRkOTkyZGQ4MDgzMmMyMjc0NTljNWY1YTM2MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA2LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMjogRGF0YUNsb25lRXJyb3I6IFRo
ZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNz
YWdlID0gRGF0YUNsb25lRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBjbG9uZWQuCisKK1RJ
TUVPVVQgaW1wb3J0U2NyaXB0cyB1bmNhdWdodCBleGNlcHRpb24gVGVzdCB0aW1lZCBvdXQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDYuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZhZWE5
Njk2MjEyMDk3N2JhODY5MDJhZGE1ZTQzZmNiZmUwYWQzZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA2Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAor
PCEtLQordmFyIHg7Cit2YXIgeTsKK3ZhciB6OwordHJ5IHsKKyAgaW1wb3J0U2NyaXB0cygnZGF0
YTp0ZXh0L2phdmFzY3JpcHQseD0xJywKKyAgICAgICAgICAgICAgICAnZGF0YTp0ZXh0L2phdmFz
Y3JpcHQsdGhyb3cgMicsCisgICAgICAgICAgICAgICAgJ2RhdGE6dGV4dC9qYXZhc2NyaXB0LHo9
MycpOworfSBjYXRjaChlKSB7CisgIHkgPSBlOworfQorcG9zdE1lc3NhZ2UoW3gsIHksIHpdKTsK
Ky8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmltcG9ydFNjcmlwdHMgdW5jYXVnaHQg
ZXhjZXB0aW9uPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChm
dW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9u
bWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxz
KGUuZGF0YVswXSwgMSk7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGFbMV0sIDIpOworICAgIGFz
c2VydF9lcXVhbHMoZS5kYXRhWzJdLCB1bmRlZmluZWQpOworICAgIHRoaXMuZG9uZSgpOworICB9
KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dv
cmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0
aWxzL2ltcG9ydFNjcmlwdHMvMDA3LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41M2VkMTI3OTgx
MGY4MmIyMWM4NzExNjcyOGMwZTg5OGY0MWIwN2NmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMv
V29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIHBvc3RNZXNzYWdlIGluIGltcG9ydFNjcmlwdHMgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGls
cy9pbXBvcnRTY3JpcHRzLzAwNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyOGZiMWI2NGY3MWRlMWZhNGY2
OTExMDQ5NWMxZmRhODAyNTU4NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGls
cy9pbXBvcnRTY3JpcHRzLzAwNy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhLS0KK2ltcG9ydFNj
cmlwdHMoJ2RhdGE6dGV4dC9qYXZhc2NyaXB0LHBvc3RNZXNzYWdlKDEpJyk7Citwb3N0TWVzc2Fn
ZSgyKTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPnBvc3RNZXNzYWdlIGluIGlt
cG9ydFNjcmlwdHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0
KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOworICB2YXIgaSA9
IDA7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Cisg
ICAgaSsrOworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCBpKTsKKyAgICBpZiAoaSA9PSAyKQor
ICAgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0t
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDgtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDgtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgzMWJhNjQ3OTk5N2NiOTUyNDdiYzVkZTEzODBiMzhiYWJkY2QyYTcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwOC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMg
Y3Jvc3NpbmcgaW1wb3J0U2NyaXB0cyBib3VuZGFyeSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9y
dFNjcmlwdHMvMDA4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdiODAwZWJiODlmZDkwMGU2N2E3YmJkZjM3
ZDYxNWIxODhiMGE1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9y
dFNjcmlwdHMvMDA4Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCEtLQordmFyIGxvZyA9IHBvc3RN
ZXNzYWdlOworaW1wb3J0U2NyaXB0cygnZGF0YTp0ZXh0L2phdmFzY3JpcHQsZnVuY3Rpb24gcnVu
KCkgeyBsb2codHJ1ZSkgfScpOworcnVuKCk7CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0
aXRsZT52YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyBjcm9zc2luZyBpbXBvcnRTY3JpcHRzIGJvdW5k
YXJ5PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlv
bigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9ubWVzc2Fn
ZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShlLmRhdGEp
OworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8t
LT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDA5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40MmIyYjc2NDE5MTE1NDhlODhlNGQ3Y2Y1NjYxM2EzZDAwMTk1ZmY5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25z
IGNyb3NzaW5nIGltcG9ydFNjcmlwdHMgYm91bmRhcnksIHRha2UgMiAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDkuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0
aWxzL2ltcG9ydFNjcmlwdHMvMDA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVkMzgzOWRjMjNkNzg0MmQ2
MzZhYWFhNzJhZWQwOWQ5ZWQwYmFmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0
aWxzL2ltcG9ydFNjcmlwdHMvMDA5Lmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCEtLQordmFyIGxv
ZyA9IHBvc3RNZXNzYWdlOworaW1wb3J0U2NyaXB0cygnZGF0YTp0ZXh0L2phdmFzY3JpcHQsZnVu
Y3Rpb24gcnVuKCkgeyBmb3IodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7IGlmIChpID09IDUw
MCkgbG9nKHRydWUpOyB9IHJldHVybiAxOyB9Jyk7Citwb3N0TWVzc2FnZShydW4oKSk7CisvKgor
LS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT52YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyBjcm9z
c2luZyBpbXBvcnRTY3JpcHRzIGJvdW5kYXJ5LCB0YWtlIDI8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rp
dj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3
IFdvcmtlcignIycpOworICB2YXIgaSA9IDA7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0
ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgaSsrOworICAgIGlmIChpID09IDEpIHsKKyAgICAg
IGFzc2VydF90cnVlKGUuZGF0YSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF9lcXVhbHMo
ZS5kYXRhLCAxKTsKKyAgICAgIHRoaXMuZG9uZSgpOworICAgIH0KKyAgfSk7Cit9KTsKKzwvc2Ny
aXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBv
cnRTY3JpcHRzLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3Jp
cHRzLzAxMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU3Y2UyZjJmNDczNDc0MGVjNzM0NDEy
ZWUxMDk3YjkxZTllYjlkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2lt
cG9ydFNjcmlwdHMvMDEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBpbXBv
cnRTY3JpcHRzKHVuZGVmaW5lZCkgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2lt
cG9ydFNjcmlwdHMvMDEwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAx
MC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjljNzZlN2Q0ZGFhYTZiNGM3YTI0NGQ2ODczNjQwMDM0YTU3ZmJi
NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAx
MC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhLS0KKy8vIHByZXZlbnQgcmVjdXJzaW9uCitpZiAo
J2JlZW5UaGVyZScgaW4gc2VsZikgeworICB0aHJvdyAndW5kZWZpbmVkIHN0cmluZ2lmaWVkIHRv
IHRoZSBlbXB0eSBzdHJpbmcnOworfQorYmVlblRoZXJlID0gdHJ1ZTsKK3RyeSB7CisgIGltcG9y
dFNjcmlwdHModW5kZWZpbmVkKTsKKyAgcG9zdE1lc3NhZ2UoZ290KTsKK30gY2F0Y2goZXgpIHsK
KyAgcG9zdE1lc3NhZ2UoU3RyaW5nKGV4KSk7Cit9CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4K
Kzx0aXRsZT5pbXBvcnRTY3JpcHRzKHVuZGVmaW5lZCk8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdv
cmtlcignIycpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAndW5kZWZpbmVkJyk7CisgICAgdGhpcy5k
b25lKCk7CisgIH0pCisgIHdvcmtlci5vbmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgeworICAgIGFzc2VydF91bnJlYWNoZWQoZS5tZXNzYWdlKTsKKyAgfSk7Cit9KTsKKzwvc2Ny
aXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBv
cnRTY3JpcHRzLzAxMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3Jp
cHRzLzAxMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZiMjQ1ZjU5NTdkNzRkM2NhYmY4MjUx
NjY0NDNhZjJkNGU2NTk0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2lt
cG9ydFNjcmlwdHMvMDExLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBpbXBv
cnRTY3JpcHRzKG51bGwpIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRT
Y3JpcHRzLzAxMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMTEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NjQ5OTMxOGZiM2RlODYxNzVlNzNkOTQ0YTM3YzJlMTE5ZmZkMDhkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMTEuaHRt
bApAQCAtMCwwICsxLDM0IEBACis8IS0tCisvLyBwcmV2ZW50IHJlY3Vyc2lvbgoraWYgKCdiZWVu
VGhlcmUnIGluIHNlbGYpIHsKKyAgdGhyb3cgJ251bGwgc3RyaW5naWZpZWQgdG8gdGhlIGVtcHR5
IHN0cmluZyc7Cit9CitiZWVuVGhlcmUgPSB0cnVlOwordHJ5IHsKKyAgaW1wb3J0U2NyaXB0cyhu
dWxsKTsKKyAgcG9zdE1lc3NhZ2UoZ290KTsKK30gY2F0Y2goZXgpIHsKKyAgcG9zdE1lc3NhZ2Uo
U3RyaW5nKGV4KSk7Cit9CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5pbXBvcnRT
Y3JpcHRzKG51bGwpPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVz
dChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2Vy
Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1
YWxzKGUuZGF0YSwgJ251bGwnKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7CisgIHdvcmtlci5v
bmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF91bnJlYWNo
ZWQoZS5tZXNzYWdlKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAxMi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAxMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTc4ODY4NzhmOWQxMmViZmI4NTIwNWJmYzI4N2RiM2ZmMWExNzQwYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDEyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBpbXBvcnRTY3JpcHRzKDEpIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAxMi5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNzYyMmJkYzlkZjJl
YWNkODVhMDllMzI2ZTA5ZGE5NzBkOWQ3N2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMTIuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IS0tCisv
LyBwcmV2ZW50IHJlY3Vyc2lvbgoraWYgKCdiZWVuVGhlcmUnIGluIHNlbGYpIHsKKyAgdGhyb3cg
JzEgc3RyaW5naWZpZWQgdG8gdGhlIGVtcHR5IHN0cmluZyc7Cit9CitiZWVuVGhlcmUgPSB0cnVl
OwordHJ5IHsKKyAgaW1wb3J0U2NyaXB0cygxKTsKKyAgcG9zdE1lc3NhZ2UoZ290KTsKK30gY2F0
Y2goZXgpIHsKKyAgcG9zdE1lc3NhZ2UoU3RyaW5nKGV4KSk7Cit9CisvKgorLS0+Cis8IWRvY3R5
cGUgaHRtbD4KKzx0aXRsZT5pbXBvcnRTY3JpcHRzKDEpPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBX
b3JrZXIoJyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9u
KGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJzEnKTsKKyAgICB0aGlzLmRvbmUoKTsK
KyAgfSk7CisgIHdvcmtlci5vbmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgewor
ICAgIGFzc2VydF91bnJlYWNoZWQoZS5tZXNzYWdlKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgor
PCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3Jp
cHRzLzEgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzEKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThj
ZWE0ZmYwZjRiNjllOGFmYTBjNzdhZmQwNGU5Njc4YmNkMzhkNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMQpAQCAtMCwwICsxIEBACit2YXIgZ290
ID0gJzEnOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dv
cmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvbnVsbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNj
cmlwdHMvbnVsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTU0YjY2YzUwZWNhN2Q1MDRiNTJhOTE1NWM5ZDQ0ZWVi
MWU4ZDQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0
cy9udWxsCkBAIC0wLDAgKzEgQEAKK3ZhciBnb3QgPSAnbnVsbCc7ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy91
bmRlZmluZWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzL3VuZGVmaW5lZApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mOTliYTRiZTc0NGM0MGM0NWVjM2Y5YzU4ZDJkMTM3OWY1MTRjNWQ1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy91bmRlZmluZWQKQEAg
LTAsMCArMSBAQAordmFyIGdvdCA9ICd1bmRlZmluZWQnOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzL3czYy1pbXBvcnQubG9n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ0MjRkOGNhNjgwYzFiMDc3ZTIxMGRmNzdiNDUwNjVkYjY4ZGYxMDMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzL3czYy1pbXBv
cnQubG9nCkBAIC0wLDAgKzEsMzEgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJl
IGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0
ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qg
b24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBX
ZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgor
CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9y
dFNjcmlwdHMvMDAxLndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMv
MDAyLndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDAzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2Vy
VXRpbHMvaW1wb3J0U2NyaXB0cy8wMDUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNj
cmlwdHMvMDA2Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzLzAwNy5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2lu
dGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMDguaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
clV0aWxzL2ltcG9ydFNjcmlwdHMvMDA5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRT
Y3JpcHRzLzAxMC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvaW1wb3J0U2NyaXB0cy8wMTEuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9p
bnRlcmZhY2VzL1dvcmtlclV0aWxzL2ltcG9ydFNjcmlwdHMvMDEyLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3Jr
ZXJVdGlscy9pbXBvcnRTY3JpcHRzLzEKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRz
L251bGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9pbXBvcnRTY3JpcHRzL3VuZGVmaW5lZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwMi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDAyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODBm
NDg0MWQ4ZTA2ZTc0YjVhYTY1MDQxNTcyODMyNjIzMzdiMDJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgbmF2aWdhdG9yLmFwcE5hbWUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtl
clV0aWxzL25hdmlnYXRvci8wMDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8w
MDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kM2FhMmVjNjU4ZGRiN2ZiMGIwYjVlNTllY2NlYjQzYjM5Yzc3
YTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwMi5o
dG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhLS0KK3Bvc3RNZXNzYWdlKG5hdmlnYXRvci5hcHBOYW1l
KTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPm5hdmlnYXRvci5hcHBOYW1lPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7Cisg
IHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlz
LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsIG5hdmln
YXRvci5hcHBOYW1lKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0Pgor
PCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3Iv
MDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM3M2I4NDk1YTVlZDM3OTE1MzIxNDRkMTQ3YjdmOTFhNTI0NWUy
NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDAzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBuYXZpZ2F0b3IuYXBwVmVyc2lvbiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwMy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyZTVjOTQ4Nzkx
YmVjMWM1OGE3NmI1MTY4Y2MzY2IwMGZiOThkZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9X
b3JrZXJVdGlscy9uYXZpZ2F0b3IvMDAzLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCEtLQorcG9z
dE1lc3NhZ2UobmF2aWdhdG9yLmFwcFZlcnNpb24pOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+
Cis8dGl0bGU+bmF2aWdhdG9yLmFwcFZlcnNpb248L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2Ny
aXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIo
JyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsK
KyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgbmF2aWdhdG9yLmFwcFZlcnNpb24pOworICAgIHRo
aXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwNC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgw
YWI2ZDU5MjAwOGFiMGZjYTQ1ODY2ZDU5YTU4YzE3ZmI1YWFmOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIG5hdmlnYXRvci5wbGF0Zm9ybSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29y
a2VyVXRpbHMvbmF2aWdhdG9yLzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9y
LzAwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyMzFjNGFiODIxNWNmMGIzZTUyZDc1NTIyMmRjNTVkYzZi
ZTZiYTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDA0
Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCEtLQorcG9zdE1lc3NhZ2UobmF2aWdhdG9yLnBsYXRm
b3JtKTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPm5hdmlnYXRvci5wbGF0Zm9y
bTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkg
eworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOworICB3b3JrZXIub25tZXNzYWdlID0g
dGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCBu
YXZpZ2F0b3IucGxhdGZvcm0pOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3Jp
cHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmln
YXRvci8wMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwNS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRhYTliYTkzMzIzYjJhOTEyZGExY2YxM2Y5NjZmOTA4
ZmJiYTk2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8w
MDUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG5hdmlnYXRvci51c2VyQWdl
bnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRl
cmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iM2Q5OTU4
OGY3NWY3YjYxM2JiZjI2MTEyNTg0YzZhN2I5MjJmMGNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwNS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhLS0K
K3Bvc3RNZXNzYWdlKG5hdmlnYXRvci51c2VyQWdlbnQpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+bmF2aWdhdG9yLnVzZXJBZ2VudDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxz
Y3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtl
cignIycpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkg
eworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCBuYXZpZ2F0b3IudXNlckFnZW50KTsKKyAgICB0
aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDA2LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2
ZGUzMmRhZWZjY2VjNmMyOWRiOTU0MmNhMWI1YjBkNzEyYzE2ZjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50
ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDA2LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBuYXZpZ2F0b3Iub25MaW5lIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3Jr
ZXJVdGlscy9uYXZpZ2F0b3IvMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3Iv
MDA2Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzAyN2Q2MzBkNGNhMzhkYTBhN2QxMjQ0ZjVlZDQ5ZTIxYzM2
ZjUxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDYu
aHRtbApAQCAtMCwwICsxLDIxIEBACis8IS0tCitwb3N0TWVzc2FnZShuYXZpZ2F0b3Iub25MaW5l
KTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPm5hdmlnYXRvci5vbkxpbmU8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAg
dmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMu
c3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgbmF2aWdh
dG9yLm9uTGluZSk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwh
LS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAw
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDA3LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42YjM1NGFjNjZlZTgxZTczYjEzMjM3ODM1MjI3ZDQwM2MzMWYwN2E0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yLzAwNy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgcmVhZG9ubHluZXNzIG9mIG1lbWJlcnMg
b2YgTmF2aWdhdG9yIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3Iv
MDA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvMDA3Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTZhZmM1NjM3MTBmZjBhMzI5YmU1MmE0Y2FkZWQ2MzU1YWZhYjIxMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDcuaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IS0tCit2YXIgbG9nID0gW107Cit2YXIgbmV2ZXJFbmNvdW50ZXJlZFZhbHVlID0gIlRo
aXMgaXMgbm90IHRoZSB2YWx1ZSB5b3UgYXJlIGxvb2tpbmcgZm9yLiI7Citmb3IgKHggaW4gbmF2
aWdhdG9yKSB7CisgIC8vIHRoaXMgc2hvdWxkIHNpbGVudGx5IGZhaWwgYW5kIG5vdCB0aHJvdyBw
ZXIgd2ViaWRsCisgIG5hdmlnYXRvclt4XSA9IG5ldmVyRW5jb3VudGVyZWRWYWx1ZTsKKyAgaWYg
KG5hdmlnYXRvclt4XSA9PT0gbmV2ZXJFbmNvdW50ZXJlZFZhbHVlKQorICAgIGxvZy5wdXNoKHgp
OworfQorcG9zdE1lc3NhZ2UobG9nLmpvaW4oJywgJykpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+cmVhZG9ubHluZXNzIG9mIG1lbWJlcnMgb2YgTmF2aWdhdG9yPC90aXRsZT4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYg
aWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3
b3JrZXIgPSBuZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBf
ZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICcnKTsKKyAgICB0
aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci9sYW5ndWFnZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
aW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvbGFuZ3VhZ2UtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZmYjU1OGIzZjk1NGQ0Y2UyMWNmN2NmYzk1Mjk2MTkwMDE4Y2Q1ZTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvaW50ZXJmYWNlcy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvbGFuZ3VhZ2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG5hdmlnYXRvci5sYW5ndWFnZSAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL2ludGVyZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yL2xhbmd1YWdlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNl
cy9Xb3JrZXJVdGlscy9uYXZpZ2F0b3IvbGFuZ3VhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWFhNDQ2
Y2I5YWI3MzRhNTkyYjZmOGRjYzcxOWIyMGMyYzEzZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVyZmFj
ZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yL2xhbmd1YWdlLmh0bWwKQEAgLTAsMCArMSwyMSBAQAor
PCEtLQorcG9zdE1lc3NhZ2UobmF2aWdhdG9yLmxhbmd1YWdlKTsKKy8qCistLT4KKzwhZG9jdHlw
ZSBodG1sPgorPHRpdGxlPm5hdmlnYXRvci5sYW5ndWFnZTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4K
KzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFdv
cmtlcignIycpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCBuYXZpZ2F0b3IubGFuZ3VhZ2UpOworICAg
IHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Vk
YzQ4M2Y0NDg2OGM3N2Y5OGZiYTBlNDBlYWFhYjk5YzY5OTJlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2ludGVy
ZmFjZXMvV29ya2VyVXRpbHMvbmF2aWdhdG9yL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjMg
QEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFcz
QyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJL
aXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJ
aHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKworVGhlbiBydW4gdGhl
IFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKwor
RG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1By
b3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVl
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0
IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDIuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2Vz
L1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmln
YXRvci8wMDQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZh
Y2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci8wMDYuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25h
dmlnYXRvci8wMDcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9pbnRlcmZhY2VzL1dvcmtlclV0aWxzL25hdmlnYXRvci9sYW5ndWFnZS5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTg0OWI5ZmJlNThlNzcwOWIwNDliZWIzZDJiZDVlMGY3MDc5ZWJm
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDgg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyMDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9
IEVycm9yIGluIHJlbW90ZSBodHRwOi8vbG9jYWxob3N0Ojg4MDAvd29ya2Vycy9zdXBwb3J0L25h
bWUtYXMtYWNjaWRlbnRhbC1nbG9iYWwuanM6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiB0ZXN0CisKK0ZBSUwgVGVzdCB0aGUgbmFtZSBwcm9wZXJ0eSBvZiBzaGFyZWQgYW5k
IGRlZGljYXRlZCB3b3JrZXJzIHZpYSB0aGUgbmFtZSBjb25zdHJ1Y3RvciBvcHRpb24gUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBuYW1lIHBy
b3BlcnR5IHZhbHVlIGZvciBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgZXhpc3RzIG9uIHRoZSBnbG9iYWwgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1MgbmFtZSBwcm9wZXJ0eSBpcyByZXBsYWNlYWJsZSBmb3IgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9uYW1lLXByb3BlcnR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkzOTYwMWU1ZTM2MTVkZmUwODU2NzVkOWFlY2Q0OTk0NjMwMjViNGYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbmFtZS1wcm9wZXJ0eS5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3QgdGhlIG5hbWUgcHJvcGVydHkg
b2Ygc2hhcmVkIGFuZCBkZWRpY2F0ZWQgd29ya2VycyB2aWEgdGhlIG5hbWUgY29uc3RydWN0b3Ig
b3B0aW9uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2UvI2NvbmNlcHQtd29ya2VyZ2xvYmFsc2NvcGUtbmFtZSI+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlw
YWdlLyNkb20tc2hhcmVkd29ya2VyZ2xvYmFsc2NvcGUtbmFtZSI+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNkb20tZGVkaWNh
dGVkd29ya2VyZ2xvYmFsc2NvcGUtbmFtZSI+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkRv
bWVuaWMgRGVuaWNvbGEiIGhyZWY9Im1haWx0bzpkQGRvbWVuaWMubWUiPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorInVzZSBz
dHJpY3QiOworCitjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKCJzdXBwb3J0L25hbWUuanMiLCB7
IG5hbWU6ICJteSBuYW1lIiB9KTsKK2ZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcik7CisK
K2NvbnN0IHdvcmtlcjIgPSBuZXcgV29ya2VyKCJzdXBwb3J0L25hbWUtYXMtYWNjaWRlbnRhbC1n
bG9iYWwuanMiKTsKK2ZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHdvcmtlcjIpOworCitjb25zdCBz
aGFyZWRXb3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCJzdXBwb3J0L25hbWUuanMiLCB7IG5hbWU6
ICJteSBuYW1lIiB9KTsKK2ZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHNoYXJlZFdvcmtlcik7CisK
K2NvbnN0IHNoYXJlZFdvcmtlcjIgPSBuZXcgU2hhcmVkV29ya2VyKCJzdXBwb3J0L25hbWUtYXMt
YWNjaWRlbnRhbC1nbG9iYWwuanMiKTsKK2ZldGNoX3Rlc3RzX2Zyb21fd29ya2VyKHNoYXJlZFdv
cmtlcjIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmVzdGVkX3dvcmtlci53b3JrZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25lc3RlZF93b3JrZXIud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjQ4YmE1ZTcx
NjBmODRmM2Y5OTFlMmIyMjdlMjNmMDY2YTFmYzhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25lc3RlZF93b3Jr
ZXIud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK0ZBSUwgTmVzdGVkIHdvcmtlciBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25lc3RlZF93b3JrZXIud29ya2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmVzdGVk
X3dvcmtlci53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25lc3RlZF93b3JrZXIud29ya2VyLmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25lc3RlZF93b3JrZXIud29ya2VyLmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25lc3RlZF93b3Jr
ZXIud29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NDhmYTIxNmJjMDA1OWQ0NDRhN2VjMGViMjIzY2Ey
ZDVlZTFlNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmVzdGVkX3dvcmtlci53b3JrZXIuanMKQEAgLTAsMCAr
MSwxMSBAQAoraW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOworCith
c3luY190ZXN0KGZ1bmN0aW9uKCkgeworICAgIHZhciB3b3JrZXIxID0gbmV3IFdvcmtlcigic3Vw
cG9ydC9Xb3JrZXJCYXNpYy5qcyIpOworICAgIHdvcmtlcjEucG9zdE1lc3NhZ2UoInBpbmciKTsK
KyAgICB3b3JrZXIxLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZXZ0
KSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZ0LmRhdGEsICJQYXNzIik7CisgICAgICAgIHdv
cmtlcjEudGVybWluYXRlKCk7CisgICAgICAgIGRvbmUoKTsKKyAgICB9KTsKK30sICJOZXN0ZWQg
d29ya2VyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9hcHBsaWNhdGlvbi1jYWNoZS1kZWRpY2F0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9ub24tYXV0b21hdGVkL2FwcGxpY2F0aW9uLWNhY2hlLWRlZGljYXRlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcwNGVjYmNkN2ZmNTMzM2FmZmRmOTkzNTkyZjllM2Y0MjA1MjNjMzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbm9uLWF1dG9tYXRlZC9hcHBsaWNhdGlvbi1jYWNoZS1kZWRpY2F0ZWQuaHRtbApAQCAt
MCwwICsxLDIxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIG1hbmlmZXN0PWNhY2hlLm1hbmlm
ZXN0PgorPHRpdGxlPmNhY2hlIG1hbmlmZXN0PC90aXRsZT4KKzxwPlNjcmlwdCBkaWQgbm90IHJ1
bi48L3A+Cis8cD5UbyBydW4gdGhpcyB0ZXN0IGFnYWluLCBkZWxldGUgcHJpdmF0ZSBkYXRhIGFu
ZCB0aGVuIGxvYWQgdGhpcyB0ZXN0IGFnYWluLjwvcD4KKzxzY3JpcHQ+Cit2YXIgcCA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ3AnKTsKK2lmIChzZXNzaW9uU3RvcmFnZS50ZXN0SGFzQmVlbkxv
YWRlZEJlZm9yZSkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignYXBwbGljYXRpb24tY2Fj
aGUtZGVkaWNhdGVkLmpzJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7Cisg
ICAgcC50ZXh0Q29udGVudCA9ICdQQVNTJzsKKyAgfQorICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7
CisgICAgaWYgKHAudGV4dENvbnRlbnQgIT0gJ1BBU1MnKQorICAgICAgcC50ZXh0Q29udGVudCA9
ICdGQUlMIChnb3Qgbm8gbWVzc2FnZSBmcm9tIHdvcmtlciknOworICB9LCAyNTApOworfSBlbHNl
IHsKKyAgc2Vzc2lvblN0b3JhZ2UudGVzdEhhc0JlZW5Mb2FkZWRCZWZvcmUgPSB0cnVlOworICBw
LnRleHRDb250ZW50ID0gJ0VuYWJsZSBvZmZsaW5lIG1vZGUgYW5kIHRoZW4gcmVsb2FkIHRoaXMg
dGVzdC4gSXQgc2hvdWxkIHNheSBQQVNTLic7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0
b21hdGVkL2FwcGxpY2F0aW9uLWNhY2hlLWRlZGljYXRlZC5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2FwcGxpY2F0
aW9uLWNhY2hlLWRlZGljYXRlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzE4YzJlMjY3ZGIxNjAyMGNjMDY1
ZWY4MjhhOTAyNWQ2MWJlOTEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0ZWQvYXBwbGljYXRp
b24tY2FjaGUtZGVkaWNhdGVkLmpzCkBAIC0wLDAgKzEgQEAKK3Bvc3RNZXNzYWdlKDEpOwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2NhY2hlLm1hbmlm
ZXN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25vbi1hdXRvbWF0ZWQvY2FjaGUubWFuaWZlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ4MGUwM2IyMGM5NDk5
MzhjMDMwODc1ZTkzYTU2OGI1MTBhNmNlNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2Nh
Y2hlLm1hbmlmZXN0CkBAIC0wLDAgKzEsMyBAQAorQ0FDSEUgTUFOSUZFU1QKK2FwcGxpY2F0aW9u
LWNhY2hlLWRlZGljYXRlZC5odG1sCithcHBsaWNhdGlvbi1jYWNoZS1kZWRpY2F0ZWQuanMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9ub24tYXV0b21hdGVkL2luZmluaXRlLW5lc3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5p
dGUtbmVzdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZmM2VkYjM1MzQ4OTM3YWQ4NWE3ZjRmYzhmM2Ni
ZTlmNzZlZjY2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2luZmluaXRlLW5lc3RlZC5o
dG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmluZmluaXRlIG5l
c3RlZCB3b3JrZXJzPC90aXRsZT4KKzxwPlRoZXJlIG51bWJlciBiZWxvdyBzaG91bGQgYmUgaW5j
cmVhc2luZyAoaWRlYWxseSBuZXZlci1lbmRpbmcpLjwvcD4KKzxkaXY+MDwvZGl2PgorPHNjcmlw
dD4KK3ZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdpbmZpbml0ZS1uZXN0ZWQuanMnKTsKK3ZhciBk
aXYgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF07Cit2YXIgaSA9IDA7
Cit3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeworICBkaXYudGV4dENvbnRlbnQgPSBp
Kys7Cit9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9u
LWF1dG9tYXRlZC9pbmZpbml0ZS1uZXN0ZWQuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9pbmZpbml0ZS1uZXN0ZWQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTM3ZGQwYTJlMjgxZTBiZGZjYjFlMzVlOTYxMWRhZjJmNWY4OWE1Nwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2luZmluaXRlLW5lc3RlZC5qcwpAQCAtMCwwICsx
LDUgQEAKK3Bvc3RNZXNzYWdlKDEpOwordmFyIHcgPSBuZXcgV29ya2VyKCdpbmZpbml0ZS1uZXN0
ZWQuanMnKTsKK3cub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeworICBwb3N0TWVzc2FnZShlLmRh
dGEpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVk
L2luZmluaXRlLXNpYmxpbmctYW5kLW5lc3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5pdGUtc2li
bGluZy1hbmQtbmVzdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYzNTQ2Y2M5NjlmODAzOGZiOTBhYjU2
NzQ5ODc1ZjNjMTA0Y2E2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2luZmluaXRlLXNp
YmxpbmctYW5kLW5lc3RlZC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPmluZmluaXRlIHNpYmxpbmcgYW5kIG5lc3RlZCB3b3JrZXJzPC90aXRsZT4KKzxwPlRo
ZSBudW1iZXIgYmVsb3cgc2hvdWxkIGJlIGluY3JlYXNpbmcgKGlkZWFsbHkgbmV2ZXItZW5kaW5n
KS48L3A+Cis8ZGl2PjA8L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgd29ya2VyID0gbmV3IFdvcmtlcign
aW5maW5pdGUtc2libGluZy1hbmQtbmVzdGVkLmpzJyk7Cit2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBdOwordmFyIGkgPSAwOword29ya2VyLm9ubWVzc2Fn
ZSA9IGZ1bmN0aW9uKGUpIHsKKyAgZGl2LnRleHRDb250ZW50ID0gaSArIGUuZGF0YTsKK30KKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5pdGUtc2libGluZy1hbmQtbmVzdGVk
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25vbi1hdXRvbWF0ZWQvaW5maW5pdGUtc2libGluZy1hbmQtbmVzdGVkLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNmN2I3OTRhNDE0ZGE0M2U5NjhkZTBmODZlM2MyOGI1NWExNGU1MDIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
bm9uLWF1dG9tYXRlZC9pbmZpbml0ZS1zaWJsaW5nLWFuZC1uZXN0ZWQuanMKQEAgLTAsMCArMSw4
IEBACitmdW5jdGlvbiBjcmVhdGVXb3JrZXIoKSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2Vy
KCdpbmZpbml0ZS1uZXN0ZWQuanM/JyArIE1hdGgucmFuZG9tKCkpOworICB3b3JrZXIub25tZXNz
YWdlID0gZnVuY3Rpb24oZSkgeworICAgIHBvc3RNZXNzYWdlKGUuZGF0YSk7CisgICAgY3JlYXRl
V29ya2VyKCk7CisgIH0KK30KK2NyZWF0ZVdvcmtlcigpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2luZmluaXRlLXNpYmxpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21h
dGVkL2luZmluaXRlLXNpYmxpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZGNiOGQ3MDcyMjc3MGRmMzJm
MzU1NjE5ZmY3NjZhNDI0ZTUwMjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5p
dGUtc2libGluZy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxl
PmluZmluaXRlIHNpYmxpbmcgd29ya2VyczwvdGl0bGU+Cis8cD5UaGUgbnVtYmVyIGJlbG93IHNo
b3VsZCBiZSBpbmNyZWFzaW5nIChpZGVhbGx5IG5ldmVyLWVuZGluZykuPC9wPgorPGRpdj4wPC9k
aXY+Cis8c2NyaXB0PgordmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJ2luZmluaXRlLXNpYmxpbmcu
anMnKTsKK3ZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF07
Cit2YXIgaSA9IDA7Cit3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeworICBkaXYudGV4
dENvbnRlbnQgPSBpICsgZS5kYXRhOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRl
ZC9pbmZpbml0ZS1zaWJsaW5nLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5pdGUtc2libGluZy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42NDI0ZjcwMDkzMjRmYTM5OGY5NDhiMDMwZGFkNTNkNTNhNDMyZTY5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL25vbi1hdXRvbWF0ZWQvaW5maW5pdGUtc2libGluZy5qcwpAQCAtMCwwICsxLDggQEAK
K2Z1bmN0aW9uIGNyZWF0ZVdvcmtlcigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Bv
c3QtYS0xLmpzPycgKyBNYXRoLnJhbmRvbSgpKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKGUpIHsKKyAgICBwb3N0TWVzc2FnZShlLmRhdGEpOworICAgIGNyZWF0ZVdvcmtlcigpOwor
ICB9Cit9CitjcmVhdGVXb3JrZXIoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvbm9uLWF1dG9tYXRlZC9uYXZpZ2F0b3Itb25MaW5lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9uYXZpZ2F0
b3Itb25MaW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDcxYWVhZjBhODhlZTVlYzI0NTZhN2RiMDg3MGY1
N2M4NGYwMzYyMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL25hdmlnYXRvci1vbkxpbmUu
aHRtbApAQCAtMCwwICsxLDQ2IEBACis8IS0tCitpZiAoJ29ubWVzc2FnZScgaW4gc2VsZikgeyAv
LyBkZWRpY2F0ZWQgd29ya2VyCisgIG9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsKKyAgICBwb3N0
TWVzc2FnZShuYXZpZ2F0b3Iub25MaW5lKTsKKyAgfQorfSBlbHNlIHsgLy8gc2hhcmVkIHdvcmtl
cgorICBvbmNvbm5lY3QgPSBmdW5jdGlvbihlKSB7CisgICAgZS5wb3J0c1swXS5vbm1lc3NhZ2Ug
PSBmdW5jdGlvbihlKSB7CisgICAgICB0aGlzLnBvc3RNZXNzYWdlKG5hdmlnYXRvci5vbkxpbmUp
OworICAgIH0KKyAgfQorfQorLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+bmF2aWdh
dG9yLm9uTGluZSBpbiBkZWRpY2F0ZWQgd29ya2VyPC90aXRsZT4KKzxwcmU+TG9nOgorPC9wcmU+
Cis8c2NyaXB0PgordmFyIHByZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ByZScpOwordmFy
IHdvcmtlciwgc2hhcmVkOwordHJ5IHsgd29ya2VyID0gbmV3IFdvcmtlcignIycpOyB9IGNhdGNo
KGUpIHsgcHJlLnRleHRDb250ZW50ICs9ICdcbm5ldyBXb3JrZXIgdGhyZXc6ICcgKyBlLm1lc3Nh
Z2U7IH0KK3RyeSB7IHNoYXJlZCA9IG5ldyBTaGFyZWRXb3JrZXIoJyMnLCAnJyk7IH0gY2F0Y2go
ZSkgeyBwcmUudGV4dENvbnRlbnQgKz0gJ1xubmV3IFNoYXJlZFdvcmtlciB0aHJldzogJyArIGUu
bWVzc2FnZTsgfQoraWYgKHdvcmtlcikgeworICB3b3JrZXIub25tZXNzYWdlID0gZnVuY3Rpb24o
ZSkgeworICAgIHByZS50ZXh0Q29udGVudCArPSAnXG5kZWRpY2F0ZWQgd29ya2VyOiAnICsgZS5k
YXRhOworICB9Cit9CitpZiAoc2hhcmVkKSB7CisgIHNoYXJlZC5wb3J0Lm9ubWVzc2FnZSA9IGZ1
bmN0aW9uKGUpIHsKKyAgICBwcmUudGV4dENvbnRlbnQgKz0gJ1xuc2hhcmVkIHdvcmtlcjogJyAr
IGUuZGF0YTsKKyAgfQorfQorZnVuY3Rpb24gdXBkYXRlKCkgeworICBwcmUudGV4dENvbnRlbnQg
Kz0gJ1xuXG4nICsgbmV3IERhdGUoKSArICdcbjxzY3JpcHQ+OiAnICsgbmF2aWdhdG9yLm9uTGlu
ZTsKKyAgaWYgKHdvcmtlcikgd29ya2VyLnBvc3RNZXNzYWdlKDEpOworICBpZiAoc2hhcmVkKSBz
aGFyZWQucG9ydC5wb3N0TWVzc2FnZSgxKTsKK30KK3VwZGF0ZSgpOworb25vbmxpbmUgPSBvbm9m
ZmxpbmUgPSB1cGRhdGU7Cis8L3NjcmlwdD4KKzxwPkFzIHlvdSBnbyBvbmxpbmUgYW5kIG9mZmxp
bmUsIHRoZSBsb2cgc2hvdWxkIGJlIGZpbGxlZCB3aXRoIHRoZSBjb3JyZWN0IHN0YXR1cyBvZiBu
YXZpZ2F0b3Iub25MaW5lLjwvcD4KKzxwPjxidXR0b24gb25jbGljaz0idXBkYXRlKCkiPkNoZWNr
IG5hdmlnYXRvci5vbkxpbmUgc3RhdHVzPC9idXR0b24+PC9wPgorPCEtLQorKi8KKy8vLS0+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbm9uLWF1dG9tYXRlZC9wb3N0LWEtMS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL3Bvc3QtYS0xLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzMThjMmUyNjdkYjE2MDIwY2MwNjVlZjgyOGE5MDI1ZDYxYmU5MTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9wb3N0LWEtMS5qcwpAQCAtMCwwICsxIEBACitwb3N0TWVz
c2FnZSgxKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRl
ZC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkx
ZGJkYjgyYTc3YmI2OTgyZDk1ZTQ2Yzk5ZjFjN2EzMDExYzJiZWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9u
LWF1dG9tYXRlZC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI3IEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9t
YXRlZC9hcHBsaWNhdGlvbi1jYWNoZS1kZWRpY2F0ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2FwcGxpY2F0
aW9uLWNhY2hlLWRlZGljYXRlZC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2NhY2hlLm1hbmlmZXN0CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL25vbi1hdXRvbWF0
ZWQvaW5maW5pdGUtbmVzdGVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9pbmZpbml0ZS1uZXN0ZWQuanMKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1
dG9tYXRlZC9pbmZpbml0ZS1zaWJsaW5nLWFuZC1uZXN0ZWQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2luZmlu
aXRlLXNpYmxpbmctYW5kLW5lc3RlZC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9ub24tYXV0b21hdGVkL2luZmluaXRlLXNpYmxpbmcuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9u
b24tYXV0b21hdGVkL2luZmluaXRlLXNpYmxpbmcuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbm9uLWF1dG9tYXRlZC9uYXZpZ2F0b3Itb25M
aW5lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvbm9uLWF1dG9tYXRlZC9wb3N0LWEtMS5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL29wYXF1ZS1vcmlnaW4tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL29wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3ZDY3ZjE4ZDRh
NTdhZjI1Yjc1NzViMTI3ZTQ1YWM0N2QzYjJiOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvb3BhcXVlLW9yaWdp
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKworSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL29wYXF1ZS1vcmlnaW4uaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9vcGFxdWUtb3Jp
Z2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ3NGI5NzBjOTZmMjg4MjI5YmMyNDRjMTBmMDYwZTNmZWIz
Mzk5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9vcGFxdWUtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSwxNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorLy8gU2Fu
ZGJveGVkIGlmcmFtZSBmb3J3YXJkcyBtZXNzYWdlcyBmcm9tIGl0cyB3b3JrZXIsIHRoaXMgdHJh
bnNsYXRlcyB0aG9zZQorLy8gbWVzc2FnZXMgYmFjayB0byBzb21ldGhpbmcgZmV0Y2hfdGVzdHNf
ZnJvbV93b3JrZXIgY2FuIHBhcnNlLgorY29uc3QgY2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5l
bCgpOworb25tZXNzYWdlID0gZSA9PiB7CisgIGNoYW5uZWwucG9ydDIucG9zdE1lc3NhZ2UoZS5k
YXRhKTsKK307CitmZXRjaF90ZXN0c19mcm9tX3dvcmtlcihjaGFubmVsLnBvcnQxKTsKKzwvc2Ny
aXB0PgorPGlmcmFtZSBzYW5kYm94PSJhbGxvdy1zY3JpcHRzIiBzcmM9InN1cHBvcnQvc2FuZGJv
eGVkLXRlc3RzLmh0bWw/cGlwZT1zdWIiPjwvaWZyYW1lPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RN
ZXNzYWdlX0RhdGFDbG9uZUVyci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfRGF0YUNsb25lRXJyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWI1ODJkMzViOTE0NTg1ZGIwYzA5OTlhNDE5ZDk1YzIz
NWJlODY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX0RhdGFDbG9uZUVyci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgIHBvc3RNZXNzYWdlKCkgd2l0aCBXb3JrZXJOYXZp
Z2F0b3IgIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfRGF0YUNsb25lRXJyLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9wb3N0TWVzc2FnZV9E
YXRhQ2xvbmVFcnIuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0MDkzY2U0ZTNlNWRhNDM2NDBlZWU4YTUyNGYy
YjMyMjMzZWUxMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfRGF0YUNsb25lRXJyLmh0bQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gcG9zdE1lc3NhZ2UoKSB3
aXRoIFdvcmtlck5hdmlnYXRvciA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5
bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCIuL3N1cHBv
cnQvV29ya2VyRGF0YUNsb25lRXJyLmpzIik7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0LnN0ZXBf
ZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgIlBhc3Mi
KTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2Nsb25lX3BvcnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2Nsb25lX3BvcnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYwN2VmMzE2MzA4YmY3MWZmODkwNTQzMzM2NDg0MWMwODk1YjBiOGUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
cG9zdE1lc3NhZ2VfY2xvbmVfcG9ydC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgIHBvc3RNZXNzYWdlKCk6IGNsb25lIGEgcG9ydCAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9wb3N0TWVzc2FnZV9j
bG9uZV9wb3J0Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9wb3N0TWVzc2FnZV9jbG9uZV9wb3J0Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWQ3Yjg0
ZTNjMDlkMDZiMmIzOWY5NzIyZTY1Njc4N2ExNzRmNWE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNz
YWdlX2Nsb25lX3BvcnQuaHRtCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPHRp
dGxlPiBwb3N0TWVzc2FnZSgpOiBjbG9uZSBhIHBvcnQgPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2Pgor
PHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgY2hhbm5lbEEgPSBuZXcg
TWVzc2FnZUNoYW5uZWwoKTsKKyAgdmFyIGNoYW5uZWxCID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7
CisgIHZhciBvcmlnaW5hbFBvcnQgPSBjaGFubmVsQi5wb3J0MjsKKyAgY2hhbm5lbEEucG9ydDIu
b25tZXNzYWdlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMo
ZS5kYXRhLCAicG9ydHMiKTsKKyAgICB2YXIgY2xvbmVkUG9ydCA9IGUucG9ydHNbMF07CisgICAg
YXNzZXJ0X25vdF9lcXVhbHMoY2xvbmVkUG9ydCwgb3JpZ2luYWxQb3J0LCAibmV3IGNsb25lZCBw
b3J0IG9iamVjdCBzaG91bGQgbm90IGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBwb3J0ISIpOworICAg
IGNsb25lZFBvcnQub25tZXNzYWdlID0gdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7Cisg
ICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgInBpbmciLCAiRGF0YSBzZW50IHRocm91Z2ggcmVt
b3RlIHBvcnQgaXMgcmVjZWl2ZWQgYnkgdGhlIG5ldyBjbG9uZWQgcG9ydCIpOworICAgIH0pOwor
ICB9KTsKKyAgY2hhbm5lbEEucG9ydDEucG9zdE1lc3NhZ2UoInBvcnRzIiwgW2NoYW5uZWxCLnBv
cnQyXSk7CisgIGNoYW5uZWxCLnBvcnQxLnBvc3RNZXNzYWdlKCJwaW5nIik7Cit9KTsKKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2Nsb25lX3BvcnRfZXJyb3ItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RN
ZXNzYWdlX2Nsb25lX3BvcnRfZXJyb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjOWI1YmFi
MzFjNzAxNjQ2MjhiZTg1ZjQ3N2JkYzJlYmM1OWVkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3Nh
Z2VfY2xvbmVfcG9ydF9lcnJvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
IHBvc3RNZXNzYWdlKCk6IGNsb25pbmcgc291cmNlIHBvcnQgIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3Nh
Z2VfY2xvbmVfcG9ydF9lcnJvci5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfY2xvbmVfcG9ydF9lcnJvci5odG0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzAwMTI5NjJkODYwNjkxN2I3YzlmNzMxYzkxMDQyN2I3MWQ0N2E0NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9wb3N0TWVzc2FnZV9jbG9uZV9wb3J0X2Vycm9yLmh0bQpAQCAtMCwwICsxLDE0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gcG9zdE1lc3NhZ2UoKTogY2xvbmluZyBzb3VyY2Ug
cG9ydCA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVzdChmdW5jdGlvbigpIHsK
KyAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgY2hhbm5lbC5wb3J0MS5z
dGFydCgpOworICBhc3NlcnRfdGhyb3dzKCJEYXRhQ2xvbmVFcnJvciIsIGZ1bmN0aW9uKCkgewor
ICAgIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoInBvcnRzIiwgW2NoYW5uZWwucG9ydDFdKTsK
KyAgfSk7Cit9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2V2ZW50X3Byb3BlcnRp
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2V2ZW50X3Byb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM0MGQ5NGU3MGY3ZWY0MDQ3M2I3MWM3ODdjOGViOTI0ZjQ4YjQyNDcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvcG9zdE1lc3NhZ2VfZXZlbnRfcHJvcGVydGllcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgIHBvc3RNZXNzYWdlKCk6IE1lc3NhZ2VFdmVudCBwcm9wZXJ0aWVz
ICAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2V2ZW50X3Byb3BlcnRpZXMuaHRtIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2V2
ZW50X3Byb3BlcnRpZXMuaHRtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxMjI0MTNkZTQwZGFhMWU4ODcxOTgyZDQ2
NzE4MWQwMWZhYmEzOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfZXZlbnRfcHJvcGVydGll
cy5odG0KQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+IHBvc3RNZXNz
YWdlKCk6IE1lc3NhZ2VFdmVudCBwcm9wZXJ0aWVzIDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxz
Y3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGNoYW5uZWwgPSBuZXcgTWVz
c2FnZUNoYW5uZWwoKTsKKyAgdmFyIHRhcmdldFBvcnQgPSBjaGFubmVsLnBvcnQyOworICB0YXJn
ZXRQb3J0LnN0YXJ0KCk7CisgIHRhcmdldFBvcnQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIs
IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24gKGV2dCkgeworICAgIGFzc2VydF9jbGFzc19zdHJp
bmcoZXZ0LCAiTWVzc2FnZUV2ZW50Iik7CisgICAgYXNzZXJ0X2VxdWFscyhldnQudHlwZSwgIm1l
c3NhZ2UiKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZ0LmJ1YmJsZXMsICJidWJibGVzIHNob3VsZCBi
ZSBmYWxzZSIpOworICAgIGFzc2VydF9mYWxzZShldnQuY2FuY2VsYWJsZSwgImNhbmNlbGFibGUg
c2hvdWxkIGJlIGZhbHNlIik7CisgICAgYXNzZXJ0X2VxdWFscyhldnQuZGF0YSwgInBpbmciLCAi
ZGF0YSIpOworICAgIGFzc2VydF9lcXVhbHMoZXZ0Lm9yaWdpbiwgIiIsICJvcmlnaW4iKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGV2dC5sYXN0RXZlbnRJZCwgIiIsICJsYXN0RXZlbnRJZCIpOworICAg
IGFzc2VydF9lcXVhbHMoZXZ0LnNvdXJjZSwgbnVsbCwgInNvdXJjZSIpOworICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoZXZ0LnBvcnRzLCBbXSwgInBvcnRzIik7CisgIH0pLCB0cnVlKTsKKyAgY2hh
bm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgicGluZyIpOworfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9w
b3N0TWVzc2FnZV9wb3J0c19yZWFkb25seV9hcnJheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfcG9y
dHNfcmVhZG9ubHlfYXJyYXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNmVjZTk0ZGJkZDZi
MzM4NjYxOTg2ODg2MmI0MTdlOWNlNjgzNzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfcG9y
dHNfcmVhZG9ubHlfYXJyYXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTICBw
b3N0TWVzc2FnZSgpOiByZWFkLW9ubHkgcG9ydHMgYXJyYXkgIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3Nh
Z2VfcG9ydHNfcmVhZG9ubHlfYXJyYXkuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX3BvcnRzX3JlYWRvbmx5X2FycmF5
Lmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNjQ1ZWE3ZWY1Zjg5MjBiYmIwM2U4MDI0NTA5MDI2ZDVlMzAzYmY1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX3BvcnRzX3JlYWRvbmx5X2FycmF5Lmh0bQpAQCAt
MCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT4gcG9zdE1lc3NhZ2UoKTogcmVh
ZC1vbmx5IHBvcnRzIGFycmF5IDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+CisidXNl
IHN0cmljdCI7Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgdmFyIGNoYW5uZWwgPSBuZXcg
TWVzc2FnZUNoYW5uZWwoKTsKKyAgdmFyIHRhcmdldFBvcnQgPSBjaGFubmVsLnBvcnQyOworICB0
YXJnZXRQb3J0LnN0YXJ0KCk7CisgIHRhcmdldFBvcnQuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2Fn
ZSIsIHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZSkgeworICAgIHZhciBjaGFubmVsMyA9IG5l
dyBNZXNzYWdlQ2hhbm5lbCgpOworICAgIGFzc2VydF90aHJvd3MobmV3IFR5cGVFcnJvcigpLCAo
KSA9PiB7CisgICAgICBlLnBvcnRzLnB1c2goY2hhbm5lbDMucG9ydDEpOworICAgIH0sICJwb3J0
cyBpcyBhIGZyb3plbiBvYmplY3QiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGUucG9ydHMubGVuZ3Ro
LCAxLCAicG9ydHMgaXMgYSByZWFkIG9ubHkgYXJyYXkgd2l0aCBsZW5ndGggPT0gMS4iKTsKKyAg
fSksIHRydWUpOworICB2YXIgY2hhbm5lbDIgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKKyAgY2hh
bm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgicG9ydHMiLCBbY2hhbm5lbDIucG9ydDFdKTsKK30pOwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvcG9zdE1lc3NhZ2VfdGFyZ2V0X3NvdXJjZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvcG9z
dE1lc3NhZ2VfdGFyZ2V0X3NvdXJjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE4MThmNmIw
MGE5MDk4NjkxZjBmMzljMmI3MjkzZjU2NzE5MzljOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9wb3N0TWVzc2Fn
ZV90YXJnZXRfc291cmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyAgcG9z
dE1lc3NhZ2UoKTogdGFyZ2V0IHBvcnQgYW5kIHNvdXJjZSBwb3J0ICAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RN
ZXNzYWdlX3RhcmdldF9zb3VyY2UuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX3RhcmdldF9zb3VyY2UuaHRtCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdkNjg0OTE2ZGRlMjE3ZmE4ZjYzZjBjM2IyM2QyYTU4MmE1ODY2ZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvcG9zdE1lc3NhZ2VfdGFyZ2V0X3NvdXJjZS5odG0KQEAgLTAsMCArMSwxOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8dGl0bGU+IHBvc3RNZXNzYWdlKCk6IHRhcmdldCBwb3J0IGFuZCBzb3Vy
Y2UgcG9ydCA8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7CisgIHZhciBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgIHZhciBz
b3VyY2UgPSBjaGFubmVsLnBvcnQxOworICB2YXIgdGFyZ2V0ID0gY2hhbm5lbC5wb3J0MjsKKyAg
dGFyZ2V0LnN0YXJ0KCk7CisgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgdC5z
dGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLnRhcmdldCwg
dGFyZ2V0KTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhlLnRhcmdldCwgc291cmNlKTsKKyAgfSks
IHRydWUpOworICBzb3VyY2UucG9zdE1lc3NhZ2UoInBpbmciKTsKK30pOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGlu
Z3MvMDAxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzZlOWY4OWY0NTI3ZDk5ZmYyODZlMjMz
ODZkM2VhYzFjMTA0NGNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDAxLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBlbmNvZGluZywgZGVkaWNhdGVkIHdv
cmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiw6UiIGJ1dCBnb3QgIsODwqUiCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDAxLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGViZWMwYjAzMzg5NDM2ODhlMDExZDk2OTRjZDBkMjY4ZTljNGU3YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMS5odG1sCkBAIC0wLDAgKzEsMjEgQEAK
KzwhLS0KK3Bvc3RNZXNzYWdlKCfDpScpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0
bGU+ZW5jb2RpbmcsIGRlZGljYXRlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2Ny
aXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIo
JyMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsK
KyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJ1x1MDBlNScpOworICAgIHRoaXMuZG9uZSgpOwor
ICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDEuaHRtbC5oZWFkZXJzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9lbmNvZGluZ3MvMDAxLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzQwYTg5YzkzY2U0
NTE1MDI2YTU0NjJjYjkzODJkYzI1MDFiZmRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNv
ZGluZ3MvMDAxLmh0bWwuaGVhZGVycwpAQCAtMCwwICsxIEBACitDb250ZW50LVR5cGU6IHRleHQv
aHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAw
Mi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZlNjk5NGUxN2VhOWZmYmFiMzg0OGVlNjUzN2E2NmIzYTk0NDdhMjIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
CitGQUlMIGVuY29kaW5nLCBzaGFyZWQgd29ya2VyIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDIuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5j
b2RpbmdzLzAwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkY2M0ZjBhMjFjMDY4NWI4NGU5NjhhMWUwZjRi
ZWMyNDMyMDBjYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDIuaHRtbApA
QCAtMCwwICsxLDIzIEBACis8IS0tCitvbmNvbm5lY3QgPSBmdW5jdGlvbihlKSB7CisgIGUucG9y
dHNbMF0ucG9zdE1lc3NhZ2UoJ8OlJyk7Cit9CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0
aXRsZT5lbmNvZGluZywgc2hhcmVkIHdvcmtlcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3Jp
cHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdv
cmtlcignIycsICcnKTsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMo
ZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnXHUwMGU1Jyk7CisgICAg
dGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMi5o
dG1sLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDIuaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzNDBhODljOTNjZTQ1MTUwMjZhNTQ2MmNiOTM4MmRjMjUwMWJmZGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL2VuY29kaW5ncy8wMDIuaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEgQEAKK0NvbnRl
bnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGlj
cy9lbmNvZGluZ3MvMDAzLTEucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDMtMS5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xZTg5OWFhYzI3MTQxODlhYjc4YWJlZWNhZDA5NTk4YTY3YTJlZTY3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3NlbWFudGljcy9lbmNvZGluZ3MvMDAzLTEucHkKQEAgLTAsMCArMSw0IEBACisgIyAtKi0gY29k
aW5nOiB1dGYtOCAtKi0KKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJldHVy
biAiUEFTUyIgaWYgcmVxdWVzdC5HRVQuZmlyc3QoJ3gnKSA9PSAnw6UnIGVsc2UgIkZBSUwiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGlu
Z3MvMDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTAxYTQ4MTkyYWNhMjkyN2QyMTg3NTcx
OWQ1MGRkMjNhZGZkZGVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDAzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBVUkwgZW5jb2RpbmcsIGRlZGljYXRl
ZCB3b3JrZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9l
bmNvZGluZ3MvMDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBmOTY0YzNjNGRjMGExMjk0NTQzOWQwNWNh
M2I3ZDA4NDM4YThhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMy5odG1s
CkBAIC0wLDAgKzEsMjYgQEAKKzwhLS0KK3ZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsK
K3hoci5vcGVuKCdHRVQnLCAnMDAzLTEucHk/eD3DpScsIGZhbHNlKTsKK3hoci5zZW5kKCk7Cit2
YXIgcGFzc2VkID0geGhyLnJlc3BvbnNlVGV4dCA9PSAnUEFTUyc7Citwb3N0TWVzc2FnZShwYXNz
ZWQpOworCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5VUkwgZW5jb2RpbmcsIGRl
ZGljYXRlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVz
dChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2Vy
Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdHJ1
ZShlLmRhdGEpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0t
CisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwNC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2Vt
YW50aWNzL2VuY29kaW5ncy8wMDQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4ODg4N2RkOTkx
ZmUxN2M3MDE2MmY4ZDRhNGI1NGViYTVjY2U5ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2Vu
Y29kaW5ncy8wMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIFVSTCBlbmNv
ZGluZywgc2hhcmVkIHdvcmtlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iYjE0NDI2MzMxMDdmMGYwZDgxOGE2MDQ1M2ZmMTU1MWM2ZGFhYzdm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDA0Lmh0bWwKQEAgLTAsMCArMSwy
NyBAQAorPCEtLQorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CisgIHhoci5vcGVuKCdHRVQnLCAnMDAzLTEucHk/eD3DpScsIGZhbHNl
KTsKKyAgeGhyLnNlbmQoKTsKKyAgdmFyIHBhc3NlZCA9IHhoci5yZXNwb25zZVRleHQgPT0gJ1BB
U1MnOworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKHBhc3NlZCk7Cit9CisvKgorLS0+Cis8IWRv
Y3R5cGUgaHRtbD4KKzx0aXRsZT5VUkwgZW5jb2RpbmcsIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdv
cmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJyMnKTsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0g
dGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF90cnVlKGUuZGF0YSk7Cisg
ICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAw
NC53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDA0Lndvcmtlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2YwZDY1MGI3ZGJiODE3Y2EyNDk1NmU2OWJiMTFmYjI3MjlmZjgw
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwNC53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIERlY29kaW5nIGludmFsaWQgdXRmLTggCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwNC53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2Rpbmdz
LzAwNC53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1
MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGluZ3MvMDA0Lndvcmtl
ci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJL
aXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwNC53
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDQud29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4NDg5
YTU3MmJlMWNjYjdmNTAwZGFmMDQxODRlNmNmNzNlODM1M2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50
aWNzL2VuY29kaW5ncy8wMDQud29ya2VyLmpzCkBAIC0wLDAgKzEsNSBAQAoraW1wb3J0U2NyaXB0
cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwordGVzdChmdW5jdGlvbigpIHsKKyAgYXNz
ZXJ0X2VxdWFscygi/yIsICJcdWZmZmQiKTsKK30sICJEZWNvZGluZyBpbnZhbGlkIHV0Zi04Iik7
Citkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRp
Y3MvZW5jb2RpbmdzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViMTI1MDc2ZmJmMjU4MjQx
ZjVjZjNiMDhjNjEyYTAyNDE0YjFkYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5n
cy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI0IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJl
Y3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2Rp
ZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVs
bCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2Mt
dGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRo
aXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5n
cy8wMDEuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMS5odG1sLmhlYWRlcnMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2VuY29k
aW5ncy8wMDIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMi5odG1sLmhlYWRlcnMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2Vu
Y29kaW5ncy8wMDMtMS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvZW5jb2RpbmdzLzAwMy5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9lbmNvZGlu
Z3MvMDA0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL2VuY29kaW5ncy8wMDQud29ya2VyLmpzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50
aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRl
cmZhY2Utb2JqZWN0cy8wMDEud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2UzODUy
NzNlMGE1MjU3ZjA3N2U1YjhmZmY1MzgyMjNhYzZhMDg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGlj
cy9pbnRlcmZhY2Utb2JqZWN0cy8wMDEud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYz
IEBACisKK1BBU1MgVGhlIFdvcmtlckdsb2JhbFNjb3BlIGludGVyZmFjZSBvYmplY3Qgc2hvdWxk
IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgaW50ZXJm
YWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitGQUlMIFRoZSBXb3JrZXIgaW50ZXJmYWNl
IG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQg
cHJvcGVydHkgIldvcmtlciIgbWlzc2luZworRkFJTCBUaGUgU2hhcmVkV29ya2VyIGludGVyZmFj
ZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVk
IHByb3BlcnR5ICJTaGFyZWRXb3JrZXIiIG1pc3NpbmcKK1BBU1MgVGhlIE1lc3NhZ2VQb3J0IGlu
dGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgTWVzc2FnZUV2ZW50
IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgV29ya2VyTmF2
aWdhdG9yIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgTWVz
c2FnZUNoYW5uZWwgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitQQVNTIFRo
ZSBXb3JrZXJMb2NhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAKK1BB
U1MgVGhlIEltYWdlRGF0YSBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAKK1BB
U1MgVGhlIEltYWdlQml0bWFwIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAor
RkFJTCBUaGUgQ2FudmFzUGF0aCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiBh
c3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiQ2FudmFzUGF0aCIgbWlzc2lu
ZworUEFTUyBUaGUgUGF0aDJEIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAor
RkFJTCBUaGUgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJl
IGV4cG9zZWQuIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJQcm9taXNl
UmVqZWN0aW9uRXZlbnQiIG1pc3NpbmcKK1BBU1MgVGhlIEV2ZW50U291cmNlIGludGVyZmFjZSBv
YmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgV2ViU29ja2V0IGludGVyZmFjZSBv
YmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorRkFJTCBUaGUgQ2xvc2VFdmVudCBpbnRlcmZhY2Ug
b2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBw
cm9wZXJ0eSAiQ2xvc2VFdmVudCIgbWlzc2luZworRkFJTCBUaGUgQnJvYWRjYXN0Q2hhbm5lbCBp
bnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAiQnJvYWRjYXN0Q2hhbm5lbCIgbWlzc2luZworUEFTUyBUaGUgQXJy
YXlCdWZmZXIgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBJ
bnQ4QXJyYXkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBV
aW50OEFycmF5IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUg
VWludDhDbGFtcGVkQXJyYXkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitQ
QVNTIFRoZSBJbnQxNkFycmF5IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAor
UEFTUyBUaGUgVWludDE2QXJyYXkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4g
CitQQVNTIFRoZSBJbnQzMkFycmF5IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQu
IAorUEFTUyBUaGUgVWludDMyQXJyYXkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3Nl
ZC4gCitQQVNTIFRoZSBGbG9hdDMyQXJyYXkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhw
b3NlZC4gCitQQVNTIFRoZSBGbG9hdDY0QXJyYXkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUg
ZXhwb3NlZC4gCitQQVNTIFRoZSBEYXRhVmlldyBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBl
eHBvc2VkLiAKK1BBU1MgVGhlIFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9i
amVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitGQUlMIFRoZSBYTUxIdHRwUmVxdWVzdFVwbG9hZCBp
bnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAiWE1MSHR0cFJlcXVlc3RVcGxvYWQiIG1pc3NpbmcKK1BBU1MgVGhl
IFhNTEh0dHBSZXF1ZXN0IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFT
UyBUaGUgUHJvZ3Jlc3NFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAK
K0ZBSUwgVGhlIEZvcm1EYXRhIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIGFz
c2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGb3JtRGF0YSIgbWlzc2luZwor
UEFTUyBUaGUgVVJMIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBU
aGUgVVJMU2VhcmNoUGFyYW1zIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAor
RkFJTCBUaGUgRmlsZSBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiBhc3NlcnRf
b3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZSIgbWlzc2luZworUEFTUyBUaGUg
QmxvYiBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAKK0ZBSUwgVGhlIEZpbGVM
aXN0IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIGFzc2VydF9vd25fcHJvcGVy
dHk6IGV4cGVjdGVkIHByb3BlcnR5ICJGaWxlTGlzdCIgbWlzc2luZworUEFTUyBUaGUgRmlsZVJl
YWRlciBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIEZpbGVS
ZWFkZXJTeW5jIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUg
RXZlbnRUYXJnZXQgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitQQVNTIFRo
ZSBFcnJvckV2ZW50IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBU
aGUgRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitGQUlMIFRoZSBD
dXN0b21FdmVudCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiBhc3NlcnRfb3du
X3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiQ3VzdG9tRXZlbnQiIG1pc3NpbmcKK1BBU1Mg
VGhlIERPTUV4Y2VwdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAKK1BB
U1MgVGhlIFJlYWRhYmxlU3RyZWFtIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQu
IAorRkFJTCBUaGUgV3JpdGFibGVTdHJlYW0gaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhw
b3NlZC4gYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIldyaXRhYmxlU3Ry
ZWFtIiBtaXNzaW5nCitQQVNTIFRoZSBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5IGludGVyZmFj
ZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgQ291bnRRdWV1aW5nU3RyYXRl
Z3kgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBJREJSZXF1
ZXN0IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgSURCT3Bl
bkRCUmVxdWVzdCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkLiAKK1BBU1MgVGhl
IElEQlZlcnNpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2Vk
LiAKK1BBU1MgVGhlIElEQkZhY3RvcnkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3Nl
ZC4gCitQQVNTIFRoZSBJREJEYXRhYmFzZSBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBv
c2VkLiAKK1BBU1MgVGhlIElEQk9iamVjdFN0b3JlIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIGJl
IGV4cG9zZWQuIAorUEFTUyBUaGUgSURCSW5kZXggaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUg
ZXhwb3NlZC4gCitQQVNTIFRoZSBJREJLZXlSYW5nZSBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBi
ZSBleHBvc2VkLiAKK1BBU1MgVGhlIElEQkN1cnNvciBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBi
ZSBleHBvc2VkLiAKK1BBU1MgVGhlIElEQkN1cnNvcldpdGhWYWx1ZSBpbnRlcmZhY2Ugb2JqZWN0
IHNob3VsZCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZSBv
YmplY3Qgc2hvdWxkIGJlIGV4cG9zZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1v
YmplY3RzLzAwMS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAxLndvcmtl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4
YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMS53b3JrZXIu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3Rz
LzAwMS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMS53b3JrZXIuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjNkZjQyMDM2OGFiY2JkZDQ5ZGFkZWViNzg0N2M4YTRjMDQ2ZmViZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAxLndvcmtlci5qcwpAQCAtMCww
ICsxLDc5IEBACitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Cit2
YXIgZXhwZWN0ZWQgPSBbCisgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvCisgICJX
b3JrZXJHbG9iYWxTY29wZSIsCisgICJEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSIsCisgICJX
b3JrZXIiLAorICAiU2hhcmVkV29ya2VyIiwKKyAgIk1lc3NhZ2VQb3J0IiwKKyAgIk1lc3NhZ2VF
dmVudCIsCisgICJXb3JrZXJOYXZpZ2F0b3IiLAorICAiTWVzc2FnZUNoYW5uZWwiLAorICAiV29y
a2VyTG9jYXRpb24iLAorICAiSW1hZ2VEYXRhIiwKKyAgIkltYWdlQml0bWFwIiwKKyAgIkNhbnZh
c1BhdGgiLAorICAiUGF0aDJEIiwKKyAgIlByb21pc2VSZWplY3Rpb25FdmVudCIsCisgICJFdmVu
dFNvdXJjZSIsCisgICJXZWJTb2NrZXQiLAorICAiQ2xvc2VFdmVudCIsCisgICJCcm9hZGNhc3RD
aGFubmVsIiwKKyAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLworICAiQXJyYXlC
dWZmZXIiLAorICAiSW50OEFycmF5IiwKKyAgIlVpbnQ4QXJyYXkiLAorICAiVWludDhDbGFtcGVk
QXJyYXkiLAorICAiSW50MTZBcnJheSIsCisgICJVaW50MTZBcnJheSIsCisgICJJbnQzMkFycmF5
IiwKKyAgIlVpbnQzMkFycmF5IiwKKyAgIkZsb2F0MzJBcnJheSIsCisgICJGbG9hdDY0QXJyYXki
LAorICAiRGF0YVZpZXciLAorICAvLyBodHRwczovL3hoci5zcGVjLndoYXR3Zy5vcmcvCisgICJY
TUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0IiwKKyAgIlhNTEh0dHBSZXF1ZXN0VXBsb2FkIiwKKyAg
IlhNTEh0dHBSZXF1ZXN0IiwKKyAgIlByb2dyZXNzRXZlbnQiLAorICAiRm9ybURhdGEiLAorICAv
LyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvCisgICJVUkwiLAorICAiVVJMU2VhcmNoUGFy
YW1zIiwKKyAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL0ZpbGVBUEkvCisgICJGaWxlIiwKKyAg
IkJsb2IiLAorICAiRmlsZUxpc3QiLAorICAiRmlsZVJlYWRlciIsCisgICJGaWxlUmVhZGVyU3lu
YyIsCisgIC8vIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8KKyAgIkV2ZW50VGFyZ2V0IiwK
KyAgIkVycm9yRXZlbnQiLAorICAiRXZlbnQiLAorICAiQ3VzdG9tRXZlbnQiLAorICAvLyBodHRw
Oi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvCisgICJET01FeGNlcHRpb24iLAorICAvLyBodHRw
czovL3N0cmVhbXMuc3BlYy53aGF0d2cub3JnLworICAiUmVhZGFibGVTdHJlYW0iLAorICAiV3Jp
dGFibGVTdHJlYW0iLAorICAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneSIsCisgICJDb3VudFF1
ZXVpbmdTdHJhdGVneSIsCisgIC8vIGh0dHA6Ly93M2MuZ2l0aHViLmlvL0luZGV4ZWREQi8KKyAg
IklEQlJlcXVlc3QiLAorICAiSURCT3BlbkRCUmVxdWVzdCIsCisgICJJREJWZXJzaW9uQ2hhbmdl
RXZlbnQiLAorICAiSURCRmFjdG9yeSIsCisgICJJREJEYXRhYmFzZSIsCisgICJJREJPYmplY3RT
dG9yZSIsCisgICJJREJJbmRleCIsCisgICJJREJLZXlSYW5nZSIsCisgICJJREJDdXJzb3IiLAor
ICAiSURCQ3Vyc29yV2l0aFZhbHVlIiwKKyAgIklEQlRyYW5zYWN0aW9uIiwKK107Citmb3IgKHZh
ciBpID0gMDsgaSA8IGV4cGVjdGVkLmxlbmd0aDsgKytpKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkg
eworICAgIGFzc2VydF9vd25fcHJvcGVydHkoc2VsZiwgZXhwZWN0ZWRbaV0pOworICB9LCAiVGhl
ICIgKyBleHBlY3RlZFtpXSArICIgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgYmUgZXhwb3NlZC4i
KTsKK30KK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAyLndv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMi53b3JrZXItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlZWMyYzEwNzAwZWNjNTNhMWNhMTQ0YzQxOWE5YTIyYTEz
MDU0NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMi53b3Jr
ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzkgQEAKKworUEFTUyBUaGUgU2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFT
UyBUaGUgQWJzdHJhY3RWaWV3IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2Vk
LiAKK1BBU1MgVGhlIEFic3RyYWN0V29ya2VyIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIG5vdCBi
ZSBleHBvc2VkLiAKK1BBU1MgVGhlIEFwcGxpY2F0aW9uQ2FjaGUgaW50ZXJmYWNlIG9iamVjdCBz
aG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgTG9jYXRpb24gaW50ZXJmYWNlIG9iamVj
dCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgTmF2aWdhdG9yIGludGVyZmFjZSBv
YmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIEF1ZGlvIGludGVyZmFjZSBv
YmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIEhUTUxDYW52YXNFbGVtZW50
IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIFBhdGgg
aW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgVGV4dE1l
dHJpY3MgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUg
Q2FudmFzUHJveHkgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFT
UyBUaGUgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIG5v
dCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIERyYXdpbmdTdHlsZSBpbnRlcmZhY2Ugb2JqZWN0IHNo
b3VsZCBub3QgYmUgZXhwb3NlZC4gCitGQUlMIFRoZSBDYW52YXNHcmFkaWVudCBpbnRlcmZhY2Ug
b2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxz
ZSBnb3QgdHJ1ZQorRkFJTCBUaGUgQ2FudmFzUGF0dGVybiBpbnRlcmZhY2Ugb2JqZWN0IHNob3Vs
ZCBub3QgYmUgZXhwb3NlZC4gYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQor
UEFTUyBUaGUgQmVmb3JlVW5sb2FkRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJl
IGV4cG9zZWQuIAorUEFTUyBUaGUgUG9wU3RhdGVFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IHNob3Vs
ZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBIYXNoQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9i
amVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgUGFnZVRyYW5zaXRpb25FdmVu
dCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBET01J
bXBsZW1lbnRhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gCitQ
QVNTIFRoZSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIgaW50ZXJmYWNlIG9iamVjdCBzaG91
bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyIGlu
dGVyZmFjZSBvYmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIFJlYWRhYmxl
U3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4
cG9zZWQuIAorUEFTUyBUaGUgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBpbnRlcmZhY2Ug
b2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBXcml0YWJsZVN0cmVhbURl
ZmF1bHRXcml0ZXIgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFT
UyBUaGUgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciBpbnRlcmZhY2Ugb2JqZWN0IHNo
b3VsZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBJREJFbnZpcm9ubWVudCBpbnRlcmZhY2Ug
b2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBEYXRhYmFzZSBpbnRlcmZh
Y2Ugb2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBVSUV2ZW50IGludGVy
ZmFjZSBvYmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIEZvY3VzRXZlbnQg
aW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAorUEFTUyBUaGUgTW91c2VF
dmVudCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBX
aGVlbEV2ZW50IGludGVyZmFjZSBvYmplY3Qgc2hvdWxkIG5vdCBiZSBleHBvc2VkLiAKK1BBU1Mg
VGhlIElucHV0RXZlbnQgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQuIAor
UEFTUyBUaGUgS2V5Ym9hcmRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBub3QgYmUgZXhw
b3NlZC4gCitQQVNTIFRoZSBDb21wb3NpdGlvbkV2ZW50IGludGVyZmFjZSBvYmplY3Qgc2hvdWxk
IG5vdCBiZSBleHBvc2VkLiAKK1BBU1MgVGhlIFZUVEN1ZSBpbnRlcmZhY2Ugb2JqZWN0IHNob3Vs
ZCBub3QgYmUgZXhwb3NlZC4gCitQQVNTIFRoZSBWVFRSZWdpb24gaW50ZXJmYWNlIG9iamVjdCBz
aG91bGQgbm90IGJlIGV4cG9zZWQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmpl
Y3RzLzAwMi53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAyLndvcmtlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMi53b3JrZXIuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAw
Mi53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFjZS1vYmplY3RzLzAwMi53b3JrZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmM1ZjVhNWY0NGFhYThmZDQxNDkxYTQ1YTkyOGM1MzNkYTk2Y2ZmZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAyLndvcmtlci5qcwpAQCAtMCwwICsx
LDUzIEBACitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7Cit2YXIg
dW5leHBlY3RlZCA9IFsKKyAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8KKyAgIlNo
YXJlZFdvcmtlckdsb2JhbFNjb3BlIiwKKyAgIkFic3RyYWN0VmlldyIsCisgICJBYnN0cmFjdFdv
cmtlciIsCisgICJBcHBsaWNhdGlvbkNhY2hlIiwKKyAgIkxvY2F0aW9uIiwKKyAgIk5hdmlnYXRv
ciIsCisgICJBdWRpbyIsCisgICJIVE1MQ2FudmFzRWxlbWVudCIsCisgICJQYXRoIiwKKyAgIlRl
eHRNZXRyaWNzIiwKKyAgIkNhbnZhc1Byb3h5IiwKKyAgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCIsCisgICJEcmF3aW5nU3R5bGUiLAorICAiQ2FudmFzR3JhZGllbnQiLAorICAiQ2FudmFzUGF0
dGVybiIsCisgICJCZWZvcmVVbmxvYWRFdmVudCIsCisgICJQb3BTdGF0ZUV2ZW50IiwKKyAgIkhh
c2hDaGFuZ2VFdmVudCIsCisgICJQYWdlVHJhbnNpdGlvbkV2ZW50IiwKKyAgLy8gaHR0cHM6Ly9k
b20uc3BlYy53aGF0d2cub3JnLworICAiRE9NSW1wbGVtZW50YXRpb24iLAorICAvLyBodHRwczov
L3N0cmVhbXMuc3BlYy53aGF0d2cub3JnLworICAiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVy
IiwKKyAgIlJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciIsCisgICJSZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyIiwKKyAgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIiLAorICAiV3Jp
dGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyIiwKKyAgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIiLAorICAvLyBodHRwOi8vdzNjLmdpdGh1Yi5pby9JbmRleGVkREIvCisgICJJREJFbnZp
cm9ubWVudCIsCisgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEwL05PVEUtd2ViZGF0YWJh
c2UtMjAxMDExMTgvCisgICJEYXRhYmFzZSIsCisgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby91
aWV2ZW50cy8KKyAgIlVJRXZlbnQiLAorICAiRm9jdXNFdmVudCIsCisgICJNb3VzZUV2ZW50IiwK
KyAgIldoZWVsRXZlbnQiLAorICAiSW5wdXRFdmVudCIsCisgICJLZXlib2FyZEV2ZW50IiwKKyAg
IkNvbXBvc2l0aW9uRXZlbnQiLAorICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2VidnR0Lwor
ICAiVlRUQ3VlIiwKKyAgIlZUVFJlZ2lvbiIsCitdOworZm9yICh2YXIgaSA9IDA7IGkgPCB1bmV4
cGVjdGVkLmxlbmd0aDsgKytpKSB7CisgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF9m
YWxzZSh1bmV4cGVjdGVkW2ldIGluIHNlbGYpOworICB9LCAiVGhlICIgKyB1bmV4cGVjdGVkW2ld
ICsgIiBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBub3QgYmUgZXhwb3NlZC4iKTsKK30KK2RvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1h
bnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDAzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTcz
MjY4MWE1YTlhYjI3NTE2OWMyZjcwNzBjNTFmYzcxY2Y3NjAzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAor
CitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL2ludGVyZmFj
ZS1vYmplY3RzLzAwMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41Mjc3ODI1ZGJjMWRjMjRjNjY5ZTA4ZDA0ZjE4MjY4MGRmYjAzNWEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDMuaHRtbApAQCAtMCwwICsxLDEw
NiBAQAorPCEtLQorb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICB2YXIgZXhwZWN0ZWQgPSBb
CisgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8KKyAgICAiQXBwbGljYXRpb25D
YWNoZSIsCisgICAgIldvcmtlckdsb2JhbFNjb3BlIiwKKyAgICAiU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUiLAorICAgICJXb3JrZXIiLAorICAgICJTaGFyZWRXb3JrZXIiLAorICAgICJNZXNzYWdl
UG9ydCIsCisgICAgIk1lc3NhZ2VFdmVudCIsCisgICAgIldvcmtlck5hdmlnYXRvciIsCisgICAg
Ik1lc3NhZ2VDaGFubmVsIiwKKyAgICAiV29ya2VyTG9jYXRpb24iLAorICAgICJJbWFnZURhdGEi
LAorICAgICJJbWFnZUJpdG1hcCIsCisgICAgIkNhbnZhc1BhdGgiLAorICAgICJQYXRoMkQiLAor
ICAgICJQcm9taXNlUmVqZWN0aW9uRXZlbnQiLAorICAgICJFdmVudFNvdXJjZSIsCisgICAgIldl
YlNvY2tldCIsCisgICAgIkNsb3NlRXZlbnQiLAorICAgICJCcm9hZGNhc3RDaGFubmVsIiwKKyAg
ICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvCisgICAgIkFycmF5QnVmZmVyIiwK
KyAgICAiSW50OEFycmF5IiwKKyAgICAiVWludDhBcnJheSIsCisgICAgIlVpbnQ4Q2xhbXBlZEFy
cmF5IiwKKyAgICAiSW50MTZBcnJheSIsCisgICAgIlVpbnQxNkFycmF5IiwKKyAgICAiSW50MzJB
cnJheSIsCisgICAgIlVpbnQzMkFycmF5IiwKKyAgICAiRmxvYXQzMkFycmF5IiwKKyAgICAiRmxv
YXQ2NEFycmF5IiwKKyAgICAiRGF0YVZpZXciLAorICAgIC8vIGh0dHBzOi8veGhyLnNwZWMud2hh
dHdnLm9yZy8KKyAgICAiWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCIsCisgICAgIlhNTEh0dHBS
ZXF1ZXN0VXBsb2FkIiwKKyAgICAiWE1MSHR0cFJlcXVlc3QiLAorICAgICJQcm9ncmVzc0V2ZW50
IiwKKyAgICAiRm9ybURhdGEiLAorICAgIC8vIGh0dHBzOi8vdXJsLnNwZWMud2hhdHdnLm9yZy8K
KyAgICAiVVJMIiwKKyAgICAiVVJMU2VhcmNoUGFyYW1zIiwKKyAgICAvLyBodHRwczovL3czYy5n
aXRodWIuaW8vRmlsZUFQSS8KKyAgICAiRmlsZSIsCisgICAgIkJsb2IiLAorICAgICJGaWxlTGlz
dCIsCisgICAgIkZpbGVSZWFkZXIiLAorICAgICJGaWxlUmVhZGVyU3luYyIsCisgICAgLy8gaHR0
cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLworICAgICJFdmVudFRhcmdldCIsCisgICAgIkVycm9y
RXZlbnQiLAorICAgICJFdmVudCIsCisgICAgIkN1c3RvbUV2ZW50IiwKKyAgICAvLyBodHRwOi8v
aGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvCisgICAgIkRPTUV4Y2VwdGlvbiIsCisgICAgLy8gaHR0
cHM6Ly9zdHJlYW1zLnNwZWMud2hhdHdnLm9yZy8KKyAgICAiUmVhZGFibGVTdHJlYW0iLAorICAg
ICJXcml0YWJsZVN0cmVhbSIsCisgICAgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kiLAorICAg
ICJDb3VudFF1ZXVpbmdTdHJhdGVneSIsCisgICAgLy8gaHR0cDovL3czYy5naXRodWIuaW8vSW5k
ZXhlZERCLworICAgICJJREJSZXF1ZXN0IiwKKyAgICAiSURCT3BlbkRCUmVxdWVzdCIsCisgICAg
IklEQlZlcnNpb25DaGFuZ2VFdmVudCIsCisgICAgIklEQkZhY3RvcnkiLAorICAgICJJREJEYXRh
YmFzZSIsCisgICAgIklEQk9iamVjdFN0b3JlIiwKKyAgICAiSURCSW5kZXgiLAorICAgICJJREJL
ZXlSYW5nZSIsCisgICAgIklEQkN1cnNvciIsCisgICAgIklEQkN1cnNvcldpdGhWYWx1ZSIsCisg
ICAgIklEQlRyYW5zYWN0aW9uIiwKKyAgXTsKKyAgdmFyIHJlc3VsdCA9IFtdOworICBmb3IgKHZh
ciBpID0gMDsgaSA8IGV4cGVjdGVkLmxlbmd0aDsgKytpKSB7CisgICAgcmVzdWx0LnB1c2goW2V4
cGVjdGVkW2ldLCBleHBlY3RlZFtpXSBpbiBzZWxmXSk7CisgIH0KKyAgZS5wb3J0c1swXS5wb3N0
TWVzc2FnZShyZXN1bHQpOworfQorLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+YXZh
aWxhYmxlIGludGVyZmFjZSBvYmplY3RzIGluIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+
PC9kaXY+Cis8c2NyaXB0Pgorc2V0dXAoZnVuY3Rpb24oKSB7CisgIHdpbmRvdy53b3JrZXIgPSBu
ZXcgU2hhcmVkV29ya2VyKCcjJyk7CisgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9u
KGUpIHsKKyAgICB2YXIgcmVzdWx0ID0gZS5kYXRhOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cmVzdWx0Lmxlbmd0aDsgKytpKSB7CisgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBh
c3NlcnRfdHJ1ZShyZXN1bHRbaV1bMV0pOworICAgICAgfSwgIlRoZSAiICsgcmVzdWx0W2ldWzBd
ICsgIiBpbnRlcmZhY2Ugb2JqZWN0IHNob3VsZCBiZSBleHBvc2VkIik7CisgICAgfQorICAgIGRv
bmUoKTsKKyAgfQorfSwge2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKzwvc2NyaXB0PgorPCEtLQor
Ki8KKy8vLS0+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDA0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDA0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZTczMjY4MWE1YTlhYjI3NTE2OWMyZjcwNzBjNTFmYzcxY2Y3NjAzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNCBAQAorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L2ludGVyZmFjZS1vYmplY3RzLzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZTQzODdlZGUzYzViZjFlMmYxZmRjNzZhNDBhODRkODFmYWRhODVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDQuaHRtbApAQCAt
MCwwICsxLDczIEBACis8IS0tCitvbmNvbm5lY3QgPSBmdW5jdGlvbihlKSB7CisgIHZhciB1bmV4
cGVjdGVkID0gWworICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvCisgICAgIkRl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIiwKKyAgICAiQWJzdHJhY3RWaWV3IiwKKyAgICAiQWJz
dHJhY3RXb3JrZXIiLAorICAgICJMb2NhdGlvbiIsCisgICAgIk5hdmlnYXRvciIsCisgICAgIkRP
TUltcGxlbWVudGF0aW9uIiwKKyAgICAiQXVkaW8iLAorICAgICJIVE1MQ2FudmFzRWxlbWVudCIs
CisgICAgIlBhdGgiLAorICAgICJUZXh0TWV0cmljcyIsCisgICAgIkNhbnZhc1Byb3h5IiwKKyAg
ICAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIiwKKyAgICAiRHJhd2luZ1N0eWxlIiwKKyAgICAi
Q2FudmFzR3JhZGllbnQiLAorICAgICJDYW52YXNQYXR0ZXJuIiwKKyAgICAiUG9wU3RhdGVFdmVu
dCIsCisgICAgIkhhc2hDaGFuZ2VFdmVudCIsCisgICAgIlBhZ2VUcmFuc2l0aW9uRXZlbnQiLAor
ICAgIC8vIGh0dHBzOi8vc3RyZWFtcy5zcGVjLndoYXR3Zy5vcmcvCisgICAgIlJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdFJlYWRlciIsCisgICAgIlJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciIsCisgICAg
IlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIiLAorICAgICJSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyIiwKKyAgICAiV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyIiwKKyAgICAi
V3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciIsCisgICAgLy8gaHR0cDovL3czYy5naXRo
dWIuaW8vSW5kZXhlZERCLworICAgICJJREJFbnZpcm9ubWVudCIsCisgICAgLy8gaHR0cHM6Ly93
d3cudzMub3JnL1RSLzIwMTAvTk9URS13ZWJkYXRhYmFzZS0yMDEwMTExOC8KKyAgICAiRGF0YWJh
c2UiLAorICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby91aWV2ZW50cy8KKyAgICAiVUlFdmVu
dCIsCisgICAgIkZvY3VzRXZlbnQiLAorICAgICJNb3VzZUV2ZW50IiwKKyAgICAiV2hlZWxFdmVu
dCIsCisgICAgIklucHV0RXZlbnQiLAorICAgICJLZXlib2FyZEV2ZW50IiwKKyAgICAiQ29tcG9z
aXRpb25FdmVudCIsCisgIF07CisgIHZhciByZXN1bHQgPSBbXTsKKyAgZm9yICh2YXIgaSA9IDA7
IGkgPCB1bmV4cGVjdGVkLmxlbmd0aDsgKytpKSB7CisgICAgcmVzdWx0LnB1c2goW3VuZXhwZWN0
ZWRbaV0sIHVuZXhwZWN0ZWRbaV0gaW4gc2VsZl0pOworICB9CisgIGUucG9ydHNbMF0ucG9zdE1l
c3NhZ2UocmVzdWx0KTsKK30KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPnVuYXZh
aWxhYmxlIGludGVyZmFjZSBvYmplY3RzIGluIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+
PC9kaXY+Cis8c2NyaXB0Pgorc2V0dXAoZnVuY3Rpb24oKSB7CisgIHdpbmRvdy53b3JrZXIgPSBu
ZXcgU2hhcmVkV29ya2VyKCcjJyk7CisgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9u
KGUpIHsKKyAgICB2YXIgcmVzdWx0ID0gZS5kYXRhOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cmVzdWx0Lmxlbmd0aDsgKytpKSB7CisgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICBh
c3NlcnRfZmFsc2UocmVzdWx0W2ldWzFdKTsKKyAgICAgIH0sICJUaGUgIiArIHJlc3VsdFtpXVsw
XSArICIgaW50ZXJmYWNlIG9iamVjdCBzaG91bGQgbm90IGJlIGV4cG9zZWQiKTsKKyAgICB9Cisg
ICAgZG9uZSgpOworICB9Cit9LCB7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworPC9zY3JpcHQ+Cis8
IS0tCisqLworLy8tLT4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvdzNjLWltcG9ydC5sb2cKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWRkMzM2MTkyZGU1Zjk5NmU0ZDU1ODQzMTNmMWJlMTY4MGE2ZWY4NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwyMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDEud29ya2VyLmpzCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9pbnRlcmZhY2Utb2JqZWN0cy8wMDIud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9pbnRlcmZhY2Utb2Jq
ZWN0cy8wMDMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9zZW1hbnRpY3MvaW50ZXJmYWNlLW9iamVjdHMvMDA0Lmh0bWwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBs
ZS13b3JrZXJzLzAwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgxMWYzMDA4YWNhNzc5NTgz
NzIzNDg0ZjA1Y2I4OTRlNWIyNjVlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUt
d29ya2Vycy8wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIGRlZGljYXRl
ZCAKK0ZBSUwgc2hhcmVkIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdv
cmtlcnMvMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVlNzkxN2FkN2FhMWVmNzY0Y2Q5YTVmYmM4Mjll
Zjc5MTJjOTYyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDEu
aHRtbApAQCAtMCwwICsxLDQwIEBACis8IS0tCitpZiAoJ29ubWVzc2FnZScgaW4gc2VsZikgeyAv
LyBkZWRpY2F0ZWQgd29ya2VyCisgIG9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsKKyAgICBwb3N0
TWVzc2FnZShlLmRhdGEpOworICB9Cit9IGVsc2UgeyAvLyBzaGFyZWQgd29ya2VyCisgIG9uY29u
bmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgICBlLnBvcnRzWzBdLm9ubWVzc2FnZSA9IGZ1bmN0aW9u
KGUpIHsKKyAgICAgIHRoaXMucG9zdE1lc3NhZ2UoZS5kYXRhKTsKKyAgICB9CisgIH0KK30KKy8q
CistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtl
ciBpbiBzYW1lIHBhZ2U8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVz
dChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgd29ya2Vy
Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfZXF1
YWxzKGUuZGF0YSwgJ2RlZGljYXRlZCcpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsKKyAgd29y
a2VyLnBvc3RNZXNzYWdlKCdkZWRpY2F0ZWQnKTsKK30sICdkZWRpY2F0ZWQnKTsKK2FzeW5jX3Rl
c3QoZnVuY3Rpb24oKSB7CisgIHZhciBzaGFyZWQgPSBuZXcgU2hhcmVkV29ya2VyKCcjJywgJycp
OworICBzaGFyZWQucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7
CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICdzaGFyZWQnKTsKKyAgICB0aGlzLmRvbmUoKTsK
KyAgfSk7CisgIHNoYXJlZC5wb3J0LnBvc3RNZXNzYWdlKCdzaGFyZWQnKTsKK30sICdzaGFyZWQn
KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxl
LXdvcmtlcnMvMDAyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMjFmNWYwZmIyNmIyZjNkMjRhNGQyYWU5ZmM3NDMyZGFm
MzA1NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDAyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBjcmVhdGluZyAzIHNpYmxpbmcgZGVkaWNh
dGVkIHdvcmtlcnMgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWIxZjU0ZjRj
NWE2NDZlZWNlMjI0YWU3M2JjZWI2YTAxMzMxMmY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9t
dWx0aXBsZS13b3JrZXJzLzAwMi5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhLS0KK3Bvc3RNZXNz
YWdlKDEpOworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+Y3JlYXRpbmcgMyBzaWJs
aW5nIGRlZGljYXRlZCB3b3JrZXJzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2Fz
eW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICB2YXIgdzEgPSBuZXcgV29ya2VyKCcjJyk7CisgIHZh
ciB3MiA9IG5ldyBXb3JrZXIoJyMnKTsKKyAgdmFyIHczID0gbmV3IFdvcmtlcignIycpOworICB2
YXIgZ290ID0gW2ZhbHNlLCBmYWxzZSwgZmFsc2VdOworICB2YXIgY2hlY2tfZG9uZSA9IHQuc3Rl
cF9mdW5jKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ290LmV2ZXJ5
KGZ1bmN0aW9uKHgpIHtyZXR1cm4geH0pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICB0
LmRvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgIH0p
OworICB3MS5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7Z290WzBdID0gdHJ1
ZTsgY2hlY2tfZG9uZSgpfSk7CisgIHcyLm9ubWVzc2FnZSA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KGUpIHtnb3RbMV0gPSB0cnVlOyBjaGVja19kb25lKCl9KTsKKyAgdzMub25tZXNzYWdlID0gdC5z
dGVwX2Z1bmMoZnVuY3Rpb24oZSkge2dvdFsyXSA9IHRydWU7IGNoZWNrX2RvbmUoKX0pOworfSk7
Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13
b3JrZXJzLzAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDAzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42NGVlYjJkMzkwNTcxZDUwYmU2ODk4ZTFhMzIyYzY3NGJlMWVi
MWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwMy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw2IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtlcgorCitIYXJuZXNzIEVycm9yIChGQUlM
KSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIK
KworVElNRU9VVCBjcmVhdGluZyAzIG5lc3RlZCBkZWRpY2F0ZWQgd29ya2VycyBUZXN0IHRpbWVk
IG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDAzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L211bHRpcGxlLXdvcmtlcnMvMDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODVjNjg4YmMwODI3NjYzMWRh
MmRkODI4ZjBkZDUzMDY1MmNjZWM4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUt
d29ya2Vycy8wMDMuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IS0tCitpZiAobG9jYXRpb24uaGFz
aCA9PSAnIzEnKSB7CisgIHZhciB3MiA9IG5ldyBXb3JrZXIoJyMyJyk7CisgIHcyLm9ubWVzc2Fn
ZSA9IGZ1bmN0aW9uKGUpIHsKKyAgICBwb3N0TWVzc2FnZSgnMScrZS5kYXRhKTsKKyAgfQorfSBl
bHNlIGlmIChsb2NhdGlvbi5oYXNoID09ICcjMicpIHsKKyAgdmFyIHczID0gbmV3IFdvcmtlcign
IzMnKTsKKyAgdzMub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeworICAgIHBvc3RNZXNzYWdlKCcy
JytlLmRhdGEpOworICB9Cit9IGVsc2UgeworICBwb3N0TWVzc2FnZSgnMycpOworfQorCisvKgor
LS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5jcmVhdGluZyAzIG5lc3RlZCBkZWRpY2F0ZWQg
d29ya2VyczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0
aW9uKCkgeworICB2YXIgdzEgPSBuZXcgV29ya2VyKCcjMScpOworICB3MS5vbm1lc3NhZ2UgPSB0
aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICcx
MjMnKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8K
Ky8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA0LTEuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRp
Y3MvbXVsdGlwbGUtd29ya2Vycy8wMDQtMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYzAzOGM1YmVlZjMz
YWM1ZjU1MDE0ZWViZWY2OGMzMmQ0MDY2MTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRp
cGxlLXdvcmtlcnMvMDA0LTEuaHRtbApAQCAtMCwwICsxLDcgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPjwvdGl0bGU+Cis8c2NyaXB0Pgord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewor
ICB2YXIgdz1uZXcgU2hhcmVkV29ya2VyKCcwMDQtMi5qcycsICd4Jyk7Cit9OworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA0LTIuanMgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRp
cGxlLXdvcmtlcnMvMDA0LTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTU5Y2Q2OTI3ZTM0ZmUwNTQ0NGY2MzMx
MzA5ZTg2OTFjMzg1OTA5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vy
cy8wMDQtMi5qcwpAQCAtMCwwICsxLDYgQEAKK3ZhciBwb3J0Oworb25jb25uZWN0ID0gZnVuY3Rp
b24oZSkgeworICBpZiAoIXBvcnQpCisgICAgcG9ydCA9IGUucG9ydHNbMF07CisgIHBvcnQucG9z
dE1lc3NhZ2UoMSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdv
cmtlcnMvMDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWYyMjM3MGYxZGNkMWI0MWVmMTE4
N2U2ZWFiYTgyYmY4OTRiNjNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3Jr
ZXJzLzAwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA1OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTogUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCitGQUlMIHNoYXJlZCB3b3Jr
ZXIgd2l0aCBtdWx0aXBsZSBkb2N1bWVudHMgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJz
LzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0
NzMzNzAwODY1YmU3MGYyN2QzNTMxMmJkYmIyZGU5YjljYzQ0MTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2Vt
YW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA0Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8dGl0bGU+c2hhcmVkIHdvcmtlciB3aXRoIG11bHRpcGxlIGRvY3VtZW50czwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaSA9IDA7Cit2YXIgbG9hZF9jb3Vu
dCA9IDA7CisKK3ZhciB3MSA9IG5ldyBTaGFyZWRXb3JrZXIoJzAwNC0yLmpzJywgJ3gnKTsKK3cx
LnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgeworICBpKys7CisgIGNoZWNrX3Jlc3VsdCgp
OworfTsKKworCitmdW5jdGlvbiBpZnJhbWVfbG9hZGVkKCkgeworICBsb2FkX2NvdW50Kys7Cisg
IGNoZWNrX3Jlc3VsdCgpOworfQorCitmdW5jdGlvbiBjaGVja19yZXN1bHQoKSB7CisgIC8vdGlt
ZW91dCB0byBhbGxvdyBmb3IgZXh0cmEsIHVuZXhwZWN0ZWQsIG1lc3NhZ2VzIHRvIGFycml2ZQor
ICBpZiAoaSA9PSAzICYmIGxvYWRfY291bnQgPT0gMikgeworICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24oKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGxvYWRfY291bnQsIDIpOworICAgICAgYXNzZXJ0
X2VxdWFscyhpLCAzKTsKKyAgICAgIGRvbmUoKTsKKyAgICB9LCA1MDApOworICB9Cit9Cis8L3Nj
cmlwdD4KKzxpZnJhbWUgc3JjPTAwNC0xLmh0bWwgb25sb2FkPSJpZnJhbWVfbG9hZGVkKCkiPjwv
aWZyYW1lPgorPGlmcmFtZSBzcmM9MDA0LTEuaHRtbCBvbmxvYWQ9ImlmcmFtZV9sb2FkZWQoKSI+
PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk2NWZlYmM2ZTMwMDhhM2Q5YzFmNGExOWJjN2I3ODg1NjYxNjI0NzkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA1LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogU2hhcmVkV29ya2VyCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0g
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCitUSU1F
T1VUIGRlZGljYXRlZCB3b3JrZXIgaW4gc2hhcmVkIHdvcmtlciBpbiBkZWRpY2F0ZWQgd29ya2Vy
IFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODljMjVl
YzZjYjkwYjY2Y2M5NDE2MjhmNWI5YjhkODJkMjM4ZDA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGlj
cy9tdWx0aXBsZS13b3JrZXJzLzAwNS5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhLS0KK2lmIChs
b2NhdGlvbi5oYXNoID09ICcjMScpIHsKKyAgdmFyIHcyID0gbmV3IFNoYXJlZFdvcmtlcignIzIn
KTsKKyAgdzIucG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgICAgcG9zdE1lc3NhZ2Uo
JzEnK2UuZGF0YSk7CisgIH0KK30gZWxzZSBpZiAobG9jYXRpb24uaGFzaCA9PSAnIzInKSB7Cisg
IG9uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgICB2YXIgcG9ydCA9IGUucG9ydHNbMF07Cisg
ICAgdmFyIHczID0gbmV3IFdvcmtlcignIzMnKTsKKyAgICB3My5vbm1lc3NhZ2UgPSBmdW5jdGlv
bihlKSB7CisgICAgICBwb3J0LnBvc3RNZXNzYWdlKCcyJytlLmRhdGEpOworICAgIH0KKyAgfQor
fSBlbHNlIHsKKyAgcG9zdE1lc3NhZ2UoJzMnKTsKK30KKworLyoKKy0tPgorPCFkb2N0eXBlIGh0
bWw+Cis8dGl0bGU+ZGVkaWNhdGVkIHdvcmtlciBpbiBzaGFyZWQgd29ya2VyIGluIGRlZGljYXRl
ZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5j
dGlvbigpIHsKKyAgdmFyIHcxID0gbmV3IFdvcmtlcignIzEnKTsKKyAgdzEub25tZXNzYWdlID0g
dGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAn
MTIzJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyov
CisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNi0xLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGlj
cy9tdWx0aXBsZS13b3JrZXJzLzAwNi0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjMWVkOTMyMzIxY2FhNmI1
YjM2NjQzYjk2ODQ1ZWZmNDlhMmE0MzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxl
LXdvcmtlcnMvMDA2LTEuanMKQEAgLTAsMCArMSwzIEBACisgIG9uY29ubmVjdCA9IGZ1bmN0aW9u
KGUpIHsKKyAgICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKCczJyk7CisgIH0KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA2LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDYtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYxMTBmZmE0ODBkM2ZhMWU0Yzg2NzZiNzA3ZGZmNTVlMjk5Njg1ZTQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA2LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDMgQEAKKworRkFJTCBzaGFyZWQgd29ya2VyIGluIGRlZGljYXRlZCB3b3JrZXIgaW4gc2hh
cmVkIHdvcmtlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJz
LzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMjEyNDI1NjNiY2Y5OWYxNDVjMzViMTVlYmU3MDkxMDg1
OWRlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA2Lmh0bWwK
QEAgLTAsMCArMSwzNSBAQAorPCEtLQoraWYgKGxvY2F0aW9uLmhhc2ggPT0gJyMxJykgeworICBv
bmNvbm5lY3QgPSBmdW5jdGlvbihlKSB7CisgICAgdmFyIHBvcnQgPSBlLnBvcnRzWzBdOworICAg
IHZhciB3MiA9IG5ldyBXb3JrZXIoJyMyJyk7CisgICAgdzIub25tZXNzYWdlID0gZnVuY3Rpb24o
ZSkgeworICAgICAgcG9ydC5wb3N0TWVzc2FnZSgnMScrZS5kYXRhKTsKKyAgICB9CisgIH0KK30g
ZWxzZSBpZiAobG9jYXRpb24uaGFzaCA9PSAnIzInKSB7CisgIHZhciB3MyA9IG5ldyBTaGFyZWRX
b3JrZXIoJzAwNi0xLmpzJyk7CisgIHczLnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZSkgewor
ICAgIHBvc3RNZXNzYWdlKCcyJytlLmRhdGEpOworICB9Cit9CisKKy8qCistLT4KKzwhZG9jdHlw
ZSBodG1sPgorPHRpdGxlPnNoYXJlZCB3b3JrZXIgaW4gZGVkaWNhdGVkIHdvcmtlciBpbiBzaGFy
ZWQgd29ya2VyPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24oKSB7CisgIHZhciB3MSA9IG5ldyBTaGFyZWRXb3JrZXIoJyMxJyk7CisgIHcxLnBvcnQu
b25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVh
bHMoZS5kYXRhLCAnMTIzJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7Cis8L3Njcmlw
dD4KKzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAw
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDA3LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMTEwZmZhNDgwZDNmYTFlNGM4Njc2YjcwN2RmZjU1ZTI5OTY4NWU0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK0ZBSUwgc2hhcmVkIHdvcmtlciBpbiBkZWRpY2F0ZWQgd29ya2VyIGlu
IHNoYXJlZCB3b3JrZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29y
a2Vycy8wMDcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOTkzNDUwNzNiYTRjNDJiNGNmNTE2OGQ0OGM5ZjU0
OGViMjQzMDAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwNy5o
dG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhLS0KK2lmIChsb2NhdGlvbi5oYXNoID09ICcjMScpIHsK
KyAgb25jb25uZWN0ID0gZnVuY3Rpb24oZSkgeworICAgIHZhciBwb3J0ID0gZS5wb3J0c1swXTsK
KyAgICB2YXIgdzIgPSBuZXcgV29ya2VyKCcjMicpOworICAgIHcyLm9ubWVzc2FnZSA9IGZ1bmN0
aW9uKGUpIHsKKyAgICAgIHBvcnQucG9zdE1lc3NhZ2UoJzEnK2UuZGF0YSk7CisgICAgfQorICB9
Cit9IGVsc2UgaWYgKGxvY2F0aW9uLmhhc2ggPT0gJyMyJykgeworICB2YXIgdzMgPSBuZXcgU2hh
cmVkV29ya2VyKCcjMycpOworICB3My5wb3J0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGUpIHsKKyAg
ICBwb3N0TWVzc2FnZSgnMicrZS5kYXRhKTsKKyAgfQorfSBlbHNlIHsKKyAgb25jb25uZWN0ID0g
ZnVuY3Rpb24oZSkgeworICAgIGUucG9ydHNbMF0ucG9zdE1lc3NhZ2UoJzMnKTsKKyAgfQorfQor
CisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5zaGFyZWQgd29ya2VyIGluIGRlZGlj
YXRlZCB3b3JrZXIgaW4gc2hhcmVkIHdvcmtlcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3Jp
cHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIgdzEgPSBuZXcgU2hhcmVkV29ya2Vy
KCcjMScpOworICB3MS5wb3J0Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUp
IHsKKyAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJzEyMycpOworICAgIHRoaXMuZG9uZSgpOwor
ICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3Mv
bXVsdGlwbGUtd29ya2Vycy8wMDgtMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwOC0x
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODJhOGEzODM1MDcxYmYxMTU0NzgzYzQ4NDUzMTVjYTBiNDUyNTYw
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDgtMS5odG1sCkBA
IC0wLDAgKzEsOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+MDA4LTE8L3RpdGxlPgorPHNj
cmlwdD4KK3ZhciB3MSA9IG5ldyBTaGFyZWRXb3JrZXIoJzAwOC5odG1sIycpOwordzEucG9ydC5v
bm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgIGUucG9ydHNbMF0ucG9zdE1lc3NhZ2UoMik7Cit9
Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L211bHRpcGxlLXdvcmtlcnMvMDA4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vy
cy8wMDgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2ZmU4MmI3YzZmZTcyODk0Mjg5MzkxNDYz
ZGQ2OGE3NDgzNWVkNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMv
MDA4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKK0ZB
SUwgbWVzc2FnZWNoYW5uZWwgaW4gc2hhcmVkIHdvcmtlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
aGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwOC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiYjQxZTBkMGIz
ODhlYzkzNTIxZDc3YWRiNWIxNDk4YjRjYWE1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211
bHRpcGxlLXdvcmtlcnMvMDA4Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCEtLQordmFyIGNoYW5u
ZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKK3ZhciBpID0gMDsKK29uY29ubmVjdCA9IGZ1bmN0
aW9uKGUpIHsKKyAgaSsrOworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKDEsIFtjaGFubmVsWydw
b3J0JyArIGldXSk7Cit9CisKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPm1lc3Nh
Z2VjaGFubmVsIGluIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8aWZyYW1l
IHNyYz0wMDgtMS5odG1sPjwvaWZyYW1lPgorPHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgp
Oworb25sb2FkID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgIHZhciB3MSA9IG5ldyBTaGFy
ZWRXb3JrZXIoJyMnKTsKKyAgdzEucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5j
dGlvbihlKSB7CisgICAgZS5wb3J0c1swXS5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5j
dGlvbihlKSB7CisgICAgICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgMik7CisgICAgICB0aGlzLmRv
bmUoKTsKKyAgICB9KTsKKyAgfSk7Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211
bHRpcGxlLXdvcmtlcnMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFhZDRiNmNmNWJjYjli
MzNkM2MzZWMxZTQ0ZTY0ZDRjNjg1ODlhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlw
bGUtd29ya2Vycy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDI4IEBACitUaGUgdGVzdHMgaW4g
dGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0Rv
IE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3Jl
YXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNv
bS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2lt
cG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3Ig
cmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRv
ciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L211bHRpcGxlLXdvcmtlcnMvMDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDAyLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL211bHRpcGxlLXdvcmtlcnMvMDAzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL211bHRpcGxlLXdvcmtl
cnMvMDA0LTEuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDQtMi5qcworL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVs
dGlwbGUtd29ya2Vycy8wMDQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDUuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1h
bnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDYtMS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8w
MDYuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUtd29ya2Vycy8wMDcuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbXVsdGlwbGUt
d29ya2Vycy8wMDgtMS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9tdWx0aXBsZS13b3JrZXJzLzAwOC5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc2VtYW50aWNzL25hdmlnYXRpb24vMDAxLTEuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbmF2aWdhdGlvbi8wMDEt
MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhmNjE5NDg0ZjRkOWU0ODVhYjhmMzU0NThiZDgwYmQ3MTUyMWYz
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24vMDAxLTEuaHRtbApAQCAtMCww
ICsxLDIzIEBACis8IS0tCitzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsgcG9zdE1lc3NhZ2UobmV3
IERhdGUoKSkgfSwgMTApCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT4wMDEtMTwv
dGl0bGU+Cis8c2NyaXB0Pgorb25sb2FkID0gZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgV29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihlKSB7CisgICAg
dmFyIHN0YXJ0ZWQgPSAhIXBhcmVudC5kYXRlOworICAgIHBhcmVudC5kYXRlID0gZS5kYXRhOwor
ICAgIGlmICghc3RhcnRlZCkgeworICAgICAgcGFyZW50LnN0YXJ0X3Rlc3QoKQorICAgIH0KKyAg
fQorfQorPC9zY3JpcHQ+Cis8YSBocmVmPSdkYXRhOnRleHQvaHRtbCw8dGl0bGU+Zm9vPC90aXRs
ZT48c2NyaXB0Pm9ubG9hZD1mdW5jdGlvbigpe3dpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe3Rp
dGxlOiB3aW5kb3cuZG9jdW1lbnQudGl0bGV9LCAiKiIpfTwvc2NyaXB0Pic+bGluazwvYT4KKzwh
LS0KKyovCisvLy0tPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24vMDAxLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MvbmF2aWdhdGlvbi8wMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiZmQ4
YTEwYTM3ZWNkM2JmODA0ZGM5M2NkY2QwMjFjZjhmODBmNGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50
aWNzL25hdmlnYXRpb24vMDAxLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBu
YXZpZ2F0aW5nIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24vMDAxLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L25hdmlnYXRpb24vMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTVjZDlhZmY0N2QyYTJiMmU2M2FiZDA4
OTJjNTFmYzAxMTI4YWNhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbmF2aWdhdGlvbi8wMDEu
aHRtbApAQCAtMCwwICsxLDM4IEBACis8IS0tCisKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPm5hdmlnYXRpbmc8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordmFyIGRh
dGU7Cit2YXIgbmV3RGF0ZTsKKzwvc2NyaXB0PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3JpcHQ+
Cit2YXIgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZyYW1lJyk7CitvbmxvYWQg
PSBmdW5jdGlvbigpIHsKKyAgaWZyYW1lLnNyYyA9ICIwMDEtMS5odG1sPyIgKyBNYXRoLnJhbmRv
bSgpOworfTsKK3ZhciBzdGFydF90ZXN0ID0gZnVuY3Rpb24oKSB7CisgIHdpbmRvd1swXS5kb2N1
bWVudC5saW5rc1swXS5jbGljaygpOworfTsKK3ZhciBhZnRlcl9sb2FkID0gZnVuY3Rpb24oZXZl
bnQpIHsKKyAgaGlzdG9yeS5iYWNrKCk7CisgIG5ld0RhdGUgPSBuZXcgRGF0ZSgpOworICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oTnVtYmVyKGRhdGUp
LCBOdW1iZXIobmV3RGF0ZSkpOworICAgIGFzc2VydF9lcXVhbHMod2luZG93WzBdLmRvY3VtZW50
LnRpdGxlLCAnMDAxLTEnKTsKKyAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2Fn
ZSIsIGFmdGVyX2xvYWQpOworICAgIGRvbmUoKTsKKyAgfSwgMjAwMCk7Cit9Oword2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBhZnRlcl9sb2FkKTsKKzwvc2NyaXB0PgorPCEtLQor
Ki8KKy8vLS0+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvbmF2aWdhdGlvbi8wMDItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9uYXZpZ2F0aW9uLzAwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjRjNTFlODEw
YTYzYTViZTFkYmIzZGY0MzQ0OWRjNDJjNDdjMDVlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3Mv
bmF2aWdhdGlvbi8wMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIG5hdmln
YXRpbmcgMiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9uYXZpZ2F0aW9uLzAwMi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9u
YXZpZ2F0aW9uLzAwMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlYTk4ZWYyZDQ0YTI3ODllYzBhMjQzYjc1
NDcwZmNhZGExYzFlNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24vMDAyLmh0
bWwKQEAgLTAsMCArMSwzOCBAQAorPCEtLQorCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0
aXRsZT5uYXZpZ2F0aW5nIDI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordmFyIGRh
dGU7Cit2YXIgbmV3RGF0ZTsKKzwvc2NyaXB0PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3JpcHQ+
Cit2YXIgdCA9IGFzeW5jX3Rlc3QoKTsKK3ZhciBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdpZnJhbWUnKTsKK29ubG9hZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgeworICBpZnJh
bWUuc3JjID0gIjAwMS0xLmh0bWw/IiArIE1hdGgucmFuZG9tKCk7Cit9KTsKK3ZhciBzdGFydF90
ZXN0ID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oKSB7CisgIHdpbmRvd1swXS5kb2N1bWVudC5saW5r
c1swXS5jbGljaygpOworfSk7Cit2YXIgYWZ0ZXJfbG9hZCA9IHQuc3RlcF9mdW5jKGZ1bmN0aW9u
KGV2ZW50KSB7CisgIG5ld0RhdGUgPSBuZXcgRGF0ZSgpOworICBzZXRUaW1lb3V0KHRoaXMuc3Rl
cF9mdW5jKGZ1bmN0aW9uKCkgeworICAgIGFzc2VydF9sZXNzX3RoYW4oTnVtYmVyKGRhdGUpLCBO
dW1iZXIobmV3RGF0ZSkpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YS50aXRsZSwgJ2Zv
bycpOworICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgYWZ0ZXJfbG9h
ZCk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pLCA1MDApOworfSk7Cit3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigibWVzc2FnZSIsIGFmdGVyX2xvYWQpOworPC9zY3JpcHQ+Cis8IS0tCisqLworLy8t
LT4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9uYXZpZ2F0aW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9u
YXZpZ2F0aW9uL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmNjA1NDY5MDNiNzczZTg0YTYz
OTY4YzkwMTNjNzNiNzAwYTFmMWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24v
dzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9uYXZpZ2F0aW9u
LzAwMS0xLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24vMDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL25hdmlnYXRpb24v
MDAyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9ycy8wMDEtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzJlNGM2NGQ4N2Q4MWVhYzNkODQzZmEwMDNhNDk4MGViNDk4MDY0ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9ycy8wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitGQUlMIHNoYXJlZCB3b3JrZXIsIG5vdCBoYW5kbGVkIENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDAxLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRiYTgxZjYz
NTNlNmZmMWRiNjUwZWIyZThkODFlMDhkMDczZmMyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3Mv
cmVwb3J0aW5nLWVycm9ycy8wMDEuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IS0tCit2YXIgcG9y
dDsKK3ZhciB0aW1lb3V0Oworb25lcnJvciA9IGZ1bmN0aW9uKGEsYixjLGQsZSkgeworICAvLyB3
aWxsIHJldHVybiB1bmRlZmluZWQsIHRodXMgdGhlIGVycm9yIGlzICJub3QgaGFuZGxlZCIKKyAg
Ly8gc28gZXJyb3Igc2hvdWxkIGJlIHJlcG9ydGVkIHRvIHRoZSB1c2VyLCBidXQgdGhpcyB0ZXN0
IGRvZXNuJ3QgY2hlY2sKKyAgLy8gdGhhdC4KKyAgLy8ganVzdCBtYWtlIHN1cmUgdGhhdCB0aGlz
IG1ldGhvZCBpcyBpbnZva2VkIHdpdGggZml2ZSBhcmd1bWVudHMKKyAgY2xlYXJUaW1lb3V0KHRp
bWVvdXQpOworICB2YXIgbG9nID0gJyc7CisgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDUpCisg
ICAgbG9nICs9ICdnb3QgJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cywgZXhwZWN0
ZWQgNS4gJzsKKyAgaWYgKHR5cGVvZiBhICE9ICdzdHJpbmcnKQorICAgIGxvZyArPSAnZmlyc3Qg
YXJndW1lbnQgd2FzblwndCBhIHN0cmluZy4gJzsKKyAgaWYgKGIgIT0gbG9jYXRpb24uaHJlZikK
KyAgICBsb2cgKz0gJ3NlY29uZCBhcmd1bWVudCB3YXMgJyArIGIgKyAnLCBleHBlY3RlZCAnICsg
bG9jYXRpb24uaHJlZiArICcuICc7CisgIGlmICh0eXBlb2YgYyAhPSAnbnVtYmVyJykKKyAgICBs
b2cgKz0gJ3RoaXJkIGFyZ3VtZW50IHdhc25cJ3QgYSBudW1iZXIuICc7CisgIGlmICh0eXBlb2Yg
ZCAhPSAnbnVtYmVyJykKKyAgICBsb2cgKz0gJ2ZvdXJ0aCBhcmd1bWVudCB3YXNuXCd0IGEgbnVt
YmVyLiAnOworICBpZiAoZSAhPSA0MikKKyAgICBsb2cgKz0gJ2ZpZnRoIGFyZ3VtZW50IHdhc25c
J3QgdGhlIHRocm93biBleGNlcHRpb24uICc7CisgIHBvcnQucG9zdE1lc3NhZ2UobG9nKTsKK30K
K29uY29ubmVjdCA9IGZ1bmN0aW9uIChlKSB7CisgIHBvcnQgPSBlLnBvcnRzWzBdOworICB0aW1l
b3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsgcG9ydC5wb3N0TWVzc2FnZSgnc2VsZi5vbmVy
cm9yIHdhcyBub3QgaW52b2tlZCcpOyB9LCAyNTApOworICB0aHJvdyA0MjsgLy8gd2lsbCAicmVw
b3J0IHRoZSBlcnJvciIKK30KKworCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5z
aGFyZWQgd29ya2VyLCBub3QgaGFuZGxlZDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+
CitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOnRydWV9KTsKK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24oKSB7CisgIHdpbmRvdy5vbmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oYSkg
eworICAgIGFzc2VydF91bnJlYWNoZWQoJ3dpbmRvdy5vbmVycm9yIGludm9rZWQ6ICcgKyBhKTsK
KyAgfSk7CisgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCcjJywgJycpOworICB3b3Jr
ZXIucG9ydC5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGUpIHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGUuZGF0YSwgJycpOworICB9KTsKK30pOworPC9zY3JpcHQ+Cis8IS0t
CisqLworLy8tLT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9ycy8wMDItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGVjNTllNmNjYzcwMDg0N2RiNjk2Mjg1NWJiM2ZhODY5YmMxOTBlYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9ycy8wMDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitGQUlMIHNoYXJlZCB3b3JrZXIsIGFkZEV2ZW50TGlzdGVuZXIgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9y
cy8wMDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9ycy8wMDIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MmNkMzc3YjQzNWQ4YmIzOWRjNjM4MTMwMWQxODBkODRkMWRhNGRhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwMi5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhLS0K
K3ZhciBwb3J0OwordmFyIHRpbWVvdXQ7CithZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGZ1bmN0
aW9uKGUpIHsKKyAgLy8gZXZlbnQgaXMgbm90IGNhbmNlbGVkLCB0aHVzIHRoZSBlcnJvciBpcyAi
bm90IGhhbmRsZWQiCisgIC8vIHNvIGVycm9yIHNob3VsZCBiZSByZXBvcnRlZCB0byB0aGUgdXNl
ciwgYnV0IHRoaXMgdGVzdCBkb2Vzbid0IGNoZWNrCisgIC8vIHRoYXQuCisgIC8vIGp1c3QgbWFr
ZSBzdXJlIHRoYXQgdGhpcyBldmVudCBoYXMgdGhlIHJpZ2h0IHByb3BlcnRpZXMKKyAgY2xlYXJU
aW1lb3V0KHRpbWVvdXQpOworICB2YXIgbG9nID0gJyc7CisgIGlmICghc2VsZi5FcnJvckV2ZW50
IHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihlKSAhPSBFcnJvckV2ZW50LnByb3RvdHlwZSkKKyAg
ICBsb2cgKz0gJ2V2ZW50IHNob3VsZCBiZSBhbiBFcnJvckV2ZW50LiAnOworICBpZiAoZS5idWJi
bGVzKQorICAgIGxvZyArPSAnZXZlbnQgc2hvdWxkIG5vdCBidWJibGUuICc7CisgIGlmICghZS5j
YW5jZWxhYmxlKQorICAgIGxvZyArPSAnZXZlbnQgc2hvdWxkIGJlIGNhbmNlbGFibGUuICc7Cisg
IGlmICghZS5pc1RydXN0ZWQpCisgICAgbG9nICs9ICdldmVudCBzaG91bGQgYmUgdHJ1c3RlZC4g
JzsKKyAgaWYgKHR5cGVvZiBlLm1lc3NhZ2UgIT0gJ3N0cmluZycpCisgICAgbG9nICs9ICdtZXNz
YWdlIHdhc25cJ3QgYSBzdHJpbmcuICc7CisgIGlmIChlLmZpbGVuYW1lICE9IGxvY2F0aW9uLmhy
ZWYpCisgICAgbG9nICs9ICdmaWxlbmFtZSB3YXMgJyArIGUuZmlsZW5hbWUgKyAnLCBleHBlY3Rl
ZCAnICsgbG9jYXRpb24uaHJlZiArICcuICc7CisgIGlmICh0eXBlb2YgZS5saW5lbm8gIT0gJ251
bWJlcicpCisgICAgbG9nICs9ICdsaW5lbm8gd2FzblwndCBhIG51bWJlci4gJzsKKyAgaWYgKHR5
cGVvZiBlLmNvbG5vICE9ICdudW1iZXInKQorICAgIGxvZyArPSAnY29sbm8gYXJndW1lbnQgd2Fz
blwndCBhIG51bWJlci4gJzsKKyAgaWYgKGUuZXJyb3IgIT0gNDIpCisgICAgbG9nICs9ICdmaWZ0
aCBhcmd1bWVudCB3YXNuXCd0IHRoZSB0aHJvd24gZXhjZXB0aW9uLiAnOworICBwb3J0LnBvc3RN
ZXNzYWdlKGxvZyk7Cit9LCBmYWxzZSk7CitvbmNvbm5lY3QgPSBmdW5jdGlvbiAoZSkgeworICBw
b3J0ID0gZS5wb3J0c1swXTsKKyAgdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHBv
cnQucG9zdE1lc3NhZ2UoJ05vIGVycm9yIGV2ZW50IGZpcmVkJyk7IH0sIDI1MCk7CisgIHRocm93
IDQyOyAvLyB3aWxsICJyZXBvcnQgdGhlIGVycm9yIgorfQorCisKKy8qCistLT4KKzwhZG9jdHlw
ZSBodG1sPgorPHRpdGxlPnNoYXJlZCB3b3JrZXIsIGFkZEV2ZW50TGlzdGVuZXI8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD1sb2c+PC9kaXY+Cis8c2NyaXB0Pgorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0
cnVlfSk7Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgeworICB3aW5kb3cub25lcnJvciA9IHRoaXMu
c3RlcF9mdW5jKGZ1bmN0aW9uKGEpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCd3aW5kb3cub25l
cnJvciBpbnZva2VkOiAnICsgYSk7CisgIH0pOworICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdv
cmtlcignIycsICcnKTsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmNf
ZG9uZShmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICcnKTsKKyAgfSk7
Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9y
dGluZy1lcnJvcnMvMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcmVwb3J0aW5nLWVycm9ycy8wMDMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhYTRhNjlkYWRhZjVkMTNhYmViMmQ4MmJhOGMyNjU0
MTQwMjRlYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDAzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBzaGFyZWQgd29ya2VyLCBubyBlcnJv
ciBldmVudCBvbiB3b3JrZXIgb3IgcG9ydCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3Jr
ZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwMy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9y
ZXBvcnRpbmctZXJyb3JzLzAwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiMDFjN2NhZmMwMzdjNjQwYzQ0
NzMwNTI1NDBkODU1OWZhYTNhZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1l
cnJvcnMvMDAzLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCEtLQorb25jb25uZWN0ID0gZnVuY3Rp
b24gKGUpIHsKKyAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgZS5wb3J0c1swXS5wb3N0TWVzc2Fn
ZSgnJyk7IH0sIDI1MCk7CisgIHkoKTsgLy8gd2lsbCAicmVwb3J0IHRoZSBlcnJvciIKKyAgLy8g
b25lcnJvciBpcyBudWxsIHNvIGl0J2xsIGJlICJub3QgaGFuZGxlZCIsIGFuZCB0aGUgZXJyb3Ig
c2hvdWxkIGJlCisgIC8vIHJlcG9ydGVkIHRvIHRoZSB1c2VyLCBhbHRob3VnaCB3ZSBkb24ndCB0
ZXN0IHRoYXQgaGVyZQorICAvLyBtYWtlIHN1cmUgd2UgZG9uJ3QgZmlyZSBhbiBlcnJvciBldmVu
dCBvbiB0aGUgbWVzc2FnZSBwb3J0IG9yIHRoZQorICAvLyBTaGFyZWRXb3JrZXIgb2JqZWN0Cit9
CisKKworLyoKKy0tPgorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+c2hhcmVkIHdvcmtlciwgbm8g
ZXJyb3IgZXZlbnQgb24gd29ya2VyIG9yIHBvcnQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2Ny
aXB0Pgorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSk7Cithc3luY190ZXN0
KGZ1bmN0aW9uKCkgeworICB3aW5kb3cub25lcnJvciA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9u
KGEpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCd3aW5kb3cub25lcnJvciBpbnZva2VkOiAnICsg
YSk7CisgIH0pOworICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcignIycsICcnKTsKKyAg
d29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24o
ZSkgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ2Vycm9yIG9uIHdvcmtlcicpOworICB9KSwgZmFs
c2UpOworICB3b3JrZXIucG9ydC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHRoaXMuc3RlcF9m
dW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCdlcnJvciBvbiBwb3J0Jyk7
CisgIH0pLCBmYWxzZSk7CisgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5j
X2RvbmUoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnJyk7CisgIH0p
OworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBv
cnRpbmctZXJyb3JzLzAwNC0xLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDA0LTEuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42NzZjMjFlNjA2ODM5YmFiODQwYzU2OGJjM2NkOTM1M2Y1MmE4NjJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwNC0xLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0PgorcGFyZW50LnQuc3RlcChmdW5j
dGlvbigpIHsKKyAgd2luZG93Lm9uZXJyb3IgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihhKSB7
CisgICAgYXNzZXJ0X3VucmVhY2hlZCgnKGlubmVyKSB3aW5kb3cub25lcnJvciBpbnZva2VkOiAn
ICsgYSk7CisgIH0pOworICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcignMDA0Lmh0bWwj
JywgJycpOworICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0aGlzLnN0ZXBfZnVu
YyhmdW5jdGlvbihlKSB7CisgICAgcGFyZW50LmFzc2VydF91bnJlYWNoZWQoJyhpbm5lcikgZXJy
b3Igb24gd29ya2VyJyk7CisgIH0pLCBmYWxzZSk7CisgIHdvcmtlci5wb3J0LmFkZEV2ZW50TGlz
dGVuZXIoJ2Vycm9yJywgdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIHBhcmVudC5h
c3NlcnRfdW5yZWFjaGVkKCcoaW5uZXIpIGVycm9yIG9uIHBvcnQnKTsKKyAgfSksIGZhbHNlKTsK
KyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihl
KSB7CisgICAgcGFyZW50LmFzc2VydF9lcXVhbHMoZS5kYXRhLCAyKTsKKyAgfSk7Cit9KTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwNC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MGY4NmViZWZiZmI1ZWExYzYxMDFmOTIwZjZlODdlMmU5ODVkNmU5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwNC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CisKK0ZBSUwgc2hhcmVkIHdvcmtlciBpbiB0d28gZG9jdW1lbnRzIGFuZCB3aW5kb3cub25lcnJv
ciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9y
ZXBvcnRpbmctZXJyb3JzLzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwNC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjFkZDFlYjNiNTJhMTI0ZGZhODExZTI1ZGM5ZWJhMThmNGE2MTM2ZDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDA0Lmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAorPCEtLQordmFyIGkgPSAwOworb25jb25uZWN0ID0gZnVuY3Rpb24gKGUpIHsKKyAg
aSsrOworICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKGkp
OyB9LCAyNTApOworICB5KCk7IC8vIHdpbGwgInJlcG9ydCB0aGUgZXJyb3IiCit9CisKKy8qCist
LT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPnNoYXJlZCB3b3JrZXIgaW4gdHdvIGRvY3VtZW50
cyBhbmQgd2luZG93Lm9uZXJyb3I8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0Pgorc2V0
dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjp0cnVlfSk7Cit2YXIgdCA9IGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIHdpbmRvdy5vbmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24o
YSkgeworICAgIGFzc2VydF91bnJlYWNoZWQoJyhvdXRlcikgd2luZG93Lm9uZXJyb3IgaW52b2tl
ZDogJyArIGEpOworICB9KTsKKyAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJyMnLCAn
Jyk7CisgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHRoaXMuc3RlcF9mdW5jKGZ1
bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCcob3V0ZXIpIGVycm9yIG9uIHdvcmtl
cicpOworICB9KSwgZmFsc2UpOworICB3b3JrZXIucG9ydC5hZGRFdmVudExpc3RlbmVyKCdlcnJv
cicsIHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdW5yZWFjaGVkKCco
b3V0ZXIpIGVycm9yIG9uIHBvcnQnKTsKKyAgfSksIGZhbHNlKTsKKyAgd29ya2VyLnBvcnQub25t
ZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMo
ZS5kYXRhLCAxKTsKKyAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZy
YW1lJyk7CisgICAgaWZyYW1lLnNyYyA9ICcwMDQtMS5odG1sJzsKKyAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgIH0pOworfSk7Cis8L3NjcmlwdD4KKzwhLS0KKyovCisv
Ly0tPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9yZXBvcnRpbmctZXJyb3JzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZjY4NzA1
NjdkZGMyZDAxMDg3M2FhOWI3MWY3OTA0NDA2OTk0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L3JlcG9ydGluZy1lcnJvcnMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwMS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3Jz
LzAwMi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy9yZXBvcnRpbmctZXJyb3JzLzAwMy5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9yZXBvcnRp
bmctZXJyb3JzLzAwNC0xLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3JlcG9ydGluZy1lcnJvcnMvMDA0Lmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zZW1hbnRpY3MvcnVuLWEtd29ya2VyLzAwMS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1bi1h
LXdvcmtlci8wMDEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxZDc1Nzc0NTE1NTI4N2M5NzQ5
Yjk0YjRkNGUxNjczZDYwMmY0NTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1bi1hLXdvcmtl
ci8wMDEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHdvcmtlciBnbG9iYWwg
c2NvcGUsIGRlZGljYXRlZCB3b3JrZXIgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcnVuLWEtd29ya2Vy
LzAwMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy9ydW4tYS13b3JrZXIvMDAxLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEwZmM2
N2VmYzdjYjgzNzdmMTM3Y2E0MjczYWE5Mzg2ZmFkZWIyNAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRp
Y3MvcnVuLWEtd29ya2VyLzAwMS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhLS0KK3Bvc3RNZXNz
YWdlKHRoaXMgPT09IHNlbGYpOworCisvKgorLS0+Cis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT53
b3JrZXIgZ2xvYmFsIHNjb3BlLCBkZWRpY2F0ZWQgd29ya2VyPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2
PgorPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgIHZhciB3b3JrZXIgPSBuZXcg
V29ya2VyKCcjJyk7CisgIHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlv
bihlKSB7CisgICAgYXNzZXJ0X3RydWUoZS5kYXRhKTsKKyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7
Cit9KTsKKzwvc2NyaXB0PgorPCEtLQorKi8KKy8vLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9ydW4tYS13b3JrZXIvMDAyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRp
Y3MvcnVuLWEtd29ya2VyLzAwMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA2MjI5ZTk4MmJm
YjFkMWRmNTY1OTc4ZGYzZTM5OTFjZjU3ZjcwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcnVu
LWEtd29ya2VyLzAwMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgd29ya2Vy
IGdsb2JhbCBzY29wZSwgc2hhcmVkIHdvcmtlciBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRX
b3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9ydW4tYS13b3JrZXIvMDAyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1
bi1hLXdvcmtlci8wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjE3YWQ3MjcyYWZlNDYyNDlkMGE3YWQ1
NzEyODgxOWZkMGIyNTI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9ydW4tYS13b3JrZXIvMDAy
Lmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPCEtLQordmFyIHBhc3NlZCA9IHRoaXMgPT09IHNlbGY7
CitvbmNvbm5lY3QgPSBmdW5jdGlvbihlKSB7CisgIGUucG9ydHNbMF0ucG9zdE1lc3NhZ2UocGFz
c2VkKTsKK30KKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPndvcmtlciBnbG9iYWwg
c2NvcGUsIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgorYXN5
bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJyMn
KTsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkg
eworICAgIGFzc2VydF90cnVlKGUuZGF0YSk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfSk7
Cis8L3NjcmlwdD4KKzwhLS0KKyovCisvLy0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zZW1hbnRpY3MvcnVuLWEtd29ya2VyLzAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1
bi1hLXdvcmtlci8wMDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlMTZjNTUzYjE0YjJlNmE0
MWE4ZjJmN2Q2MmYyM2M2NTRkMDRjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1bi1hLXdv
cmtlci8wMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIHdvcmtlciAKK0ZB
SUwgc2hhcmVkIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2Vt
YW50aWNzL3J1bi1hLXdvcmtlci8wMDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MvcnVuLWEtd29ya2VyLzAwMy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhjMmYwN2VlNzMwNWE3YTZkODNlM2MyY2Q4YWFmNDM2N2ZhYzM1YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1bi1hLXdvcmtlci8wMDMuaHRtbApAQCAtMCwwICsxLDIx
IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5oYW5kbGluZyBmb3IgNDA0IHJlc3BvbnNlPC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KK3NldHVwKHthbGxvd191bmNhdWdodF9leGNl
cHRpb246IHRydWV9KTsKKworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHdvcmtlciA9
IG5ldyBXb3JrZXIoJzQwNF93b3JrZXInKTsKKyAgd29ya2VyLm9uZXJyb3IgPSB0aGlzLnN0ZXBf
ZnVuYyhmdW5jdGlvbihlKSB7IHRoaXMuZG9uZSgpOyB9KTsKK30sICd3b3JrZXInKTsKKworYXN5
bmNfdGVzdChmdW5jdGlvbigpIHsKKyAgdmFyIHNoYXJlZCA9IG5ldyBTaGFyZWRXb3JrZXIoJzQw
NF9zaGFyZWQnKTsKKyAgLy8gTk9URTogdGhpcyBoYW5kbGVyIHdpbGwgbm90IGZpcmUsIGFzIHJ1
bnRpbWUgc2NyaXB0aW5nIGVycm9ycworICAvLyBhcmUgbm90IGZvcndhcmRlZCB0byBTaGFyZWRX
b3JrZXIgb2JqZWN0cywgYnV0IGluc3RlYWQgcmVwb3J0ZWQgdG8gdGhlIHVzZXIgZGlyZWN0bHku
CisgIHNoYXJlZC5vbmVycm9yID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeyBhc3NlcnRf
dW5yZWFjaGVkKCk7IH0sIHNoYXJlZCwgJ2Vycm9yJyk7CisgIHN0ZXBfdGltZW91dCh0aGlzLnN0
ZXBfZnVuYyhmdW5jdGlvbigpIHsgdGhpcy5kb25lKCk7IH0pLCA1MDAwKTsKK30sICdzaGFyZWQn
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9ydW4tYS13b3JrZXIvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL3J1bi1hLXdvcmtlci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjZlMDVk
ZDgxYjg5ZWU0ZTg2MGVlMmQwYjQxYTdlODI0OGUwZWRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGlj
cy9ydW4tYS13b3JrZXIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFu
dGljcy9ydW4tYS13b3JrZXIvMDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3J1bi1hLXdvcmtlci8wMDIuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1h
bnRpY3MvcnVuLWEtd29ya2VyLzAwMy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVyZWQt
Y2xvbmUvY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL2NvbW1vbi5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmMyYTMwMDQwMTgzYzdiYmU3YjNmNjVlYWI5MTQxMmZlMDZkYWZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL2NvbW1vbi5qcwpAQCAtMCwwICsxLDU5NiBA
QAorZnVuY3Rpb24gY3JlYXRlV29ya2VyKG1zZykgeworICAvLyBgdHlwZWAgaXMgZGVmaW5lZCBp
biB0aGUgdGVzdCBjYXNlIGl0c2VsZgorICBpZiAodHlwZSA9PSAnZGVkaWNhdGVkJykKKyAgICBy
ZXR1cm4gbmV3IFdvcmtlcignZGVkaWNhdGVkLmpzIycrZW5jb2RlVVJJQ29tcG9uZW50KG1zZykp
OworICBlbHNlIGlmICh0eXBlID09ICdzaGFyZWQnKQorICAgIHJldHVybiAobmV3IFNoYXJlZFdv
cmtlcignc2hhcmVkLmpzIycrZW5jb2RlVVJJQ29tcG9uZW50KG1zZykpKS5wb3J0OworICBlbHNl
CisgICAgYXNzZXJ0X3VucmVhY2hlZCgnaW52YWxpZCBvciBtaXNzaW5nIGB0eXBlYCcpOworfQor
CitmdW5jdGlvbiBjaGVjayhtc2csIGlucHV0LCBjYWxsYmFjaywgdGVzdF9vYmopIHsKKyAgaWYg
KCF0ZXN0X29iaikKKyAgICB0ZXN0X29iaiA9IGFzeW5jX3Rlc3QobXNnKTsKKyAgdGVzdF9vYmou
c3RlcChmdW5jdGlvbigpIHsKKyAgICB2YXIgdyA9IGNyZWF0ZVdvcmtlcihtc2cpOworICAgIGlm
ICh0eXBlb2YgaW5wdXQgPT09ICdmdW5jdGlvbicpCisgICAgICBpbnB1dCA9IHRoaXMuc3RlcChp
bnB1dCk7CisgICAgdy5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAgdy5vbm1lc3NhZ2UgPSB0aGlz
LnN0ZXBfZnVuYyhmdW5jdGlvbihldikgeyBjYWxsYmFjayhldi5kYXRhLCBpbnB1dCwgdGhpcyk7
IH0pOworICB9KTsKK30KKworZnVuY3Rpb24gY29tcGFyZV9wcmltaXRpdmUoYWN0dWFsLCBpbnB1
dCwgdGVzdF9vYmopIHsKKyAgYXNzZXJ0X2VxdWFscyhhY3R1YWwsIGlucHV0KTsKKyAgaWYgKHRl
c3Rfb2JqKQorICAgIHRlc3Rfb2JqLmRvbmUoKTsKK30KK2Z1bmN0aW9uIGNvbXBhcmVfQXJyYXko
Y2FsbGJhY2ssIGNhbGxiYWNrX2lzX2FzeW5jKSB7CisgIHJldHVybiBmdW5jdGlvbihhY3R1YWws
IGlucHV0LCB0ZXN0X29iaikgeworICAgIGlmICh0eXBlb2YgYWN0dWFsID09PSAnc3RyaW5nJykK
KyAgICAgIGFzc2VydF91bnJlYWNoZWQoYWN0dWFsKTsKKyAgICBhc3NlcnRfdHJ1ZShhY3R1YWwg
aW5zdGFuY2VvZiBBcnJheSwgJ2luc3RhbmNlb2YgQXJyYXknKTsKKyAgICBhc3NlcnRfbm90X2Vx
dWFscyhhY3R1YWwsIGlucHV0KTsKKyAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbC5sZW5ndGgsIGlu
cHV0Lmxlbmd0aCwgJ2xlbmd0aCcpOworICAgIGNhbGxiYWNrKGFjdHVhbCwgaW5wdXQpOworICAg
IGlmICh0ZXN0X29iaiAmJiAhY2FsbGJhY2tfaXNfYXN5bmMpCisgICAgICB0ZXN0X29iai5kb25l
KCk7CisgIH0KK30KKworZnVuY3Rpb24gY29tcGFyZV9PYmplY3QoY2FsbGJhY2ssIGNhbGxiYWNr
X2lzX2FzeW5jKSB7CisgIHJldHVybiBmdW5jdGlvbihhY3R1YWwsIGlucHV0LCB0ZXN0X29iaikg
eworICAgIGlmICh0eXBlb2YgYWN0dWFsID09PSAnc3RyaW5nJykKKyAgICAgIGFzc2VydF91bnJl
YWNoZWQoYWN0dWFsKTsKKyAgICBhc3NlcnRfdHJ1ZShhY3R1YWwgaW5zdGFuY2VvZiBPYmplY3Qs
ICdpbnN0YW5jZW9mIE9iamVjdCcpOworICAgIGFzc2VydF9mYWxzZShhY3R1YWwgaW5zdGFuY2Vv
ZiBBcnJheSwgJ2luc3RhbmNlb2YgQXJyYXknKTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhhY3R1
YWwsIGlucHV0KTsKKyAgICBjYWxsYmFjayhhY3R1YWwsIGlucHV0KTsKKyAgICBpZiAodGVzdF9v
YmogJiYgIWNhbGxiYWNrX2lzX2FzeW5jKQorICAgICAgdGVzdF9vYmouZG9uZSgpOworICB9Cit9
CisKK2Z1bmN0aW9uIGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX2Z1bmMsIHRlc3Rfb2JqKSB7Cisg
IHJldHVybiBmdW5jdGlvbihhY3R1YWwsIGlucHV0KSB7CisgICAgZm9yICh2YXIgeCBpbiBpbnB1
dCkgeworICAgICAgY29tcGFyZV9mdW5jKGFjdHVhbFt4XSwgaW5wdXRbeF0sIHRlc3Rfb2JqKTsK
KyAgICB9CisgIH07Cit9CisKK2NoZWNrKCdwcmltaXRpdmUgdW5kZWZpbmVkJywgdW5kZWZpbmVk
LCBjb21wYXJlX3ByaW1pdGl2ZSk7CitjaGVjaygncHJpbWl0aXZlIG51bGwnLCBudWxsLCBjb21w
YXJlX3ByaW1pdGl2ZSk7CitjaGVjaygncHJpbWl0aXZlIHRydWUnLCB0cnVlLCBjb21wYXJlX3By
aW1pdGl2ZSk7CitjaGVjaygncHJpbWl0aXZlIGZhbHNlJywgZmFsc2UsIGNvbXBhcmVfcHJpbWl0
aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgc3RyaW5nLCBlbXB0eSBzdHJpbmcnLCAnJywgY29tcGFy
ZV9wcmltaXRpdmUpOworY2hlY2soJ3ByaW1pdGl2ZSBzdHJpbmcsIGxvbmUgaGlnaCBzdXJyb2dh
dGUnLCAnXHVEODAwJywgY29tcGFyZV9wcmltaXRpdmUpOworY2hlY2soJ3ByaW1pdGl2ZSBzdHJp
bmcsIGxvbmUgbG93IHN1cnJvZ2F0ZScsICdcdURDMDAnLCBjb21wYXJlX3ByaW1pdGl2ZSk7Citj
aGVjaygncHJpbWl0aXZlIHN0cmluZywgTlVMJywgJ1x1MDAwMCcsIGNvbXBhcmVfcHJpbWl0aXZl
KTsKK2NoZWNrKCdwcmltaXRpdmUgc3RyaW5nLCBhc3RyYWwgY2hhcmFjdGVyJywgJ1x1REJGRlx1
REZGRCcsIGNvbXBhcmVfcHJpbWl0aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgbnVtYmVyLCAwLjIn
LCAwLjIsIGNvbXBhcmVfcHJpbWl0aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgbnVtYmVyLCAwJywg
MCwgY29tcGFyZV9wcmltaXRpdmUpOworY2hlY2soJ3ByaW1pdGl2ZSBudW1iZXIsIC0wJywgLTAs
IGNvbXBhcmVfcHJpbWl0aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgbnVtYmVyLCBOYU4nLCBOYU4s
IGNvbXBhcmVfcHJpbWl0aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgbnVtYmVyLCBJbmZpbml0eScs
IEluZmluaXR5LCBjb21wYXJlX3ByaW1pdGl2ZSk7CitjaGVjaygncHJpbWl0aXZlIG51bWJlciwg
LUluZmluaXR5JywgLUluZmluaXR5LCBjb21wYXJlX3ByaW1pdGl2ZSk7CitjaGVjaygncHJpbWl0
aXZlIG51bWJlciwgOTAwNzE5OTI1NDc0MDk5MicsIDkwMDcxOTkyNTQ3NDA5OTIsIGNvbXBhcmVf
cHJpbWl0aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5Mics
IC05MDA3MTk5MjU0NzQwOTkyLCBjb21wYXJlX3ByaW1pdGl2ZSk7CitjaGVjaygncHJpbWl0aXZl
IG51bWJlciwgOTAwNzE5OTI1NDc0MDk5NCcsIDkwMDcxOTkyNTQ3NDA5OTQsIGNvbXBhcmVfcHJp
bWl0aXZlKTsKK2NoZWNrKCdwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5NCcsIC05
MDA3MTk5MjU0NzQwOTk0LCBjb21wYXJlX3ByaW1pdGl2ZSk7CisKK2NoZWNrKCdBcnJheSBwcmlt
aXRpdmVzJywgW3VuZGVmaW5lZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcdUQ4MDAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1x1REMw
MCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnXHUwMDAwJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcdURCRkZcdURGRkQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
MC4yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC0wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFOLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSW5maW5pdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtSW5m
aW5pdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICA5MDA3MTk5MjU0NzQwOTkyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLTkwMDcxOTkyNTQ3NDA5OTIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICA5MDA3MTk5MjU0NzQwOTk0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLTkwMDcxOTkyNTQ3NDA5OTRdLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21w
YXJlX3ByaW1pdGl2ZSkpKTsKK2NoZWNrKCdPYmplY3QgcHJpbWl0aXZlcycsIHsndW5kZWZpbmVk
Jzp1bmRlZmluZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnbnVsbCc6bnVsbCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd0cnVlJzp0cnVlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2ZhbHNlJzpmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbXB0
eSc6JycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGlnaCBzdXJyb2dhdGUnOidcdUQ4
MDAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xvdyBzdXJyb2dhdGUnOidcdURDMDAn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ251bCc6J1x1MDAwMCcsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnYXN0cmFsJzonXHVEQkZGXHVERkZEJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICcwLjInOjAuMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICcwJzow
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0wJzotMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdOYU4nOk5hTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmZpbml0
eSc6SW5maW5pdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnLUluZmluaXR5JzotSW5m
aW5pdHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnOTAwNzE5OTI1NDc0MDk5Mic6OTAw
NzE5OTI1NDc0MDk5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICctOTAwNzE5OTI1NDc0
MDk5Mic6LTkwMDcxOTkyNTQ3NDA5OTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnOTAw
NzE5OTI1NDc0MDk5NCc6OTAwNzE5OTI1NDc0MDk5NCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctOTAwNzE5OTI1NDc0MDk5NCc6LTkwMDcxOTkyNTQ3NDA5OTR9LCBjb21wYXJlX09iamVj
dChlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9wcmltaXRpdmUpKSk7CisKK2Z1bmN0aW9uIGNvbXBh
cmVfQm9vbGVhbihhY3R1YWwsIGlucHV0LCB0ZXN0X29iaikgeworICBpZiAodHlwZW9mIGFjdHVh
bCA9PT0gJ3N0cmluZycpCisgICAgYXNzZXJ0X3VucmVhY2hlZChhY3R1YWwpOworICBhc3NlcnRf
dHJ1ZShhY3R1YWwgaW5zdGFuY2VvZiBCb29sZWFuLCAnaW5zdGFuY2VvZiBCb29sZWFuJyk7Cisg
IGFzc2VydF9lcXVhbHMoU3RyaW5nKGFjdHVhbCksIFN0cmluZyhpbnB1dCksICdjb252ZXJ0ZWQg
dG8gcHJpbWl0aXZlJyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgaW5wdXQpOworICBp
ZiAodGVzdF9vYmopCisgICAgdGVzdF9vYmouZG9uZSgpOworfQorY2hlY2soJ0Jvb2xlYW4gdHJ1
ZScsIG5ldyBCb29sZWFuKHRydWUpLCBjb21wYXJlX0Jvb2xlYW4pOworY2hlY2soJ0Jvb2xlYW4g
ZmFsc2UnLCBuZXcgQm9vbGVhbihmYWxzZSksIGNvbXBhcmVfQm9vbGVhbik7CitjaGVjaygnQXJy
YXkgQm9vbGVhbiBvYmplY3RzJywgW25ldyBCb29sZWFuKHRydWUpLCBuZXcgQm9vbGVhbihmYWxz
ZSldLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX0Jvb2xlYW4pKSk7Citj
aGVjaygnT2JqZWN0IEJvb2xlYW4gb2JqZWN0cycsIHsndHJ1ZSc6bmV3IEJvb2xlYW4odHJ1ZSks
ICdmYWxzZSc6bmV3IEJvb2xlYW4oZmFsc2UpfSwgY29tcGFyZV9PYmplY3QoZW51bWVyYXRlX3By
b3BzKGNvbXBhcmVfQm9vbGVhbikpKTsKKworZnVuY3Rpb24gY29tcGFyZV9vYmood2hhdCkgewor
ICB2YXIgVHlwZSA9IHdpbmRvd1t3aGF0XTsKKyAgcmV0dXJuIGZ1bmN0aW9uKGFjdHVhbCwgaW5w
dXQsIHRlc3Rfb2JqKSB7CisgICAgaWYgKHR5cGVvZiBhY3R1YWwgPT09ICdzdHJpbmcnKQorICAg
ICAgYXNzZXJ0X3VucmVhY2hlZChhY3R1YWwpOworICAgIGFzc2VydF90cnVlKGFjdHVhbCBpbnN0
YW5jZW9mIFR5cGUsICdpbnN0YW5jZW9mICcrd2hhdCk7CisgICAgYXNzZXJ0X2VxdWFscyhUeXBl
KGFjdHVhbCksIFR5cGUoaW5wdXQpLCAnY29udmVydGVkIHRvIHByaW1pdGl2ZScpOworICAgIGFz
c2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgaW5wdXQpOworICAgIGlmICh0ZXN0X29iaikKKyAgICAg
IHRlc3Rfb2JqLmRvbmUoKTsKKyAgfTsKK30KK2NoZWNrKCdTdHJpbmcgZW1wdHkgc3RyaW5nJywg
bmV3IFN0cmluZygnJyksIGNvbXBhcmVfb2JqKCdTdHJpbmcnKSk7CitjaGVjaygnU3RyaW5nIGxv
bmUgaGlnaCBzdXJyb2dhdGUnLCBuZXcgU3RyaW5nKCdcdUQ4MDAnKSwgY29tcGFyZV9vYmooJ1N0
cmluZycpKTsKK2NoZWNrKCdTdHJpbmcgbG9uZSBsb3cgc3Vycm9nYXRlJywgbmV3IFN0cmluZygn
XHVEQzAwJyksIGNvbXBhcmVfb2JqKCdTdHJpbmcnKSk7CitjaGVjaygnU3RyaW5nIE5VTCcsIG5l
dyBTdHJpbmcoJ1x1MDAwMCcpLCBjb21wYXJlX29iaignU3RyaW5nJykpOworY2hlY2soJ1N0cmlu
ZyBhc3RyYWwgY2hhcmFjdGVyJywgbmV3IFN0cmluZygnXHVEQkZGXHVERkZEJyksIGNvbXBhcmVf
b2JqKCdTdHJpbmcnKSk7CitjaGVjaygnQXJyYXkgU3RyaW5nIG9iamVjdHMnLCBbbmV3IFN0cmlu
ZygnJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFN0cmluZygnXHVEODAw
JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFN0cmluZygnXHVEQzAwJyks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFN0cmluZygnXHUwMDAwJyksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFN0cmluZygnXHVEQkZGXHVERkZEJyld
LCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX29iaignU3RyaW5nJykpKSk7
CitjaGVjaygnT2JqZWN0IFN0cmluZyBvYmplY3RzJywgeydlbXB0eSc6bmV3IFN0cmluZygnJyks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hpZ2ggc3Vycm9nYXRlJzpuZXcgU3Ry
aW5nKCdcdUQ4MDAnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG93IHN1cnJv
Z2F0ZSc6bmV3IFN0cmluZygnXHVEQzAwJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ251bCc6bmV3IFN0cmluZygnXHUwMDAwJyksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2FzdHJhbCc6bmV3IFN0cmluZygnXHVEQkZGXHVERkZEJyl9LCBjb21wYXJlX09iamVj
dChlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9vYmooJ1N0cmluZycpKSkpOworCitjaGVjaygnTnVt
YmVyIDAuMicsIG5ldyBOdW1iZXIoMC4yKSwgY29tcGFyZV9vYmooJ051bWJlcicpKTsKK2NoZWNr
KCdOdW1iZXIgMCcsIG5ldyBOdW1iZXIoMCksIGNvbXBhcmVfb2JqKCdOdW1iZXInKSk7CitjaGVj
aygnTnVtYmVyIC0wJywgbmV3IE51bWJlcigtMCksIGNvbXBhcmVfb2JqKCdOdW1iZXInKSk7Citj
aGVjaygnTnVtYmVyIE5hTicsIG5ldyBOdW1iZXIoTmFOKSwgY29tcGFyZV9vYmooJ051bWJlcicp
KTsKK2NoZWNrKCdOdW1iZXIgSW5maW5pdHknLCBuZXcgTnVtYmVyKEluZmluaXR5KSwgY29tcGFy
ZV9vYmooJ051bWJlcicpKTsKK2NoZWNrKCdOdW1iZXIgLUluZmluaXR5JywgbmV3IE51bWJlcigt
SW5maW5pdHkpLCBjb21wYXJlX29iaignTnVtYmVyJykpOworY2hlY2soJ051bWJlciA5MDA3MTk5
MjU0NzQwOTkyJywgbmV3IE51bWJlcig5MDA3MTk5MjU0NzQwOTkyKSwgY29tcGFyZV9vYmooJ051
bWJlcicpKTsKK2NoZWNrKCdOdW1iZXIgLTkwMDcxOTkyNTQ3NDA5OTInLCBuZXcgTnVtYmVyKC05
MDA3MTk5MjU0NzQwOTkyKSwgY29tcGFyZV9vYmooJ051bWJlcicpKTsKK2NoZWNrKCdOdW1iZXIg
OTAwNzE5OTI1NDc0MDk5NCcsIG5ldyBOdW1iZXIoOTAwNzE5OTI1NDc0MDk5NCksIGNvbXBhcmVf
b2JqKCdOdW1iZXInKSk7CitjaGVjaygnTnVtYmVyIC05MDA3MTk5MjU0NzQwOTk0JywgbmV3IE51
bWJlcigtOTAwNzE5OTI1NDc0MDk5NCksIGNvbXBhcmVfb2JqKCdOdW1iZXInKSk7CitjaGVjaygn
QXJyYXkgTnVtYmVyIG9iamVjdHMnLCBbbmV3IE51bWJlcigwLjIpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5ldyBOdW1iZXIoMCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbmV3IE51bWJlcigtMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3
IE51bWJlcihOYU4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBOdW1iZXIo
SW5maW5pdHkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBOdW1iZXIoLUlu
ZmluaXR5KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTnVtYmVyKDkwMDcx
OTkyNTQ3NDA5OTIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBOdW1iZXIo
LTkwMDcxOTkyNTQ3NDA5OTIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBO
dW1iZXIoOTAwNzE5OTI1NDc0MDk5NCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmV3IE51bWJlcigtOTAwNzE5OTI1NDc0MDk5NCldLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9w
cm9wcyhjb21wYXJlX29iaignTnVtYmVyJykpKSk7CitjaGVjaygnT2JqZWN0IE51bWJlciBvYmpl
Y3RzJywgeycwLjInOm5ldyBOdW1iZXIoMC4yKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnMCc6bmV3IE51bWJlcigwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
LTAnOm5ldyBOdW1iZXIoLTApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYU4n
Om5ldyBOdW1iZXIoTmFOKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW5maW5p
dHknOm5ldyBOdW1iZXIoSW5maW5pdHkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctSW5maW5pdHknOm5ldyBOdW1iZXIoLUluZmluaXR5KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnOTAwNzE5OTI1NDc0MDk5Mic6bmV3IE51bWJlcig5MDA3MTk5MjU0NzQwOTky
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLTkwMDcxOTkyNTQ3NDA5OTInOm5l
dyBOdW1iZXIoLTkwMDcxOTkyNTQ3NDA5OTIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICc5MDA3MTk5MjU0NzQwOTk0JzpuZXcgTnVtYmVyKDkwMDcxOTkyNTQ3NDA5OTQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICctOTAwNzE5OTI1NDc0MDk5NCc6bmV3IE51bWJl
cigtOTAwNzE5OTI1NDc0MDk5NCl9LCBjb21wYXJlX09iamVjdChlbnVtZXJhdGVfcHJvcHMoY29t
cGFyZV9vYmooJ051bWJlcicpKSkpOworCitmdW5jdGlvbiBjb21wYXJlX0RhdGUoYWN0dWFsLCBp
bnB1dCwgdGVzdF9vYmopIHsKKyAgaWYgKHR5cGVvZiBhY3R1YWwgPT09ICdzdHJpbmcnKQorICAg
IGFzc2VydF91bnJlYWNoZWQoYWN0dWFsKTsKKyAgYXNzZXJ0X3RydWUoYWN0dWFsIGluc3RhbmNl
b2YgRGF0ZSwgJ2luc3RhbmNlb2YgRGF0ZScpOworICBhc3NlcnRfZXF1YWxzKE51bWJlcihhY3R1
YWwpLCBOdW1iZXIoaW5wdXQpLCAnY29udmVydGVkIHRvIHByaW1pdGl2ZScpOworICBhc3NlcnRf
bm90X2VxdWFscyhhY3R1YWwsIGlucHV0KTsKKyAgaWYgKHRlc3Rfb2JqKQorICAgIHRlc3Rfb2Jq
LmRvbmUoKTsKK30KK2NoZWNrKCdEYXRlIDAnLCBuZXcgRGF0ZSgwKSwgY29tcGFyZV9EYXRlKTsK
K2NoZWNrKCdEYXRlIC0wJywgbmV3IERhdGUoLTApLCBjb21wYXJlX0RhdGUpOworY2hlY2soJ0Rh
dGUgLTguNjRlMTUnLCBuZXcgRGF0ZSgtOC42NGUxNSksIGNvbXBhcmVfRGF0ZSk7CitjaGVjaygn
RGF0ZSA4LjY0ZTE1JywgbmV3IERhdGUoOC42NGUxNSksIGNvbXBhcmVfRGF0ZSk7CitjaGVjaygn
QXJyYXkgRGF0ZSBvYmplY3RzJywgW25ldyBEYXRlKDApLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBuZXcgRGF0ZSgtMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBE
YXRlKC04LjY0ZTE1KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoOC42
NGUxNSldLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX0RhdGUpKSk7Citj
aGVjaygnT2JqZWN0IERhdGUgb2JqZWN0cycsIHsnMCc6bmV3IERhdGUoMCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLTAnOm5ldyBEYXRlKC0wKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctOC42NGUxNSc6bmV3IERhdGUoLTguNjRlMTUpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJzguNjRlMTUnOm5ldyBEYXRlKDguNjRlMTUpfSwgY29tcGFyZV9P
YmplY3QoZW51bWVyYXRlX3Byb3BzKGNvbXBhcmVfRGF0ZSkpKTsKKworZnVuY3Rpb24gY29tcGFy
ZV9SZWdFeHAoZXhwZWN0ZWRfc291cmNlKSB7CisgIC8vIFhYWCBFUzYgc3BlYyBkb2Vzbid0IGRl
ZmluZSBleGFjdCBzZXJpYWxpemF0aW9uIGZvciBgc291cmNlYCAoaXQgYWxsb3dzIHNldmVyYWwg
d2F5cyB0byBlc2NhcGUpCisgIHJldHVybiBmdW5jdGlvbihhY3R1YWwsIGlucHV0LCB0ZXN0X29i
aikgeworICAgIGlmICh0eXBlb2YgYWN0dWFsID09PSAnc3RyaW5nJykKKyAgICAgIGFzc2VydF91
bnJlYWNoZWQoYWN0dWFsKTsKKyAgICBhc3NlcnRfdHJ1ZShhY3R1YWwgaW5zdGFuY2VvZiBSZWdF
eHAsICdpbnN0YW5jZW9mIFJlZ0V4cCcpOworICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsLmdsb2Jh
bCwgaW5wdXQuZ2xvYmFsLCAnZ2xvYmFsJyk7CisgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwuaWdu
b3JlQ2FzZSwgaW5wdXQuaWdub3JlQ2FzZSwgJ2lnbm9yZUNhc2UnKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGFjdHVhbC5tdWx0aWxpbmUsIGlucHV0Lm11bHRpbGluZSwgJ211bHRpbGluZScpOworICAg
IGFzc2VydF9lcXVhbHMoYWN0dWFsLnNvdXJjZSwgZXhwZWN0ZWRfc291cmNlLCAnc291cmNlJyk7
CisgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWwuc3RpY2t5LCBpbnB1dC5zdGlja3ksICdzdGlja3kn
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGFjdHVhbC51bmljb2RlLCBpbnB1dC51bmljb2RlLCAndW5p
Y29kZScpOworICAgIGFzc2VydF9lcXVhbHMoYWN0dWFsLmxhc3RJbmRleCwgMCwgJ2xhc3RJbmRl
eCcpOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgaW5wdXQpOworICAgIGlmICh0ZXN0
X29iaikKKyAgICAgIHRlc3Rfb2JqLmRvbmUoKTsKKyAgfQorfQorZnVuY3Rpb24gZnVuY19SZWdF
eHBfZmxhZ3NfbGFzdEluZGV4KCkgeworICB2YXIgciA9IC9mb28vZ2ltOworICByLmxhc3RJbmRl
eCA9IDI7CisgIHJldHVybiByOworfQorZnVuY3Rpb24gZnVuY19SZWdFeHBfc3RpY2t5KCkgewor
ICByZXR1cm4gbmV3IFJlZ0V4cCgnZm9vJywgJ3knKTsKK30KK2Z1bmN0aW9uIGZ1bmNfUmVnRXhw
X3VuaWNvZGUoKSB7CisgIHJldHVybiBuZXcgUmVnRXhwKCdmb28nLCAndScpOworfQorY2hlY2so
J1JlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4JywgZnVuY19SZWdFeHBfZmxhZ3NfbGFzdEluZGV4
LCBjb21wYXJlX1JlZ0V4cCgnZm9vJykpOworY2hlY2soJ1JlZ0V4cCBzdGlja3kgZmxhZycsIGZ1
bmNfUmVnRXhwX3N0aWNreSwgY29tcGFyZV9SZWdFeHAoJ2ZvbycpKTsKK2NoZWNrKCdSZWdFeHAg
dW5pY29kZSBmbGFnJywgZnVuY19SZWdFeHBfdW5pY29kZSwgY29tcGFyZV9SZWdFeHAoJ2Zvbycp
KTsKK2NoZWNrKCdSZWdFeHAgZW1wdHknLCBuZXcgUmVnRXhwKCcnKSwgY29tcGFyZV9SZWdFeHAo
Jyg/OiknKSk7CitjaGVjaygnUmVnRXhwIHNsYXNoJywgbmV3IFJlZ0V4cCgnLycpLCBjb21wYXJl
X1JlZ0V4cCgnXFwvJykpOworY2hlY2soJ1JlZ0V4cCBuZXcgbGluZScsIG5ldyBSZWdFeHAoJ1xu
JyksIGNvbXBhcmVfUmVnRXhwKCdcXG4nKSk7CitjaGVjaygnQXJyYXkgUmVnRXhwIG9iamVjdCwg
UmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5kZXgnLCBbZnVuY19SZWdFeHBfZmxhZ3NfbGFzdEluZGV4
KCldLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX1JlZ0V4cCgnZm9vJykp
KSk7CitjaGVjaygnQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHN0aWNreSBmbGFnJywgZnVu
Y3Rpb24oKSB7IHJldHVybiBbZnVuY19SZWdFeHBfc3RpY2t5KCldOyB9LCBjb21wYXJlX0FycmF5
KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX1JlZ0V4cCgnZm9vJykpKSk7CitjaGVjaygnQXJyYXkg
UmVnRXhwIG9iamVjdCwgUmVnRXhwIHVuaWNvZGUgZmxhZycsIGZ1bmN0aW9uKCkgeyByZXR1cm4g
W2Z1bmNfUmVnRXhwX3VuaWNvZGUoKV07IH0sIGNvbXBhcmVfQXJyYXkoZW51bWVyYXRlX3Byb3Bz
KGNvbXBhcmVfUmVnRXhwKCdmb28nKSkpKTsKK2NoZWNrKCdBcnJheSBSZWdFeHAgb2JqZWN0LCBS
ZWdFeHAgZW1wdHknLCBbbmV3IFJlZ0V4cCgnJyldLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9w
cm9wcyhjb21wYXJlX1JlZ0V4cCgnKD86KScpKSkpOworY2hlY2soJ0FycmF5IFJlZ0V4cCBvYmpl
Y3QsIFJlZ0V4cCBzbGFzaCcsIFtuZXcgUmVnRXhwKCcvJyldLCBjb21wYXJlX0FycmF5KGVudW1l
cmF0ZV9wcm9wcyhjb21wYXJlX1JlZ0V4cCgnXFwvJykpKSk7CitjaGVjaygnQXJyYXkgUmVnRXhw
IG9iamVjdCwgUmVnRXhwIG5ldyBsaW5lJywgW25ldyBSZWdFeHAoJ1xuJyldLCBjb21wYXJlX0Fy
cmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX1JlZ0V4cCgnXFxuJykpKSk7CitjaGVjaygnT2Jq
ZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4Jywgeyd4JzpmdW5j
X1JlZ0V4cF9mbGFnc19sYXN0SW5kZXgoKX0sIGNvbXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9wcm9w
cyhjb21wYXJlX1JlZ0V4cCgnZm9vJykpKSk7CitjaGVjaygnT2JqZWN0IFJlZ0V4cCBvYmplY3Qs
IFJlZ0V4cCBzdGlja3kgZmxhZycsIGZ1bmN0aW9uKCkgeyByZXR1cm4geyd4JzpmdW5jX1JlZ0V4
cF9zdGlja3koKX07IH0sIGNvbXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX1Jl
Z0V4cCgnZm9vJykpKSk7CitjaGVjaygnT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCB1bmlj
b2RlIGZsYWcnLCBmdW5jdGlvbigpIHsgcmV0dXJuIHsneCc6ZnVuY19SZWdFeHBfdW5pY29kZSgp
fTsgfSwgY29tcGFyZV9PYmplY3QoZW51bWVyYXRlX3Byb3BzKGNvbXBhcmVfUmVnRXhwKCdmb28n
KSkpKTsKK2NoZWNrKCdPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGVtcHR5Jywgeyd4Jzpu
ZXcgUmVnRXhwKCcnKX0sIGNvbXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX1Jl
Z0V4cCgnKD86KScpKSkpOworY2hlY2soJ09iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc2xh
c2gnLCB7J3gnOm5ldyBSZWdFeHAoJy8nKX0sIGNvbXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9wcm9w
cyhjb21wYXJlX1JlZ0V4cCgnXFwvJykpKSk7CitjaGVjaygnT2JqZWN0IFJlZ0V4cCBvYmplY3Qs
IFJlZ0V4cCBuZXcgbGluZScsIHsneCc6bmV3IFJlZ0V4cCgnXG4nKX0sIGNvbXBhcmVfT2JqZWN0
KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX1JlZ0V4cCgnXFxuJykpKSk7CisKK2Z1bmN0aW9uIGNv
bXBhcmVfQmxvYihhY3R1YWwsIGlucHV0LCB0ZXN0X29iaiwgZXhwZWN0X0ZpbGUpIHsKKyAgaWYg
KHR5cGVvZiBhY3R1YWwgPT09ICdzdHJpbmcnKQorICAgIGFzc2VydF91bnJlYWNoZWQoYWN0dWFs
KTsKKyAgYXNzZXJ0X3RydWUoYWN0dWFsIGluc3RhbmNlb2YgQmxvYiwgJ2luc3RhbmNlb2YgQmxv
YicpOworICBpZiAoIWV4cGVjdF9GaWxlKQorICAgIGFzc2VydF9mYWxzZShhY3R1YWwgaW5zdGFu
Y2VvZiBGaWxlLCAnaW5zdGFuY2VvZiBGaWxlJyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLnNp
emUsIGlucHV0LnNpemUsICdzaXplJyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLnR5cGUsIGlu
cHV0LnR5cGUsICd0eXBlJyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbCwgaW5wdXQpOwor
ICB2YXIgZXZfcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKKyAgdmFyIGlucHV0X3JlYWRlciA9
IG5ldyBGaWxlUmVhZGVyKCk7CisgIHZhciByZWFkX2NvdW50ID0gMDsKKyAgdmFyIHJlYWRfZG9u
ZSA9IHRlc3Rfb2JqLnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsKKyAgICByZWFkX2NvdW50Kys7Cisg
ICAgaWYgKHJlYWRfY291bnQgPT0gMikgeworICAgICAgdmFyIGV2X3Jlc3VsdCA9IGV2X3JlYWRl
ci5yZXN1bHQ7CisgICAgICB2YXIgaW5wdXRfcmVzdWx0ID0gaW5wdXRfcmVhZGVyLnJlc3VsdDsK
KyAgICAgIGFzc2VydF9lcXVhbHMoZXZfcmVzdWx0LmJ5dGVMZW5ndGgsIGlucHV0X3Jlc3VsdC5i
eXRlTGVuZ3RoLCAnYnl0ZUxlbmd0aCcpOworICAgICAgdmFyIGV2X3ZpZXcgPSBuZXcgRGF0YVZp
ZXcoZXZfcmVzdWx0KTsKKyAgICAgIHZhciBpbnB1dF92aWV3ID0gbmV3IERhdGFWaWV3KGlucHV0
X3Jlc3VsdCk7CisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2X3Jlc3VsdC5ieXRlTGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldl92aWV3LmdldFVpbnQ4KGkpLCBpbnB1
dF92aWV3LmdldFVpbnQ4KGkpLCAnZ2V0VWludDgoJytpKycpJyk7CisgICAgICB9CisgICAgICBp
ZiAodGVzdF9vYmopCisgICAgICAgIHRlc3Rfb2JqLmRvbmUoKTsKKyAgICB9CisgIH0pOworICB2
YXIgcmVhZF9lcnJvciA9IHRlc3Rfb2JqLnN0ZXBfZnVuYyhmdW5jdGlvbigpIHsgYXNzZXJ0X3Vu
cmVhY2hlZCgnRmlsZVJlYWRlciBlcnJvcicpOyB9KTsKKyAgZXZfcmVhZGVyLnJlYWRBc0FycmF5
QnVmZmVyKGFjdHVhbCk7CisgIGV2X3JlYWRlci5vbmxvYWQgPSByZWFkX2RvbmU7CisgIGV2X3Jl
YWRlci5vbmFib3J0ID0gZXZfcmVhZGVyLm9uZXJyb3IgPSByZWFkX2Vycm9yOworICBpbnB1dF9y
ZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIoaW5wdXQpOworICBpbnB1dF9yZWFkZXIub25sb2FkID0g
cmVhZF9kb25lOworICBpbnB1dF9yZWFkZXIub25hYm9ydCA9IGlucHV0X3JlYWRlci5vbmVycm9y
ID0gcmVhZF9lcnJvcjsKK30KK2Z1bmN0aW9uIGZ1bmNfQmxvYl9iYXNpYygpIHsKKyAgcmV0dXJu
IG5ldyBCbG9iKFsnZm9vJ10sIHt0eXBlOid0ZXh0L3gtYmFyJ30pOworfQorY2hlY2soJ0Jsb2Ig
YmFzaWMnLCBmdW5jX0Jsb2JfYmFzaWMsIGNvbXBhcmVfQmxvYik7CisKK2Z1bmN0aW9uIGIoc3Ry
KSB7CisgIHJldHVybiBwYXJzZUludChzdHIsIDIpOworfQorZnVuY3Rpb24gZW5jb2RlX2Nlc3U4
KGNvZGV1bml0cykgeworICAvLyBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIyNi8g
c2VjdGlvbiAyLjIKKyAgLy8gb25seSB0aGUgMy1ieXRlIGZvcm0gaXMgc3VwcG9ydGVkCisgIHZh
ciBydiA9IFtdOworICBjb2RldW5pdHMuZm9yRWFjaChmdW5jdGlvbihjb2RldW5pdCkgeworICAg
IHJ2LnB1c2goYignMTExMDAwMDAnKSArICgoY29kZXVuaXQgJiBiKCcxMTExMDAwMDAwMDAwMDAw
JykpID4+IDEyKSk7CisgICAgcnYucHVzaChiKCcxMDAwMDAwMCcpICsgKChjb2RldW5pdCAmIGIo
JzAwMDAxMTExMTEwMDAwMDAnKSkgPj4gNikpOworICAgIHJ2LnB1c2goYignMTAwMDAwMDAnKSAr
ICAoY29kZXVuaXQgJiBiKCcwMDAwMDAwMDAwMTExMTExJykpKTsKKyAgfSk7CisgIHJldHVybiBy
djsKK30KK2Z1bmN0aW9uIGZ1bmNfQmxvYl9ieXRlcyhhcnIpIHsKKyAgcmV0dXJuIGZ1bmN0aW9u
KCkgeworICAgIHZhciBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoYXJyLmxlbmd0aCk7CisgICAg
dmFyIHZpZXcgPSBuZXcgRGF0YVZpZXcoYnVmZmVyKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGFyci5sZW5ndGg7ICsraSkgeworICAgICAgdmlldy5zZXRVaW50OChpLCBhcnJbaV0pOworICAg
IH0KKyAgICByZXR1cm4gbmV3IEJsb2IoW3ZpZXddKTsKKyAgfTsKK30KK2NoZWNrKCdCbG9iIHVu
cGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KScsIGZ1bmNfQmxvYl9ieXRlcyhl
bmNvZGVfY2VzdTgoWzB4RDgwMF0pKSwgY29tcGFyZV9CbG9iKTsKK2NoZWNrKCdCbG9iIHVucGFp
cmVkIGxvdyBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpJywgZnVuY19CbG9iX2J5dGVzKGVuY29k
ZV9jZXN1OChbMHhEQzAwXSkpLCBjb21wYXJlX0Jsb2IpOworY2hlY2soJ0Jsb2IgcGFpcmVkIHN1
cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpJywgZnVuY19CbG9iX2J5dGVzKGVuY29kZV9jZXN1OChb
MHhEODAwLCAweERDMDBdKSksIGNvbXBhcmVfQmxvYik7CisKK2Z1bmN0aW9uIGZ1bmNfQmxvYl9l
bXB0eSgpIHsKKyAgcmV0dXJuIG5ldyBCbG9iKFsnJ10pOworfQorY2hlY2soJ0Jsb2IgZW1wdHkn
LCBmdW5jX0Jsb2JfZW1wdHkgLCBjb21wYXJlX0Jsb2IpOworZnVuY3Rpb24gZnVuY19CbG9iX05V
TCgpIHsKKyAgcmV0dXJuIG5ldyBCbG9iKFsnXHUwMDAwJ10pOworfQorY2hlY2soJ0Jsb2IgTlVM
JywgZnVuY19CbG9iX05VTCwgY29tcGFyZV9CbG9iKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0
ZXN0X29iaikgeworICBjaGVjayh0ZXN0X29iai5uYW1lLCBbdGVzdF9vYmouc3RlcChmdW5jX0Js
b2JfYmFzaWMpXSwgY29tcGFyZV9BcnJheShlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9CbG9iLCB0
ZXN0X29iaiksIHRydWUpLCB0ZXN0X29iaik7Cit9LCAnQXJyYXkgQmxvYiBvYmplY3QsIEJsb2Ig
YmFzaWMnKTsKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odGVzdF9vYmopIHsKKyAgY2hlY2sodGVzdF9v
YmoubmFtZSwgW3Rlc3Rfb2JqLnN0ZXAoZnVuY19CbG9iX2J5dGVzKFsweEQ4MDBdKSldLCBjb21w
YXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX0Jsb2IsIHRlc3Rfb2JqKSwgdHJ1ZSks
IHRlc3Rfb2JqKTsKK30sICdBcnJheSBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBoaWdoIHN1
cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCknKTsKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odGVzdF9vYmop
IHsKKyAgY2hlY2sodGVzdF9vYmoubmFtZSwgW3Rlc3Rfb2JqLnN0ZXAoZnVuY19CbG9iX2J5dGVz
KFsweERDMDBdKSldLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX0Jsb2Is
IHRlc3Rfb2JqKSwgdHJ1ZSksIHRlc3Rfb2JqKTsKK30sICdBcnJheSBCbG9iIG9iamVjdCwgQmxv
YiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KScpOworYXN5bmNfdGVzdChm
dW5jdGlvbih0ZXN0X29iaikgeworICBjaGVjayh0ZXN0X29iai5uYW1lLCBbdGVzdF9vYmouc3Rl
cChmdW5jX0Jsb2JfYnl0ZXMoWzB4RDgwMCwgMHhEQzAwXSkpXSwgY29tcGFyZV9BcnJheShlbnVt
ZXJhdGVfcHJvcHMoY29tcGFyZV9CbG9iLCB0ZXN0X29iaiksIHRydWUpLCB0ZXN0X29iaik7Cit9
LCAnQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRm
LTgpJyk7Cithc3luY190ZXN0KGZ1bmN0aW9uKHRlc3Rfb2JqKSB7CisgIGNoZWNrKHRlc3Rfb2Jq
Lm5hbWUsIFt0ZXN0X29iai5zdGVwKGZ1bmNfQmxvYl9lbXB0eSldLCBjb21wYXJlX0FycmF5KGVu
dW1lcmF0ZV9wcm9wcyhjb21wYXJlX0Jsb2IsIHRlc3Rfb2JqKSwgdHJ1ZSksIHRlc3Rfb2JqKTsK
K30sICdBcnJheSBCbG9iIG9iamVjdCwgQmxvYiBlbXB0eScpOworYXN5bmNfdGVzdChmdW5jdGlv
bih0ZXN0X29iaikgeworICBjaGVjayh0ZXN0X29iai5uYW1lLCBbdGVzdF9vYmouc3RlcChmdW5j
X0Jsb2JfTlVMKV0sIGNvbXBhcmVfQXJyYXkoZW51bWVyYXRlX3Byb3BzKGNvbXBhcmVfQmxvYiwg
dGVzdF9vYmopLCB0cnVlKSwgdGVzdF9vYmopOworfSwgJ0FycmF5IEJsb2Igb2JqZWN0LCBCbG9i
IE5VTCcpOworCithc3luY190ZXN0KGZ1bmN0aW9uKHRlc3Rfb2JqKSB7CisgIGNoZWNrKHRlc3Rf
b2JqLm5hbWUsIHsneCc6dGVzdF9vYmouc3RlcChmdW5jX0Jsb2JfYmFzaWMpfSwgY29tcGFyZV9P
YmplY3QoZW51bWVyYXRlX3Byb3BzKGNvbXBhcmVfQmxvYiwgdGVzdF9vYmopLCB0cnVlKSwgdGVz
dF9vYmopOworfSwgJ09iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBiYXNpYycpOworYXN5bmNfdGVz
dChmdW5jdGlvbih0ZXN0X29iaikgeworICBjaGVjayh0ZXN0X29iai5uYW1lLCB7J3gnOnRlc3Rf
b2JqLnN0ZXAoZnVuY19CbG9iX2J5dGVzKFsweEQ4MDBdKSl9LCBjb21wYXJlX09iamVjdChlbnVt
ZXJhdGVfcHJvcHMoY29tcGFyZV9CbG9iLCB0ZXN0X29iaiksIHRydWUpLCB0ZXN0X29iaik7Cit9
LCAnT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZh
bGlkIHV0Zi04KScpOworYXN5bmNfdGVzdChmdW5jdGlvbih0ZXN0X29iaikgeworICBjaGVjayh0
ZXN0X29iai5uYW1lLCB7J3gnOnRlc3Rfb2JqLnN0ZXAoZnVuY19CbG9iX2J5dGVzKFsweERDMDBd
KSl9LCBjb21wYXJlX09iamVjdChlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9CbG9iLCB0ZXN0X29i
aiksIHRydWUpLCB0ZXN0X29iaik7Cit9LCAnT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFp
cmVkIGxvdyBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpJyk7Cithc3luY190ZXN0KGZ1bmN0aW9u
KHRlc3Rfb2JqKSB7CisgIGNoZWNrKHRlc3Rfb2JqLm5hbWUsIHsneCc6dGVzdF9vYmouc3RlcChm
dW5jX0Jsb2JfYnl0ZXMoWzB4RDgwMCwgMHhEQzAwXSkpfSwgY29tcGFyZV9PYmplY3QoZW51bWVy
YXRlX3Byb3BzKGNvbXBhcmVfQmxvYiwgdGVzdF9vYmopLCB0cnVlKSwgdGVzdF9vYmopOworfSwg
J09iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxpZCB1dGYt
OCknKTsKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odGVzdF9vYmopIHsKKyAgY2hlY2sodGVzdF9vYmou
bmFtZSwgeyd4Jzp0ZXN0X29iai5zdGVwKGZ1bmNfQmxvYl9lbXB0eSl9LCBjb21wYXJlX09iamVj
dChlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9CbG9iLCB0ZXN0X29iaiksIHRydWUpLCB0ZXN0X29i
aik7Cit9LCAnT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIGVtcHR5Jyk7Cithc3luY190ZXN0KGZ1
bmN0aW9uKHRlc3Rfb2JqKSB7CisgIGNoZWNrKHRlc3Rfb2JqLm5hbWUsIHsneCc6dGVzdF9vYmou
c3RlcChmdW5jX0Jsb2JfTlVMKX0sIGNvbXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9wcm9wcyhjb21w
YXJlX0Jsb2IsIHRlc3Rfb2JqKSwgdHJ1ZSksIHRlc3Rfb2JqKTsKK30sICdPYmplY3QgQmxvYiBv
YmplY3QsIEJsb2IgTlVMJyk7CisKK2Z1bmN0aW9uIGNvbXBhcmVfRmlsZShhY3R1YWwsIGlucHV0
LCB0ZXN0X29iaikgeworICBhc3NlcnRfdHJ1ZShhY3R1YWwgaW5zdGFuY2VvZiBGaWxlLCAnaW5z
dGFuY2VvZiBGaWxlJyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLm5hbWUsIGlucHV0Lm5hbWUs
ICduYW1lJyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLmxhc3RNb2RpZmllZCwgaW5wdXQubGFz
dE1vZGlmaWVkLCAnbGFzdE1vZGlmaWVkJyk7CisgIGNvbXBhcmVfQmxvYihhY3R1YWwsIGlucHV0
LCB0ZXN0X29iaiwgdHJ1ZSk7Cit9CitmdW5jdGlvbiBmdW5jX0ZpbGVfYmFzaWMoKSB7CisgIHJl
dHVybiBuZXcgRmlsZShbJ2ZvbyddLCAnYmFyJywge3R5cGU6J3RleHQveC1iYXInLCBsYXN0TW9k
aWZpZWQ6NDJ9KTsKK30KK2NoZWNrKCdGaWxlIGJhc2ljJywgZnVuY19GaWxlX2Jhc2ljLCBjb21w
YXJlX0ZpbGUpOworCitmdW5jdGlvbiBjb21wYXJlX0ZpbGVMaXN0KGFjdHVhbCwgaW5wdXQsIHRl
c3Rfb2JqKSB7CisgIGlmICh0eXBlb2YgYWN0dWFsID09PSAnc3RyaW5nJykKKyAgICBhc3NlcnRf
dW5yZWFjaGVkKGFjdHVhbCk7CisgIGFzc2VydF90cnVlKGFjdHVhbCBpbnN0YW5jZW9mIEZpbGVM
aXN0LCAnaW5zdGFuY2VvZiBGaWxlTGlzdCcpOworICBhc3NlcnRfZXF1YWxzKGFjdHVhbC5sZW5n
dGgsIGlucHV0Lmxlbmd0aCwgJ2xlbmd0aCcpOworICBhc3NlcnRfbm90X2VxdWFscyhhY3R1YWws
IGlucHV0KTsKKyAgLy8gWFhYIHdoZW4gdGhlcmUncyBhIHdheSB0byBwb3B1bGF0ZSBvciBjb25z
dHJ1Y3QgYSBGaWxlTGlzdCwKKyAgLy8gY2hlY2sgdGhlIGl0ZW1zIGluIHRoZSBGaWxlTGlzdAor
ICBpZiAodGVzdF9vYmopCisgICAgdGVzdF9vYmouZG9uZSgpOworfQorZnVuY3Rpb24gZnVuY19G
aWxlTGlzdF9lbXB0eSgpIHsKKyAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
aW5wdXQnKTsKKyAgaW5wdXQudHlwZSA9ICdmaWxlJzsKKyAgcmV0dXJuIGlucHV0LmZpbGVzOwor
fQorY2hlY2soJ0ZpbGVMaXN0IGVtcHR5JywgZnVuY19GaWxlTGlzdF9lbXB0eSwgY29tcGFyZV9G
aWxlTGlzdCk7CitjaGVjaygnQXJyYXkgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0eScs
IFtmdW5jX0ZpbGVMaXN0X2VtcHR5XSwgY29tcGFyZV9BcnJheShlbnVtZXJhdGVfcHJvcHMoY29t
cGFyZV9GaWxlTGlzdCkpKTsKK2NoZWNrKCdPYmplY3QgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlz
dCBlbXB0eScsIHsneCc6ZnVuY19GaWxlTGlzdF9lbXB0eX0sIGNvbXBhcmVfT2JqZWN0KGVudW1l
cmF0ZV9wcm9wcyhjb21wYXJlX0ZpbGVMaXN0KSkpOworCitmdW5jdGlvbiBjb21wYXJlX0FycmF5
QnVmZmVyVmlldyh2aWV3KSB7CisgIHZhciBUeXBlID0gd2luZG93W3ZpZXddOworICByZXR1cm4g
ZnVuY3Rpb24oYWN0dWFsLCBpbnB1dCwgdGVzdF9vYmopIHsKKyAgICBpZiAodHlwZW9mIGFjdHVh
bCA9PT0gJ3N0cmluZycpCisgICAgICBhc3NlcnRfdW5yZWFjaGVkKGFjdHVhbCk7CisgICAgYXNz
ZXJ0X3RydWUoYWN0dWFsIGluc3RhbmNlb2YgVHlwZSwgJ2luc3RhbmNlb2YgJyt2aWV3KTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGFjdHVhbC5sZW5ndGgsIGlucHV0Lmxlbmd0aCwgJ2xlbmd0aCcpOwor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbC5idWZmZXIsIGlucHV0LmJ1ZmZlciwgJ2J1ZmZl
cicpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWN0dWFsLmxlbmd0aDsgKytpKSB7CisgICAg
ICBhc3NlcnRfZXF1YWxzKGFjdHVhbFtpXSwgaW5wdXRbaV0sICdhY3R1YWxbJytpKyddJyk7Cisg
ICAgfQorICAgIGlmICh0ZXN0X29iaikKKyAgICAgIHRlc3Rfb2JqLmRvbmUoKTsKKyAgfTsKK30K
K2Z1bmN0aW9uIGNvbXBhcmVfSW1hZ2VEYXRhKGFjdHVhbCwgaW5wdXQsIHRlc3Rfb2JqKSB7Cisg
IGlmICh0eXBlb2YgYWN0dWFsID09PSAnc3RyaW5nJykKKyAgICBhc3NlcnRfdW5yZWFjaGVkKGFj
dHVhbCk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLndpZHRoLCBpbnB1dC53aWR0aCwgJ3dpZHRo
Jyk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsLmhlaWdodCwgaW5wdXQuaGVpZ2h0LCAnaGVpZ2h0
Jyk7CisgIGFzc2VydF9ub3RfZXF1YWxzKGFjdHVhbC5kYXRhLCBpbnB1dC5kYXRhLCAnZGF0YScp
OworICBjb21wYXJlX0FycmF5QnVmZmVyVmlldygnVWludDhDbGFtcGVkQXJyYXknKShhY3R1YWwu
ZGF0YSwgaW5wdXQuZGF0YSwgbnVsbCk7CisgIGlmICh0ZXN0X29iaikKKyAgICB0ZXN0X29iai5k
b25lKCk7Cit9CitmdW5jdGlvbiBmdW5jX0ltYWdlRGF0YV8xeDFfdHJhbnNwYXJlbnRfYmxhY2so
KSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAg
dmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICByZXR1cm4gY3R4LmNyZWF0ZUlt
YWdlRGF0YSgxLCAxKTsKK30KK2NoZWNrKCdJbWFnZURhdGEgMXgxIHRyYW5zcGFyZW50IGJsYWNr
JywgZnVuY19JbWFnZURhdGFfMXgxX3RyYW5zcGFyZW50X2JsYWNrLCBjb21wYXJlX0ltYWdlRGF0
YSk7CitmdW5jdGlvbiBmdW5jX0ltYWdlRGF0YV8xeDFfbm9uX3RyYW5zcGFyZW50X25vbl9ibGFj
aygpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwor
ICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CisgIHZhciBpbWFnZWRhdGEgPSBj
dHguY3JlYXRlSW1hZ2VEYXRhKDEsIDEpOworICBpbWFnZWRhdGEuZGF0YVswXSA9IDEwMDsKKyAg
aW1hZ2VkYXRhLmRhdGFbMV0gPSAxMDE7CisgIGltYWdlZGF0YS5kYXRhWzJdID0gMTAyOworICBp
bWFnZWRhdGEuZGF0YVszXSA9IDEwMzsKKyAgcmV0dXJuIGltYWdlZGF0YTsKK30KK2NoZWNrKCdJ
bWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBub24tYmxhY2snLCBmdW5jX0ltYWdlRGF0YV8x
eDFfbm9uX3RyYW5zcGFyZW50X25vbl9ibGFjaywgY29tcGFyZV9JbWFnZURhdGEpOworYXN5bmNf
dGVzdChmdW5jdGlvbih0ZXN0X29iaikgeworICBjaGVjayh0ZXN0X29iai5uYW1lLCBbdGVzdF9v
Ymouc3RlcChmdW5jX0ltYWdlRGF0YV8xeDFfdHJhbnNwYXJlbnRfYmxhY2spXSwgY29tcGFyZV9B
cnJheShlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9JbWFnZURhdGEpKSwgdGVzdF9vYmopOworfSwg
J0FycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgdHJhbnNwYXJlbnQgYmxhY2sn
KTsKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odGVzdF9vYmopIHsKKyAgY2hlY2sodGVzdF9vYmoubmFt
ZSwgW3Rlc3Rfb2JqLnN0ZXAoZnVuY19JbWFnZURhdGFfMXgxX25vbl90cmFuc3BhcmVudF9ub25f
YmxhY2spXSwgY29tcGFyZV9BcnJheShlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9JbWFnZURhdGEp
KSwgdGVzdF9vYmopOworfSwgJ0FycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEg
bm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjaycpOworYXN5bmNfdGVzdChmdW5jdGlvbih0ZXN0X29i
aikgeworICBjaGVjayh0ZXN0X29iai5uYW1lLCB7J3gnOnRlc3Rfb2JqLnN0ZXAoZnVuY19JbWFn
ZURhdGFfMXgxX3RyYW5zcGFyZW50X2JsYWNrKX0sIGNvbXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9w
cm9wcyhjb21wYXJlX0ltYWdlRGF0YSkpLCB0ZXN0X29iaik7Cit9LCAnT2JqZWN0IEltYWdlRGF0
YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgdHJhbnNwYXJlbnQgYmxhY2snKTsKK2FzeW5jX3Rlc3Qo
ZnVuY3Rpb24odGVzdF9vYmopIHsKKyAgY2hlY2sodGVzdF9vYmoubmFtZSwgeyd4Jzp0ZXN0X29i
ai5zdGVwKGZ1bmNfSW1hZ2VEYXRhXzF4MV9ub25fdHJhbnNwYXJlbnRfbm9uX2JsYWNrKX0sIGNv
bXBhcmVfT2JqZWN0KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX0ltYWdlRGF0YSkpLCB0ZXN0X29i
aik7Cit9LCAnT2JqZWN0IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgbm9uLXRyYW5z
cGFyZW50IG5vbi1ibGFjaycpOworCitmdW5jdGlvbiBjb21wYXJlX0ltYWdlQml0bWFwKGFjdHVh
bCwgaW5wdXQsIHRlc3Rfb2JqKSB7CisgIGlmICh0eXBlb2YgYWN0dWFsID09PSAnc3RyaW5nJykK
KyAgICBhc3NlcnRfdW5yZWFjaGVkKGFjdHVhbCk7CisgIGFzc2VydF9lcXVhbHMoYWN0dWFsIGlu
c3RhbmNlb2YgSW1hZ2VCaXRtYXAsICdpbnN0YW5jZW9mIEltYWdlQml0bWFwJyk7CisgIGFzc2Vy
dF9ub3RfZXF1YWxzKGFjdHVhbCwgaW5wdXQpOworICAvLyBYWFggcGFpbnQgdGhlIEltYWdlQml0
bWFwIG9uIGEgY2FudmFzIGFuZCBjaGVjayB0aGUgZGF0YQorICBpZiAodGVzdF9vYmopCisgICAg
dGVzdF9vYmouZG9uZSgpOworfQorZnVuY3Rpb24gZ2V0X2NhbnZhc18xeDFfdHJhbnNwYXJlbnRf
YmxhY2soKSB7CisgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMn
KTsKKyAgY2FudmFzLndpZHRoID0gMTsKKyAgY2FudmFzLmhlaWdodCA9IDE7CisgIHJldHVybiBj
YW52YXM7Cit9Cithc3luY190ZXN0KGZ1bmN0aW9uKHRlc3Rfb2JqKSB7CisgIHZhciBjYW52YXMg
PSBnZXRfY2FudmFzXzF4MV90cmFuc3BhcmVudF9ibGFjaygpOworICBjcmVhdGVJbWFnZUJpdG1h
cChjYW52YXMsIGZ1bmN0aW9uKGltYWdlKSB7IGNoZWNrKHRlc3Rfb2JqLm5hbWUsIGltYWdlLCBj
b21wYXJlX0ltYWdlQml0bWFwLCB0ZXN0X29iaik7IH0pOworfSwgJ0ltYWdlQml0bWFwIDF4MSB0
cmFuc3BhcmVudCBibGFjaycpOworZnVuY3Rpb24gZ2V0X2NhbnZhc18xeDFfbm9uX3RyYW5zcGFy
ZW50X25vbl9ibGFjaygpIHsKKyAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2NhbnZhcycpOworICBjYW52YXMud2lkdGggPSAxOworICBjYW52YXMuaGVpZ2h0ID0gMTsKKyAg
dmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICB2YXIgaW1hZ2VkYXRhID0gY3R4
LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKKyAgaW1hZ2VkYXRhLmRhdGFbMF0gPSAxMDA7Cisg
IGltYWdlZGF0YS5kYXRhWzFdID0gMTAxOworICBpbWFnZWRhdGEuZGF0YVsyXSA9IDEwMjsKKyAg
aW1hZ2VkYXRhLmRhdGFbM10gPSAxMDM7CisgIHJldHVybiBjYW52YXM7Cit9Cithc3luY190ZXN0
KGZ1bmN0aW9uKHRlc3Rfb2JqKSB7CisgIHZhciBjYW52YXMgPSBnZXRfY2FudmFzXzF4MV9ub25f
dHJhbnNwYXJlbnRfbm9uX2JsYWNrKCk7CisgIGNyZWF0ZUltYWdlQml0bWFwKGNhbnZhcywgZnVu
Y3Rpb24oaW1hZ2UpIHsgY2hlY2sodGVzdF9vYmoubmFtZSwgaW1hZ2UsIGNvbXBhcmVfSW1hZ2VC
aXRtYXAsIHRlc3Rfb2JqKTsgfSk7Cit9LCAnSW1hZ2VCaXRtYXAgMXgxIG5vbi10cmFuc3BhcmVu
dCBub24tYmxhY2snKTsKKworYXN5bmNfdGVzdChmdW5jdGlvbih0ZXN0X29iaikgeworICB2YXIg
Y2FudmFzID0gZ2V0X2NhbnZhc18xeDFfdHJhbnNwYXJlbnRfYmxhY2soKTsKKyAgY3JlYXRlSW1h
Z2VCaXRtYXAoY2FudmFzLCBmdW5jdGlvbihpbWFnZSkgeyBjaGVjayh0ZXN0X29iai5uYW1lLCBb
aW1hZ2VdLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9wcyhjb21wYXJlX0ltYWdlQml0bWFw
KSksIHRlc3Rfb2JqKTsgfSk7Cit9LCAnQXJyYXkgSW1hZ2VCaXRtYXAgb2JqZWN0LCBJbWFnZUJp
dG1hcCAxeDEgdHJhbnNwYXJlbnQgYmxhY2snKTsKK2FzeW5jX3Rlc3QoZnVuY3Rpb24odGVzdF9v
YmopIHsKKyAgdmFyIGNhbnZhcyA9IGdldF9jYW52YXNfMXgxX25vbl90cmFuc3BhcmVudF9ub25f
YmxhY2soKTsKKyAgY3JlYXRlSW1hZ2VCaXRtYXAoY2FudmFzLCBmdW5jdGlvbihpbWFnZSkgeyBj
aGVjayh0ZXN0X29iai5uYW1lLCBbaW1hZ2VdLCBjb21wYXJlX0FycmF5KGVudW1lcmF0ZV9wcm9w
cyhjb21wYXJlX0ltYWdlQml0bWFwKSksIHRlc3Rfb2JqKTsgfSk7Cit9LCAnQXJyYXkgSW1hZ2VC
aXRtYXAgb2JqZWN0LCBJbWFnZUJpdG1hcCAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjaycp
OworCithc3luY190ZXN0KGZ1bmN0aW9uKHRlc3Rfb2JqKSB7CisgIHZhciBjYW52YXMgPSBnZXRf
Y2FudmFzXzF4MV90cmFuc3BhcmVudF9ibGFjaygpOworICBjcmVhdGVJbWFnZUJpdG1hcChjYW52
YXMsIGZ1bmN0aW9uKGltYWdlKSB7IGNoZWNrKHRlc3Rfb2JqLm5hbWUsIHsneCc6aW1hZ2V9LCBj
b21wYXJlX09iamVjdChlbnVtZXJhdGVfcHJvcHMoY29tcGFyZV9JbWFnZUJpdG1hcCkpLCB0ZXN0
X29iaik7IH0pOworfSwgJ09iamVjdCBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4
MSB0cmFuc3BhcmVudCBibGFjaycpOworYXN5bmNfdGVzdChmdW5jdGlvbih0ZXN0X29iaikgewor
ICB2YXIgY2FudmFzID0gZ2V0X2NhbnZhc18xeDFfbm9uX3RyYW5zcGFyZW50X25vbl9ibGFjaygp
OworICBjcmVhdGVJbWFnZUJpdG1hcChjYW52YXMsIGZ1bmN0aW9uKGltYWdlKSB7IGNoZWNrKHRl
c3Rfb2JqLm5hbWUsIHsneCc6aW1hZ2V9LCBjb21wYXJlX09iamVjdChlbnVtZXJhdGVfcHJvcHMo
Y29tcGFyZV9JbWFnZUJpdG1hcCkpLCB0ZXN0X29iaik7IH0pOworfSwgJ09iamVjdCBJbWFnZUJp
dG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrJyk7
CisKK2NoZWNrKCdBcnJheSBzcGFyc2UnLCBuZXcgQXJyYXkoMTApLCBjb21wYXJlX0FycmF5KGVu
dW1lcmF0ZV9wcm9wcyhjb21wYXJlX3ByaW1pdGl2ZSkpKTsKK2NoZWNrKCdBcnJheSB3aXRoIG5v
bi1pbmRleCBwcm9wZXJ0eScsIGZ1bmN0aW9uKCkgeworICB2YXIgcnYgPSBbXTsKKyAgcnYuZm9v
ID0gJ2Jhcic7CisgIHJldHVybiBydjsKK30sIGNvbXBhcmVfQXJyYXkoZW51bWVyYXRlX3Byb3Bz
KGNvbXBhcmVfcHJpbWl0aXZlKSkpOworY2hlY2soJ09iamVjdCB3aXRoIGluZGV4IHByb3BlcnR5
IGFuZCBsZW5ndGgnLCB7JzAnOidmb28nLCAnbGVuZ3RoJzoxfSwgY29tcGFyZV9PYmplY3QoZW51
bWVyYXRlX3Byb3BzKGNvbXBhcmVfcHJpbWl0aXZlKSkpOworZnVuY3Rpb24gY2hlY2tfY2lyY3Vs
YXJfcHJvcGVydHkocHJvcCkgeworICByZXR1cm4gZnVuY3Rpb24oYWN0dWFsKSB7CisgICAgYXNz
ZXJ0X2VxdWFscyhhY3R1YWxbcHJvcF0sIGFjdHVhbCk7CisgIH07Cit9CitjaGVjaygnQXJyYXkg
d2l0aCBjaXJjdWxhciByZWZlcmVuY2UnLCBmdW5jdGlvbigpIHsKKyAgdmFyIHJ2ID0gW107Cisg
IHJ2WzBdID0gcnY7CisgIHJldHVybiBydjsKK30sIGNvbXBhcmVfQXJyYXkoY2hlY2tfY2lyY3Vs
YXJfcHJvcGVydHkoJzAnKSkpOworY2hlY2soJ09iamVjdCB3aXRoIGNpcmN1bGFyIHJlZmVyZW5j
ZScsIGZ1bmN0aW9uKCkgeworICB2YXIgcnYgPSB7fTsKKyAgcnZbJ3gnXSA9IHJ2OworICByZXR1
cm4gcnY7Cit9LCBjb21wYXJlX09iamVjdChjaGVja19jaXJjdWxhcl9wcm9wZXJ0eSgneCcpKSk7
CitmdW5jdGlvbiBjaGVja19pZGVudGljYWxfcHJvcGVydHlfdmFsdWVzKHByb3AxLCBwcm9wMikg
eworICByZXR1cm4gZnVuY3Rpb24oYWN0dWFsKSB7CisgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxb
cHJvcDFdLCBhY3R1YWxbcHJvcDJdKTsKKyAgfTsKK30KK2NoZWNrKCdBcnJheSB3aXRoIGlkZW50
aWNhbCBwcm9wZXJ0eSB2YWx1ZXMnLCBmdW5jdGlvbigpIHsKKyAgdmFyIG9iaiA9IHt9CisgIHJl
dHVybiBbb2JqLCBvYmpdOworfSwgY29tcGFyZV9BcnJheShjaGVja19pZGVudGljYWxfcHJvcGVy
dHlfdmFsdWVzKCcwJywgJzEnKSkpOworY2hlY2soJ09iamVjdCB3aXRoIGlkZW50aWNhbCBwcm9w
ZXJ0eSB2YWx1ZXMnLCBmdW5jdGlvbigpIHsKKyAgdmFyIG9iaiA9IHt9CisgIHJldHVybiB7J3gn
Om9iaiwgJ3knOm9ian07Cit9LCBjb21wYXJlX09iamVjdChjaGVja19pZGVudGljYWxfcHJvcGVy
dHlfdmFsdWVzKCd4JywgJ3knKSkpOworCitmdW5jdGlvbiBjaGVja19hYnNlbnRfcHJvcGVydHko
cHJvcCkgeworICByZXR1cm4gZnVuY3Rpb24oYWN0dWFsKSB7CisgICAgYXNzZXJ0X2ZhbHNlKHBy
b3AgaW4gYWN0dWFsKTsKKyAgfTsKK30KK2NoZWNrKCdPYmplY3Qgd2l0aCBwcm9wZXJ0eSBvbiBw
cm90b3R5cGUnLCBmdW5jdGlvbigpIHsKKyAgdmFyIEZvbyA9IGZ1bmN0aW9uKCkge307CisgIEZv
by5wcm90b3R5cGUgPSB7J2Zvbyc6J2Jhcid9OworICByZXR1cm4gbmV3IEZvbygpOworfSwgY29t
cGFyZV9PYmplY3QoY2hlY2tfYWJzZW50X3Byb3BlcnR5KCdmb28nKSkpOworCitjaGVjaygnT2Jq
ZWN0IHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVydHknLCBmdW5jdGlvbigpIHsKKyAgdmFyIHJ2
ID0ge307CisgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShydiwgJ2ZvbycsIHt2YWx1ZTonYmFyJywg
ZW51bWVyYWJsZTpmYWxzZSwgd3JpdGFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsKKyAg
cmV0dXJuIHJ2OworfSwgY29tcGFyZV9PYmplY3QoY2hlY2tfYWJzZW50X3Byb3BlcnR5KCdmb28n
KSkpOworCitmdW5jdGlvbiBjaGVja193cml0YWJsZV9wcm9wZXJ0eShwcm9wKSB7CisgIHJldHVy
biBmdW5jdGlvbihhY3R1YWwsIGlucHV0KSB7CisgICAgYXNzZXJ0X2VxdWFscyhhY3R1YWxbcHJv
cF0sIGlucHV0W3Byb3BdKTsKKyAgICBhY3R1YWxbcHJvcF0gKz0gJyBiYXonOworICAgIGFzc2Vy
dF9lcXVhbHMoYWN0dWFsW3Byb3BdLCBpbnB1dFtwcm9wXSArICcgYmF6Jyk7CisgIH07Cit9Citj
aGVjaygnT2JqZWN0IHdpdGggbm9uLXdyaXRhYmxlIHByb3BlcnR5JywgZnVuY3Rpb24oKSB7Cisg
IHZhciBydiA9IHt9OworICBPYmplY3QuZGVmaW5lUHJvcGVydHkocnYsICdmb28nLCB7dmFsdWU6
J2JhcicsIGVudW1lcmFibGU6dHJ1ZSwgd3JpdGFibGU6ZmFsc2UsIGNvbmZpZ3VyYWJsZTp0cnVl
fSk7CisgIHJldHVybiBydjsKK30sIGNvbXBhcmVfT2JqZWN0KGNoZWNrX3dyaXRhYmxlX3Byb3Bl
cnR5KCdmb28nKSkpOworCitmdW5jdGlvbiBjaGVja19jb25maWd1cmFibGVfcHJvcGVydHkocHJv
cCkgeworICByZXR1cm4gZnVuY3Rpb24oYWN0dWFsLCBpbnB1dCkgeworICAgIGFzc2VydF9lcXVh
bHMoYWN0dWFsW3Byb3BdLCBpbnB1dFtwcm9wXSk7CisgICAgZGVsZXRlIGFjdHVhbFtwcm9wXTsK
KyAgICBhc3NlcnRfZmFsc2UoJ3Byb3AnIGluIGFjdHVhbCk7CisgIH07Cit9CitjaGVjaygnT2Jq
ZWN0IHdpdGggbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0eScsIGZ1bmN0aW9uKCkgeworICB2YXIg
cnYgPSB7fTsKKyAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJ2LCAnZm9vJywge3ZhbHVlOidiYXIn
LCBlbnVtZXJhYmxlOnRydWUsIHdyaXRhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTpmYWxzZX0pOwor
ICByZXR1cm4gcnY7Cit9LCBjb21wYXJlX09iamVjdChjaGVja19jb25maWd1cmFibGVfcHJvcGVy
dHkoJ2ZvbycpKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVyZWQtY2xvbmUvZGVkaWNhdGVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9zZW1hbnRpY3Mvc3RydWN0dXJlZC1jbG9uZS9kZWRpY2F0ZWQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNhZDIzNGQzZWNlZmJiNWQ1N2JhMzg3ZmU2YjI3NGFkYmI5ZjRjMmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVyZWQtY2xvbmUvZGVkaWNhdGVkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExNyBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworUEFTUyBwcmltaXRpdmUgdW5kZWZpbmVkIAorUEFTUyBwcmltaXRpdmUg
bnVsbCAKK1BBU1MgcHJpbWl0aXZlIHRydWUgCitQQVNTIHByaW1pdGl2ZSBmYWxzZSAKK1BBU1Mg
cHJpbWl0aXZlIHN0cmluZywgZW1wdHkgc3RyaW5nIAorUEFTUyBwcmltaXRpdmUgc3RyaW5nLCBs
b25lIGhpZ2ggc3Vycm9nYXRlIAorUEFTUyBwcmltaXRpdmUgc3RyaW5nLCBsb25lIGxvdyBzdXJy
b2dhdGUgCitQQVNTIHByaW1pdGl2ZSBzdHJpbmcsIE5VTCAKK1BBU1MgcHJpbWl0aXZlIHN0cmlu
ZywgYXN0cmFsIGNoYXJhY3RlciAKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgMC4yIAorUEFTUyBw
cmltaXRpdmUgbnVtYmVyLCAwIAorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAtMCAKK1BBU1MgcHJp
bWl0aXZlIG51bWJlciwgTmFOIAorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCBJbmZpbml0eSAKK1BB
U1MgcHJpbWl0aXZlIG51bWJlciwgLUluZmluaXR5IAorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCA5
MDA3MTk5MjU0NzQwOTkyIAorUEFTUyBwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5
MiAKK1BBU1MgcHJpbWl0aXZlIG51bWJlciwgOTAwNzE5OTI1NDc0MDk5NCAKK1BBU1MgcHJpbWl0
aXZlIG51bWJlciwgLTkwMDcxOTkyNTQ3NDA5OTQgCitQQVNTIEFycmF5IHByaW1pdGl2ZXMgCitQ
QVNTIE9iamVjdCBwcmltaXRpdmVzIAorUEFTUyBCb29sZWFuIHRydWUgCitQQVNTIEJvb2xlYW4g
ZmFsc2UgCitQQVNTIEFycmF5IEJvb2xlYW4gb2JqZWN0cyAKK1BBU1MgT2JqZWN0IEJvb2xlYW4g
b2JqZWN0cyAKK1BBU1MgU3RyaW5nIGVtcHR5IHN0cmluZyAKK1BBU1MgU3RyaW5nIGxvbmUgaGln
aCBzdXJyb2dhdGUgCitQQVNTIFN0cmluZyBsb25lIGxvdyBzdXJyb2dhdGUgCitQQVNTIFN0cmlu
ZyBOVUwgCitQQVNTIFN0cmluZyBhc3RyYWwgY2hhcmFjdGVyIAorUEFTUyBBcnJheSBTdHJpbmcg
b2JqZWN0cyAKK1BBU1MgT2JqZWN0IFN0cmluZyBvYmplY3RzIAorUEFTUyBOdW1iZXIgMC4yIAor
UEFTUyBOdW1iZXIgMCAKK1BBU1MgTnVtYmVyIC0wIAorUEFTUyBOdW1iZXIgTmFOIAorUEFTUyBO
dW1iZXIgSW5maW5pdHkgCitQQVNTIE51bWJlciAtSW5maW5pdHkgCitQQVNTIE51bWJlciA5MDA3
MTk5MjU0NzQwOTkyIAorUEFTUyBOdW1iZXIgLTkwMDcxOTkyNTQ3NDA5OTIgCitQQVNTIE51bWJl
ciA5MDA3MTk5MjU0NzQwOTk0IAorUEFTUyBOdW1iZXIgLTkwMDcxOTkyNTQ3NDA5OTQgCitQQVNT
IEFycmF5IE51bWJlciBvYmplY3RzIAorUEFTUyBPYmplY3QgTnVtYmVyIG9iamVjdHMgCitQQVNT
IERhdGUgMCAKK1BBU1MgRGF0ZSAtMCAKK1BBU1MgRGF0ZSAtOC42NGUxNSAKK1BBU1MgRGF0ZSA4
LjY0ZTE1IAorUEFTUyBBcnJheSBEYXRlIG9iamVjdHMgCitQQVNTIE9iamVjdCBEYXRlIG9iamVj
dHMgCitQQVNTIFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4IAorRkFJTCBSZWdFeHAgc3RpY2t5
IGZsYWcgYXNzZXJ0X3VucmVhY2hlZDogRkFJTDogdW5rbm93biB0ZXN0IFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQorRkFJTCBSZWdFeHAgdW5pY29kZSBmbGFnIGFzc2VydF91bnJlYWNoZWQ6IEZB
SUw6IHVua25vd24gdGVzdCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgUmVnRXhwIGVt
cHR5IAorUEFTUyBSZWdFeHAgc2xhc2ggCitQQVNTIFJlZ0V4cCBuZXcgbGluZSAKK1BBU1MgQXJy
YXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5kZXggCitGQUlMIEFycmF5
IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBzdGlja3kgZmxhZyBhc3NlcnRfdW5yZWFjaGVkOiBGQUlM
OiB1bmtub3duIHRlc3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIEFycmF5IFJlZ0V4
cCBvYmplY3QsIFJlZ0V4cCB1bmljb2RlIGZsYWcgYXNzZXJ0X3VucmVhY2hlZDogRkFJTDogdW5r
bm93biB0ZXN0IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBBcnJheSBSZWdFeHAgb2Jq
ZWN0LCBSZWdFeHAgZW1wdHkgCitQQVNTIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBzbGFz
aCAKK1BBU1MgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIG5ldyBsaW5lIAorUEFTUyBPYmpl
Y3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5kZXggCitGQUlMIE9iamVj
dCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc3RpY2t5IGZsYWcgYXNzZXJ0X3VucmVhY2hlZDogRkFJ
TDogdW5rbm93biB0ZXN0IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBPYmplY3QgUmVn
RXhwIG9iamVjdCwgUmVnRXhwIHVuaWNvZGUgZmxhZyBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMOiB1
bmtub3duIHRlc3QgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIE9iamVjdCBSZWdFeHAg
b2JqZWN0LCBSZWdFeHAgZW1wdHkgCitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAg
c2xhc2ggCitQQVNTIE9iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgbmV3IGxpbmUgCitGQUlM
IEJsb2IgYmFzaWMgYXNzZXJ0X3VucmVhY2hlZDogRkFJTCBSZWZlcmVuY2VFcnJvcjogQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogRmlsZSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgQmxvYiB1
bnBhaXJlZCBoaWdoIHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkgYXNzZXJ0X3VucmVhY2hlZDog
RkFJTCBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK0ZBSUwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlk
IHV0Zi04KSBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBGaWxlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBCbG9iIHBhaXJl
ZCBzdXJyb2dhdGVzIChpbnZhbGlkIHV0Zi04KSBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorRkFJTCBCbG9iIGVtcHR5IGFzc2VydF91bnJlYWNoZWQ6IEZBSUwgUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitG
QUlMIEJsb2IgTlVMIGFzc2VydF91bnJlYWNoZWQ6IEZBSUwgUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIEFycmF5
IEJsb2Igb2JqZWN0LCBCbG9iIGJhc2ljIGFzc2VydF91bnJlYWNoZWQ6IEZBSUwgUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitGQUlMIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChp
bnZhbGlkIHV0Zi04KSBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBGaWxlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBcnJh
eSBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04
KSBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBGaWxlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBBcnJheSBCbG9iIG9iamVj
dCwgQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxpZCB1dGYtOCkgYXNzZXJ0X3VucmVhY2hl
ZDogRkFJTCBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmlsZSBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgZW1wdHkgYXNz
ZXJ0X3VucmVhY2hlZDogRkFJTCBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
RmlsZSBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgQXJyYXkgQmxvYiBvYmplY3QsIEJs
b2IgTlVMIGFzc2VydF91bnJlYWNoZWQ6IEZBSUwgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIE9iamVjdCBCbG9i
IG9iamVjdCwgQmxvYiBiYXNpYyBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJ
TCBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFs
aWQgdXRmLTgpIGFzc2VydF91bnJlYWNoZWQ6IEZBSUwgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIE9iamVjdCBC
bG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KSBh
c3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBGaWxlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBPYmplY3QgQmxvYiBvYmplY3Qs
IEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpIGFzc2VydF91bnJlYWNoZWQ6
IEZBSUwgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCitGQUlMIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBlbXB0eSBhc3Nl
cnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBG
aWxlIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBPYmplY3QgQmxvYiBvYmplY3QsIEJs
b2IgTlVMIGFzc2VydF91bnJlYWNoZWQ6IEZBSUwgUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IEZpbGUgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIEZpbGUgYmFzaWMg
YXNzZXJ0X3RydWU6IGluc3RhbmNlb2YgRmlsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBGaWxlTGlzdCBlbXB0eSBhc3NlcnRfdW5yZWFjaGVkOiBGQUlMIFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBGaWxlTGlzdCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZB
SUwgQXJyYXkgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0eSBUaGUgb2JqZWN0IGNhbiBu
b3QgYmUgY2xvbmVkLgorRkFJTCBPYmplY3QgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0
eSBUaGUgb2JqZWN0IGNhbiBub3QgYmUgY2xvbmVkLgorUEFTUyBJbWFnZURhdGEgMXgxIHRyYW5z
cGFyZW50IGJsYWNrIAorUEFTUyBJbWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBub24tYmxh
Y2sgCitQQVNTIEFycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgdHJhbnNwYXJl
bnQgYmxhY2sgCitQQVNTIEFycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgbm9u
LXRyYW5zcGFyZW50IG5vbi1ibGFjayAKK1BBU1MgT2JqZWN0IEltYWdlRGF0YSBvYmplY3QsIElt
YWdlRGF0YSAxeDEgdHJhbnNwYXJlbnQgYmxhY2sgCitQQVNTIE9iamVjdCBJbWFnZURhdGEgb2Jq
ZWN0LCBJbWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBub24tYmxhY2sgCitUSU1FT1VUIElt
YWdlQml0bWFwIDF4MSB0cmFuc3BhcmVudCBibGFjayBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBJ
bWFnZUJpdG1hcCAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjayBUZXN0IHRpbWVkIG91dAor
VElNRU9VVCBBcnJheSBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4MSB0cmFuc3Bh
cmVudCBibGFjayBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBBcnJheSBJbWFnZUJpdG1hcCBvYmpl
Y3QsIEltYWdlQml0bWFwIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrIFRlc3QgdGltZWQg
b3V0CitUSU1FT1VUIE9iamVjdCBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4MSB0
cmFuc3BhcmVudCBibGFjayBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBPYmplY3QgSW1hZ2VCaXRt
YXAgb2JqZWN0LCBJbWFnZUJpdG1hcCAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjayBUZXN0
IHRpbWVkIG91dAorUEFTUyBBcnJheSBzcGFyc2UgCitQQVNTIEFycmF5IHdpdGggbm9uLWluZGV4
IHByb3BlcnR5IAorUEFTUyBPYmplY3Qgd2l0aCBpbmRleCBwcm9wZXJ0eSBhbmQgbGVuZ3RoIAor
UEFTUyBBcnJheSB3aXRoIGNpcmN1bGFyIHJlZmVyZW5jZSAKK1BBU1MgT2JqZWN0IHdpdGggY2ly
Y3VsYXIgcmVmZXJlbmNlIAorUEFTUyBBcnJheSB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1
ZXMgCitQQVNTIE9iamVjdCB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1ZXMgCitQQVNTIE9i
amVjdCB3aXRoIHByb3BlcnR5IG9uIHByb3RvdHlwZSAKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWVu
dW1lcmFibGUgcHJvcGVydHkgCitQQVNTIE9iamVjdCB3aXRoIG5vbi13cml0YWJsZSBwcm9wZXJ0
eSAKK1BBU1MgT2JqZWN0IHdpdGggbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0eSAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL2RlZGljYXRlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1
cmVkLWNsb25lL2RlZGljYXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkZDhjMzU2MWU5NjM0ZjI3ZjI4
MDRhNTVlZjdlODg1MjhmMmNjNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVyZWQt
Y2xvbmUvZGVkaWNhdGVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0
aXRsZT5zdHJ1Y3R1cmVkIGNsb25lIHRvIGRlZGljYXRlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+
PC9kaXY+Cis8c2NyaXB0PgordmFyIHR5cGUgPSAnZGVkaWNhdGVkJzsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9ImNvbW1vbi5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVy
ZWQtY2xvbmUvZGVkaWNhdGVkLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL2RlZGljYXRlZC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40NzQ0NTc4YjIyOTVlNDg3ZjNhYzZmYjNkNGM3NjBjOGFhMDc1MDFlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL2RlZGljYXRlZC5qcwpAQCAt
MCwwICsxLDQgQEAKK2ltcG9ydFNjcmlwdHMoJ3dvcmtlci1jb21tb24uanMnKTsKK29ubWVzc2Fn
ZSA9IGZ1bmN0aW9uKGV2KSB7CisgIGNoZWNrKGV2LmRhdGEsIHNlbGYpOworfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3Mvc3RydWN0dXJlZC1jbG9uZS9zaGFyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1
Y3R1cmVkLWNsb25lL3NoYXJlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGM2YjZjNjRjOGNh
ZTNlNjFkMThkNjQwNWQxMjJiYzAwYjI5OTQxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3Mvc3Ry
dWN0dXJlZC1jbG9uZS9zaGFyZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTE3IEBACisKK0hh
cm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitGQUlMIHByaW1pdGl2ZSB1
bmRlZmluZWQgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIHByaW1pdGl2
ZSBudWxsIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUg
dHJ1ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgcHJpbWl0aXZlIGZh
bHNlIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUgc3Ry
aW5nLCBlbXB0eSBzdHJpbmcgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlM
IHByaW1pdGl2ZSBzdHJpbmcsIGxvbmUgaGlnaCBzdXJyb2dhdGUgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogU2hhcmVkV29ya2VyCitGQUlMIHByaW1pdGl2ZSBzdHJpbmcsIGxvbmUgbG93IHN1cnJvZ2F0
ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgcHJpbWl0aXZlIHN0cmlu
ZywgTlVMIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUg
c3RyaW5nLCBhc3RyYWwgY2hhcmFjdGVyIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgorRkFJTCBwcmltaXRpdmUgbnVtYmVyLCAwLjIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCitGQUlMIHByaW1pdGl2ZSBudW1iZXIsIDAgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCitGQUlMIHByaW1pdGl2ZSBudW1iZXIsIC0wIENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUgbnVtYmVyLCBOYU4gQ2FuJ3QgZmluZCB2YXJp
YWJsZTogU2hhcmVkV29ya2VyCitGQUlMIHByaW1pdGl2ZSBudW1iZXIsIEluZmluaXR5IENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUgbnVtYmVyLCAtSW5m
aW5pdHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIHByaW1pdGl2ZSBu
dW1iZXIsIDkwMDcxOTkyNTQ3NDA5OTIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
CitGQUlMIHByaW1pdGl2ZSBudW1iZXIsIC05MDA3MTk5MjU0NzQwOTkyIENhbid0IGZpbmQgdmFy
aWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUgbnVtYmVyLCA5MDA3MTk5MjU0NzQw
OTk0IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBwcmltaXRpdmUgbnVt
YmVyLCAtOTAwNzE5OTI1NDc0MDk5NCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
K0ZBSUwgQXJyYXkgcHJpbWl0aXZlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIK
K0ZBSUwgT2JqZWN0IHByaW1pdGl2ZXMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2Vy
CitGQUlMIEJvb2xlYW4gdHJ1ZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZB
SUwgQm9vbGVhbiBmYWxzZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwg
QXJyYXkgQm9vbGVhbiBvYmplY3RzIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgor
RkFJTCBPYmplY3QgQm9vbGVhbiBvYmplY3RzIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdv
cmtlcgorRkFJTCBTdHJpbmcgZW1wdHkgc3RyaW5nIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgorRkFJTCBTdHJpbmcgbG9uZSBoaWdoIHN1cnJvZ2F0ZSBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgU3RyaW5nIGxvbmUgbG93IHN1cnJvZ2F0ZSBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgU3RyaW5nIE5VTCBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgU3RyaW5nIGFzdHJhbCBjaGFyYWN0ZXIgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IFN0cmluZyBvYmplY3RzIENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBPYmplY3QgU3RyaW5nIG9iamVj
dHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE51bWJlciAwLjIgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE51bWJlciAwIENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBOdW1iZXIgLTAgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogU2hhcmVkV29ya2VyCitGQUlMIE51bWJlciBOYU4gQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCitGQUlMIE51bWJlciBJbmZpbml0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKK0ZBSUwgTnVtYmVyIC1JbmZpbml0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKK0ZBSUwgTnVtYmVyIDkwMDcxOTkyNTQ3NDA5OTIgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogU2hhcmVkV29ya2VyCitGQUlMIE51bWJlciAtOTAwNzE5OTI1NDc0MDk5MiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgTnVtYmVyIDkwMDcxOTkyNTQ3NDA5OTQgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE51bWJlciAtOTAwNzE5OTI1NDc0
MDk5NCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgQXJyYXkgTnVtYmVy
IG9iamVjdHMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE9iamVjdCBO
dW1iZXIgb2JqZWN0cyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgRGF0
ZSAwIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBEYXRlIC0wIENhbid0
IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBEYXRlIC04LjY0ZTE1IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBEYXRlIDguNjRlMTUgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IERhdGUgb2JqZWN0cyBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IERhdGUgb2JqZWN0cyBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5k
ZXggQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIFJlZ0V4cCBzdGlja3kg
ZmxhZyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgUmVnRXhwIHVuaWNv
ZGUgZmxhZyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgUmVnRXhwIGVt
cHR5IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBSZWdFeHAgc2xhc2gg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIFJlZ0V4cCBuZXcgbGluZSBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgQXJyYXkgUmVnRXhwIG9iamVj
dCwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0SW5kZXggQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCitGQUlMIEFycmF5IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBzdGlja3kgZmxhZyBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgQXJyYXkgUmVnRXhwIG9iamVjdCwg
UmVnRXhwIHVuaWNvZGUgZmxhZyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZB
SUwgQXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGVtcHR5IENhbid0IGZpbmQgdmFyaWFibGU6
IFNoYXJlZFdvcmtlcgorRkFJTCBBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgc2xhc2ggQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IFJlZ0V4cCBvYmplY3Qs
IFJlZ0V4cCBuZXcgbGluZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwg
T2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVn
RXhwIHN0aWNreSBmbGFnIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBP
YmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHVuaWNvZGUgZmxhZyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBlbXB0
eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IFJlZ0V4cCBv
YmplY3QsIFJlZ0V4cCBzbGFzaCBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZB
SUwgT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZSBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgQmxvYiBiYXNpYyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
aGFyZWRXb3JrZXIKK0ZBSUwgQmxvYiB1bnBhaXJlZCBoaWdoIHN1cnJvZ2F0ZSAoaW52YWxpZCB1
dGYtOCkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEJsb2IgdW5wYWly
ZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCitGQUlMIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpIENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBCbG9iIGVtcHR5IENhbid0IGZp
bmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBCbG9iIE5VTCBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgYmFzaWMgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IEJsb2Igb2JqZWN0LCBC
bG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KSBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWly
ZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hh
cmVkV29ya2VyCitGQUlMIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHBhaXJlZCBzdXJyb2dhdGVz
IChpbnZhbGlkIHV0Zi04KSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwg
QXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgZW1wdHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVk
V29ya2VyCitGQUlMIEFycmF5IEJsb2Igb2JqZWN0LCBCbG9iIE5VTCBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIGJhc2ljIENh
bid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBPYmplY3QgQmxvYiBvYmplY3Qs
IEJsb2IgdW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpIENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgdW5w
YWlyZWQgbG93IHN1cnJvZ2F0ZSAoaW52YWxpZCB1dGYtOCkgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCitGQUlMIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBwYWlyZWQgc3Vycm9n
YXRlcyAoaW52YWxpZCB1dGYtOCkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitG
QUlMIE9iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBlbXB0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
aGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IEJsb2Igb2JqZWN0LCBCbG9iIE5VTCBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgRmlsZSBiYXNpYyBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgRmlsZUxpc3QgZW1wdHkgQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IEZpbGVMaXN0IG9iamVjdCwgRmlsZUxpc3QgZW1w
dHkgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE9iamVjdCBGaWxlTGlz
dCBvYmplY3QsIEZpbGVMaXN0IGVtcHR5IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtl
cgorRkFJTCBJbWFnZURhdGEgMXgxIHRyYW5zcGFyZW50IGJsYWNrIENhbid0IGZpbmQgdmFyaWFi
bGU6IFNoYXJlZFdvcmtlcgorRkFJTCBJbWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBub24t
YmxhY2sgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IEltYWdl
RGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgdHJhbnNwYXJlbnQgYmxhY2sgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIEFycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdl
RGF0YSAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjayBDYW4ndCBmaW5kIHZhcmlhYmxlOiBT
aGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEg
dHJhbnNwYXJlbnQgYmxhY2sgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlM
IE9iamVjdCBJbWFnZURhdGEgb2JqZWN0LCBJbWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBu
b24tYmxhY2sgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitUSU1FT1VUIEltYWdl
Qml0bWFwIDF4MSB0cmFuc3BhcmVudCBibGFjayBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBJbWFn
ZUJpdG1hcCAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjayBUZXN0IHRpbWVkIG91dAorVElN
RU9VVCBBcnJheSBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4MSB0cmFuc3BhcmVu
dCBibGFjayBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBBcnJheSBJbWFnZUJpdG1hcCBvYmplY3Qs
IEltYWdlQml0bWFwIDF4MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrIFRlc3QgdGltZWQgb3V0
CitUSU1FT1VUIE9iamVjdCBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4MSB0cmFu
c3BhcmVudCBibGFjayBUZXN0IHRpbWVkIG91dAorVElNRU9VVCBPYmplY3QgSW1hZ2VCaXRtYXAg
b2JqZWN0LCBJbWFnZUJpdG1hcCAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjayBUZXN0IHRp
bWVkIG91dAorRkFJTCBBcnJheSBzcGFyc2UgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29y
a2VyCitGQUlMIEFycmF5IHdpdGggbm9uLWluZGV4IHByb3BlcnR5IENhbid0IGZpbmQgdmFyaWFi
bGU6IFNoYXJlZFdvcmtlcgorRkFJTCBPYmplY3Qgd2l0aCBpbmRleCBwcm9wZXJ0eSBhbmQgbGVu
Z3RoIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorRkFJTCBBcnJheSB3aXRoIGNp
cmN1bGFyIHJlZmVyZW5jZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwg
T2JqZWN0IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlIENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgorRkFJTCBBcnJheSB3aXRoIGlkZW50aWNhbCBwcm9wZXJ0eSB2YWx1ZXMgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE9iamVjdCB3aXRoIGlkZW50aWNhbCBw
cm9wZXJ0eSB2YWx1ZXMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE9i
amVjdCB3aXRoIHByb3BlcnR5IG9uIHByb3RvdHlwZSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKK0ZBSUwgT2JqZWN0IHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVydHkgQ2FuJ3Qg
ZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCitGQUlMIE9iamVjdCB3aXRoIG5vbi13cml0YWJs
ZSBwcm9wZXJ0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFyZWRXb3JrZXIKK0ZBSUwgT2JqZWN0
IHdpdGggbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0eSBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTaGFy
ZWRXb3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL3NoYXJlZC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL3NoYXJlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmNzQzNTRk
NDgyOGU4NjRiN2RhMTMxMDI5YmRkODkwMTA0MjI3ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L3N0cnVjdHVyZWQtY2xvbmUvc2hhcmVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8IWRvY3R5cGUg
aHRtbD4KKzx0aXRsZT5zdHJ1Y3R1cmVkIGNsb25lIHRvIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBp
ZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordmFyIHR5cGUgPSAnc2hhcmVkJzsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9ImNvbW1vbi5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVj
dHVyZWQtY2xvbmUvc2hhcmVkLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL3NoYXJlZC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNzJhOWVjOThkNjNjMTRkNDEwODc2MDJmODYxMWJmM2M3MGM0NTM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL3NoYXJlZC5qcwpAQCAtMCwwICsx
LDYgQEAKK2ltcG9ydFNjcmlwdHMoJ3dvcmtlci1jb21tb24uanMnKTsKK29uY29ubmVjdCA9IGZ1
bmN0aW9uKGNvbm5lY3RfZXYpIHsKKyAgY29ubmVjdF9ldi5wb3J0c1swXS5vbm1lc3NhZ2UgPSBm
dW5jdGlvbihtZXNzYWdlX2V2KSB7CisgICAgY2hlY2sobWVzc2FnZV9ldi5kYXRhLCB0aGlzKTsK
KyAgfTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVyZWQtY2xvbmUvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL3N0cnVjdHVyZWQtY2xvbmUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Jj
NGY4MWViNGI5Y2I2MGEwNWU0MjNlOTExYzlmMzRjOTEzNWE0YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1h
bnRpY3Mvc3RydWN0dXJlZC1jbG9uZS93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc2VtYW50aWNzL3N0cnVjdHVyZWQtY2xvbmUvY29tbW9uLmpzCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVk
LWNsb25lL2RlZGljYXRlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL2RlZGljYXRlZC5q
cworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3Mvc3RydWN0dXJlZC1jbG9uZS9zaGFyZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3Mvc3RydWN0dXJlZC1j
bG9uZS9zaGFyZWQuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL3N0cnVjdHVyZWQtY2xvbmUvd29ya2VyLWNvbW1vbi5qcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy9zdHJ1Y3R1cmVkLWNsb25lL3dvcmtlci1jb21tb24uanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L3N0cnVjdHVyZWQtY2xvbmUvd29ya2VyLWNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDYzZmY1YTVk
NzE3YmExZTI3NTI5NDdhMTIzOTQ5ZDZlMjEwZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy9z
dHJ1Y3R1cmVkLWNsb25lL3dvcmtlci1jb21tb24uanMKQEAgLTAsMCArMSwxMDE4IEBACit2YXIg
bXNnID0gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyKDEpKTsKKwordmFy
IGxvZyA9IFtdOworZnVuY3Rpb24gY2hlY2tfdHJ1ZShhY3R1YWwsIG1zZykgeworICBpZiAoYWN0
dWFsICE9PSB0cnVlKSB7CisgICAgbG9nLnB1c2gobXNnKTsKKyAgICByZXR1cm4gZmFsc2U7Cisg
IH0KKyAgcmV0dXJuIHRydWU7Cit9CisKK2Z1bmN0aW9uIGNoZWNrX0Jsb2IobXNnLCBpbnB1dCwg
cG9ydCwgZXhwZWN0X0ZpbGUsIG9yaWdfaW5wdXQpIHsKKyAgZXhwZWN0X0ZpbGUgPSAhIWV4cGVj
dF9GaWxlOworICBvcmlnX2lucHV0ID0gb3JpZ19pbnB1dCB8fCBpbnB1dDsKKyAgdHJ5IHsKKyAg
ICB2YXIgZXhwZWN0ZWQ7CisgICAgc3dpdGNoIChtc2cpIHsKKyAgICAgIGNhc2UgJ0Jsb2IgYmFz
aWMnOgorICAgICAgY2FzZSAnRmlsZSBiYXNpYyc6CisgICAgICAgIGV4cGVjdGVkID0gWzB4NjYs
IDB4NkYsIDB4NkZdOworICAgICAgICBleHBlY3RlZC50eXBlID0gJ3RleHQveC1iYXInOworICAg
ICAgICBpZiAoZXhwZWN0X0ZpbGUpIHsKKyAgICAgICAgICBleHBlY3RlZC5uYW1lID0gJ2Jhcic7
CisgICAgICAgICAgZXhwZWN0ZWQubGFzdE1vZGlmaWVkID0gNDI7CisgICAgICAgIH0KKyAgICAg
ICAgYnJlYWs7CisgICAgICBjYXNlICdCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZh
bGlkIHV0Zi04KSc6CisgICAgICAgIGV4cGVjdGVkID0gWzB4RUQsIDB4QTAsIDB4ODBdOworICAg
ICAgICBleHBlY3RlZC50eXBlID0gJyc7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQmxv
YiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KSc6CisgICAgICAgIGV4cGVj
dGVkID0gWzB4RUQsIDB4QjAsIDB4ODBdOworICAgICAgICBleHBlY3RlZC50eXBlID0gJyc7Cisg
ICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxp
ZCB1dGYtOCknOgorICAgICAgICBleHBlY3RlZCA9IFsweEVELCAweEEwLCAweDgwLCAweEVELCAw
eEIwLCAweDgwXTsKKyAgICAgICAgZXhwZWN0ZWQudHlwZSA9ICcnOworICAgICAgICBicmVhazsK
KyAgICAgIGNhc2UgJ0Jsb2IgZW1wdHknOgorICAgICAgICBleHBlY3RlZCA9IFtdOworICAgICAg
ICBleHBlY3RlZC50eXBlID0gJyc7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQmxvYiBO
VUwnOgorICAgICAgICB2YXIgZXhwZWN0ZWQgPSBbMHgwMF07CisgICAgICAgIGV4cGVjdGVkLnR5
cGUgPSAnJzsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OgorICAgICAgICBjaGVja190
cnVlKGZhbHNlLCAnY2hlY2tfQmxvYjogdW5rbm93biB0ZXN0Jyk7CisgICAgICAgIHJldHVybjsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNl
b2YgQmxvYiwgJ2lucHV0IGluc3RhbmNlb2YgQmxvYicpICYmCisgICAgICAgIGNoZWNrX3RydWUo
KGlucHV0IGluc3RhbmNlb2YgRmlsZSkgPT0gZXhwZWN0X0ZpbGUsICcoaW5wdXQgaW5zdGFuY2Vv
ZiBGaWxlKSA9PSBleHBlY3RfRmlsZScpICYmCisgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuc2l6
ZSA9PT0gZXhwZWN0ZWQubGVuZ3RoLCAnaW5wdXQuc2l6ZSA9PT0gZXhwZWN0ZWQubGVuZ3RoJykg
JiYKKyAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC50eXBlID09PSBleHBlY3RlZC50eXBlLCAnaW5w
dXQudHlwZSA9PT0gZXhwZWN0ZWQudHlwZScpKSB7CisgICAgICBpZiAoIWV4cGVjdF9GaWxlIHx8
IChjaGVja190cnVlKGlucHV0Lm5hbWUgPT09IGV4cGVjdGVkLm5hbWUsICdpbnB1dC5uYW1lID09
PSBleHBlY3RlZC5uYW1lJykgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX3Ry
dWUoaW5wdXQubGFzdE1vZGlmaWVkID09PSBleHBlY3RlZC5sYXN0TW9kaWZpZWQpKSkgeworICAg
ICAgICB2YXIgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKKyAgICAgICAgdmFyIHJlYWRfZG9u
ZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0
ID0gcmVhZGVyLnJlc3VsdDsKKyAgICAgICAgICAgIGNoZWNrX3RydWUocmVzdWx0LmJ5dGVMZW5n
dGggPT09IGV4cGVjdGVkLmxlbmd0aCwgJ3Jlc3VsdC5ieXRlTGVuZ3RoID09PSBleHBlY3RlZC5s
ZW5ndGgnKQorICAgICAgICAgICAgdmFyIHZpZXcgPSBuZXcgRGF0YVZpZXcocmVzdWx0KTsKKyAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0LmJ5dGVMZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgICBjaGVja190cnVlKHZpZXcuZ2V0VWludDgoaSkgPT09IGV4cGVjdGVkW2ld
LCAndmlldy5nZXRVaW50OCgnK2krJykgPT09IGV4cGVjdGVkWycraSsnXScpCisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBpZiAobG9nLmxlbmd0aCA9PT0gMCkgeworICAgICAgICAgICAgICBw
b3J0LnBvc3RNZXNzYWdlKG9yaWdfaW5wdXQpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSgnRkFJTCAnK2xvZyk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBjbG9zZSgpOworICAgICAgICAgIH0gY2F0Y2goZXgpIHsKKyAgICAgICAgICAg
IHBvc3RNZXNzYWdlKCdGQUlMICcrZXgpOworICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICAgICAgdmFyIHJlYWRfZXJyb3IgPSBmdW5jdGlvbigpIHsgcG9y
dC5wb3N0TWVzc2FnZSgnRkFJTCAoZ290IEZpbGVSZWFkZXIgZXJyb3IpJyk7IGNsb3NlKCk7IH07
CisgICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihpbnB1dCk7CisgICAgICAgIHJlYWRl
ci5vbmxvYWQgPSByZWFkX2RvbmU7CisgICAgICAgIHJlYWRlci5vbmFib3J0ID0gcmVhZGVyLm9u
ZXJyb3IgPSByZWFkX2Vycm9yOworICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICBwb3J0LnBv
c3RNZXNzYWdlKCdGQUlMICcrbG9nKTsKKyAgICAgIGNsb3NlKCk7CisgICAgfQorICB9IGNhdGNo
KGV4KSB7CisgICAgcG9zdE1lc3NhZ2UoJ0ZBSUwgJytleCk7CisgICAgY2xvc2UoKTsKKyAgfQor
fQorCitmdW5jdGlvbiBjaGVja19JbWFnZURhdGEoaW5wdXQsIGV4cGVjdGVkKSB7CisgIGlmIChj
aGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgSW1hZ2VEYXRhLCAnaW5wdXQgaW5zdGFuY2VvZiBJ
bWFnZURhdGEnKSAmJgorICAgICAgY2hlY2tfdHJ1ZShpbnB1dC53aWR0aCA9PT0gZXhwZWN0ZWQu
d2lkdGgsICdpbnB1dC53aWR0aCA9PT0gJytleHBlY3RlZC53aWR0aCkgJiYKKyAgICAgIGNoZWNr
X3RydWUoaW5wdXQuaGVpZ2h0ID09PSBleHBlY3RlZC5oZWlnaHQsICdpbnB1dC5oZWlnaHQgPT09
ICcrZXhwZWN0ZWQuaGVpZ2h0KSAmJgorICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5kYXRhIGluc3Rh
bmNlb2YgVWludDhDbGFtcGVkQXJyYXksICdpbnB1dC5kYXRhIGluc3RhbmNlb2YgVWludDhDbGFt
cGVkQXJyYXknKSAmJgorICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5kYXRhLmxlbmd0aCA9PT0gZXhw
ZWN0ZWQuZGF0YS5sZW5ndGgsICdpbnB1dC5kYXRhLmxlbmd0aCA9PT0gJytleHBlY3RlZC5kYXRh
Lmxlbmd0aCkgJiYKKyAgICAgIGNoZWNrX3RydWUoISgnQ2FudmFzUGl4ZWxBcnJheScgaW4gc2Vs
ZiksICIhKCdDYW52YXNQaXhlbEFycmF5JyBpbiBzZWxmKSIpKSB7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBpbnB1dC5sZW5ndGg7ICsraSkgeworICAgICAgaWYgKCEoY2hlY2tfdHJ1ZShpbnB1
dC5kYXRhW2ldID09PSBleHBlY3RlZC5kYXRhW2ldLCAnaW5wdXQuZGF0YVsnK2krJ10gPT09ICcr
ZXhwZWN0ZWQuZGF0YVtpXSkpKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAg
ICB9CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlv
biBjaGVja19JbWFnZUJpdG1hcChpbnB1dCwgZXhwZWN0ZWQpIHsKKyAgcmV0dXJuIGNoZWNrX3Ry
dWUoaW5wdXQgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCwgJ2lucHV0IGluc3RhbmNlb2YgSW1hZ2VC
aXRtYXAnKTsKKyAgLy8gWFhYIHBhaW50IGl0IG9uIGEgcHJveHkgY2FudmFzIGFuZCBjaGVjayB0
aGUgZGF0YQorfQorCitmdW5jdGlvbiBjaGVja19SZWdFeHAobXNnLCBpbnB1dCkgeworICAvLyBY
WFggRVM2IHNwZWMgZG9lc24ndCBkZWZpbmUgZXhhY3Qgc2VyaWFsaXphdGlvbiBmb3IgYHNvdXJj
ZWAgKGl0IGFsbG93cyBzZXZlcmFsIHdheXMgdG8gZXNjYXBlKQorICBzd2l0Y2ggKG1zZykgewor
ICAgIGNhc2UgJ1JlZ0V4cCBmbGFncyBhbmQgbGFzdEluZGV4JzoKKyAgICAgIHJldHVybiBjaGVj
a190cnVlKGlucHV0IGluc3RhbmNlb2YgUmVnRXhwLCAiaW5wdXQgaW5zdGFuY2VvZiBSZWdFeHAi
KSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuc291cmNlID09PSAnZm9vJywgImlu
cHV0LnNvdXJjZSA9PT0gJ2ZvbyciKSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQu
Z2xvYmFsID09PSB0cnVlLCAiaW5wdXQuZ2xvYmFsID09PSB0cnVlIikgJiYKKyAgICAgICAgICAg
ICBjaGVja190cnVlKGlucHV0Lmlnbm9yZUNhc2UgPT09IHRydWUsICJpbnB1dC5pZ25vcmVDYXNl
ID09PSB0cnVlIikgJiYKKyAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0Lm11bHRpbGluZSA9
PT0gdHJ1ZSwgImlucHV0Lm11bHRpbGluZSA9PT0gdHJ1ZSIpICYmCisgICAgICAgICAgICAgY2hl
Y2tfdHJ1ZShpbnB1dC5sYXN0SW5kZXggPT09IDAsICJpbnB1dC5sYXN0SW5kZXggPT09IDAiKTsK
KyAgICAgIGJyZWFrOworICAgIGNhc2UgJ1JlZ0V4cCBzdGlja3kgZmxhZyc6CisgICAgICByZXR1
cm4gY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIFJlZ0V4cCwgImlucHV0IGluc3RhbmNlb2Yg
UmVnRXhwIikgJiYKKyAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0LnNvdXJjZSA9PT0gJ2Zv
bycsICJpbnB1dC5zb3VyY2UgPT09ICdmb28nIikgJiYKKyAgICAgICAgICAgICBjaGVja190cnVl
KGlucHV0Lmdsb2JhbCA9PT0gZmFsc2UsICJpbnB1dC5nbG9iYWwgPT09IGZhbHNlIikgJiYKKyAg
ICAgICAgICAgICBjaGVja190cnVlKGlucHV0Lmlnbm9yZUNhc2UgPT09IGZhbHNlLCAiaW5wdXQu
aWdub3JlQ2FzZSA9PT0gZmFsc2UiKSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQu
bXVsdGlsaW5lID09PSBmYWxzZSwgImlucHV0Lm11bHRpbGluZSA9PT0gZmFsc2UiKSAmJgorICAg
ICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuc3RpY2t5ID09PSB0cnVlLCAiaW5wdXQuc3RpY2t5
ID09PSB0cnVlIikgJiYKKyAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0LnVuaWNvZGUgPT09
IGZhbHNlLCAiaW5wdXQudW5pY29kZSA9PT0gZmFsc2UiKSAmJgorICAgICAgICAgICAgIGNoZWNr
X3RydWUoaW5wdXQubGFzdEluZGV4ID09PSAwLCAiaW5wdXQubGFzdEluZGV4ID09PSAwIik7Cisg
ICAgICBicmVhazsKKyAgICBjYXNlICdSZWdFeHAgdW5pY29kZSBmbGFnJzoKKyAgICAgIHJldHVy
biBjaGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgUmVnRXhwLCAiaW5wdXQgaW5zdGFuY2VvZiBS
ZWdFeHAiKSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuc291cmNlID09PSAnZm9v
JywgImlucHV0LnNvdXJjZSA9PT0gJ2ZvbyciKSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUo
aW5wdXQuZ2xvYmFsID09PSBmYWxzZSwgImlucHV0Lmdsb2JhbCA9PT0gZmFsc2UiKSAmJgorICAg
ICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuaWdub3JlQ2FzZSA9PT0gZmFsc2UsICJpbnB1dC5p
Z25vcmVDYXNlID09PSBmYWxzZSIpICYmCisgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5t
dWx0aWxpbmUgPT09IGZhbHNlLCAiaW5wdXQubXVsdGlsaW5lID09PSBmYWxzZSIpICYmCisgICAg
ICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5zdGlja3kgPT09IGZhbHNlLCAiaW5wdXQuc3RpY2t5
ID09PSBmYWxzZSIpICYmCisgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC51bmljb2RlID09
PSB0cnVlLCAiaW5wdXQudW5pY29kZSA9PT0gdHJ1ZSIpICYmCisgICAgICAgICAgICAgY2hlY2tf
dHJ1ZShpbnB1dC5sYXN0SW5kZXggPT09IDAsICJpbnB1dC5sYXN0SW5kZXggPT09IDAiKTsKKyAg
ICAgIGJyZWFrOworICAgIGNhc2UgJ1JlZ0V4cCBlbXB0eSc6CisgICAgICByZXR1cm4gY2hlY2tf
dHJ1ZShpbnB1dCBpbnN0YW5jZW9mIFJlZ0V4cCwgImlucHV0IGluc3RhbmNlb2YgUmVnRXhwIikg
JiYKKyAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0LnNvdXJjZSA9PT0gJyg/OiknLCAiaW5w
dXQuc291cmNlID09PSAnKD86KSciKSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQu
Z2xvYmFsID09PSBmYWxzZSwgImlucHV0Lmdsb2JhbCA9PT0gZmFsc2UiKSAmJgorICAgICAgICAg
ICAgIGNoZWNrX3RydWUoaW5wdXQuaWdub3JlQ2FzZSA9PT0gZmFsc2UsICJpbnB1dC5pZ25vcmVD
YXNlID09PSBmYWxzZSIpICYmCisgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5tdWx0aWxp
bmUgPT09IGZhbHNlLCAiaW5wdXQubXVsdGlsaW5lID09PSBmYWxzZSIpICYmCisgICAgICAgICAg
ICAgY2hlY2tfdHJ1ZShpbnB1dC5sYXN0SW5kZXggPT09IDAsICJpbnB1dC5sYXN0SW5kZXggPT09
IDAiKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgJ1JlZ0V4cCBzbGFzaCc6CisgICAgICByZXR1
cm4gY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIFJlZ0V4cCwgImlucHV0IGluc3RhbmNlb2Yg
UmVnRXhwIikgJiYKKyAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0LnNvdXJjZSA9PT0gJ1xc
LycsICJpbnB1dC5zb3VyY2UgPT09ICdcXFxcLyciKSAmJgorICAgICAgICAgICAgIGNoZWNrX3Ry
dWUoaW5wdXQuZ2xvYmFsID09PSBmYWxzZSwgImlucHV0Lmdsb2JhbCA9PT0gZmFsc2UiKSAmJgor
ICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuaWdub3JlQ2FzZSA9PT0gZmFsc2UsICJpbnB1
dC5pZ25vcmVDYXNlID09PSBmYWxzZSIpICYmCisgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1
dC5tdWx0aWxpbmUgPT09IGZhbHNlLCAiaW5wdXQubXVsdGlsaW5lID09PSBmYWxzZSIpICYmCisg
ICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5sYXN0SW5kZXggPT09IDAsICJpbnB1dC5sYXN0
SW5kZXggPT09IDAiKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgJ1JlZ0V4cCBuZXcgbGluZSc6
CisgICAgICByZXR1cm4gY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIFJlZ0V4cCwgImlucHV0
IGluc3RhbmNlb2YgUmVnRXhwIikgJiYKKyAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0LnNv
dXJjZSA9PT0gJ1xcbicsICJpbnB1dC5zb3VyY2UgPT09ICdcXFxcbiciKSAmJgorICAgICAgICAg
ICAgIGNoZWNrX3RydWUoaW5wdXQuZ2xvYmFsID09PSBmYWxzZSwgImlucHV0Lmdsb2JhbCA9PT0g
ZmFsc2UiKSAmJgorICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQuaWdub3JlQ2FzZSA9PT0g
ZmFsc2UsICJpbnB1dC5pZ25vcmVDYXNlID09PSBmYWxzZSIpICYmCisgICAgICAgICAgICAgY2hl
Y2tfdHJ1ZShpbnB1dC5tdWx0aWxpbmUgPT09IGZhbHNlLCAiaW5wdXQubXVsdGlsaW5lID09PSBm
YWxzZSIpICYmCisgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5sYXN0SW5kZXggPT09IDAs
ICJpbnB1dC5sYXN0SW5kZXggPT09IDAiKTsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICBjaGVja190cnVlKGZhbHNlLCAnY2hlY2tfUmVnRXhwOiB1bmtub3duIHRlc3QnKTsKKyAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgIGJyZWFrOworICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNr
X0ZpbGVMaXN0KG1zZywgaW5wdXQpIHsKKyAgdHJ5IHsKKyAgICByZXR1cm4gY2hlY2tfdHJ1ZShp
bnB1dCBpbnN0YW5jZW9mIEZpbGVMaXN0LCAnaW5wdXQgaW5zdGFuY2VvZiBGaWxlTGlzdCcpICYm
CisgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQubGVuZ3RoID09PSAwLCAnaW5wdXQubGVuZ3Ro
ID09PSAwJyk7CisgIH0gY2F0Y2goZXgpIHsKKyAgICByZXR1cm4gY2hlY2tfdHJ1ZShmYWxzZSwg
ZXgpOworICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrKGlucHV0LCBwb3J0KSB7CisgIHRyeSB7Cisg
ICAgc3dpdGNoIChtc2cpIHsKKyAgICAgIGNhc2UgJ3ByaW1pdGl2ZSB1bmRlZmluZWQnOgorICAg
ICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCA9PT0gdW5kZWZpbmVkLCAnaW5wdXQgPT09IHVuZGVm
aW5lZCcpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAgICAgICAg
Y2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ3ByaW1pdGl2
ZSBudWxsJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgPT09IG51bGwsICdpbnB1dCA9
PT0gbnVsbCcpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAgICAg
ICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ3ByaW1p
dGl2ZSB0cnVlJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgPT09IHRydWUsICdpbnB1
dCA9PT0gdHJ1ZScpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAg
ICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ3By
aW1pdGl2ZSBmYWxzZSc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0ID09PSBmYWxzZSwg
J2lucHV0ID09PSBmYWxzZScpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7
CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNh
c2UgJ3ByaW1pdGl2ZSBzdHJpbmcsIGVtcHR5IHN0cmluZyc6CisgICAgICAgIGlmIChjaGVja190
cnVlKGlucHV0ID09PSAnJywgImlucHV0ID09PSAnJyIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0
TWVzc2FnZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICAgIGNhc2UgJ3ByaW1pdGl2ZSBzdHJpbmcsIGxvbmUgaGlnaCBzdXJyb2dhdGUn
OgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCA9PT0gJ1x1RDgwMCcsICJpbnB1dCA9PT0g
J1x1RDgwMCciKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAg
ICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdwcmlt
aXRpdmUgc3RyaW5nLCBsb25lIGxvdyBzdXJyb2dhdGUnOgorICAgICAgICBpZiAoY2hlY2tfdHJ1
ZShpbnB1dCA9PT0gJ1x1REMwMCcsICJpbnB1dCA9PT0gJ1x1REMwMCciKSkgeworICAgICAgICAg
IHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0K
KyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdwcmltaXRpdmUgc3RyaW5nLCBOVUwnOgorICAg
ICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCA9PT0gJ1x1MDAwMCcsICJpbnB1dCA9PT0gJ1x1MDAw
MCciKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNs
b3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdwcmltaXRpdmUg
c3RyaW5nLCBhc3RyYWwgY2hhcmFjdGVyJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQg
PT09ICdcdURCRkZcdURGRkQnLCAiaW5wdXQgPT09ICdcdURCRkZcdURGRkQnIikpIHsKKyAgICAg
ICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAg
ICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAncHJpbWl0aXZlIG51bWJlciwgMC4yJzoK
KyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgPT09IDAuMiwgImlucHV0ID09PSAwLjIiKSkg
eworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdwcmltaXRpdmUgbnVtYmVy
LCAwJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgPT09IDAsICJpbnB1dCA9PT0gMCIp
ICYmCisgICAgICAgICAgICBjaGVja190cnVlKDEvaW5wdXQgPT09IEluZmluaXR5LCAiMS9pbnB1
dCA9PT0gSW5maW5pdHkiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOwor
ICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNl
ICdwcmltaXRpdmUgbnVtYmVyLCAtMCc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0ID09
PSAwLCAiaW5wdXQgPT09IDAiKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZSgxL2lucHV0ID09
PSAtSW5maW5pdHksICIxL2lucHV0ID09PSAtSW5maW5pdHkiKSkgeworICAgICAgICAgIHBvcnQu
cG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAg
ICAgYnJlYWs7CisgICAgICBjYXNlICdwcmltaXRpdmUgbnVtYmVyLCBOYU4nOgorICAgICAgICBp
ZiAoY2hlY2tfdHJ1ZShpbnB1dCAhPT0gaW5wdXQsICJpbnB1dCAhPT0gaW5wdXQiKSkgeworICAg
ICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAg
ICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdwcmltaXRpdmUgbnVtYmVyLCBJbmZp
bml0eSc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0ID09PSBJbmZpbml0eSwgImlucHV0
ID09PSBJbmZpbml0eSIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7Cisg
ICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2Ug
J3ByaW1pdGl2ZSBudW1iZXIsIC1JbmZpbml0eSc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlu
cHV0ID09PSAtSW5maW5pdHksICJpbnB1dCA9PT0gLUluZmluaXR5IikpIHsKKyAgICAgICAgICBw
b3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOworICAgICAgY2FzZSAncHJpbWl0aXZlIG51bWJlciwgOTAwNzE5OTI1NDc0
MDk5Mic6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0ID09PSA5MDA3MTk5MjU0NzQwOTky
LCAiaW5wdXQgPT09IDkwMDcxOTkyNTQ3NDA5OTIiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1l
c3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJl
YWs7CisgICAgICBjYXNlICdwcmltaXRpdmUgbnVtYmVyLCAtOTAwNzE5OTI1NDc0MDk5Mic6Cisg
ICAgICAgIGlmIChjaGVja190cnVlKGlucHV0ID09PSAtOTAwNzE5OTI1NDc0MDk5MiwgImlucHV0
ID09PSAtOTAwNzE5OTI1NDc0MDk5MiIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShp
bnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAg
ICAgIGNhc2UgJ3ByaW1pdGl2ZSBudW1iZXIsIDkwMDcxOTkyNTQ3NDA5OTQnOgorICAgICAgICBp
ZiAoY2hlY2tfdHJ1ZShpbnB1dCA9PT0gOTAwNzE5OTI1NDc0MDk5NCwgImlucHV0ID09PSA5MDA3
MTk5MjU0NzQwOTk0IikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAg
ICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAn
cHJpbWl0aXZlIG51bWJlciwgLTkwMDcxOTkyNTQ3NDA5OTQnOgorICAgICAgICBpZiAoY2hlY2tf
dHJ1ZShpbnB1dCA9PT0gLTkwMDcxOTkyNTQ3NDA5OTQsICJpbnB1dCA9PT0gLTkwMDcxOTkyNTQ3
NDA5OTQiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAg
IGNsb3NlKCk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIGNhc2UgJ0FycmF5
IHByaW1pdGl2ZXMnOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIEFy
cmF5LCAnaW5wdXQgaW5zdGFuY2VvZiBBcnJheScpICYmCisgICAgICAgICAgICBjaGVja190cnVl
KGlucHV0Lmxlbmd0aCA9PT0gMTksICdpbnB1dC5sZW5ndGggPT09IDE5JykgJiYKKyAgICAgICAg
ICAgIGNoZWNrX3RydWUoaW5wdXRbMF0gPT09IHVuZGVmaW5lZCwgJ2lucHV0WzBdID09PSB1bmRl
ZmluZWQnKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dFsxXSA9PT0gbnVsbCwgJ2lu
cHV0WzFdID09PSBudWxsJykgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXRbMl0gPT09
IHRydWUsICdpbnB1dFsyXSA9PT0gdHJ1ZScpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlu
cHV0WzNdID09PSBmYWxzZSwgJ2lucHV0WzNdID09PSBmYWxzZScpICYmCisgICAgICAgICAgICBj
aGVja190cnVlKGlucHV0WzRdID09PSAnJywgImlucHV0WzRdID09PSAnJyIpICYmCisgICAgICAg
ICAgICBjaGVja190cnVlKGlucHV0WzVdID09PSAnXHVEODAwJywgImlucHV0WzVdID09PSAnXFx1
RDgwMCciKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dFs2XSA9PT0gJ1x1REMwMCcs
ICJpbnB1dFs2XSA9PT0gJ1xcdURDMDAnIikgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoaW5w
dXRbN10gPT09ICdcdTAwMDAnLCAiaW5wdXRbN10gPT09ICdcXHUwMDAwJyIpICYmCisgICAgICAg
ICAgICBjaGVja190cnVlKGlucHV0WzhdID09PSAnXHVEQkZGXHVERkZEJywgImlucHV0WzhdID09
PSAnXFx1REJGRlxcdURGRkQnIikgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXRbOV0g
PT09IDAuMiwgImlucHV0WzldID09PSAwLjIiKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZSgx
L2lucHV0WzEwXSA9PT0gSW5maW5pdHksICIxL2lucHV0WzEwXSA9PT0gSW5maW5pdHkiKSAmJgor
ICAgICAgICAgICAgY2hlY2tfdHJ1ZSgxL2lucHV0WzExXSA9PT0gLUluZmluaXR5LCAiMS9pbnB1
dFsxMV0gPT09IC1JbmZpbml0eSIpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0WzEy
XSAhPT0gaW5wdXRbMTFdLCAiaW5wdXRbMTJdICE9PSBpbnB1dFsxMV0iKSAmJgorICAgICAgICAg
ICAgY2hlY2tfdHJ1ZShpbnB1dFsxM10gPT09IEluZmluaXR5LCAiaW5wdXRbMTNdID09PSBJbmZp
bml0eSIpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0WzE0XSA9PT0gLUluZmluaXR5
LCAiaW5wdXRbMTRdID09PSAtSW5maW5pdHkiKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShp
bnB1dFsxNV0gPT09IDkwMDcxOTkyNTQ3NDA5OTIsICJpbnB1dFsxNV0gPT09IDkwMDcxOTkyNTQ3
NDA5OTIiKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dFsxNl0gPT09IC05MDA3MTk5
MjU0NzQwOTkyLCAiaW5wdXRbMTZdID09PSAtOTAwNzE5OTI1NDc0MDk5MiIpICYmCisgICAgICAg
ICAgICBjaGVja190cnVlKGlucHV0WzE3XSA9PT0gOTAwNzE5OTI1NDc0MDk5NCwgImlucHV0WzE3
XSA9PT0gOTAwNzE5OTI1NDc0MDk5NCIpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0
WzE4XSA9PT0gLTkwMDcxOTkyNTQ3NDA5OTQsICJpbnB1dFsxOF0gPT09IC05MDA3MTk5MjU0NzQw
OTk0IikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBj
bG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnT2JqZWN0IHBy
aW1pdGl2ZXMnOgorICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgaWYgKGNoZWNrX3Ry
dWUoaW5wdXQgaW5zdGFuY2VvZiBPYmplY3QsICdpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCcpICYm
CisgICAgICAgICAgICAgIGNoZWNrX3RydWUoIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KSwgJyEo
aW5wdXQgaW5zdGFuY2VvZiBBcnJheSknKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKGlu
cHV0Wyd1bmRlZmluZWQnXSA9PT0gdW5kZWZpbmVkLCAiaW5wdXRbJ3VuZGVmaW5lZCddID09PSB1
bmRlZmluZWQiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0WydudWxsJ10gPT09
IG51bGwsICJpbnB1dFsnbnVsbCddID09PSBudWxsIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tf
dHJ1ZShpbnB1dFsndHJ1ZSddID09PSB0cnVlLCAiaW5wdXRbJ3RydWUnXSA9PT0gdHJ1ZSIpICYm
CisgICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXRbJ2ZhbHNlJ10gPT09IGZhbHNlLCAiaW5w
dXRbJ2ZhbHNlJ10gPT09IGZhbHNlIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1
dFsnZW1wdHknXSA9PT0gJycsICJpbnB1dFsnZW1wdHknXSA9PT0gJyciKSAmJgorICAgICAgICAg
ICAgICBjaGVja190cnVlKGlucHV0WydoaWdoIHN1cnJvZ2F0ZSddID09PSAnXHVEODAwJywgImlu
cHV0WydoaWdoIHN1cnJvZ2F0ZSddID09PSAnXHVEODAwJyIpICYmCisgICAgICAgICAgICAgIGNo
ZWNrX3RydWUoaW5wdXRbJ2xvdyBzdXJyb2dhdGUnXSA9PT0gJ1x1REMwMCcsICJpbnB1dFsnbG93
IHN1cnJvZ2F0ZSddID09PSAnXHVEQzAwJyIpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUo
aW5wdXRbJ251bCddID09PSAnXHUwMDAwJywgImlucHV0WydudWwnXSA9PT0gJ1x1MDAwMCciKSAm
JgorICAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0Wydhc3RyYWwnXSA9PT0gJ1x1REJGRlx1
REZGRCcsICJpbnB1dFsnYXN0cmFsJ10gPT09ICdcdURCRkZcdURGRkQnIikgJiYKKyAgICAgICAg
ICAgICAgY2hlY2tfdHJ1ZShpbnB1dFsnMC4yJ10gPT09IDAuMiwgImlucHV0WycwLjInXSA9PT0g
MC4yIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZSgxL2lucHV0WycwJ10gPT09IEluZmlu
aXR5LCAiMS9pbnB1dFsnMCddID09PSBJbmZpbml0eSIpICYmCisgICAgICAgICAgICAgIGNoZWNr
X3RydWUoMS9pbnB1dFsnLTAnXSA9PT0gLUluZmluaXR5LCAiMS9pbnB1dFsnLTAnXSA9PT0gLUlu
ZmluaXR5IikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dFsnTmFOJ10gIT09IGlu
cHV0WydOYU4nXSwgImlucHV0WydOYU4nXSAhPT0gaW5wdXRbJ05hTiddIikgJiYKKyAgICAgICAg
ICAgICAgY2hlY2tfdHJ1ZShpbnB1dFsnSW5maW5pdHknXSA9PT0gSW5maW5pdHksICJpbnB1dFsn
SW5maW5pdHknXSA9PT0gSW5maW5pdHkiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKGlu
cHV0WyctSW5maW5pdHknXSA9PT0gLUluZmluaXR5LCAiaW5wdXRbJy1JbmZpbml0eSddID09PSAt
SW5maW5pdHkiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKGlucHV0Wyc5MDA3MTk5MjU0
NzQwOTkyJ10gPT09IDkwMDcxOTkyNTQ3NDA5OTIsICJpbnB1dFsnOTAwNzE5OTI1NDc0MDk5Midd
ID09PSA5MDA3MTk5MjU0NzQwOTkyIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1
dFsnLTkwMDcxOTkyNTQ3NDA5OTInXSA9PT0gLTkwMDcxOTkyNTQ3NDA5OTIsICJpbnB1dFsnLTkw
MDcxOTkyNTQ3NDA5OTInXSA9PT0gLTkwMDcxOTkyNTQ3NDA5OTIiKSAmJgorICAgICAgICAgICAg
ICBjaGVja190cnVlKGlucHV0Wyc5MDA3MTk5MjU0NzQwOTk0J10gPT09IDkwMDcxOTkyNTQ3NDA5
OTQsICJpbnB1dFsnOTAwNzE5OTI1NDc0MDk5NCddID09PSA5MDA3MTk5MjU0NzQwOTk0IikgJiYK
KyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dFsnLTkwMDcxOTkyNTQ3NDA5OTQnXSA9PT0g
LTkwMDcxOTkyNTQ3NDA5OTQsICJpbnB1dFsnOTAwNzE5OTI1NDc0MDk5NCddID09PSAtOTAwNzE5
OTI1NDc0MDk5NCIpKSB7CisgICAgICAgICAgICB2YXIgaSA9IDA7CisgICAgICAgICAgICBmb3Ig
KHZhciB4IGluIGlucHV0KSB7CisgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmIChjaGVja190cnVlKGkgPT09IDE5LCAnaSA9PT0gMTknKSkgeworICAgICAg
ICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICAgICAgY2xvc2UoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0pKCk7CisgICAgICAgIGJyZWFr
OworICAgICAgY2FzZSAnQm9vbGVhbiB0cnVlJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5w
dXQgaW5zdGFuY2VvZiBCb29sZWFuLCAiaW5wdXQgaW5zdGFuY2VvZiBCb29sZWFuIikgJiYKKyAg
ICAgICAgICAgIGNoZWNrX3RydWUoU3RyaW5nKGlucHV0KSA9PT0gJ3RydWUnLCAiU3RyaW5nKGlu
cHV0KSA9PT0gJ3RydWUnIikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsK
KyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2Fz
ZSAnQm9vbGVhbiBmYWxzZSc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNl
b2YgQm9vbGVhbiwgImlucHV0IGluc3RhbmNlb2YgQm9vbGVhbiIpICYmCisgICAgICAgICAgICBj
aGVja190cnVlKFN0cmluZyhpbnB1dCkgPT09ICdmYWxzZScsICJTdHJpbmcoaW5wdXQpID09PSAn
ZmFsc2UnIikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAg
ICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQXJyYXkg
Qm9vbGVhbiBvYmplY3RzJzoKKyAgICAgICAgKGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmIChj
aGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgQXJyYXksICdpbnB1dCBpbnN0YW5jZW9mIEFycmF5
JykgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5sZW5ndGggPT09IDIsICdpbnB1
dC5sZW5ndGggPT09IDInKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKFN0cmluZyhpbnB1
dFswXSkgPT09ICd0cnVlJywgIlN0cmluZyhpbnB1dFswXSkgPT09ICd0cnVlJyIpICYmCisgICAg
ICAgICAgICAgIGNoZWNrX3RydWUoU3RyaW5nKGlucHV0WzFdKSA9PT0gJ2ZhbHNlJywgIlN0cmlu
ZyhpbnB1dFsxXSkgPT09ICdmYWxzZSciKSkgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBpbnB1dC5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICBpZiAoIWNoZWNrX3RydWUo
aW5wdXRbaV0gaW5zdGFuY2VvZiBCb29sZWFuLCAnaW5wdXRbJytpKyddIGluc3RhbmNlb2YgQm9v
bGVhbicpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAg
ICAgICB9CisgICAgICAgIH0pKCk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnT2JqZWN0
IEJvb2xlYW4gb2JqZWN0cyc6CisgICAgICAgIChmdW5jdGlvbigpIHsKKyAgICAgICAgICBpZiAo
Y2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCwgJ2lucHV0IGluc3RhbmNlb2YgT2Jq
ZWN0JykgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZSghKGlucHV0IGluc3RhbmNlb2YgQXJy
YXkpLCAnIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KScpICYmCisgICAgICAgICAgICAgIGNoZWNr
X3RydWUoU3RyaW5nKGlucHV0Wyd0cnVlJ10pID09PSAndHJ1ZScsICJTdHJpbmcoaW5wdXRbJ3Ry
dWUnXSkgPT09ICd0cnVlJyIpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoU3RyaW5nKGlu
cHV0WydmYWxzZSddKSA9PT0gJ2ZhbHNlJywgIlN0cmluZyhpbnB1dFsnZmFsc2UnXSkgPT09ICdm
YWxzZSciKSkgeworICAgICAgICAgICAgdmFyIGkgPSAwOworICAgICAgICAgICAgZm9yICh2YXIg
eCBpbiBpbnB1dCkgeworICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICAgIGlmICghY2hl
Y2tfdHJ1ZShpbnB1dFt4XSBpbnN0YW5jZW9mIEJvb2xlYW4sICdpbnB1dFsnK3grJ10gaW5zdGFu
Y2VvZiBCb29sZWFuJykpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaSA9PT0gMiwgJ2kgPT09IDInKSkgeworICAgICAg
ICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICAgICAgY2xvc2UoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIH0pKCk7CisgICAgICAgIGJyZWFr
OworICAgICAgY2FzZSAnU3RyaW5nIGVtcHR5IHN0cmluZyc6CisgICAgICAgIGlmIChjaGVja190
cnVlKGlucHV0IGluc3RhbmNlb2YgU3RyaW5nLCAiaW5wdXQgaW5zdGFuY2VvZiBTdHJpbmciKSAm
JgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShTdHJpbmcoaW5wdXQpID09PSAnJywgIlN0cmluZyhp
bnB1dCkgPT09ICcnIikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAg
ICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAn
U3RyaW5nIGxvbmUgaGlnaCBzdXJyb2dhdGUnOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1
dCBpbnN0YW5jZW9mIFN0cmluZywgImlucHV0IGluc3RhbmNlb2YgU3RyaW5nIikgJiYKKyAgICAg
ICAgICAgIGNoZWNrX3RydWUoU3RyaW5nKGlucHV0KSA9PT0gJ1x1RDgwMCcsICJTdHJpbmcoaW5w
dXQpID09PSAnXFx1RDgwMCciKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQp
OworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBj
YXNlICdTdHJpbmcgbG9uZSBsb3cgc3Vycm9nYXRlJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUo
aW5wdXQgaW5zdGFuY2VvZiBTdHJpbmcsICJpbnB1dCBpbnN0YW5jZW9mIFN0cmluZyIpICYmCisg
ICAgICAgICAgICBjaGVja190cnVlKFN0cmluZyhpbnB1dCkgPT09ICdcdURDMDAnLCAiU3RyaW5n
KGlucHV0KSA9PT0gJ1xcdURDMDAnIikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlu
cHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAg
ICAgY2FzZSAnU3RyaW5nIE5VTCc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3Rh
bmNlb2YgU3RyaW5nLCAiaW5wdXQgaW5zdGFuY2VvZiBTdHJpbmciKSAmJgorICAgICAgICAgICAg
Y2hlY2tfdHJ1ZShTdHJpbmcoaW5wdXQpID09PSAnXHUwMDAwJywgIlN0cmluZyhpbnB1dCkgPT09
ICdcXHUwMDAwJyIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAg
ICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ1N0
cmluZyBhc3RyYWwgY2hhcmFjdGVyJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5z
dGFuY2VvZiBTdHJpbmcsICJpbnB1dCBpbnN0YW5jZW9mIFN0cmluZyIpICYmCisgICAgICAgICAg
ICBjaGVja190cnVlKFN0cmluZyhpbnB1dCkgPT09ICdcdURCRkZcdURGRkQnLCAiU3RyaW5nKGlu
cHV0KSA9PT0gJ1xcdURCRkZcXHVERkZEJyIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2Fn
ZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICAgIGNhc2UgJ0FycmF5IFN0cmluZyBvYmplY3RzJzoKKyAgICAgICAgKGZ1bmN0aW9uKCkg
eworICAgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgQXJyYXksICdpbnB1
dCBpbnN0YW5jZW9mIEFycmF5JykgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5s
ZW5ndGggPT09IDUsICdpbnB1dC5sZW5ndGggPT09IDUnKSAmJgorICAgICAgICAgICAgICBjaGVj
a190cnVlKFN0cmluZyhpbnB1dFswXSkgPT09ICcnLCAiU3RyaW5nKGlucHV0WzBdKSA9PT0gJyci
KSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKFN0cmluZyhpbnB1dFsxXSkgPT09ICdcdUQ4
MDAnLCAiU3RyaW5nKGlucHV0WzFdKSA9PT0gJ1xcdUQ4MDAnIikgJiYKKyAgICAgICAgICAgICAg
Y2hlY2tfdHJ1ZShTdHJpbmcoaW5wdXRbMl0pID09PSAnXHVEQzAwJywgIlN0cmluZyhpbnB1dFsx
XSkgPT09ICdcXHVEQzAwJyIpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoU3RyaW5nKGlu
cHV0WzNdKSA9PT0gJ1x1MDAwMCcsICJTdHJpbmcoaW5wdXRbMl0pID09PSAnXFx1MDAwMCciKSAm
JgorICAgICAgICAgICAgICBjaGVja190cnVlKFN0cmluZyhpbnB1dFs0XSkgPT09ICdcdURCRkZc
dURGRkQnLCAiU3RyaW5nKGlucHV0WzNdKSA9PT0gJ1xcdURCRkZcXHVERkZEJyIpKSB7CisgICAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICAgIGlmICghY2hlY2tfdHJ1ZShpbnB1dFtpXSBpbnN0YW5jZW9mIFN0cmluZywgJ2lucHV0
WycraSsnXSBpbnN0YW5jZW9mIFN0cmluZycpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAg
ICAgICAgY2xvc2UoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pKCk7CisgICAgICAgIGJyZWFr
OworICAgICAgY2FzZSAnT2JqZWN0IFN0cmluZyBvYmplY3RzJzoKKyAgICAgICAgKGZ1bmN0aW9u
KCkgeworICAgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgT2JqZWN0LCAn
aW5wdXQgaW5zdGFuY2VvZiBPYmplY3QnKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKCEo
aW5wdXQgaW5zdGFuY2VvZiBBcnJheSksICchKGlucHV0IGluc3RhbmNlb2YgQXJyYXkpJykgJiYK
KyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShTdHJpbmcoaW5wdXRbJ2VtcHR5J10pID09PSAnJywg
IlN0cmluZyhpbnB1dFsnZW1wdHknXSkgPT09ICcnIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tf
dHJ1ZShTdHJpbmcoaW5wdXRbJ2hpZ2ggc3Vycm9nYXRlJ10pID09PSAnXHVEODAwJywgIlN0cmlu
ZyhpbnB1dFsnaGlnaCBzdXJyb2dhdGUnXSkgPT09ICdcXHVEODAwJyIpICYmCisgICAgICAgICAg
ICAgIGNoZWNrX3RydWUoU3RyaW5nKGlucHV0Wydsb3cgc3Vycm9nYXRlJ10pID09PSAnXHVEQzAw
JywgIlN0cmluZyhpbnB1dFsnbG93IHN1cnJvZ2F0ZSddKSA9PT0gJ1xcdURDMDAnIikgJiYKKyAg
ICAgICAgICAgICAgY2hlY2tfdHJ1ZShTdHJpbmcoaW5wdXRbJ251bCddKSA9PT0gJ1x1MDAwMCcs
ICJTdHJpbmcoaW5wdXRbJ251bCddKSA9PT0gJ1xcdTAwMDAnIikgJiYKKyAgICAgICAgICAgICAg
Y2hlY2tfdHJ1ZShTdHJpbmcoaW5wdXRbJ2FzdHJhbCddKSA9PT0gJ1x1REJGRlx1REZGRCcsICJT
dHJpbmcoaW5wdXRbJ2FzdHJhbCddKSA9PT0gJ1xcdURCRkZcXHVERkZEJyIpKSB7CisgICAgICAg
ICAgICB2YXIgaSA9IDA7CisgICAgICAgICAgICBmb3IgKHZhciB4IGluIGlucHV0KSB7CisgICAg
ICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICAgaWYgKCFjaGVja190cnVlKGlucHV0W3hdIGlu
c3RhbmNlb2YgU3RyaW5nLCAnaW5wdXRbJyt4KyddIGluc3RhbmNlb2YgQm9vbGVhbicpKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjaGVj
a190cnVlKGkgPT09IDUsICdpID09PSA1JykpIHsKKyAgICAgICAgICAgICAgcG9ydC5wb3N0TWVz
c2FnZShpbnB1dCk7CisgICAgICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgfQorICAgICAgICB9KSgpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ051bWJl
ciAwLjInOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE51bWJlciwg
ImlucHV0IGluc3RhbmNlb2YgTnVtYmVyIikgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoTnVt
YmVyKGlucHV0KSA9PT0gMC4yLCAiTnVtYmVyKGlucHV0KSA9PT0gMC4yIikpIHsKKyAgICAgICAg
ICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9
CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnTnVtYmVyIDAnOgorICAgICAgICBpZiAoY2hl
Y2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE51bWJlciwgImlucHV0IGluc3RhbmNlb2YgTnVtYmVy
IikgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXQpID09PSBJbmZpbml0
eSwgIjEvTnVtYmVyKGlucHV0KSA9PT0gSW5maW5pdHkiKSkgeworICAgICAgICAgIHBvcnQucG9z
dE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAg
YnJlYWs7CisgICAgICBjYXNlICdOdW1iZXIgLTAnOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShp
bnB1dCBpbnN0YW5jZW9mIE51bWJlciwgImlucHV0IGluc3RhbmNlb2YgTnVtYmVyIikgJiYKKyAg
ICAgICAgICAgIGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXQpID09PSAtSW5maW5pdHksICIxL051
bWJlcihpbnB1dCkgPT09IC1JbmZpbml0eSIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2Fn
ZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICAgIGNhc2UgJ051bWJlciBOYU4nOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBp
bnN0YW5jZW9mIE51bWJlciwgImlucHV0IGluc3RhbmNlb2YgTnVtYmVyIikgJiYKKyAgICAgICAg
ICAgIGNoZWNrX3RydWUoTnVtYmVyKGlucHV0KSAhPT0gTnVtYmVyKGlucHV0KSwgIk51bWJlcihp
bnB1dCkgIT09IE51bWJlcihpbnB1dCkiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uo
aW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7Cisg
ICAgICBjYXNlICdOdW1iZXIgSW5maW5pdHknOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1
dCBpbnN0YW5jZW9mIE51bWJlciwgImlucHV0IGluc3RhbmNlb2YgTnVtYmVyIikgJiYKKyAgICAg
ICAgICAgIGNoZWNrX3RydWUoTnVtYmVyKGlucHV0KSA9PT0gSW5maW5pdHksICJOdW1iZXIoaW5w
dXQpID09PSBJbmZpbml0eSIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7
CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNh
c2UgJ051bWJlciAtSW5maW5pdHknOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0
YW5jZW9mIE51bWJlciwgImlucHV0IGluc3RhbmNlb2YgTnVtYmVyIikgJiYKKyAgICAgICAgICAg
IGNoZWNrX3RydWUoTnVtYmVyKGlucHV0KSA9PT0gLUluZmluaXR5LCAiTnVtYmVyKGlucHV0KSA9
PT0gLUluZmluaXR5IikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAg
ICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAn
TnVtYmVyIDkwMDcxOTkyNTQ3NDA5OTInOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBp
bnN0YW5jZW9mIE51bWJlcikgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoTnVtYmVyKGlucHV0
KSA9PT0gOTAwNzE5OTI1NDc0MDk5MiwgIk51bWJlcihpbnB1dCkgPT09IDkwMDcxOTkyNTQ3NDA5
OTIiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNs
b3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdOdW1iZXIgLTkw
MDcxOTkyNTQ3NDA5OTInOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9m
IE51bWJlciwgImlucHV0IGluc3RhbmNlb2YgTnVtYmVyIikgJiYKKyAgICAgICAgICAgIGNoZWNr
X3RydWUoTnVtYmVyKGlucHV0KSA9PT0gLTkwMDcxOTkyNTQ3NDA5OTIsICJOdW1iZXIoaW5wdXQp
ID09PSAtOTAwNzE5OTI1NDc0MDk5MiIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShp
bnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAg
ICAgIGNhc2UgJ051bWJlciA5MDA3MTk5MjU0NzQwOTk0JzoKKyAgICAgICAgaWYgKGNoZWNrX3Ry
dWUoaW5wdXQgaW5zdGFuY2VvZiBOdW1iZXIsICJpbnB1dCBpbnN0YW5jZW9mIE51bWJlciIpICYm
CisgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dCkgPT09IDkwMDcxOTkyNTQ3NDA5
OTQsICJOdW1iZXIoaW5wdXQpID09PSA5MDA3MTk5MjU0NzQwOTk0IikpIHsKKyAgICAgICAgICBw
b3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnTnVtYmVyIC05MDA3MTk5MjU0NzQwOTk0JzoKKyAg
ICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBOdW1iZXIsICJpbnB1dCBpbnN0
YW5jZW9mIE51bWJlciIpICYmCisgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dCkg
PT09IC05MDA3MTk5MjU0NzQwOTk0LCAiTnVtYmVyKGlucHV0KSA9PT0gLTkwMDcxOTkyNTQ3NDA5
OTQiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNs
b3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdBcnJheSBOdW1i
ZXIgb2JqZWN0cyc6CisgICAgICAgIChmdW5jdGlvbigpIHsKKyAgICAgICAgICBpZiAoY2hlY2tf
dHJ1ZShpbnB1dCBpbnN0YW5jZW9mIEFycmF5LCAnaW5wdXQgaW5zdGFuY2VvZiBBcnJheScpICYm
CisgICAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXQubGVuZ3RoID09PSAxMCwgJ2lucHV0Lmxl
bmd0aCA9PT0gMTAnKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dFsw
XSkgPT09IDAuMiwgIk51bWJlcihpbnB1dFswXSkgPT09IDAuMiIpICYmCisgICAgICAgICAgICAg
IGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXRbMV0pID09PSBJbmZpbml0eSwgIjEvTnVtYmVyKGlu
cHV0WzFdKSA9PT0gSW5maW5pdHkiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKDEvTnVt
YmVyKGlucHV0WzJdKSA9PT0gLUluZmluaXR5LCAiMS9OdW1iZXIoaW5wdXRbMl0pID09PSAtSW5m
aW5pdHkiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dFszXSkgIT09
IE51bWJlcihpbnB1dFszXSksICJOdW1iZXIoaW5wdXRbM10pICE9PSBOdW1iZXIoaW5wdXRbM10p
IikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShOdW1iZXIoaW5wdXRbNF0pID09PSBJbmZp
bml0eSwgIk51bWJlcihpbnB1dFs0XSkgPT09IEluZmluaXR5IikgJiYKKyAgICAgICAgICAgICAg
Y2hlY2tfdHJ1ZShOdW1iZXIoaW5wdXRbNV0pID09PSAtSW5maW5pdHksICJOdW1iZXIoaW5wdXRb
NV0pID09PSAtSW5maW5pdHkiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihp
bnB1dFs2XSkgPT09IDkwMDcxOTkyNTQ3NDA5OTIsICJOdW1iZXIoaW5wdXRbNl0pID09PSA5MDA3
MTk5MjU0NzQwOTkyIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShOdW1iZXIoaW5wdXRb
N10pID09PSAtOTAwNzE5OTI1NDc0MDk5MiwgIk51bWJlcihpbnB1dFs3XSkgPT09IC05MDA3MTk5
MjU0NzQwOTkyIikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShOdW1iZXIoaW5wdXRbOF0p
ID09PSA5MDA3MTk5MjU0NzQwOTk0LCAiTnVtYmVyKGlucHV0WzhdKSA9PT0gOTAwNzE5OTI1NDc0
MDk5NCIpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoTnVtYmVyKGlucHV0WzldKSA9PT0g
LTkwMDcxOTkyNTQ3NDA5OTQsICJOdW1iZXIoaW5wdXRbOV0pID09PSAtOTAwNzE5OTI1NDc0MDk5
NCIpKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgKytp
KSB7CisgICAgICAgICAgICAgIGlmICghY2hlY2tfdHJ1ZShpbnB1dFtpXSBpbnN0YW5jZW9mIE51
bWJlciwgJ2lucHV0WycraSsnXSBpbnN0YW5jZW9mIE51bWJlcicpKQorICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5w
dXQpOworICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pKCk7Cisg
ICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnT2JqZWN0IE51bWJlciBvYmplY3RzJzoKKyAgICAg
ICAgKGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNl
b2YgT2JqZWN0LCAnaW5wdXQgaW5zdGFuY2VvZiBPYmplY3QnKSAmJgorICAgICAgICAgICAgICBj
aGVja190cnVlKCEoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSksICchKGlucHV0IGluc3RhbmNlb2Yg
QXJyYXkpJykgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShOdW1iZXIoaW5wdXRbJzAuMidd
KSA9PT0gMC4yLCAiTnVtYmVyKGlucHV0WycwLjInXSkgPT09IDAuMiIpICYmCisgICAgICAgICAg
ICAgIGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXRbJzAnXSkgPT09IEluZmluaXR5LCAiMS9OdW1i
ZXIoaW5wdXRbJzAnXSkgPT09IEluZmluaXR5IikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1
ZSgxL051bWJlcihpbnB1dFsnLTAnXSkgPT09IC1JbmZpbml0eSwgIjEvTnVtYmVyKGlucHV0Wyct
MCddKSA9PT0gLUluZmluaXR5IikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZShOdW1iZXIo
aW5wdXRbJ05hTiddKSAhPT0gTnVtYmVyKGlucHV0WydOYU4nXSksICJOdW1iZXIoaW5wdXRbJ05h
TiddKSAhPT0gTnVtYmVyKGlucHV0WydOYU4nXSkiKSAmJgorICAgICAgICAgICAgICBjaGVja190
cnVlKE51bWJlcihpbnB1dFsnSW5maW5pdHknXSkgPT09IEluZmluaXR5LCAiTnVtYmVyKGlucHV0
WydJbmZpbml0eSddKSA9PT0gSW5maW5pdHkiKSAmJgorICAgICAgICAgICAgICBjaGVja190cnVl
KE51bWJlcihpbnB1dFsnLUluZmluaXR5J10pID09PSAtSW5maW5pdHksICJOdW1iZXIoaW5wdXRb
Jy1JbmZpbml0eSddKSA9PT0gLUluZmluaXR5IikgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1
ZShOdW1iZXIoaW5wdXRbJzkwMDcxOTkyNTQ3NDA5OTInXSkgPT09IDkwMDcxOTkyNTQ3NDA5OTIs
ICJOdW1iZXIoaW5wdXRbJzkwMDcxOTkyNTQ3NDA5OTInXSkgPT09IDkwMDcxOTkyNTQ3NDA5OTIi
KSAmJgorICAgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dFsnLTkwMDcxOTkyNTQ3
NDA5OTInXSkgPT09IC05MDA3MTk5MjU0NzQwOTkyLCAiTnVtYmVyKGlucHV0WyctOTAwNzE5OTI1
NDc0MDk5MiddKSA9PT0gLTkwMDcxOTkyNTQ3NDA5OTIiKSAmJgorICAgICAgICAgICAgICBjaGVj
a190cnVlKE51bWJlcihpbnB1dFsnOTAwNzE5OTI1NDc0MDk5NCddKSA9PT0gOTAwNzE5OTI1NDc0
MDk5NCwgIk51bWJlcihpbnB1dFsnOTAwNzE5OTI1NDc0MDk5NCddKSA9PT0gOTAwNzE5OTI1NDc0
MDk5NCIpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoTnVtYmVyKGlucHV0WyctOTAwNzE5
OTI1NDc0MDk5NCddKSA9PT0gLTkwMDcxOTkyNTQ3NDA5OTQsICJOdW1iZXIoaW5wdXRbJy05MDA3
MTk5MjU0NzQwOTk0J10pID09PSAtOTAwNzE5OTI1NDc0MDk5NCIpKSB7CisgICAgICAgICAgICB2
YXIgaSA9IDA7CisgICAgICAgICAgICBmb3IgKHZhciB4IGluIGlucHV0KSB7CisgICAgICAgICAg
ICAgIGkrKzsKKyAgICAgICAgICAgICAgaWYgKCFjaGVja190cnVlKGlucHV0W3hdIGluc3RhbmNl
b2YgTnVtYmVyLCAnaW5wdXRbJyt4KyddIGluc3RhbmNlb2YgTnVtYmVyJykpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGNoZWNrX3RydWUo
aSA9PT0gMTAsICdpID09PSAxMCcpKSB7CisgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uo
aW5wdXQpOworICAgICAgICAgICAgICBjbG9zZSgpOworICAgICAgICAgICAgfQorICAgICAgICAg
IH0KKyAgICAgICAgfSkoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdEYXRlIDAnOgor
ICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIERhdGUsICJpbnB1dCBpbnN0
YW5jZW9mIERhdGUiKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZSgxL051bWJlcihpbnB1dCkg
PT09IDEvTnVtYmVyKG5ldyBEYXRlKDApKSwgIjEvTnVtYmVyKGlucHV0KSA9PT0gMS9OdW1iZXIo
bmV3IERhdGUoMCkpIikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAg
ICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAn
RGF0ZSAtMCc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgRGF0ZSwg
ImlucHV0IGluc3RhbmNlb2YgRGF0ZSIpICYmCisgICAgICAgICAgICBjaGVja190cnVlKDEvTnVt
YmVyKGlucHV0KSA9PT0gMS9OdW1iZXIobmV3IERhdGUoLTApKSwgIjEvTnVtYmVyKGlucHV0KSA9
PT0gMS9OdW1iZXIobmV3IERhdGUoLTApKSIpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2Fn
ZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK
KyAgICAgIGNhc2UgJ0RhdGUgLTguNjRlMTUnOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1
dCBpbnN0YW5jZW9mIERhdGUsICJpbnB1dCBpbnN0YW5jZW9mIERhdGUiKSAmJgorICAgICAgICAg
ICAgY2hlY2tfdHJ1ZShOdW1iZXIoaW5wdXQpID09PSAtOC42NGUxNSwgIk51bWJlcihpbnB1dCkg
PT09IC04LjY0ZTE1IikpIHsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAg
ICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAn
RGF0ZSA4LjY0ZTE1JzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBE
YXRlLCAiaW5wdXQgaW5zdGFuY2VvZiBEYXRlIikgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUo
TnVtYmVyKGlucHV0KSA9PT0gOC42NGUxNSwgIk51bWJlcihpbnB1dCkgPT09IDguNjRlMTUiKSkg
eworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdBcnJheSBEYXRlIG9iamVj
dHMnOgorICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5w
dXQgaW5zdGFuY2VvZiBBcnJheSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAmJgorICAgICAg
ICAgICAgICBjaGVja190cnVlKGlucHV0Lmxlbmd0aCA9PT0gNCwgJ2lucHV0Lmxlbmd0aCA9PT0g
NCcpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXRbMF0pID09PSAx
L25ldyBEYXRlKDApLCAnMS9OdW1iZXIoaW5wdXRbMF0pID09PSAxL25ldyBEYXRlKDApJykgJiYK
KyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZSgxL051bWJlcihpbnB1dFsxXSkgPT09IDEvbmV3IERh
dGUoLTApLCAnMS9OdW1iZXIoaW5wdXRbMV0pID09PSAxL25ldyBEYXRlKC0wKScpICYmCisgICAg
ICAgICAgICAgIGNoZWNrX3RydWUoTnVtYmVyKGlucHV0WzJdKSA9PT0gLTguNjRlMTUsICdOdW1i
ZXIoaW5wdXRbMl0pID09PSAtOC42NGUxNScpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUo
TnVtYmVyKGlucHV0WzNdKSA9PT0gOC42NGUxNSwgJ051bWJlcihpbnB1dFszXSkgPT09IDguNjRl
MTUnKSkgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbnB1dC5sZW5ndGg7ICsr
aSkgeworICAgICAgICAgICAgICBpZiAoIWNoZWNrX3RydWUoaW5wdXRbaV0gaW5zdGFuY2VvZiBE
YXRlLCAnaW5wdXRbJytpKyddIGluc3RhbmNlb2YgRGF0ZScpKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQp
OworICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pKCk7CisgICAg
ICAgIGJyZWFrOworICAgICAgY2FzZSAnT2JqZWN0IERhdGUgb2JqZWN0cyc6CisgICAgICAgIChm
dW5jdGlvbigpIHsKKyAgICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE9i
amVjdCwgJ2lucHV0IGluc3RhbmNlb2YgT2JqZWN0JykgJiYKKyAgICAgICAgICAgICAgY2hlY2tf
dHJ1ZSghKGlucHV0IGluc3RhbmNlb2YgQXJyYXkpLCAnIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5
KScpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXRbJzAnXSkgPT09
IDEvbmV3IERhdGUoMCksICIxL051bWJlcihpbnB1dFsnMCddKSA9PT0gMS9uZXcgRGF0ZSgwKSIp
ICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUoMS9OdW1iZXIoaW5wdXRbJy0wJ10pID09PSAx
L25ldyBEYXRlKC0wKSwgIjEvTnVtYmVyKGlucHV0WzFdKSA9PT0gMS9uZXcgRGF0ZSgtMCkiKSAm
JgorICAgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dFsnLTguNjRlMTUnXSkgPT09
IC04LjY0ZTE1LCAiTnVtYmVyKGlucHV0WyctOC42NGUxNSddKSA9PT0gLTguNjRlMTUiKSAmJgor
ICAgICAgICAgICAgICBjaGVja190cnVlKE51bWJlcihpbnB1dFsnOC42NGUxNSddKSA9PT0gOC42
NGUxNSwgIk51bWJlcihpbnB1dFsnOC42NGUxNSddKSA9PT0gOC42NGUxNSIpKSB7CisgICAgICAg
ICAgICB2YXIgaSA9IDA7CisgICAgICAgICAgICBmb3IgKHZhciB4IGluIGlucHV0KSB7CisgICAg
ICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICAgaWYgKCFjaGVja190cnVlKGlucHV0W3hdIGlu
c3RhbmNlb2YgRGF0ZSwgJ2lucHV0WycreCsnXSBpbnN0YW5jZW9mIERhdGUnKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwb3J0LnBvc3RNZXNz
YWdlKGlucHV0KTsKKyAgICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgICAgfQorICAgICAgICB9
KSgpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ1JlZ0V4cCBmbGFncyBhbmQgbGFzdElu
ZGV4JzoKKyAgICAgIGNhc2UgJ1JlZ0V4cCBlbXB0eSc6CisgICAgICBjYXNlICdSZWdFeHAgc2xh
c2gnOgorICAgICAgY2FzZSAnUmVnRXhwIG5ldyBsaW5lJzoKKyAgICAgICAgaWYgKGNoZWNrX1Jl
Z0V4cChtc2csIGlucHV0KSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOwor
ICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNl
ICdBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZmxhZ3MgYW5kIGxhc3RJbmRleCc6CisgICAg
ICBjYXNlICdBcnJheSBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgZW1wdHknOgorICAgICAgY2FzZSAn
QXJyYXkgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHNsYXNoJzoKKyAgICAgIGNhc2UgJ0FycmF5IFJl
Z0V4cCBvYmplY3QsIFJlZ0V4cCBuZXcgbGluZSc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlu
cHV0IGluc3RhbmNlb2YgQXJyYXksICdpbnB1dCBpbnN0YW5jZW9mIEFycmF5JykgJiYKKyAgICAg
ICAgICAgIGNoZWNrX3RydWUoaW5wdXQubGVuZ3RoID09PSAxLCAnaW5wdXQubGVuZ3RoID09PSAx
JykgJiYKKyAgICAgICAgICAgIGNoZWNrX1JlZ0V4cChtc2cuc3Vic3RyKCdBcnJheSBSZWdFeHAg
b2JqZWN0LCAnLmxlbmd0aCksIGlucHV0WzBdKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3Nh
Z2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7
CisgICAgICBjYXNlICdPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIGZsYWdzIGFuZCBsYXN0
SW5kZXgnOgorICAgICAgY2FzZSAnT2JqZWN0IFJlZ0V4cCBvYmplY3QsIFJlZ0V4cCBlbXB0eSc6
CisgICAgICBjYXNlICdPYmplY3QgUmVnRXhwIG9iamVjdCwgUmVnRXhwIHNsYXNoJzoKKyAgICAg
IGNhc2UgJ09iamVjdCBSZWdFeHAgb2JqZWN0LCBSZWdFeHAgbmV3IGxpbmUnOgorICAgICAgICAo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBP
YmplY3QsICdpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCcpICYmCisgICAgICAgICAgICAgIGNoZWNr
X3RydWUoIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KSwgJyEoaW5wdXQgaW5zdGFuY2VvZiBBcnJh
eSknKSAmJgorICAgICAgICAgICAgICBjaGVja19SZWdFeHAobXNnLnN1YnN0cignT2JqZWN0IFJl
Z0V4cCBvYmplY3QsICcubGVuZ3RoKSwgaW5wdXRbJ3gnXSkpIHsKKyAgICAgICAgICAgIHZhciBp
ID0gMDsKKyAgICAgICAgICAgIGZvciAodmFyIHggaW4gaW5wdXQpIHsKKyAgICAgICAgICAgICAg
aSsrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaSA9PT0gMSwg
J2kgPT09IDEnKSkgeworICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAg
ICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAg
IH0pKCk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQmxvYiBiYXNpYyc6CisgICAgICBj
YXNlICdCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KSc6CisgICAg
ICBjYXNlICdCbG9iIHVucGFpcmVkIGxvdyBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpJzoKKyAg
ICAgIGNhc2UgJ0Jsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGludmFsaWQgdXRmLTgpJzoKKyAgICAg
IGNhc2UgJ0Jsb2IgZW1wdHknOgorICAgICAgY2FzZSAnQmxvYiBOVUwnOgorICAgICAgICBjaGVj
a19CbG9iKG1zZywgaW5wdXQsIHBvcnQpOworICAgICAgICAvLyBubyBwb3N0TWVzc2FnZSBvciBj
bG9zZSBoZXJlLCBjaGVja19CbG9iIHRha2VzIGNhcmUgb2YgdGhhdAorICAgICAgICBicmVhazsK
KyAgICAgIGNhc2UgJ0FycmF5IEJsb2Igb2JqZWN0LCBCbG9iIGJhc2ljJzoKKyAgICAgIGNhc2Ug
J0FycmF5IEJsb2Igb2JqZWN0LCBCbG9iIHVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIChpbnZhbGlk
IHV0Zi04KSc6CisgICAgICBjYXNlICdBcnJheSBCbG9iIG9iamVjdCwgQmxvYiB1bnBhaXJlZCBs
b3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KSc6CisgICAgICBjYXNlICdBcnJheSBCbG9iIG9i
amVjdCwgQmxvYiBwYWlyZWQgc3Vycm9nYXRlcyAoaW52YWxpZCB1dGYtOCknOgorICAgICAgY2Fz
ZSAnQXJyYXkgQmxvYiBvYmplY3QsIEJsb2IgZW1wdHknOgorICAgICAgY2FzZSAnQXJyYXkgQmxv
YiBvYmplY3QsIEJsb2IgTlVMJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFu
Y2VvZiBBcnJheSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAmJgorICAgICAgICAgICAgY2hl
Y2tfdHJ1ZShpbnB1dC5sZW5ndGggPT09IDEsICdpbnB1dC5sZW5ndGggPT09IDEnKSkgeworICAg
ICAgICAgIGNoZWNrX0Jsb2IobXNnLnN1YnN0cignQXJyYXkgQmxvYiBvYmplY3QsICcubGVuZ3Ro
KSwgaW5wdXRbMF0sIHBvcnQsIGZhbHNlLCBpbnB1dCk7CisgICAgICAgICAgLy8gbm8gcG9zdE1l
c3NhZ2Ugb3IgY2xvc2UgaGVyZSwgY2hlY2tfQmxvYiB0YWtlcyBjYXJlIG9mIHRoYXQKKyAgICAg
ICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ09iamVjdCBCbG9iIG9iamVjdCwgQmxv
YiBiYXNpYyc6CisgICAgICBjYXNlICdPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgdW5wYWlyZWQg
aGlnaCBzdXJyb2dhdGUgKGludmFsaWQgdXRmLTgpJzoKKyAgICAgIGNhc2UgJ09iamVjdCBCbG9i
IG9iamVjdCwgQmxvYiB1bnBhaXJlZCBsb3cgc3Vycm9nYXRlIChpbnZhbGlkIHV0Zi04KSc6Cisg
ICAgICBjYXNlICdPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgcGFpcmVkIHN1cnJvZ2F0ZXMgKGlu
dmFsaWQgdXRmLTgpJzoKKyAgICAgIGNhc2UgJ09iamVjdCBCbG9iIG9iamVjdCwgQmxvYiBlbXB0
eSc6CisgICAgICBjYXNlICdPYmplY3QgQmxvYiBvYmplY3QsIEJsb2IgTlVMJzoKKyAgICAgICAg
KGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNlb2Yg
T2JqZWN0LCAnaW5wdXQgaW5zdGFuY2VvZiBPYmplY3QnKSAmJgorICAgICAgICAgICAgICBjaGVj
a190cnVlKCEoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSksICchKGlucHV0IGluc3RhbmNlb2YgQXJy
YXkpJykpIHsKKyAgICAgICAgICAgIHZhciBpID0gMDsKKyAgICAgICAgICAgIGZvciAodmFyIHgg
aW4gaW5wdXQpIHsKKyAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgaWYgKGNoZWNrX3RydWUoaSA9PT0gMSwgJ2kgPT09IDEnKSkgeworICAgICAgICAgICAgICBj
aGVja19CbG9iKG1zZy5zdWJzdHIoJ09iamVjdCBCbG9iIG9iamVjdCwgJy5sZW5ndGgpLCBpbnB1
dFsneCddLCBwb3J0LCBmYWxzZSwgaW5wdXQpOworICAgICAgICAgICAgICAvLyBubyBwb3N0TWVz
c2FnZSBvciBjbG9zZSBoZXJlLCBjaGVja19CbG9iIHRha2VzIGNhcmUgb2YgdGhhdAorICAgICAg
ICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSkoKTsKKyAgICAgICAgYnJlYWs7CisgICAg
ICBjYXNlICdGaWxlIGJhc2ljJzoKKyAgICAgICAgY2hlY2tfQmxvYihtc2csIGlucHV0LCBwb3J0
LCB0cnVlKTsKKyAgICAgICAgLy8gbm8gcG9zdE1lc3NhZ2Ugb3IgY2xvc2UgaGVyZSwgY2hlY2tf
QmxvYiB0YWtlcyBjYXJlIG9mIHRoYXQKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdGaWxl
TGlzdCBlbXB0eSc6CisgICAgICAgIGlmIChjaGVja19GaWxlTGlzdChtc2csIGlucHV0KSkgewor
ICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdBcnJheSBGaWxlTGlzdCBvYmpl
Y3QsIEZpbGVMaXN0IGVtcHR5JzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFu
Y2VvZiBBcnJheSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAmJgorICAgICAgICAgICAgY2hl
Y2tfdHJ1ZShpbnB1dC5sZW5ndGggPT09IDEsICdpbnB1dC5sZW5ndGggPT09IDEnKSAmJgorICAg
ICAgICAgICAgY2hlY2tfRmlsZUxpc3QobXNnLnN1YnN0cignQXJyYXkgRmlsZUxpc3Qgb2JqZWN0
LCAnLmxlbmd0aCksIGlucHV0WzBdKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5w
dXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAg
ICBjYXNlICdPYmplY3QgRmlsZUxpc3Qgb2JqZWN0LCBGaWxlTGlzdCBlbXB0eSc6CisgICAgICAg
IChmdW5jdGlvbigpIHsKKyAgICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9m
IE9iamVjdCwgJ2lucHV0IGluc3RhbmNlb2YgT2JqZWN0JykgJiYKKyAgICAgICAgICAgICAgY2hl
Y2tfdHJ1ZSghKGlucHV0IGluc3RhbmNlb2YgQXJyYXkpLCAnIShpbnB1dCBpbnN0YW5jZW9mIEFy
cmF5KScpICYmCisgICAgICAgICAgICAgIGNoZWNrX0ZpbGVMaXN0KG1zZy5zdWJzdHIoJ0FycmF5
IEZpbGVMaXN0IG9iamVjdCwgJy5sZW5ndGgpLCBpbnB1dFsneCddKSkgeworICAgICAgICAgICAg
dmFyIGkgPSAwOworICAgICAgICAgICAgZm9yICh2YXIgeCBpbiBpbnB1dCkgeworICAgICAgICAg
ICAgICBpKys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpID09
PSAxLCAnaSA9PT0gMScpKSB7CisgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQp
OworICAgICAgICAgICAgICBjbG9zZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAg
ICAgICAgfSkoKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdJbWFnZURhdGEgMXgxIHRy
YW5zcGFyZW50IGJsYWNrJzoKKyAgICAgICAgaWYgKGNoZWNrX0ltYWdlRGF0YShpbnB1dCwge3dp
ZHRoOjEsIGhlaWdodDoxLCBkYXRhOlswLDAsMCwwXX0pKSB7CisgICAgICAgICAgcG9ydC5wb3N0
TWVzc2FnZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBi
cmVhazsKKyAgICAgIGNhc2UgJ0ltYWdlRGF0YSAxeDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFj
ayc6CisgICAgICAgIGlmIChjaGVja19JbWFnZURhdGEoaW5wdXQsIHt3aWR0aDoxLCBoZWlnaHQ6
MSwgZGF0YTpbMTAwLCAxMDEsIDEwMiwgMTAzXX0pKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVz
c2FnZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVh
azsKKyAgICAgIGNhc2UgJ0FycmF5IEltYWdlRGF0YSBvYmplY3QsIEltYWdlRGF0YSAxeDEgdHJh
bnNwYXJlbnQgYmxhY2snOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9m
IEFycmF5LCAnaW5wdXQgaW5zdGFuY2VvZiBBcnJheScpICYmCisgICAgICAgICAgICBjaGVja190
cnVlKGlucHV0Lmxlbmd0aCA9PT0gMSwgJ2lucHV0Lmxlbmd0aCA9PT0gMScpICYmCisgICAgICAg
ICAgICBjaGVja19JbWFnZURhdGEoaW5wdXRbMF0sIHt3aWR0aDoxLCBoZWlnaHQ6MSwgZGF0YTpb
MCwwLDAsMF19KSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAg
ICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdBcnJh
eSBJbWFnZURhdGEgb2JqZWN0LCBJbWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBub24tYmxh
Y2snOgorICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIEFycmF5LCAnaW5w
dXQgaW5zdGFuY2VvZiBBcnJheScpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0Lmxl
bmd0aCA9PT0gMSwgJ2lucHV0Lmxlbmd0aCA9PT0gMScpICYmCisgICAgICAgICAgICBjaGVja19J
bWFnZURhdGEoaW5wdXRbMF0sIHt3aWR0aDoxLCBoZWlnaHQ6MSwgZGF0YTpbMTAwLCAxMDEsIDEw
MiwgMTAzXX0pKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAgICAg
ICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ09iamVj
dCBJbWFnZURhdGEgb2JqZWN0LCBJbWFnZURhdGEgMXgxIHRyYW5zcGFyZW50IGJsYWNrJzoKKyAg
ICAgICAgKGZ1bmN0aW9uKCl7CisgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFu
Y2VvZiBPYmplY3QsICdpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCcpICYmCisgICAgICAgICAgICAg
IGNoZWNrX3RydWUoIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KSwgJyEoaW5wdXQgaW5zdGFuY2Vv
ZiBBcnJheSknKSAmJgorICAgICAgICAgICAgICBjaGVja19JbWFnZURhdGEoaW5wdXRbJ3gnXSwg
e3dpZHRoOjEsIGhlaWdodDoxLCBkYXRhOlswLDAsMCwwXX0pKSB7CisgICAgICAgICAgICB2YXIg
aSA9IDA7CisgICAgICAgICAgICBmb3IgKHZhciB4IGluIGlucHV0KSB7CisgICAgICAgICAgICAg
IGkrKzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjaGVja190cnVlKGkgPT09IDEs
ICdpID09PSAxJykpIHsKKyAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7Cisg
ICAgICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAg
ICB9KSgpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ09iamVjdCBJbWFnZURhdGEgb2Jq
ZWN0LCBJbWFnZURhdGEgMXgxIG5vbi10cmFuc3BhcmVudCBub24tYmxhY2snOgorICAgICAgICAo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBP
YmplY3QsICdpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCcpICYmCisgICAgICAgICAgICAgIGNoZWNr
X3RydWUoIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KSwgJyEoaW5wdXQgaW5zdGFuY2VvZiBBcnJh
eSknKSAmJgorICAgICAgICAgICAgICBjaGVja19JbWFnZURhdGEoaW5wdXRbJ3gnXSwge3dpZHRo
OjEsIGhlaWdodDoxLCBkYXRhOlsxMDAsIDEwMSwgMTAyLCAxMDNdfSkpIHsKKyAgICAgICAgICAg
IHZhciBpID0gMDsKKyAgICAgICAgICAgIGZvciAodmFyIHggaW4gaW5wdXQpIHsKKyAgICAgICAg
ICAgICAgaSsrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGNoZWNrX3RydWUoaSA9
PT0gMSwgJ2kgPT09IDEnKSkgeworICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0
KTsKKyAgICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9Cisg
ICAgICAgIH0pKCk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnSW1hZ2VCaXRtYXAgMXgx
IHRyYW5zcGFyZW50IGJsYWNrJzoKKyAgICAgICAgaWYgKGNoZWNrX0ltYWdlQml0bWFwKGlucHV0
LCB7d2lkdGg6MSwgaGVpZ2h0OjEsIGRhdGE6WzAsIDAsIDAsIDBdfSkpIHsKKyAgICAgICAgICBw
b3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnSW1hZ2VCaXRtYXAgMXgxIG5vbi10cmFuc3BhcmVu
dCBub24tYmxhY2snOgorICAgICAgICBpZiAoY2hlY2tfSW1hZ2VCaXRtYXAoaW5wdXQsIHt3aWR0
aDoxLCBoZWlnaHQ6MSwgZGF0YTpbMTAwLCAxMDEsIDEwMiwgMTAzXX0pKSB7CisgICAgICAgICAg
cG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQor
ICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ0FycmF5IEltYWdlQml0bWFwIG9iamVjdCwgSW1h
Z2VCaXRtYXAgMXgxIHRyYW5zcGFyZW50IGJsYWNrJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUo
aW5wdXQgaW5zdGFuY2VvZiBBcnJheSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAmJgorICAg
ICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5sZW5ndGggPT09IDEsICdpbnB1dC5sZW5ndGggPT09
IDEnKSAmJgorICAgICAgICAgICAgY2hlY2tfSW1hZ2VCaXRtYXAoaW5wdXRbMF0sIHt3aWR0aDox
LCBoZWlnaHQ6MSwgZGF0YTpbMCwgMCwgMCwgMF19KSkgeworICAgICAgICAgIHBvcnQucG9zdE1l
c3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJl
YWs7CisgICAgICBjYXNlICdBcnJheSBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0bWFwIDF4
MSBub24tdHJhbnNwYXJlbnQgbm9uLWJsYWNrJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5w
dXQgaW5zdGFuY2VvZiBBcnJheSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAmJgorICAgICAg
ICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5sZW5ndGggPT09IDEsICdpbnB1dC5sZW5ndGggPT09IDEn
KSAmJgorICAgICAgICAgICAgY2hlY2tfSW1hZ2VCaXRtYXAoaW5wdXRbMF0sIHt3aWR0aDoxLCBo
ZWlnaHQ6MSwgZGF0YTpbMTAwLCAxMDEsIDEwMiwgMTAzXX0pKSB7CisgICAgICAgICAgcG9ydC5w
b3N0TWVzc2FnZShpbnB1dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAg
ICBicmVhazsKKyAgICAgIGNhc2UgJ09iamVjdCBJbWFnZUJpdG1hcCBvYmplY3QsIEltYWdlQml0
bWFwIDF4MSB0cmFuc3BhcmVudCBibGFjayc6CisgICAgICAgIChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCwgJ2lucHV0IGluc3Rh
bmNlb2YgT2JqZWN0JykgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZSghKGlucHV0IGluc3Rh
bmNlb2YgQXJyYXkpLCAnIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KScpICYmCisgICAgICAgICAg
ICAgIGNoZWNrX0ltYWdlQml0bWFwKGlucHV0Wyd4J10sIHt3aWR0aDoxLCBoZWlnaHQ6MSwgZGF0
YTpbMCwgMCwgMCwgMF19KSkgeworICAgICAgICAgICAgdmFyIGkgPSAwOworICAgICAgICAgICAg
Zm9yICh2YXIgeCBpbiBpbnB1dCkgeworICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpID09PSAxLCAnaSA9PT0gMScpKSB7CisgICAg
ICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgICAgICBjbG9zZSgp
OworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfSkoKTsKKyAgICAgICAgYnJl
YWs7CisgICAgICBjYXNlICdPYmplY3QgSW1hZ2VCaXRtYXAgb2JqZWN0LCBJbWFnZUJpdG1hcCAx
eDEgbm9uLXRyYW5zcGFyZW50IG5vbi1ibGFjayc6CisgICAgICAgIChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCwgJ2lucHV0IGlu
c3RhbmNlb2YgT2JqZWN0JykgJiYKKyAgICAgICAgICAgICAgY2hlY2tfdHJ1ZSghKGlucHV0IGlu
c3RhbmNlb2YgQXJyYXkpLCAnIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KScpICYmCisgICAgICAg
ICAgICAgIGNoZWNrX0ltYWdlQml0bWFwKGlucHV0Wyd4J10sIHt3aWR0aDoxLCBoZWlnaHQ6MSwg
ZGF0YTpbMTAwLCAxMDEsIDEwMiwgMTAzXX0pKSB7CisgICAgICAgICAgICB2YXIgaSA9IDA7Cisg
ICAgICAgICAgICBmb3IgKHZhciB4IGluIGlucHV0KSB7CisgICAgICAgICAgICAgIGkrKzsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjaGVja190cnVlKGkgPT09IDEsICdpID09PSAx
JykpIHsKKyAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1dCk7CisgICAgICAgICAg
ICAgIGNsb3NlKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9KSgpOwor
ICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ0FycmF5IHNwYXJzZSc6CisgICAgICAgIChmdW5j
dGlvbigpIHsKKyAgICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIEFycmF5
LCAnaW5wdXQgaW5zdGFuY2VvZiBBcnJheScpICYmCisgICAgICAgICAgICAgIGNoZWNrX3RydWUo
aW5wdXQubGVuZ3RoID09PSAxMCwgJ2lucHV0Lmxlbmd0aCA9PT0gMTAnKSkgeworICAgICAgICAg
ICAgZm9yICh2YXIgeCBpbiBpbnB1dCkgeworICAgICAgICAgICAgICBjaGVja190cnVlKGZhbHNl
LCAndW5leHBlY3RlZCBlbnVtZXJhYmxlIHByb3BlcnR5ICcreCk7CisgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQp
OworICAgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0pKCk7CisgICAg
ICAgIGJyZWFrOworICAgICAgY2FzZSAnQXJyYXkgd2l0aCBub24taW5kZXggcHJvcGVydHknOgor
ICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIEFycmF5LCAnaW5wdXQgaW5z
dGFuY2VvZiBBcnJheScpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0Lmxlbmd0aCA9
PT0gMCwgJ2lucHV0Lmxlbmd0aCA9PT0gMCcpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlu
cHV0LmZvbyA9PT0gJ2JhcicsICJpbnB1dC5mb28gPT09ICdiYXInIikpIHsKKyAgICAgICAgICBw
b3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnT2JqZWN0IHdpdGggaW5kZXggcHJvcGVydHkgYW5k
IGxlbmd0aCc6CisgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0IGluc3RhbmNlb2YgT2JqZWN0
LCAnaW5wdXQgaW5zdGFuY2VvZiBPYmplY3QnKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZSgh
KGlucHV0IGluc3RhbmNlb2YgQXJyYXkpLCAnIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KScpICYm
CisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0WzBdID09PSAnZm9vJywgImlucHV0WzBdID09
PSAnZm9vJyIpICYmCisgICAgICAgICAgICBjaGVja190cnVlKGlucHV0Lmxlbmd0aCA9PT0gMSwg
J2lucHV0Lmxlbmd0aCA9PT0gMScpKSB7CisgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShpbnB1
dCk7CisgICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAg
IGNhc2UgJ0FycmF5IHdpdGggY2lyY3VsYXIgcmVmZXJlbmNlJzoKKyAgICAgICAgaWYgKGNoZWNr
X3RydWUoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAm
JgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dC5sZW5ndGggPT09IDEsICdpbnB1dC5sZW5n
dGggPT09IDEnKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShpbnB1dFswXSA9PT0gaW5wdXQs
ICJpbnB1dFswXSA9PT0gaW5wdXQiKSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5w
dXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAg
ICBjYXNlICdPYmplY3Qgd2l0aCBjaXJjdWxhciByZWZlcmVuY2UnOgorICAgICAgICBpZiAoY2hl
Y2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCwgJ2lucHV0IGluc3RhbmNlb2YgT2JqZWN0
JykgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoIShpbnB1dCBpbnN0YW5jZW9mIEFycmF5KSwg
JyEoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSknKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShp
bnB1dFsneCddID09PSBpbnB1dCwgImlucHV0Wyd4J10gPT09IGlucHV0IikpIHsKKyAgICAgICAg
ICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9
CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQXJyYXkgd2l0aCBpZGVudGljYWwgcHJvcGVy
dHkgdmFsdWVzJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBBcnJh
eSwgJ2lucHV0IGluc3RhbmNlb2YgQXJyYXknKSAmJgorICAgICAgICAgICAgY2hlY2tfdHJ1ZShp
bnB1dC5sZW5ndGggPT09IDIsICdpbnB1dC5sZW5ndGggPT09IDInKSAmJgorICAgICAgICAgICAg
Y2hlY2tfdHJ1ZShpbnB1dFswXSA9PT0gaW5wdXRbMV0sICJpbnB1dFswXSA9PT0gaW5wdXRbMV0i
KSkgeworICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3Nl
KCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdPYmplY3Qgd2l0aCBp
ZGVudGljYWwgcHJvcGVydHkgdmFsdWVzJzoKKyAgICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQg
aW5zdGFuY2VvZiBPYmplY3QsICdpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCcpICYmCisgICAgICAg
ICAgICBjaGVja190cnVlKCEoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSksICchKGlucHV0IGluc3Rh
bmNlb2YgQXJyYXkpJykgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoaW5wdXRbJ3gnXSA9PT0g
aW5wdXRbJ3knXSwgImlucHV0Wyd4J10gPT09IGlucHV0Wyd5J10iKSkgeworICAgICAgICAgIHBv
cnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAgICAgIGNsb3NlKCk7CisgICAgICAgIH0KKyAg
ICAgICAgYnJlYWs7CisgICAgICBjYXNlICdPYmplY3Qgd2l0aCBwcm9wZXJ0eSBvbiBwcm90b3R5
cGUnOgorICAgICAgY2FzZSAnT2JqZWN0IHdpdGggbm9uLWVudW1lcmFibGUgcHJvcGVydHknOgor
ICAgICAgICBpZiAoY2hlY2tfdHJ1ZShpbnB1dCBpbnN0YW5jZW9mIE9iamVjdCwgJ2lucHV0IGlu
c3RhbmNlb2YgT2JqZWN0JykgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUoIShpbnB1dCBpbnN0
YW5jZW9mIEFycmF5KSwgJyEoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSknKSAmJgorICAgICAgICAg
ICAgY2hlY2tfdHJ1ZSghKCdmb28nIGluIGlucHV0KSwgIiEoJ2ZvbycgaW4gaW5wdXQpIikpIHsK
KyAgICAgICAgICBpbnB1dCA9IHt9OworICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShp
bnB1dCwgJ2ZvbycsIHt2YWx1ZTonYmFyJywgZW51bWVyYWJsZTpmYWxzZSwgd3JpdGFibGU6dHJ1
ZSwgY29uZmlndXJhYmxlOnRydWV9KTsKKyAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGlucHV0
KTsKKyAgICAgICAgICBjbG9zZSgpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAg
Y2FzZSAnT2JqZWN0IHdpdGggbm9uLXdyaXRhYmxlIHByb3BlcnR5JzoKKyAgICAgICAgaWYgKGNo
ZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBPYmplY3QsICdpbnB1dCBpbnN0YW5jZW9mIE9iamVj
dCcpICYmCisgICAgICAgICAgICBjaGVja190cnVlKCEoaW5wdXQgaW5zdGFuY2VvZiBBcnJheSks
ICchKGlucHV0IGluc3RhbmNlb2YgQXJyYXkpJykgJiYKKyAgICAgICAgICAgIGNoZWNrX3RydWUo
aW5wdXQuZm9vID09PSAnYmFyJywgImlucHV0LmZvbyA9PT0gYmFyIikpIHsKKyAgICAgICAgICBp
bnB1dC5mb28gKz0gJyBiYXonOworICAgICAgICAgIGlmIChjaGVja190cnVlKGlucHV0LmZvbyA9
PT0gJ2JhciBiYXonLCAiaW5wdXQuZm9vID09PSAnYmFyIGJheiciKSkgeworICAgICAgICAgICAg
aW5wdXQgPSB7fTsKKyAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnB1dCwgJ2Zv
bycsIHt2YWx1ZTonYmFyJywgZW51bWVyYWJsZTp0cnVlLCB3cml0YWJsZTpmYWxzZSwgY29uZmln
dXJhYmxlOnRydWV9KTsKKyAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAg
ICAgICAgICAgY2xvc2UoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7
CisgICAgICBjYXNlICdPYmplY3Qgd2l0aCBub24tY29uZmlndXJhYmxlIHByb3BlcnR5JzoKKyAg
ICAgICAgaWYgKGNoZWNrX3RydWUoaW5wdXQgaW5zdGFuY2VvZiBPYmplY3QsICdpbnB1dCBpbnN0
YW5jZW9mIE9iamVjdCcpICYmCisgICAgICAgICAgICBjaGVja190cnVlKCEoaW5wdXQgaW5zdGFu
Y2VvZiBBcnJheSksICchKGlucHV0IGluc3RhbmNlb2YgQXJyYXkpJykgJiYKKyAgICAgICAgICAg
IGNoZWNrX3RydWUoaW5wdXQuZm9vID09PSAnYmFyJywgImlucHV0LmZvbyA9PT0gYmFyIikpIHsK
KyAgICAgICAgICBkZWxldGUgaW5wdXQuZm9vOworICAgICAgICAgIGlmIChjaGVja190cnVlKCEo
J2ZvbycgaW4gaW5wdXQpLCAiISgnZm9vJyBpbiBpbnB1dCkiKSkgeworICAgICAgICAgICAgaW5w
dXQgPSB7fTsKKyAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbnB1dCwgJ2Zvbycs
IHt2YWx1ZTonYmFyJywgZW51bWVyYWJsZTp0cnVlLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFi
bGU6ZmFsc2V9KTsKKyAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoaW5wdXQpOworICAgICAg
ICAgICAgY2xvc2UoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisK
KyAgICAgIGRlZmF1bHQ6CisgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UoJ0ZBSUw6IHVua25vd24g
dGVzdCcpOworICAgICAgICBjbG9zZSgpOworICAgIH0KKyAgICBpZiAobG9nLmxlbmd0aCA+IDAp
IHsKKyAgICAgIHBvcnQucG9zdE1lc3NhZ2UoJ0ZBSUwgJytsb2cpOworICAgICAgY2xvc2UoKTsK
KyAgICB9CisgIH0gY2F0Y2ggKGV4KSB7CisgICAgcG9ydC5wb3N0TWVzc2FnZSgnRkFJTCAnK2V4
KTsKKyAgICBjbG9zZSgpOworICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDEtMS54bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2Vt
YW50aWNzL3hoci8wMDEtMS54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQ3MzViZGY2MTk5NzYxZTc4NDhhY2Ji
MTY0NWUwMGQ4ZWM5NjRmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMS0xLnhtbApA
QCAtMCwwICsxIEBACis8eD5mb288L3g+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3NlbWFudGljcy94aHIvMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWE5MzFhMjdiZTRlMmZjNWQ0OTEwMjc4MWQ5OTJhOGNhMjNkZjUx
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgYXN5bmMgWE1MSHR0cFJlcXVlc3QgaW4gZGVkaWNhdGVkIHdvcmtlciAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDAxLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lMjZlMjFjNjJmODU0NGYzYjU4ZDhiZWViNmI2OGFmZjE0MzkwNzg4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy94aHIvMDAxLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCEtLQordmFy
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwordmFyIGxvZyA9ICcnOworeGhyLm9ucmVhZHlz
dGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKGUpIHsKKyAgaWYgKHRoaXMucmVhZHlTdGF0ZSA9PSA0KSB7
CisgICAgaWYgKHRoaXMucmVzcG9uc2VYTUwgIT0gbnVsbCkKKyAgICAgIGxvZyArPSAncmVzcG9u
c2VYTUwgd2FzIG5vdCBudWxsLiAnOworICAgIGlmICh0aGlzLnJlc3BvbnNlVGV4dCAhPSAnPHg+
Zm9vPC94PicpCisgICAgICBsb2cgKz0gJ3Jlc3BvbnNlVGV4dCB3YXMgJyArIHRoaXMucmVzcG9u
c2VUZXh0ICsgJywgZXhwZWN0ZWQgPHg+Zm9vPC94Pi4gJzsKKyAgICBwb3N0TWVzc2FnZShsb2cp
OworICB9Cit9Cit4aHIub3BlbignR0VUJywgJzAwMS0xLnhtbCcsIHRydWUpOworeGhyLnNlbmQo
KTsKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmFzeW5jIFhNTEh0dHBSZXF1ZXN0
IGluIGRlZGljYXRlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordmFy
IHQgPSBhc3luY190ZXN0KCk7CitmdW5jdGlvbiBydW50ZXN0KCkgeworICB2YXIgd29ya2VyID0g
bmV3IFdvcmtlcignIycpOworICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVu
Y3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLCAnJyk7CisgICAgdGhpcy5kb25l
KCk7CisgIH0pOworfQorPC9zY3JpcHQ+Cis8aWZyYW1lIHNyYz0wMDEtMS54bWwgb25sb2FkPSJ0
LnN0ZXAocnVudGVzdCk7Ij48L2lmcmFtZT4KKzwhLS0KKyovCisvLy0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50
aWNzL3hoci8wMDItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExMzZhNTQ1MTUwZDhjNDc1MWEy
ZTljNDNiY2E5NmRhNjJkYWI1MjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHN5bmMgWE1MSHR0cFJlcXVlc3QgaW4g
ZGVkaWNhdGVkIHdvcmtlciAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDAyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNz
L3hoci8wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDMzODZlOTgyZmM4NDA5ZWFlZDcwMGI2Y2EwZTNk
ZTgwODhlYTM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDAyLmh0bWwKQEAgLTAsMCAr
MSwzMiBAQAorPCEtLQordmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwordmFyIGxvZyA9
ICcnOworeGhyLm9wZW4oJ0dFVCcsICcwMDEtMS54bWwnLCBmYWxzZSk7Cit4aHIuc2VuZCgpOwor
aWYgKHhoci5yZXNwb25zZVhNTCAhPSBudWxsKQorICBsb2cgKz0gJ3Jlc3BvbnNlWE1MIHdhcyBu
b3QgbnVsbC4gJzsKK2lmICh4aHIucmVzcG9uc2VUZXh0ICE9ICc8eD5mb288L3g+JykKKyAgbG9n
ICs9ICdyZXNwb25zZVRleHQgd2FzICcgKyB0aGlzLnJlc3BvbnNlVGV4dCArICcsIGV4cGVjdGVk
IDx4PmZvbzwveD4uICc7Citwb3N0TWVzc2FnZShsb2cpOworCisvKgorLS0+Cis8IWRvY3R5cGUg
aHRtbD4KKzx0aXRsZT5zeW5jIFhNTEh0dHBSZXF1ZXN0IGluIGRlZGljYXRlZCB3b3JrZXI8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordmFyIHQgPSBhc3luY190ZXN0KCk7CitmdW5j
dGlvbiBydW50ZXN0KCkgeworICB2YXIgd29ya2VyID0gbmV3IFdvcmtlcignIycpOworICB3b3Jr
ZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9l
cXVhbHMoZS5kYXRhLCAnJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfQorPC9zY3JpcHQ+
Cis8aWZyYW1lIHNyYz0wMDEtMS54bWwgb25sb2FkPSJ0LnN0ZXAocnVudGVzdCk7Ij48L2lmcmFt
ZT4KKzwhLS0KKyovCisvLy0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3MveGhyLzAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJiZjVkMmI0YTk1NGI2MDY0M2RiNDczODA0YjFkYjM2OWI1NGQ0MTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitGQUlMIGFzeW5jIFhNTEh0dHBSZXF1ZXN0IGluIHNoYXJlZCB3b3JrZXIgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMy5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Nl
bWFudGljcy94aHIvMDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBlZGFmNDE3MDJmOTc0OThkY2M4NWMw
N2Y4OWRiMTM4YTQzOTlkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMy5odG1sCkBA
IC0wLDAgKzEsNDEgQEAKKzwhLS0KK29uY29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgdmFyIHho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB2YXIgbG9nID0gJyc7CisgIHZhciBwb3J0ID0g
ZS5wb3J0c1swXTsKKyAgdmFyIHBvc3RNZXNzYWdlID0gcG9ydC5wb3N0TWVzc2FnZTsKKyAgeGhy
Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKGUpIHsKKyAgICBpZiAodGhpcy5yZWFkeVN0
YXRlID09IDQpIHsKKyAgICAgIGlmICh0aGlzLnJlc3BvbnNlWE1MICE9IG51bGwpCisgICAgICAg
IGxvZyArPSAncmVzcG9uc2VYTUwgd2FzIG5vdCBudWxsLiAnOworICAgICAgaWYgKHRoaXMucmVz
cG9uc2VUZXh0ICYmIHRoaXMucmVzcG9uc2VUZXh0ICE9ICc8eD5mb288L3g+JykKKyAgICAgICAg
bG9nICs9ICdyZXNwb25zZVRleHQgd2FzICcgKyB0aGlzLnJlc3BvbnNlVGV4dCArICcsIGV4cGVj
dGVkIDx4PmZvbzwveD4uICc7CisgICAgICBwb3N0TWVzc2FnZS5jYWxsKHBvcnQsIGxvZyk7Cisg
ICAgfQorICB9CisgIHhoci5vcGVuKCdHRVQnLCAnMDAxLTEueG1sJywgdHJ1ZSk7CisgIHhoci5z
ZW5kKCk7Cit9CisKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPmFzeW5jIFhNTEh0
dHBSZXF1ZXN0IGluIHNoYXJlZCB3b3JrZXI8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0
PgordmFyIHQgPSBhc3luY190ZXN0KCk7CitmdW5jdGlvbiBydW50ZXN0KCkgeworICB2YXIgd29y
a2VyID0gbmV3IFNoYXJlZFdvcmtlcignIycsICcnKTsKKyAgd29ya2VyLnBvcnQub25tZXNzYWdl
ID0gdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZSkgeworICAgIGFzc2VydF9lcXVhbHMoZS5kYXRh
LCAnJyk7CisgICAgdGhpcy5kb25lKCk7CisgIH0pOworfQorPC9zY3JpcHQ+Cis8aWZyYW1lIHNy
Yz0wMDEtMS54bWwgb25sb2FkPSJ0LnN0ZXAocnVudGVzdCk7Ij48L2lmcmFtZT4KKzwhLS0KKyov
CisvLy0tPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94
aHIvMDA0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2EyNTZlYmJjYTI3MTk4MjQ1ZjcxYjQ5
NzUwYTY2M2NmNTJiNGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDA0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBzeW5jIFhNTEh0dHBSZXF1ZXN0IGluIHNoYXJl
ZCB3b3JrZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogU2hhcmVkV29ya2VyCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1h
bnRpY3MveGhyLzAwNC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDA0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBkODJm
MmU4MmUyMTU5ZjgzNTczZGIzMWM0ZGUzZjA4YzYzNjdkOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRp
Y3MveGhyLzAwNC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhLS0KK29uY29ubmVjdCA9IGZ1bmN0
aW9uKGUpIHsKKyAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICB2YXIgbG9nID0g
Jyc7CisgIHhoci5vcGVuKCdHRVQnLCAnMDAxLTEueG1sJywgZmFsc2UpOworICB4aHIuc2VuZCgp
OworICBpZiAoeGhyLnJlc3BvbnNlWE1MICE9IG51bGwpCisgICAgbG9nICs9ICdyZXNwb25zZVhN
TCB3YXMgbm90IG51bGwuICc7CisgIGlmICh4aHIucmVzcG9uc2VUZXh0ICE9ICc8eD5mb288L3g+
JykKKyAgICBsb2cgKz0gJ3Jlc3BvbnNlVGV4dCB3YXMgJyArIHhoci5yZXNwb25zZVRleHQgKyAn
LCBleHBlY3RlZCA8eD5mb288L3g+LiAnOworICBlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKGxvZyk7
Cit9CisKKy8qCistLT4KKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPnN5bmMgWE1MSHR0cFJlcXVl
c3QgaW4gc2hhcmVkIHdvcmtlcjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIg
dCA9IGFzeW5jX3Rlc3QoKTsKK2Z1bmN0aW9uIHJ1bnRlc3QoKSB7CisgIHZhciB3b3JrZXIgPSBu
ZXcgU2hhcmVkV29ya2VyKCcjJywgJycpOworICB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSB0aGlz
LnN0ZXBfZnVuYyhmdW5jdGlvbihlKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlLmRhdGEsICcnKTsK
KyAgICB0aGlzLmRvbmUoKTsKKyAgfSk7Cit9Cis8L3NjcmlwdD4KKzxpZnJhbWUgc3JjPTAwMS0x
LnhtbCBvbmxvYWQ9InQuc3RlcChydW50ZXN0KTsiPjwvaWZyYW1lPgorPCEtLQorKi8KKy8vLS0+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDA1LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTM5MmVlNDllMGQxOWVjNGQxZDQxMWMyOTcyOTQ1ZDcw
YmY4MzkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDA1LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBiYXNlIHVybCwgZGVkaWNhdGVkIHdvcmtlciAKKyAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9zZW1hbnRpY3MveGhyLzAwNS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDA1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODRhYmRiMGM0MjY0MjU0ZWFiZTBhYjRkOWIwYjE0MTE2NGU1MjA3NgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
ZW1hbnRpY3MveGhyLzAwNS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPmJhc2UgdXJsLCBkZWRpY2F0ZWQgd29ya2VyPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2Pgor
PHNjcmlwdD4KK3ZhciB0ID0gYXN5bmNfdGVzdCgpOwordmFyIGkgPSAwOworZnVuY3Rpb24gcnVu
dGVzdCgpIHsKKyAgaSsrOworICBpZiAoaSAhPSAyKQorICAgIHJldHVybjsKKyAgdmFyIHdvcmtl
ciA9IG5ldyBXb3JrZXIoJ3N1cHBvcnQvMDA1LTEuanMnKTsKKyAgd29ya2VyLm9ubWVzc2FnZSA9
IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9uKGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShlLmRhdGEpOwor
ICAgIHRoaXMuZG9uZSgpOworICB9KTsKK30KKzwvc2NyaXB0PgorPGlmcmFtZSBzcmM9MDAxLTEu
eG1sIG9ubG9hZD0idC5zdGVwKHJ1bnRlc3QpOyI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz1zdXBw
b3J0LzAwMS0xLnhtbCBvbmxvYWQ9InQuc3RlcChydW50ZXN0KTsiPjwvaWZyYW1lPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3NlbWFudGljcy94aHIvMDA2LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwNi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjgyYzljYzEzZDIzZTdiOGUyZjY0MTM4MTJhZjMzYmE0Y2UxZjc5Mwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK0ZBSUwgYmFzZSB1cmwsIHNoYXJlZCB3b3JrZXIgQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2hhcmVkV29ya2VyCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDYuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhy
LzAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MTFiNGJhZWYzYTE2ZWQzYWMwODkwNGY3OGYzYzVmMzRk
MjQ1NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDYuaHRtbApAQCAtMCwwICsxLDIx
IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5iYXNlIHVybCwgc2hhcmVkIHdvcmtlcjwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
ZGl2IGlkPWxvZz48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdCA9IGFzeW5jX3Rlc3QoKTsKK3ZhciBp
ID0gMDsKK2Z1bmN0aW9uIHJ1bnRlc3QoKSB7CisgIGkrKzsKKyAgaWYgKGkgIT0gMikKKyAgICBy
ZXR1cm47CisgIHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCdzdXBwb3J0LzAwNi0xLmpz
JywnJyk7CisgIHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9u
KGUpIHsKKyAgICBhc3NlcnRfdHJ1ZShlLmRhdGEpOworICAgIHRoaXMuZG9uZSgpOworICB9KTsK
K30KKzwvc2NyaXB0PgorPGlmcmFtZSBzcmM9MDAxLTEueG1sIG9ubG9hZD0idC5zdGVwKHJ1bnRl
c3QpOyI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz1zdXBwb3J0LzAwMS0xLnhtbCBvbmxvYWQ9InQu
c3RlcChydW50ZXN0KTsiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvc3VwcG9ydC8w
MDEtMS54bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL3hoci9zdXBwb3J0LzAwMS0xLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lY2VhNThh
OTM1NzQzOWZhMzkxZGQxZWYyOTc4NDg2ZGQ4NGUxNmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGlj
cy94aHIvc3VwcG9ydC8wMDEtMS54bWwKQEAgLTAsMCArMSBAQAorPHg+YmFyPC94PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyL3N1cHBvcnQvMDA1LTEu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMv
c2VtYW50aWNzL3hoci9zdXBwb3J0LzAwNS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1ZjY1MTlhMjEwNGY4
YjJlM2IxY2NhYTc5MTgyYmMwMjFiZjNkYjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3hoci9z
dXBwb3J0LzAwNS0xLmpzCkBAIC0wLDAgKzEsNSBAQAordmFyIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOworeGhyLm9wZW4oJ0dFVCcsICcwMDEtMS54bWwnLCBmYWxzZSk7Cit4aHIuc2VuZCgp
OwordmFyIHBhc3NlZCA9IHhoci5yZXNwb25zZVRleHQgPT0gJzx4PmJhcjwveD4nOworcG9zdE1l
c3NhZ2UocGFzc2VkKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50
aWNzL3hoci9zdXBwb3J0LzAwNi0xLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvc3VwcG9ydC8wMDYtMS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNDQ2NzgxZWI3YzFjYjBkNWU2MDE2MGZiMWZlMDRmOWExODhmODljCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3NlbWFudGljcy94aHIvc3VwcG9ydC8wMDYtMS5qcwpAQCAtMCwwICsxLDcgQEAKK29u
Y29ubmVjdCA9IGZ1bmN0aW9uKGUpIHsKKyAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgp
OworICB4aHIub3BlbignR0VUJywgJzAwMS0xLnhtbCcsIGZhbHNlKTsKKyAgeGhyLnNlbmQoKTsK
KyAgdmFyIHBhc3NlZCA9IHhoci5yZXNwb25zZVRleHQgPT0gJzx4PmJhcjwveD4nOworICBlLnBv
cnRzWzBdLnBvc3RNZXNzYWdlKHBhc3NlZCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL3NlbWFudGljcy94aHIvc3VwcG9ydC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhy
L3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNhMWM4YTE0MWVlYjkxNzA4NDAz
ZDI3NWJiMmI2NjJmNjc0MjNhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyL3N1cHBvcnQv
dzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvc3VwcG9y
dC8wMDEtMS54bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL3hoci9zdXBwb3J0LzAwNS0xLmpzCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvc3VwcG9y
dC8wMDYtMS5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2VtYW50aWNzL3ho
ci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGM1NmE5MjNiN2YyYzIzMzg1NzMxNjQzZTFm
NzU0ODNmZmVkNTZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvdzNjLWltcG9ydC5sb2cK
QEAgLTAsMCArMSwyMyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIvMDAxLTEueG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94aHIv
MDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc2VtYW50aWNzL3hoci8wMDIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwMy5odG1sCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3NlbWFudGljcy94
aHIvMDA0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dvcmtlcnMvc2VtYW50aWNzL3hoci8wMDUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zZW1hbnRpY3MveGhyLzAwNi5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc2hhcmVkLXdvcmtlci1uYW1lLXZpYS1vcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zaGFyZWQtd29ya2Vy
LW5hbWUtdmlhLW9wdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViOTY5M2E3MGI0OTkx
YWI1YzYzZTgxYjRjMDM4MzU5NTYwM2RmMDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1u
YW1lLXZpYS1vcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSAxNjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJl
ZFdvcmtlcgorCitGQUlMIFRlc3QgdGhlIG5hbWUgcHJvcGVydHkgb2Ygc2hhcmVkIHdvcmtlcnMg
bWl4aW5nIGNvbnN0cnVjdG9yIG9wdGlvbnMgYW5kIGNvbnN0cnVjdG9yIHN0cmluZ3MgUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNoYXJlZFdvcmtlcgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2hh
cmVkLXdvcmtlci1uYW1lLXZpYS1vcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc2hhcmVkLXdvcmtlci1uYW1lLXZpYS1vcHRp
b25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Y3ZmQ0NjY0OTI4M2U4MmZmY2E5OWRmZTMxYWUzYzZmMzZi
M2FlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zaGFyZWQtd29ya2VyLW5hbWUtdmlhLW9wdGlvbnMuaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
Kzx0aXRsZT5UZXN0IHRoZSBuYW1lIHByb3BlcnR5IG9mIHNoYXJlZCB3b3JrZXJzIG1peGluZyBj
b25zdHJ1Y3RvciBvcHRpb25zIGFuZCBjb25zdHJ1Y3RvciBzdHJpbmdzPC90aXRsZT4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
I2NvbmNlcHQtd29ya2VyZ2xvYmFsc2NvcGUtbmFtZSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNkb20tc2hhcmVkd29ya2Vy
Ij4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9t
dWx0aXBhZ2UvI2RvbS1zaGFyZWR3b3JrZXJnbG9iYWxzY29wZS1uYW1lIj4KKzxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iRG9tZW5pYyBEZW5pY29sYSIgaHJlZj0ibWFpbHRvOmRAZG9tZW5pYy5t
ZSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisK
KzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CisKK2NvbnN0IG5hbWUgPSAibXkgbmFtZSI7CisKK2Nv
bnN0IHdvcmtlcjEgPSBuZXcgU2hhcmVkV29ya2VyKCJzdXBwb3J0L3NoYXJlZC1uYW1lLmpzIiwg
eyBuYW1lIH0pOword29ya2VyMS5wb3J0Lm9ubWVzc2FnZSA9IHJlY2VpdmVNZXNzYWdlOworCitj
b25zdCB3b3JrZXIyID0gbmV3IFNoYXJlZFdvcmtlcigic3VwcG9ydC9zaGFyZWQtbmFtZS5qcyIs
IHsgbmFtZSB9KTsKK3dvcmtlcjIucG9ydC5vbm1lc3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKKwor
Y29uc3Qgd29ya2VyMyA9IG5ldyBTaGFyZWRXb3JrZXIoInN1cHBvcnQvc2hhcmVkLW5hbWUuanMi
LCBuYW1lKTsKK3dvcmtlcjMucG9ydC5vbm1lc3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKKworbGV0
IG5leHRDb3VudGVyRXhwZWN0ZWQgPSAxOworZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZSkgewor
ICBjb25zdCB7IGNvdW50ZXIsIG5hbWU6IHJlY2VpdmVkTmFtZSB9ID0gZS5kYXRhOworCisgIGFz
c2VydF9lcXVhbHMocmVjZWl2ZWROYW1lLCBuYW1lKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudGVy
LCBuZXh0Q291bnRlckV4cGVjdGVkKTsKKworICArK25leHRDb3VudGVyRXhwZWN0ZWQ7CisgIGlm
IChuZXh0Q291bnRlckV4cGVjdGVkID09PSA0KSB7CisgICAgZG9uZSgpOworICB9Cit9Cis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9zdXBwb3J0L0Vycm9yRXZlbnQtZXJyb3IuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9FcnJvckV2ZW50
LWVycm9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzMGI1NGMwZDU4ODFlZDRkMTNkZTUxZGYxYjM1YWE0YWI1
ODU3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9FcnJvckV2ZW50LWVycm9yLmpzCkBAIC0wLDAg
KzEsOSBAQAorb25lcnJvciA9IGZ1bmN0aW9uKG1lc3NhZ2UsIGxvY2F0aW9uLCBsaW5lLCBjb2ws
IGVycm9yKSB7CisgIHBvc3RNZXNzYWdlKHsgc291cmNlOiAib25lcnJvciIsIHZhbHVlOiBlcnJv
ciB9KTsKK30KKworYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBmdW5jdGlvbihlKSB7CisgIHBv
c3RNZXNzYWdlKHsgc291cmNlOiAiZXZlbnQgbGlzdGVuZXIiLCB2YWx1ZTogZS5lcnJvciB9KTsK
K30pOworCit0aHJvdyAiaGVsbG8iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvRXJyb3JFdmVudC5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0
L0Vycm9yRXZlbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjJlYTZkNGZiNTE1OThiZWE5MWM3OThjOGM0NDQy
ZjBjYzAxOGY5NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L0Vycm9yRXZlbnQuanMKQEAgLTAsMCAr
MSwxMCBAQAorb25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KQoreworICAgIHRocm93KG5ldyBFcnJv
cihldnQuZGF0YSkpOworfQorCitvbmVycm9yID0gZnVuY3Rpb24obWVzc2FnZSwgbG9jYXRpb24s
IGxpbmUsIGNvbCkKK3sKKyAgICBwb3N0TWVzc2FnZSggeyJtZXNzYWdlIjogbWVzc2FnZSwgImZp
bGVuYW1lIjogbG9jYXRpb24sICJsaW5lbm8iOiBsaW5lLCAiY29sbm8iOiBjb2x9ICk7CisgICAg
cmV0dXJuIGZhbHNlOyAvLyAibm90IGhhbmRsZWQiIHNvIHRoZSBlcnJvciBwcm9wYWdhdGVzIHVw
IHRvIHRoZSBXb3JrZXIgb2JqZWN0Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9JbXBvcnRTY3JpcHRzLmpz
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1
cHBvcnQvSW1wb3J0U2NyaXB0cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjJhMmJjYjU1MmVkMTZmMDMwMzQx
NjdlOGY0Zjc5ODUwZTZjYjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvSW1wb3J0U2NyaXB0cy5q
cwpAQCAtMCwwICsxLDkgQEAKK3RyeQoreworICAgIGltcG9ydFNjcmlwdHMoIldvcmtlckJhc2lj
LmpzIik7Cit9CitjYXRjaChleCkKK3sKKyAgICByZXN1bHQgPSAiRmFpbCI7CisgICAgcG9zdE1l
c3NhZ2UocmVzdWx0KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L0ltcG9ydFNjcmlwdHNOZXR3b3JrRXJy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3N1cHBvcnQvSW1wb3J0U2NyaXB0c05ldHdvcmtFcnIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODE3OWM4YjEw
MDEzMTkyYWU2MTRhNzRiZWFmY2E0YmNkYWE3ZjZlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L0lt
cG9ydFNjcmlwdHNOZXR3b3JrRXJyLmpzCkBAIC0wLDAgKzEsMTUgQEAKK3ZhciByZXN1bHQgPSAi
RmFpbCI7CisKK3RyeQoreworICAgIGltcG9ydFNjcmlwdHMoIk5vbkV4aXN0ZW50RmlsZS5qcyIp
OworfQorY2F0Y2goZXgpCit7CisgICAgaWYgKGV4LmNvZGUgIT0gbnVsbCAmJiBleC5jb2RlID09
IGV4Lk5FVFdPUktfRVJSKQorICAgIHsKKyAgICAgICAgcmVzdWx0ID0gIlBhc3MiOworICAgIH0K
K30KKworcG9zdE1lc3NhZ2UocmVzdWx0KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc3VwcG9ydC9JbXBvcnRTY3JpcHRzTm9zbmlmZkVyci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L0ltcG9ydFNjcmlw
dHNOb3NuaWZmRXJyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZmJmYzczNjczNWVjNjk2MzRlYzc5Y2EyNWZi
NGE1NDhmNzk5YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9JbXBvcnRTY3JpcHRzTm9zbmlmZkVy
ci5qcwpAQCAtMCwwICsxLDkgQEAKK2ltcG9ydFNjcmlwdHMoJy9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMnKTsKKwordGVzdCh0ID0+IHsKKyAgYXNzZXJ0X3Rocm93cygnTmV0d29ya0Vycm9yJywg
KCkgPT4geworICAgIGltcG9ydFNjcmlwdHMoIm5vc2luaWZmLWVycm9yLXdvcmtlci5weSIpOwor
ICB9KTsKK30sICJpbXBvcnRTY3JpcHRzIHRocm93cyBvbiAnbm9zbmlmZicgdmlvbGF0aW9uIik7
CisKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1RpbWVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvVGltZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTg2YTIyNGRiYjQxNzQ5YWNhNDdiYTQzOGMxNWI5YmE2Mzk0NThiMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zdXBwb3J0L1RpbWVyLmpzCkBAIC0wLDAgKzEsNTAgQEAKK3ZhciBjb3VudCA9IDA7Cit2
YXIgaWQ7CisKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKK3sKKyAgICB0cnkKKyAgICB7Cisg
ICAgICAgIHN3aXRjaChldnQuZGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgY2FzZSAiVGlt
ZW91dEhhbmRsZXIiOgorICAgICAgICAgICAgICAgIGNvdW50ID0gMDsKKyAgICAgICAgICAgICAg
ICBpZCA9IHNldFRpbWVvdXQoIlRpbWVvdXRIYW5kbGVyKCkiLCAxMCk7CisgICAgICAgICAgICAg
ICAgcG9zdE1lc3NhZ2UoJ2hlbGxvJyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlICJJbnRlcnZhbEhhbmRsZXIiOgorICAgICAgICAgICAgICAgIGNvdW50ID0gMDsK
KyAgICAgICAgICAgICAgICBpZCA9IHNldEludGVydmFsKCJJbnRlcnZhbEhhbmRsZXIoKSIsIDEw
KTsKKyAgICAgICAgICAgICAgICBwb3N0TWVzc2FnZSgnaGVsbG8nKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICBjYXRjaChleCkKKyAgICB7CisgICAgICAg
IHBvc3RNZXNzYWdlKCJGYWlsIik7CisgICAgfQorfQorCitmdW5jdGlvbiBUaW1lb3V0SGFuZGxl
cigpCit7CisgICAgY291bnQrKzsKKyAgICBwb3N0TWVzc2FnZSgid29ya2VyIik7CisKKyAgICBp
ZCA9IHNldFRpbWVvdXQoIlRpbWVvdXRIYW5kbGVyKCkiLCAxMCk7CisKKyAgICBpZiAoY291bnQg
Pj0gMikKKyAgICB7CisgICAgICAgIGNsZWFyVGltZW91dChpZCk7CisgICAgfQorfQorCitmdW5j
dGlvbiBJbnRlcnZhbEhhbmRsZXIoKQoreworICAgIGNvdW50Kys7CisgICAgcG9zdE1lc3NhZ2Uo
IndvcmtlciIpOworCisgICAgaWYgKGNvdW50ID49IDIpCisgICAgeworICAgICAgICBjbGVhcklu
dGVydmFsKGlkKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJCYXNpYy5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0
L1dvcmtlckJhc2ljLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiYjZkMzJiMTQxOTE2MTQ2MjU3YmJhZDY2NWUy
NTI2MTExYTA4NDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJCYXNpYy5qcwpAQCAtMCww
ICsxLDcgQEAKK3ZhciByZXN1bHQgPSAiRmFpbCI7CisKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2
dCkKK3sKKyAgICByZXN1bHQgPSAiUGFzcyI7CisgICAgcG9zdE1lc3NhZ2UocmVzdWx0KTsKK30K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJDbG9zZS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9z
dXBwb3J0L1dvcmtlckNsb3NlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxZjk5OTkzZDgxZTFhMmRlNjUyMmMy
OGRkNWFlYzU3YjNkODA1NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJDbG9zZS5qcwpA
QCAtMCwwICsxLDUgQEAKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkKK3sKKyAgICBwb3N0TWVz
c2FnZShldnQuZGF0YSk7CisgICAgc2VsZi5jbG9zZSgpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlckRhdGFDbG9uZUVyci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtl
ckRhdGFDbG9uZUVyci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2U4YjBhZTE2NzYyNmFlZGVlYWEyYzU2YzI1
NTJjNDk3MjYxOGM1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvV29ya2VyRGF0YUNsb25lRXJyLmpz
CkBAIC0wLDAgKzEsMTUgQEAKK3ZhciByZXN1bHQgPSAiRmFpbCI7CisKK3RyeQoreworICAgIHBv
c3RNZXNzYWdlKG5hdmlnYXRvcik7Cit9CitjYXRjaChleCkKK3sKKyAgICBpZihleC5jb2RlICE9
IG51bGwgJiYgZXguY29kZSA9PSBleC5EQVRBX0NMT05FX0VSUikKKyAgICB7CisgICAgICAgIHJl
c3VsdCA9ICJQYXNzIjsKKyAgICB9Cit9CisKK3Bvc3RNZXNzYWdlKHJlc3VsdCk7ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvV29ya2VyRmV0Y2hVUkwuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9y
dC9Xb3JrZXJGZXRjaFVSTC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YWQ3MDBiY2NlNDY0NjExYjNjM2YwN2U4
NTU1YjRjNmNjYjZjZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvV29ya2VyRmV0Y2hVUkwuanMK
QEAgLTAsMCArMSw4IEBACitvbmNvbm5lY3QgPSBlID0+IHsKKyAgbGV0IHBvcnQgPSBlLnBvcnRz
WzBdOworICBwb3J0Lm9ubWVzc2FnZSA9IChlKSA9PiB7CisgICAgZmV0Y2goZS5kYXRhKQorICAg
IC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLnRleHQoKSkKKyAgICAudGhlbih0ZXh0ID0+IHBv
cnQucG9zdE1lc3NhZ2UoJ1dvcmtlciByZXBseTonICsgdGV4dCkpOworICB9OworfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3N1cHBvcnQvV29ya2VyTG9jYXRpb24tb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJMb2NhdGlvbi1v
cmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDk0ODAzMGE3OWU0MzFlZmQ4ZDMzOTc0Y2EwZjJjZDIw
OTJkZGNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvV29ya2VyTG9jYXRpb24tb3JpZ2luLmh0bWwK
QEAgLTAsMCArMSw2IEBACis8c2NyaXB0PgorY29uc3QgdyA9IG5ldyBXb3JrZXIoIi4vV29ya2Vy
TG9jYXRpb24uanMiKTsKK3cub25tZXNzYWdlID0gZSA9PiB7CisgIHBhcmVudC5wb3N0TWVzc2Fn
ZShlLmRhdGEsICIqIik7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlckxvY2F0
aW9uLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3N1cHBvcnQvV29ya2VyTG9jYXRpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAxZTIxNTQyYTA1MjRl
Yjc5M2Y0ODM3YmI1NWUwZGI2OGNmNTkxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlckxv
Y2F0aW9uLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciBvYmogPSBuZXcgT2JqZWN0KCk7CitvYmou
bG9jYXRpb24gPSBsb2NhdGlvbi50b1N0cmluZygpOworb2JqLmhyZWYgICAgID0gbG9jYXRpb24u
aHJlZjsKK29iai5vcmlnaW4gICA9IGxvY2F0aW9uLm9yaWdpbjsKK29iai5wcm90b2NvbCA9IGxv
Y2F0aW9uLnByb3RvY29sOworb2JqLmhvc3QgICAgID0gbG9jYXRpb24uaG9zdDsKK29iai5ob3N0
bmFtZSA9IGxvY2F0aW9uLmhvc3RuYW1lOworb2JqLnBvcnQgICAgID0gbG9jYXRpb24ucG9ydDsK
K29iai5wYXRobmFtZSA9IGxvY2F0aW9uLnBhdGhuYW1lOworb2JqLnNlYXJjaCAgID0gbG9jYXRp
b24uc2VhcmNoOworb2JqLmhhc2ggICAgID0gbG9jYXRpb24uaGFzaDsKKworcG9zdE1lc3NhZ2Uo
b2JqKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlck5hdmlnYXRvci5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlck5hdmln
YXRvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wODRlNDViMjQ1ODViOWQ0M2JkNTVlNzFmYjcyN2JkNjc0OTc3
ZWNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvV29ya2VyTmF2aWdhdG9yLmpzCkBAIC0wLDAgKzEs
OCBAQAordmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKK29iai5hcHBOYW1lICAgID0gbmF2aWdhdG9y
LmFwcE5hbWU7CitvYmouYXBwVmVyc2lvbiA9IG5hdmlnYXRvci5hcHBWZXJzaW9uOworb2JqLnBs
YXRmb3JtICAgPSBuYXZpZ2F0b3IucGxhdGZvcm07CitvYmoudXNlckFnZW50ICA9IG5hdmlnYXRv
ci51c2VyQWdlbnQ7CitvYmoub25MaW5lICAgICA9IG5hdmlnYXRvci5vbkxpbmU7CisKK3Bvc3RN
ZXNzYWdlKG9iaik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJUZXJtaW5hdGUuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3Jr
ZXJUZXJtaW5hdGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2M5OWU3ZWM1NjA1ODYxOTA1ODQ3YjJjNmI3M2I5
N2I4ZTZkMzRhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlclRlcm1pbmF0ZS5qcwpAQCAt
MCwwICsxLDEwIEBACitvbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpCit7CisgICAgZm9yICh2YXIg
aT0wOyB0cnVlOyBpKyspCisgICAgeworICAgICAgICBpZiAoaSUxMDAwID09IDApCisgICAgICAg
IHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlKGkpOworICAgICAgICB9CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3N1cHBvcnQvV29ya2VyVGV4dC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJUZXh0LnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNGVlYjUzOTFkYTY2MTRkZDQzYmFmMzU2ZTJkN2Q1YmRkNDQwYzZmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3N1cHBvcnQvV29ya2VyVGV4dC50eHQKQEAgLTAsMCArMSwyIEBACit2YXIgcmVzdWx0ID0gIlBh
c3MiOworcG9zdE1lc3NhZ2UocmVzdWx0KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L25hbWUtYXMtYWNjaWRl
bnRhbC1nbG9iYWwuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dvcmtlcnMvc3VwcG9ydC9uYW1lLWFzLWFjY2lkZW50YWwtZ2xvYmFsLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg3ODNhMzg5NjMyMDAyMDczNTk0MDA0OTYzOGEzMTNkMTY3NWMxZDkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc3VwcG9ydC9uYW1lLWFzLWFjY2lkZW50YWwtZ2xvYmFsLmpzCkBAIC0wLDAgKzEsOCBAQAor
InVzZSBzdHJpY3QiOworCit2YXIgbmFtZSA9ICJzb21ldGhpbmcgZWxzZSI7CisKKy8vIFRoaXMg
anVzdCBtYWtlcyB0aGUgdGVzdCBuYW1lIG5vdCAiVW50aXRsZWQiCit0ZXN0KCgpID0+IHsgfSwg
IkRlY2xhcmluZyBuYW1lIGFzIGFuIGFjY2lkZW50YWwgZ2xvYmFsIG11c3Qgbm90IGNhdXNlIGEg
aGFybmVzcyBlcnJvciIpOworCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9uYW1lLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQv
bmFtZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YzQyYzc4MDg1NmE4ZjBkZTI2ZjRhMjQ4ZTU5YTA5OTFlZWEx
MzBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvbmFtZS5qcwpAQCAtMCwwICsxLDE4IEBACisidXNl
IHN0cmljdCI7CitpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CisK
K3Rlc3QoKCkgPT4geworICBhc3NlcnRfdHJ1ZShzZWxmLmhhc093blByb3BlcnR5KCJuYW1lIiks
ICJwcm9wZXJ0eSBleGlzdHMgb24gdGhlIGdsb2JhbCIpCisgIGFzc2VydF9lcXVhbHMoc2VsZi5u
YW1lLCAibXkgbmFtZSIpCit9LCBgbmFtZSBwcm9wZXJ0eSB2YWx1ZSBmb3IgJHtzZWxmLmNvbnN0
cnVjdG9yLm5hbWV9YCk7CisKK3Rlc3QoKCkgPT4geworICBzZWxmLm5hbWUgPSAic29tZXRoaW5n
IG5ldyI7CisgIGNvbnN0IHByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cihzZWxmLCAibmFtZSIpOworICBhc3NlcnRfZXF1YWxzKHByb3BEZXNjLnZhbHVlLCAic29tZXRo
aW5nIG5ldyIsICJ2YWx1ZSIpOworICBhc3NlcnRfdHJ1ZShwcm9wRGVzYy5jb25maWd1cmFibGUs
ICJjb25maWd1cmFibGUiKTsKKyAgYXNzZXJ0X3RydWUocHJvcERlc2Mud3JpdGFibGUsICJ3cml0
YWJsZSIpOworICBhc3NlcnRfdHJ1ZShwcm9wRGVzYy5lbnVtZXJhYmxlLCAiZW51bWVyYWJsZSIp
OworfSwgYG5hbWUgcHJvcGVydHkgaXMgcmVwbGFjZWFibGUgZm9yICR7c2VsZi5jb25zdHJ1Y3Rv
ci5uYW1lfWApOworCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9ub3NpbmlmZi1lcnJvci13b3Jr
ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtl
cnMvc3VwcG9ydC9ub3NpbmlmZi1lcnJvci13b3JrZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2EyYzFiMzkw
MWM3MGJiNjJjYThlYTkzYjY5MGM4OGMxMTQ1MWEyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L25v
c2luaWZmLWVycm9yLXdvcmtlci5weQpAQCAtMCwwICsxLDMgQEAKK2RlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKKyAgICByZXR1cm4gWygnQ29udGVudC1UeXBlJywgJ3RleHQvaHRtbCcpLAor
ICAgICAgICAgICAgKCdYLUNvbnRlbnQtVHlwZS1PcHRpb25zJywgJ25vc25pZmYnKV0sICIiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc3VwcG9ydC9zYW5kYm94ZWQtdGVzdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L3NhbmRib3hlZC10ZXN0cy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgxMWM5MjVmNTZmMTE5MzRjZjNjYjllYzUwOGI3M2Q2MDE1MjVjMjcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9zYW5kYm94ZWQtdGVzdHMuaHRtbApAQCAtMCwwICsxLDY3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8c2NyaXB0PgorY29u
c3QgY2hhbm5lbCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKCdlY2hvY2hhbm5lbCcpOworY2hhbm5l
bC5vbm1lc3NhZ2UgPSBlID0+IGNoYW5uZWwucG9zdE1lc3NhZ2UoZS5kYXRhKTsKKzwvc2NyaXB0
PgorPGRpdiBpZD0nd29ya2Vyc3JjJyBzdHlsZT0nZGlzcGxheTpub25lJz4KK2ltcG9ydFNjcmlw
dHMoImh0dHA6Ly97e2hvc3R9fTp7e3BvcnRzW2h0dHBdWzBdfX0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIik7Citvbm1lc3NhZ2UgPSBlID0+IHsKKyAgY29uc3QgZXh0ZXJuYWxfYmxvYiA9IGUu
ZGF0YS5ibG9iOworICBjb25zdCBleHRlcm5hbF9ibG9iX3VybCA9IGUuZGF0YS51cmw7CisKKyAg
dGVzdCh0ID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoJ251bGwnLCBzZWxmLmxvY2F0aW9uLm9y
aWdpbik7CisgICAgfSwgJ1dvcmtlciBoYXMgYW4gb3BhcXVlIG9yaWdpbi4nKTsKKworICBhc3lu
Y190ZXN0KHQgPT4geworICAgICAgY29uc3QgciA9IG5ldyBGaWxlUmVhZGVyKCk7CisgICAgICBy
Lm9ubG9hZGVuZCA9IHQuc3RlcF9mdW5jX2RvbmUoZSA9PiBhc3NlcnRfZXF1YWxzKHIucmVzdWx0
LCAnZnJvbSB3b3JrZXInKSk7CisgICAgICByLnJlYWRBc1RleHQobmV3IEJsb2IoWydmcm9tIHdv
cmtlciddKSk7CisgICAgfSwgJ1dvcmtlciBjYW4gcmVhZCBpdHMgb3duIGJsb2JzLicpOworCisg
IGFzeW5jX3Rlc3QodCA9PiB7CisgICAgICBjb25zdCByID0gbmV3IEZpbGVSZWFkZXIoKTsKKyAg
ICAgIHIub25sb2FkZW5kID0gdC5zdGVwX2Z1bmNfZG9uZShlID0+IGFzc2VydF9lcXVhbHMoci5y
ZXN1bHQsICdmcm9tIHBhZ2UnKSk7CisgICAgICByLnJlYWRBc1RleHQoZXh0ZXJuYWxfYmxvYik7
CisgICAgfSwgJ1dvcmtlciBjYW4gcmVhZCBpdHMgb3duZXJzIGJsb2JzLicpOworCisgIGFzeW5j
X3Rlc3QodCA9PiB7CisgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7
CisgICAgICByZXF1ZXN0Lm9wZW4oJ0dFVCcsIGV4dGVybmFsX2Jsb2JfdXJsKTsKKyAgICAgIHJl
cXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICAg
IGlmIChyZXF1ZXN0LnJlYWR5U3RhdGUgPT0gNCkgeworICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhyZXF1ZXN0LnJlc3BvbnNlVGV4dCwgJ2Zyb20gcGFnZScpOworICAgICAgICAgICAgdC5kb25l
KCk7CisgICAgICAgICAgfQorICAgICAgICB9KTsKKyAgICAgIHJlcXVlc3Quc2VuZCgpOworICAg
IH0sICdXb3JrZXIgY2FuIFhIUiBmZXRjaCBhIGJsb2IuJyk7CisKKyAgcHJvbWlzZV90ZXN0KHQg
PT4KKyAgICAgIGZldGNoKGV4dGVybmFsX2Jsb2JfdXJsKS50aGVuKHIgPT4gci50ZXh0KCkpLnRo
ZW4odGV4dCA9PiBhc3NlcnRfZXF1YWxzKHRleHQsICdmcm9tIHBhZ2UnKSkKKyAgICAsICdXb3Jr
ZXIgY2FuIGZldGNoIGEgYmxvYi4nKTsKKworICBhc3luY190ZXN0KHQgPT4geworICAgICAgY29u
c3QgY2hhbm5lbCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKCdlY2hvY2hhbm5lbCcpOworICAgICAg
Y2hhbm5lbC5vbm1lc3NhZ2UgPSB0LnN0ZXBfZnVuY19kb25lKGUgPT4gYXNzZXJ0X2VxdWFscygn
cGluZycsIGUuZGF0YSkpOworICAgICAgY2hhbm5lbC5wb3N0TWVzc2FnZSgncGluZycpOworICAg
IH0sICdXb3JrZXIgY2FuIGFjY2VzcyBCcm9hZGNhc3RDaGFubmVsJyk7CisgIGRvbmUoKTsKK307
Cis8L2Rpdj4KKzxzY3JpcHQ+CisvLyBDcmVhdGUgYSB3b3JrZXIgd2l0aCBhIGJsb2IgVVJMIHRv
IGdldCBhIHNhbWUgb3BhcXVlIG9yaWdpbiB3b3JrZXIuCitjb25zdCBiID0gbmV3IEJsb2IoW2Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd3b3JrZXJzcmMnKS50ZXh0Q29udGVudF0pOworY29uc3Qg
dXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChiKTsKK2NvbnN0IHdvcmtlciA9IG5ldyBXb3JrZXIo
dXJsKTsKKy8vIFBhc3MgYmFjayBhbnkgbWVzc2FnZXMgZnJvbSB0aGUgd29ya2VyIHRvIG91ciBw
YXJlbnQgdG8gY29sbGVjdCB0ZXN0IHJlc3VsdHMuCit3b3JrZXIub25tZXNzYWdlID0gZSA9PiB7
CisgIHBhcmVudC5wb3N0TWVzc2FnZShlLmRhdGEsICcqJyk7Cit9OworCisvLyBTZW5kIHRlc3Qg
ZGF0YSB0byB0aGUgd29ya2VyLgorY29uc3QgYjIgPSBuZXcgQmxvYihbJ2Zyb20gcGFnZSddKTsK
K2NvbnN0IHVybDIgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGIyKTsKK3dvcmtlci5wb3N0TWVzc2Fn
ZSh7dXJsOiB1cmwyLCBibG9iOiBiMn0pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9zaGFy
ZWQtbmFtZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9zdXBwb3J0L3NoYXJlZC1uYW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwMDQ0ODI3MTkyMjc4
NWQ0OTlhMzFlNzEyNmRmZDljNjNlYmVjOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9zaGFyZWQt
bmFtZS5qcwpAQCAtMCwwICsxLDggQEAKKyJ1c2Ugc3RyaWN0IjsKKworc2VsZi5jb3VudGVyID0g
MDsKKworc2VsZi5vbmNvbm5lY3QgPSBlID0+IHsKKyAgKytzZWxmLmNvdW50ZXI7CisgIGUuc291
cmNlLnBvc3RNZXNzYWdlKHsgY291bnRlcjogc2VsZi5jb3VudGVyLCBuYW1lOiBzZWxmLm5hbWUg
fSk7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC93M2MtaW1wb3J0Lmxv
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMDRiOTRlMDVmMDgwNWFmNjE2ZDk3MGIyNTdiMGMxNWE3NGMxYzVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3N1cHBvcnQvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwzNiBAQAorVGhl
IHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9z
aXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0lu
c3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczov
L2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1Qg
bW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGll
cyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmls
ZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3N1cHBvcnQvRXJyb3JFdmVudC1lcnJvci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L0Vycm9yRXZlbnQuanMKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9JbXBv
cnRTY3JpcHRzLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL3N1cHBvcnQvSW1wb3J0U2NyaXB0c05ldHdvcmtFcnIuanMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9JbXBvcnRT
Y3JpcHRzTm9zbmlmZkVyci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1RpbWVyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvV29ya2VyQmFzaWMuanMKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9y
dC9Xb3JrZXJDbG9zZS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlckRhdGFDbG9uZUVyci5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlckZl
dGNoVVJMLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3N1cHBvcnQvV29ya2VyTG9jYXRpb24tb3JpZ2luLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9Xb3JrZXJMb2Nh
dGlvbi5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zdXBwb3J0L1dvcmtlck5hdmlnYXRvci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0L1dvcmtlclRlcm1pbmF0ZS5qcwor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBw
b3J0L1dvcmtlclRleHQudHh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL3N1cHBvcnQvbmFtZS1hcy1hY2NpZGVudGFsLWdsb2JhbC5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zdXBwb3J0
L25hbWUuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvc3VwcG9ydC9ub3NpbmlmZi1lcnJvci13b3JrZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvc3VwcG9ydC9zYW5kYm94ZWQtdGVz
dHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9zdXBwb3J0L3NoYXJlZC1uYW1lLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvdzNjLWltcG9y
dC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjExMzBlMTc1MmFmZWUzNjBhY2QxZGU2MmM3MDExNzU0ODQxNDc5
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd29ya2Vycy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDc2IEBACitUaGUgdGVz
dHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9y
eS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVh
ZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0
aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3Jp
cHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2Rp
Znkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvT1dO
RVJTCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L1JFQURNRS5tZAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d29ya2Vycy9TaGFyZWRXb3JrZXJfYmxvYlVybC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZl
bnRfY29sbm8uaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX0Vycm9yRXZlbnRfZmlsZW5hbWUuaHRtCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlX0Vycm9yRXZlbnRfbGluZW5vLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9FcnJvckV2ZW50
X21lc3NhZ2UuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX2Nsb3NlLmh0bQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9pbXBv
cnRTY3JpcHRzLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZV9pbXBvcnRTY3JpcHRzX05ldHdvcmtFcnIuaHRt
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dv
cmtlckdsb2JhbFNjb3BlX2ltcG9ydFNjcmlwdHNfTm9zbmlmZkVyci5odG0KKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyR2xvYmFsU2Nv
cGVfc2V0SW50ZXJ2YWwuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlX3NldFRpbWVvdXQuaHRtCisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0
aW9uLW9yaWdpbi5zdWIud2luZG93LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uLmh0bQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9oYXNo
Lmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vy
cy9Xb3JrZXJMb2NhdGlvbl9oYXNoX2VuY29kaW5nLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9oYXNoX25vbmV4
aXN0Lmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29y
a2Vycy9Xb3JrZXJMb2NhdGlvbl9ob3N0Lmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9ob3N0bmFtZS5odG0KKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2Vy
TG9jYXRpb25faHJlZi5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fcGF0aG5hbWUuaHRtCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlckxvY2F0aW9uX3Bv
cnQuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL1dvcmtlckxvY2F0aW9uX3Byb3RvY29sLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbl9zZWFyY2guaHRtCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtl
ckxvY2F0aW9uX3NlYXJjaF9lbXB0eS5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTG9jYXRpb25fc2VhcmNoX2ZyYWdtZW50Lmh0
bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJMb2NhdGlvbl9zZWFyY2hfbm9uZXhpc3QuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlck5hdmlnYXRvcl9hcHBOYW1lLmh0
bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9X
b3JrZXJOYXZpZ2F0b3JfYXBwVmVyc2lvbi5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyTmF2aWdhdG9yX29uTGluZS5odG0KKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2Vy
TmF2aWdhdG9yX3BsYXRmb3JtLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJOYXZpZ2F0b3JfdXNlckFnZW50Lmh0bQorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJy
b3JFdmVudF9idWJibGVzX2NhbmNlbGFibGUuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL1dvcmtlcl9FcnJvckV2ZW50X2Vycm9yLmh0bQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3Jr
ZXJfRXJyb3JFdmVudF9maWxlbmFtZS5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX0Vycm9yRXZlbnRfbGluZW5vLmh0bQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJf
RXJyb3JFdmVudF9tZXNzYWdlLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfRXJyb3JFdmVudF90eXBlLmh0bQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfTm9zbmlm
ZkVyci5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dv
cmtlcnMvV29ya2VyX2Jhc2ljLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd29ya2Vycy9Xb3JrZXJfY3Jvc3Nfb3JpZ2luX3NlY3VyaXR5X2Vyci5odG0K
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyX2Rpc3BhdGNoRXZlbnRfRXJyb3JFdmVudC5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29ya2VyX3NjcmlwdF9taW1ldHlwZS5odG0K
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvV29y
a2VyX3Rlcm1pbmF0ZV9ldmVudF9xdWV1ZS5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvZGF0YS11cmwtc2hhcmVkLXdpbmRvdy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL2RhdGEt
dXJsLXNoYXJlZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL2RhdGEtdXJsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvaW50ZXJmYWNlcy53b3JrZXIuanMKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvbmFtZS1wcm9wZXJ0eS5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L25lc3RlZF93b3JrZXIud29ya2VyLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL29wYXF1ZS1vcmlnaW4uaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9wb3N0TWVzc2FnZV9EYXRhQ2xv
bmVFcnIuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
b3JrZXJzL3Bvc3RNZXNzYWdlX2Nsb25lX3BvcnQuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX2Nsb25lX3BvcnRfZXJy
b3IuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3Jr
ZXJzL3Bvc3RNZXNzYWdlX2V2ZW50X3Byb3BlcnRpZXMuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJzL3Bvc3RNZXNzYWdlX3BvcnRzX3JlYWRv
bmx5X2FycmF5Lmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd29ya2Vycy9wb3N0TWVzc2FnZV90YXJnZXRfc291cmNlLmh0bQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy9zaGFyZWQtd29ya2VyLW5hbWUt
dmlhLW9wdGlvbnMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy93b3JrZXItcGVyZm9ybWFuY2Uud29ya2VyLmpzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvd29ya2Vy
LXBlcmZvcm1hbmNlLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvd29ya2VyLXBlcmZvcm1hbmNlLndvcmtlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVhZWEwZWRhMzJmMWRkOWVlNmYyZThlN2I5ZTgxZjVl
NzM0OGI3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd29ya2Vycy93b3JrZXItcGVyZm9ybWFuY2Uud29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE2IEBACisKK1BBU1MgQ2FuIHVzZSBwZXJmb3JtYW5jZS5ub3cgaW4g
d29ya2VycyAKK1BBU1MgQ2FuIHVzZSBwZXJmb3JtYW5jZS5tYXJrIGluIHdvcmtlcnMgCitQQVNT
IENhbiB1c2UgcGVyZm9ybWFuY2UubWVhc3VyZSBpbiB3b3JrZXJzIAorUEFTUyBDYW4gdXNlIHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUgaW4gd29ya2VycyAKK1BBU1MgQ2FuIHVzZSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlIGluIHdvcmtlcnMgCitQQVNTIFBlcmZvcm1hbmNlIG1h
cmtzIGFuZCBtZWFzdXJlcyBzZWVtIHRvIGJlIHdvcmtpbmcgY29ycmVjdGx5IGluIHdvcmtlcnMg
CitQQVNTIENhbiB1c2UgY2xlYXJNYXJrcyBhbmQgY2xlYXJNZWFzdXJlcyBpbiB3b3JrZXJzIAor
UEFTUyBSZXNvdXJjZSB0aW1pbmcgc2VlbXMgdG8gd29yayBpbiB3b3JrZXJzIAorUEFTUyBwZXJm
b3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncyBpbiB3b3JrZXJzIAorUEFTUyBwZXJmb3JtYW5j
ZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgaW4gd29ya2VycyAKK0ZBSUwgcGVyZm9ybWFu
Y2UudGltaW5nIGlzIG5vdCBhdmFpbGFibGUgaW4gd29ya2VycyBhc3NlcnRfZXF1YWxzOiBwZXJm
b3JtYW5jZS50aW1pbmcgaXMgdW5kZWZpbmVkIGV4cGVjdGVkICJ1bmRlZmluZWQiIGJ1dCBnb3Qg
Im9iamVjdCIKK0ZBSUwgcGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyBub3QgYXZhaWxhYmxlIGlu
IHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogcGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyB1bmRlZmlu
ZWQgZXhwZWN0ZWQgInVuZGVmaW5lZCIgYnV0IGdvdCAib2JqZWN0IgorUEFTUyBwZXJmb3JtYW5j
ZS50b0pTT04gaXMgbm90IGF2YWlsYWJsZSBpbiB3b3JrZXJzIAorUEFTUyBUaGVyZSBhcmUgbm8g
bmF2aWdhdGlvbiB0eXBlIHBlcmZvcm1hbmNlIGVudHJpZXMgaW4gd29ya2VycyAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93b3JrZXJz
L3dvcmtlci1wZXJmb3JtYW5jZS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd29ya2Vycy93b3JrZXItcGVyZm9ybWFuY2Uud29ya2VyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd29ya2Vycy93b3JrZXItcGVyZm9ybWFuY2Uud29ya2VyLmh0bWwKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93b3JrZXJzL3dvcmtlci1wZXJmb3JtYW5jZS53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dvcmtlcnMvd29ya2VyLXBlcmZvcm1hbmNl
Lndvcmtlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGU1NjJiNjhlYmVhOThhMzFkNTdhMGU0ZGIxOTNhZGJi
ZTMzMzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93b3JrZXJzL3dvcmtlci1wZXJmb3JtYW5jZS53b3JrZXIuanMKQEAgLTAs
MCArMSwxMjggQEAKKyJ1c2Ugc3RyaWN0IjsKKworLy8gVGVzdHMgdGhhdCBtb3N0IG9mIHRoZSBm
dW5jdGlvbmFsaXR5IG9mIHRoZSB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IGlzIGF2YWlsYWJs
ZSBpbiB3ZWIgd29ya2Vycy4KKworaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyIpOworCitmdW5jdGlvbiB2ZXJpZnlFbnRyeSAoZW50cnksIG5hbWUsIHR5cGUsIGR1cmF0
aW9uLCBhc3NlcnROYW1lKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCBuYW1lLCBh
c3NlcnROYW1lICsgIiBoYXMgdGhlIHJpZ2h0IG5hbWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5LmVudHJ5VHlwZSwgdHlwZSwgYXNzZXJ0TmFtZSArICIgaGFzIHRoZSByaWdodCB0eXBlIik7
CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5kdXJhdGlvbiwgZHVyYXRpb24sIGFzc2VydE5hbWUg
KyAiaGFzIHRoZSByaWdodCBkdXJhdGlvbiIpOworfQorCit2YXIgc3RhcnQ7Cit0ZXN0KGZ1bmN0
aW9uIHRlc3RQZXJmb3JtYW5jZU5vdyAoKSB7CisgICAgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3co
KTsKK30sICJDYW4gdXNlIHBlcmZvcm1hbmNlLm5vdyBpbiB3b3JrZXJzIik7CisKK3Rlc3QoZnVu
Y3Rpb24gdGVzdFBlcmZvcm1hbmNlTWFyayAoKSB7CisgICAgcGVyZm9ybWFuY2UubWFyaygibWFy
azEiKTsKKyAgICAgLy8gU3RhbGwgdGhlIG1pbmltdW0gYW1vdW50IG9mIHRpbWUgdG8gZW5zdXJl
IHRoZSBtYXJrcyBhcmUgc2VwYXJhdGUKKyAgICB2YXIgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7
CisgICAgd2hpbGUgKHBlcmZvcm1hbmNlLm5vdygpID09IG5vdykgeyB9CisgICAgcGVyZm9ybWFu
Y2UubWFyaygibWFyazIiKTsKK30sICJDYW4gdXNlIHBlcmZvcm1hbmNlLm1hcmsgaW4gd29ya2Vy
cyIpOworCit0ZXN0KGZ1bmN0aW9uIHRlc3RQZXJmb3JtYW5jZU1lYXN1cmUgKCkgeworICAgIHBl
cmZvcm1hbmNlLm1lYXN1cmUoIm1lYXN1cmUxIiwgIm1hcmsxIiwgIm1hcmsyIik7Cit9LCAiQ2Fu
IHVzZSBwZXJmb3JtYW5jZS5tZWFzdXJlIGluIHdvcmtlcnMiKTsKKwordGVzdChmdW5jdGlvbiB0
ZXN0UGVyZm9ybWFuY2VHZXRFbnRyaWVzQnlOYW1lICgpIHsKKyAgICB2YXIgbWFyazFzID0gcGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgibWFyazEiKTsKKyAgICBhc3NlcnRfZXF1YWxzKG1h
cmsxcy5sZW5ndGgsIDEsICJnZXRFbnRyaWVzQnlOYW1lIGdhdmUgY29ycmVjdCBudW1iZXIgb2Yg
ZW50cmllcyIpOworICAgIHZlcmlmeUVudHJ5KG1hcmsxc1swXSwgIm1hcmsxIiwgIm1hcmsiLCAw
LCAiRW50cnkgZ290IGJ5IG5hbWUiKTsKK30sICJDYW4gdXNlIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUgaW4gd29ya2VycyIpOworCit2YXIgbWFya3M7Cit2YXIgbWVhc3VyZXM7Cit0ZXN0
KGZ1bmN0aW9uIHRlc3RQZXJmb3JtYW5jZUdldEVudHJpZXNCeVR5cGUgKCkgeworICAgIG1hcmtz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpOworICAgIGFzc2VydF9lcXVh
bHMobWFya3MubGVuZ3RoLCAyLCAiZ2V0RW50cmllc0J5VHlwZSBnYXZlIGNvcnJlY3QgbnVtYmVy
IG9mIGVudHJpZXMiKTsKKyAgICB2ZXJpZnlFbnRyeShtYXJrc1swXSwgIm1hcmsxIiwgIm1hcmsi
LCAwLCAiRmlyc3QgbWFyayBlbnRyeSIpOworICAgIHZlcmlmeUVudHJ5KG1hcmtzWzFdLCAibWFy
azIiLCAibWFyayIsIDAsICJTZWNvbmQgbWFyayBlbnRyeSIpOworICAgIG1lYXN1cmVzID0gcGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWVhc3VyZSIpOworICAgIGFzc2VydF9lcXVhbHMo
bWVhc3VyZXMubGVuZ3RoLCAxLCAiZ2V0RW50cmllc0J5VHlwZShcIm1lYXN1cmVcIikgZ2F2ZSBj
b3JyZWN0IG51bWJlciBvZiBlbnRyaWVzIik7CisgICAgdmVyaWZ5RW50cnkobWVhc3VyZXNbMF0s
ICJtZWFzdXJlMSIsICJtZWFzdXJlIiwgbWFya3NbMV0uc3RhcnRUaW1lIC0gbWFya3NbMF0uc3Rh
cnRUaW1lLCAiTWVhc3VyZSBlbnRyeSIpOworfSwgIkNhbiB1c2UgcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSBpbiB3b3JrZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24gdGVzdFBlcmZvcm1hbmNl
RW50cnlPcmRlciAoKSB7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihtYXJrc1swXS5zdGFydFRp
bWUsIHN0YXJ0LCAiRmlyc3QgbWFyayBzdGFydFRpbWUgaXMgYWZ0ZXIgYSB0aW1lIGJlZm9yZSBp
dCIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4obWFya3NbMV0uc3RhcnRUaW1lLCBtYXJrc1sw
XS5zdGFydFRpbWUsICJTZWNvbmQgbWFyayBzdGFydFRpbWUgaXMgYWZ0ZXIgZmlyc3QgbWFyayBz
dGFydFRpbWUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKG1lYXN1cmVzWzBdLnN0YXJ0VGltZSwgbWFy
a3NbMF0uc3RhcnRUaW1lLCAibWVhc3VyZSdzIHN0YXJ0VGltZSBpcyB0aGUgZmlyc3QgbWFyaydz
IHN0YXJ0VGltZSIpOworfSwgIlBlcmZvcm1hbmNlIG1hcmtzIGFuZCBtZWFzdXJlcyBzZWVtIHRv
IGJlIHdvcmtpbmcgY29ycmVjdGx5IGluIHdvcmtlcnMiKTsKKwordGVzdChmdW5jdGlvbiB0ZXN0
UGVyZm9ybWFuY2VDbGVhcmluZyAoKSB7CisgICAgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcygpOwor
ICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibWFyayIpLmxl
bmd0aCwgMCwgImNsZWFyTWFya3MgY2xlYXJlZCB0aGUgbWFya3MiKTsKKyAgICBwZXJmb3JtYW5j
ZS5jbGVhck1lYXN1cmVzKCk7CisgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCJtZWFzdXJlIikubGVuZ3RoLCAwLCAiY2xlYXJNZWFzdXJlcyBjbGVhcmVkIHRo
ZSBtZWFzdXJlcyIpOworfSwgIkNhbiB1c2UgY2xlYXJNYXJrcyBhbmQgY2xlYXJNZWFzdXJlcyBp
biB3b3JrZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24gdGVzdFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgKCkgeyAgLy8gUmVzb3VyY2UgdGltaW5nCisgICAgdmFyIHN0YXJ0ID0gcGVyZm9ybWFuY2Uu
bm93KCk7CisgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgICAvLyBEbyBh
IHN5bmNocm9ub3VzIHJlcXVlc3QgYW5kIGFkZCBhIGxpdHRsZSBhcnRpZmljaWFsIGRlbGF5Cisg
ICAgeGhyLm9wZW4oIkdFVCIsICIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzP3BpcGU9dHJpY2ts
ZShkMC4yNSkiLCBmYWxzZSk7CisgICAgeGhyLnNlbmQoKTsKKyAgICAgLy8gVGhlIGJyb3dzZXIg
bWlnaHQgb3IgbWlnaHQgbm90IGhhdmUgYWRkZWQgYSByZXNvdXJjZSBwZXJmb3JtYW5jZSBlbnRy
eSBmb3IgdGhlIGltcG9ydFNjcmlwdHMoKSBhYm92ZTsgd2UncmUgb25seSBpbnRlcmVzdGVkIGlu
IHhtbGh0dHByZXF1ZXN0IGVudHJpZXMKKyAgICB2YXIgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoInJlc291cmNlIikuZmlsdGVyKGVudHJ5ID0+IGVudHJ5LmluaXRpYXRv
clR5cGUgPT0gInhtbGh0dHByZXF1ZXN0Iik7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSwgImdldEVudHJpZXNCeVR5cGUoXCJyZXNvdXJjZVwiKSByZXR1cm5zIG9uZSBlbnRy
eSB3aXRoIGluaXRpYXRvclR5cGUgb2YgeG1saHR0cHJlcXVlc3QiKTsKKyAgICBhc3NlcnRfdHJ1
ZSghIWVudHJpZXNbMF0ubmFtZS5tYXRjaCgvXC9yZXNvdXJjZXNcL3Rlc3RoYXJuZXNzLmpzLyks
ICJSZXNvdXJjZSBlbnRyeSBoYXMgbG9hZGVkIHVybCBhcyBpdHMgbmFtZSIpOworICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5lbnRyeVR5cGUsICJyZXNvdXJjZSIsICJSZXNvdXJjZSBlbnRy
eSBoYXMgY29ycmVjdCBlbnRyeVR5cGUiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
aW5pdGlhdG9yVHlwZSwgInhtbGh0dHByZXF1ZXN0IiwgIlJlc291cmNlIGVudHJ5IGhhcyBjb3Jy
ZWN0IGluaXRpYXRvclR5cGUiKTsKKyAgICB2YXIgY3VycmVudFRpbWVzdGFtcCA9IHN0YXJ0Owor
ICAgIHZhciBjdXJyZW50VGltZXN0YW1wTmFtZSA9ICJhIHRpbWUgYmVmb3JlIGl0IjsKKyAgICBb
CisgICAgICAgICJzdGFydFRpbWUiLCAiZmV0Y2hTdGFydCIsICJyZXF1ZXN0U3RhcnQiLCAicmVz
cG9uc2VTdGFydCIsICJyZXNwb25zZUVuZCIKKyAgICBdLmZvckVhY2goKG5hbWUpID0+IHsKKyAg
ICAgICAgdmFyIHRpbWVzdGFtcCA9IGVudHJpZXNbMF1bbmFtZV07CisgICAgICAgIC8vIFdlIHdh
bnQgdG8gc2tpcCBvdmVyIHZhbHVlcyB0aGF0IGFyZSAwIGJlY2F1c2Ugb2YgVEFPIHNlY3VydHkg
cmVzY3JpdGlvbnMKKyAgICAgICAgLy8gT3IgZWxzZSB0aGlzIHRlc3Qgd2lsbCBmYWlsLiBUaGlz
IGNhbiBoYXBwZW4gZm9yICJyZXF1ZXN0U3RhcnQiLCAicmVzcG9uc2VTdGFydCIuCisgICAgICAg
IGlmICh0aW1lc3RhbXAgIT0gMCkgeworICAgICAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9l
cXVhbCh0aW1lc3RhbXAsIGN1cnJlbnRUaW1lc3RhbXAsICJSZXNvdXJjZSBlbnRyeSAiICsgbmFt
ZSArICIgaXMgYWZ0ZXIgIiArIGN1cnJlbnRUaW1lc3RhbXBOYW1lKTsKKyAgICAgICAgICAgIGN1
cnJlbnRUaW1lc3RhbXAgPSB0aW1lc3RhbXA7CisgICAgICAgICAgICBjdXJyZW50VGltZXN0YW1w
TmFtZSA9IG5hbWU7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFu
KGVudHJpZXNbMF0ucmVzcG9uc2VFbmQsIGVudHJpZXNbMF0uc3RhcnRUaW1lLCAiVGhlIHJlc291
cmNlIHJlcXVlc3Qgc2hvdWxkIGhhdmUgdGFrZW4gYXQgbGVhc3Qgc29tZSB0aW1lIik7CisgICAg
IC8vIFdlIHJlcXVlc3RlZCBhIGRlbGF5IG9mIDI1MG1zLCBidXQgaXQgY291bGQgYmUgYSBsaXR0
bGUgYml0IGxlc3MsIGFuZCBjb3VsZCBiZSBzaWduaWZpY2FudGx5IG1vcmUuCisgICAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLnJlc3BvbnNlRW5kIC0gZW50cmllc1swXS5yZXNwb25z
ZVN0YXJ0LCAyMzAsICJSZXNvdXJjZSB0aW1pbmcgbnVtYmVycyByZWZsZWN0IHJlYWxpdHkgc29t
ZXdoYXQiKTsKK30sICJSZXNvdXJjZSB0aW1pbmcgc2VlbXMgdG8gd29yayBpbiB3b3JrZXJzIik7
CisKK3Rlc3QoZnVuY3Rpb24gdGVzdFBlcmZvcm1hbmNlQ2xlYXJSZXNvdXJjZVRpbWluZ3MgKCkg
eworICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCwgMCwg
ImNsZWFyUmVzb3VyY2VUaW1pbmdzIGNsZWFyZWQgdGhlIHJlc291cmNlIHRpbWluZ3MiKTsKK30s
ICJwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncyBpbiB3b3JrZXJzIik7CisKK3Rlc3Qo
ZnVuY3Rpb24gdGVzdFBlcmZvcm1hbmNlU2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplICgpIHsK
KyAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoMCk7CisgICAgdmFy
IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgIHhoci5vcGVuKCJHRVQiLCAiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIsIGZhbHNlKTsgIC8vIHN5bmNocm9ub3VzIHJlcXVlc3QKKyAg
ICB4aHIuc2VuZCgpOworICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgicmVzb3VyY2UiKS5sZW5ndGgsIDAsICJzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUo
MCkgcHJldmVudHMgcmVzb3VyY2UgZW50cmllcyBmcm9tIGJlaW5nIGFkZGVkIik7Cit9LCAicGVy
Zm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplIGluIHdvcmtlcnMiKTsKKwordGVz
dChmdW5jdGlvbiB0ZXN0UGVyZm9ybWFuY2VIYXNOb1RpbWluZyAoKSB7CisgICAgYXNzZXJ0X2Vx
dWFscyh0eXBlb2YocGVyZm9ybWFuY2UudGltaW5nKSwgInVuZGVmaW5lZCIsICJwZXJmb3JtYW5j
ZS50aW1pbmcgaXMgdW5kZWZpbmVkIik7Cit9LCAicGVyZm9ybWFuY2UudGltaW5nIGlzIG5vdCBh
dmFpbGFibGUgaW4gd29ya2VycyIpOworCit0ZXN0KGZ1bmN0aW9uIHRlc3RQZXJmb3JtYW5jZUhh
c05vTmF2aWdhdGlvbiAoKSB7CisgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YocGVyZm9ybWFuY2Uu
bmF2aWdhdGlvbiksICJ1bmRlZmluZWQiLCAicGVyZm9ybWFuY2UubmF2aWdhdGlvbiBpcyB1bmRl
ZmluZWQiKTsKK30sICJwZXJmb3JtYW5jZS5uYXZpZ2F0aW9uIGlzIG5vdCBhdmFpbGFibGUgaW4g
d29ya2VycyIpOworCit0ZXN0KGZ1bmN0aW9uIHRlc3RQZXJmb3JtYW5jZUhhc05vVG9KU09OICgp
IHsKKyAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZihwZXJmb3JtYW5jZS50b0pTT04pLCAidW5kZWZp
bmVkIiwgInBlcmZvcm1hbmNlLnRvSlNPTiBpcyB1bmRlZmluZWQiKTsKK30sICJwZXJmb3JtYW5j
ZS50b0pTT04gaXMgbm90IGF2YWlsYWJsZSBpbiB3b3JrZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24g
dGVzdFBlcmZvcm1hbmNlTm9OYXZpZ2F0aW9uRW50cmllcyAoKSB7CisgICAgYXNzZXJ0X2VxdWFs
cyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIikubGVuZ3RoLCAwLCAi
Z2V0RW50cmllc0J5VHlwZShcIm5hdmlnYXRpb25cIikgcmV0dXJucyBub3RoaW5nIik7CisgICAg
YXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJkb2N1bWVudCIsICJu
YXZpZ2F0aW9uIikubGVuZ3RoLCAwLCAiZ2V0RW50cmllc0J5TmFtZShcImRvY3VtZW50XCIsIFwi
bmF2aWdhdGlvblwiKSByZXR1cm5zIG5vdGhpbmciKTsKKyAgICBhc3NlcnRfZXF1YWxzKHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeU5hbWUoImRvY3VtZW50IikubGVuZ3RoLCAwLCAiZ2V0RW50cmll
c0J5TmFtZShcImRvY3VtZW50XCIpIHJldHVybnMgbm90aGluZyIpOworICAgIHZhciBoYXNOYXZp
Z2F0aW9uID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpLnNvbWUoKGUsaSxhKSA9PiB7CisgICAg
ICAgIHJldHVybiBlLmVudHJ5VHlwZSA9PSAibmF2aWdhdGlvbiI7CisgICAgfSk7CisgICAgYXNz
ZXJ0X2ZhbHNlKGhhc05hdmlnYXRpb24sICJnZXRFbnRyaWVzIHNob3VsZCByZXR1cm4gbm8gbmF2
aWdhdGlvbiBlbnRyaWVzLiIpOworCit9LCAiVGhlcmUgYXJlIG5vIG5hdmlnYXRpb24gdHlwZSBw
ZXJmb3JtYW5jZSBlbnRyaWVzIGluIHdvcmtlcnMiKTsKKworZG9uZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>